diff -Nru gmpc-0.18.0/aclocal.m4 gmpc-0.19.0/aclocal.m4 --- gmpc-0.18.0/aclocal.m4 2009-03-09 16:23:11.000000000 +0000 +++ gmpc-0.19.0/aclocal.m4 2009-09-21 11:15:59.000000000 +0100 @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.7.9 -*- Autoconf -*- +# generated automatically by aclocal 1.10.2 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -11,399 +11,680 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -dnl Make automake/libtool output more friendly to humans +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, +[m4_warning([this file was generated for autoconf 2.63. +You have another version of autoconf. It may work, but is not guaranteed to. +If you have problems, you may need to regenerate the build system entirely. +To do so, use the procedure documented by the package, typically `autoreconf'.])]) + +# Copyright (C) 1995-2002 Free Software Foundation, Inc. +# Copyright (C) 2001-2003,2004 Red Hat, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# This file can be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# +# Macro to add for using GNU gettext. +# Ulrich Drepper , 1995, 1996 +# +# Modified to never use included libintl. +# Owen Taylor , 12/15/1998 +# +# Major rework to remove unused code +# Owen Taylor , 12/11/2002 +# +# Added better handling of ALL_LINGUAS from GNU gettext version +# written by Bruno Haible, Owen Taylor 5/30/3002 +# +# Modified to require ngettext +# Matthias Clasen 08/06/2004 +# +# We need this here as well, since someone might use autoconf-2.5x +# to configure GLib then an older version to configure a package +# using AM_GLIB_GNU_GETTEXT +AC_PREREQ(2.53) + +dnl +dnl We go to great lengths to make sure that aclocal won't +dnl try to pull in the installed version of these macros +dnl when running aclocal in the glib directory. dnl -dnl SHAVE_INIT([shavedir]) +m4_copy([AC_DEFUN],[glib_DEFUN]) +m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl -dnl shavedir: the directory where the shave script is, it defaults to -dnl $(top_builddir) +dnl At the end, if we're not within glib, we'll define the public +dnl definitions in terms of our private definitions. dnl -dnl * SHAVE_INIT should be called late in your configure.(ac|in) file (just -dnl before AC_CONFIG_FILE/AC_OUTPUT is perfect. This macro rewrite CC and -dnl LIBTOOL, you don't want the configure tests to have these variables -dnl re-defined. -dnl * This macro requires GNU make's -s option. - -AC_DEFUN([SHAVE_INIT], [ -dnl where can we find the shave scripts? -m4_if([$1],, - [shavedir='$(top_builddir)'], - [shavedir='$(top_builddir)'/$1]) -AC_SUBST(shavedir) -dnl make is now quiet -AC_SUBST([MAKEFLAGS], [-s]) -AC_SUBST([AM_MAKEFLAGS], ['`test -z $V && echo -s`']) -dnl we need sed -AC_CHECK_PROG(SED,sed,sed,false) -dnl substitute libtool -SHAVE_SAVED_LIBTOOL=$LIBTOOL -AC_SUBST(SHAVE_SAVED_LIBTOOL) -LIBTOOL="\$(SHELL) \$(shavedir)/shave-libtool '\$(SHAVE_SAVED_LIBTOOL)'" -AC_SUBST(LIBTOOL) -dnl substitute cc -SHAVE_SAVED_CC=$CC -SHAVE_SAVED_CXX=$CXX -AC_SUBST(SHAVE_SAVED_CC) -AC_SUBST(SHAVE_SAVED_CXX) -CC="\$(SHELL) \$(shavedir)/shave cc '\$(SHAVE_SAVED_CC)'" -CXX="\$(SHELL) \$(shavedir)/shave cxx '\$(SHAVE_SAVED_CXX)'" -AC_SUBST(CC) -AC_SUBST(CXX) -]) +# GLIB_LC_MESSAGES +#-------------------- +glib_DEFUN([GLIB_LC_MESSAGES], + [AC_CHECK_HEADERS([locale.h]) + if test $ac_cv_header_locale_h = yes; then + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + fi]) -# Like AC_CONFIG_HEADER, but automatically create stamp file. -*- Autoconf -*- - -# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# GLIB_PATH_PROG_WITH_TEST +#---------------------------- +dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, +dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) +glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], +[# Extract the first word of "$2", so it can be a program name with args. +set dummy $2; ac_word=[$]2 +AC_MSG_CHECKING([for $ac_word]) +AC_CACHE_VAL(ac_cv_path_$1, +[case "[$]$1" in + /*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + for ac_dir in ifelse([$5], , $PATH, [$5]); do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + if [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word" + break + fi + fi + done + IFS="$ac_save_ifs" +dnl If no 4th arg is given, leave the cache variable unset, +dnl so AC_PATH_PROGS will keep looking. +ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" +])dnl + ;; +esac])dnl +$1="$ac_cv_path_$1" +if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) +else + AC_MSG_RESULT(no) +fi +AC_SUBST($1)dnl +]) -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# GLIB_WITH_NLS +#----------------- +glib_DEFUN([GLIB_WITH_NLS], + dnl NLS is obligatory + [USE_NLS=yes + AC_SUBST(USE_NLS) -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. + gt_cv_have_gettext=no -AC_PREREQ([2.52]) + CATOBJEXT=NONE + XGETTEXT=: + INTLLIBS= -# serial 6 + AC_CHECK_HEADER(libintl.h, + [gt_cv_func_dgettext_libintl="no" + libintl_extra_libs="" -# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. -AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + # + # First check in libc + # + AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, + [AC_TRY_LINK([ +#include +], + [return !ngettext ("","", 1)], + gt_cv_func_ngettext_libc=yes, + gt_cv_func_ngettext_libc=no) + ]) + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, + [AC_TRY_LINK([ +#include +], + [return !dgettext ("","")], + gt_cv_func_dgettext_libc=yes, + gt_cv_func_dgettext_libc=no) + ]) + fi + + if test "$gt_cv_func_ngettext_libc" = "yes" ; then + AC_CHECK_FUNCS(bind_textdomain_codeset) + fi -# Do all the work for Automake. -*- Autoconf -*- + # + # If we don't have everything we want, check in libintl + # + if test "$gt_cv_func_dgettext_libc" != "yes" \ + || test "$gt_cv_func_ngettext_libc" != "yes" \ + || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then + + AC_CHECK_LIB(intl, bindtextdomain, + [AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dgettext, + gt_cv_func_dgettext_libintl=yes)])]) -# This macro actually does too much some checks are only needed if -# your package does certain things. But this isn't really a big deal. + if test "$gt_cv_func_dgettext_libintl" != "yes" ; then + AC_MSG_CHECKING([if -liconv is needed to use gettext]) + AC_MSG_RESULT([]) + AC_CHECK_LIB(intl, ngettext, + [AC_CHECK_LIB(intl, dcgettext, + [gt_cv_func_dgettext_libintl=yes + libintl_extra_libs=-liconv], + :,-liconv)], + :,-liconv) + fi -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. + # + # If we found libintl, then check in it for bind_textdomain_codeset(); + # we'll prefer libc if neither have bind_textdomain_codeset(), + # and both have dgettext and ngettext + # + if test "$gt_cv_func_dgettext_libintl" = "yes" ; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS -lintl $libintl_extra_libs" + unset ac_cv_func_bind_textdomain_codeset + AC_CHECK_FUNCS(bind_textdomain_codeset) + LIBS="$glib_save_LIBS" -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. + if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then + gt_cv_func_dgettext_libc=no + else + if test "$gt_cv_func_dgettext_libc" = "yes" \ + && test "$gt_cv_func_ngettext_libc" = "yes"; then + gt_cv_func_dgettext_libintl=no + fi + fi + fi + fi -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. + if test "$gt_cv_func_dgettext_libc" = "yes" \ + || test "$gt_cv_func_dgettext_libintl" = "yes"; then + gt_cv_have_gettext=yes + fi + + if test "$gt_cv_func_dgettext_libintl" = "yes"; then + INTLLIBS="-lintl $libintl_extra_libs" + fi + + if test "$gt_cv_have_gettext" = "yes"; then + AC_DEFINE(HAVE_GETTEXT,1, + [Define if the GNU gettext() function is already present or preinstalled.]) + GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl + if test "$MSGFMT" != "no"; then + glib_save_LIBS="$LIBS" + LIBS="$LIBS $INTLLIBS" + AC_CHECK_FUNCS(dcgettext) + MSGFMT_OPTS= + AC_MSG_CHECKING([if msgfmt accepts -c]) + GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Project-Id-Version: test 1.0\n" +"PO-Revision-Date: 2007-02-15 12:01+0100\n" +"Last-Translator: test \n" +"Language-Team: C \n" +"MIME-Version: 1.0\n" +"Content-Transfer-Encoding: 8bit\n" +], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) + AC_SUBST(MSGFMT_OPTS) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) + AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr], + [CATOBJEXT=.gmo + DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share and + dnl and CATOBJEXT=.gmo in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [CATOBJEXT=.gmo + DATADIRNAME=share], + [CATOBJEXT=.mo + DATADIRNAME=lib]) + ;; + *) + CATOBJEXT=.mo + DATADIRNAME=lib + ;; + esac]) + LIBS="$glib_save_LIBS" + INSTOBJEXT=.mo + else + gt_cv_have_gettext=no + fi + fi + ]) -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 10 - -AC_PREREQ([2.54]) - -# Autoconf 2.50 wants to disallow AM_ names. We explicitly allow -# the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl + if test "$gt_cv_have_gettext" = "yes" ; then + AC_DEFINE(ENABLE_NLS, 1, + [always defined to indicate that i18n is enabled]) + fi -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl -# test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) -fi + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is not GNU xgettext we define it as : so that the + dnl Makefiles still can work. + if $XGETTEXT --omit-header /dev/null 2> /dev/null; then + : ; + else + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + fi -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) + # We need to process the po/ directory. + POSUB=po -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + AC_OUTPUT_COMMANDS( + [case "$CONFIG_FILES" in *po/Makefile.in*) + sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile + esac]) -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + dnl These rules are solely for the distribution goal. While doing this + dnl we only have to keep exactly one list of the available catalogs + dnl in configure.in. + for lang in $ALL_LINGUAS; do + GMOFILES="$GMOFILES $lang.gmo" + POFILES="$POFILES $lang.po" + done -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) -AM_MISSING_PROG(AUTOCONF, autoconf) -AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) -AM_MISSING_PROG(AUTOHEADER, autoheader) -AM_MISSING_PROG(MAKEINFO, makeinfo) -AM_MISSING_PROG(AMTAR, tar) -AM_PROG_INSTALL_SH -AM_PROG_INSTALL_STRIP -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl + dnl Make all variables we use known to autoconf. + AC_SUBST(CATALOGS) + AC_SUBST(CATOBJEXT) + AC_SUBST(DATADIRNAME) + AC_SUBST(GMOFILES) + AC_SUBST(INSTOBJEXT) + AC_SUBST(INTLLIBS) + AC_SUBST(PO_IN_DATADIR_TRUE) + AC_SUBST(PO_IN_DATADIR_FALSE) + AC_SUBST(POFILES) + AC_SUBST(POSUB) + ]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES(CC)], - [define([AC_PROG_CC], - defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES(CXX)], - [define([AC_PROG_CXX], - defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl -]) -]) +# AM_GLIB_GNU_GETTEXT +# ------------------- +# Do checks necessary for use of gettext. If a suitable implementation +# of gettext is found in either in libintl or in the C library, +# it will set INTLLIBS to the libraries needed for use of gettext +# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable +# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() +# on various variables needed by the Makefile.in.in installed by +# glib-gettextize. +dnl +glib_DEFUN([GLIB_GNU_GETTEXT], + [AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + + GLIB_LC_MESSAGES + GLIB_WITH_NLS + if test "$gt_cv_have_gettext" = "yes"; then + if test "x$ALL_LINGUAS" = "x"; then + LINGUAS= + else + AC_MSG_CHECKING(for catalogs to be installed) + NEW_LINGUAS= + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + NEW_LINGUAS="$NEW_LINGUAS $presentlang" + fi + done + LINGUAS=$NEW_LINGUAS + AC_MSG_RESULT($LINGUAS) + fi -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. + dnl Construct list of names of catalog files to be constructed. + if test -n "$LINGUAS"; then + for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done + fi + fi -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $1 | $1:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but ($top_srcdir). + dnl Try to locate is. + MKINSTALLDIRS= + if test -n "$ac_aux_dir"; then + MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" + fi + if test -z "$MKINSTALLDIRS"; then + MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" + fi + AC_SUBST(MKINSTALLDIRS) -# Copyright 2002 Free Software Foundation, Inc. + dnl Generate list of files to be processed by xgettext which will + dnl be included in po/Makefile. + test -d po || mkdir po + if test "x$srcdir" != "x."; then + if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then + posrcprefix="$srcdir/" + else + posrcprefix="../$srcdir/" + fi + else + posrcprefix="../" + fi + rm -f po/POTFILES + sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ + < $srcdir/po/POTFILES.in > po/POTFILES + ]) -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) +# ------------------------------- +# Define VARIABLE to the location where catalog files will +# be installed by po/Makefile. +glib_DEFUN([GLIB_DEFINE_LOCALEDIR], +[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl +glib_save_prefix="$prefix" +glib_save_exec_prefix="$exec_prefix" +glib_save_datarootdir="$datarootdir" +test "x$prefix" = xNONE && prefix=$ac_default_prefix +test "x$exec_prefix" = xNONE && exec_prefix=$prefix +datarootdir=`eval echo "${datarootdir}"` +if test "x$CATOBJEXT" = "x.mo" ; then + localedir=`eval echo "${libdir}/locale"` +else + localedir=`eval echo "${datadir}/locale"` +fi +prefix="$glib_save_prefix" +exec_prefix="$glib_save_exec_prefix" +datarootdir="$glib_save_datarootdir" +AC_DEFINE_UNQUOTED($1, "$localedir", + [Define the location where the catalogs will be installed]) +]) -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +dnl +dnl Now the definitions that aclocal will find +dnl +ifdef(glib_configure_in,[],[ +AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) +AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) +])dnl -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) +# +# Create a temporary file with TEST-FILE as its contents and pass the +# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with +# 0 and perform ACTION-IF-FAIL for any other exit status. +AC_DEFUN([GLIB_RUN_PROG], +[cat >conftest.foo <<_ACEOF +$2 +_ACEOF +if AC_RUN_LOG([$1 conftest.foo]); then + m4_ifval([$3], [$3], [:]) +m4_ifvaln([$4], [else $4])dnl +echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD +sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD +fi]) -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.7"]) -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION so it can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.7.9])]) +# nls.m4 serial 3 (gettext-0.15) +dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. +dnl +dnl This file can can be used in projects which are not available under +dnl the GNU General Public License or the GNU Library General Public +dnl License but which still want to provide support for the GNU gettext +dnl functionality. +dnl Please note that the actual code of the GNU gettext library is covered +dnl by the GNU Library General Public License, and the rest of the GNU +dnl gettext package package is covered by the GNU General Public License. +dnl They are *not* in the public domain. -# Helper functions for option handling. -*- Autoconf -*- +dnl Authors: +dnl Ulrich Drepper , 1995-2000. +dnl Bruno Haible , 2000-2003. + +AC_PREREQ(2.50) -# Copyright 2001, 2002 Free Software Foundation, Inc. +AC_DEFUN([AM_NLS], +[ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) +]) +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# +# Copyright © 2004 Scott James Remnant . +# # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. -# serial 2 +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi + +fi[]dnl +])# PKG_PROG_PKG_CONFIG -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# +# Similar to PKG_CHECK_MODULES, make sure that the first instance of +# this or PKG_CHECK_MODULES is called, or make sure to call +# PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_ifval([$2], [$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) -# _AM_SET_OPTION(NAME) -# ------------------------------ -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) -# _AM_SET_OPTIONS(OPTIONS) -# ---------------------------------- -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$PKG_CONFIG"; then + if test -n "$$1"; then + pkg_cv_[]$1="$$1" + else + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], + [pkg_failed=yes]) + fi +else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) # -# Check to make sure that the build environment is sane. # +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl -# Copyright 1996, 1997, 2000, 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +pkg_failed=no +AC_MSG_CHECKING([for $1]) -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) -# serial 3 +if test $pkg_failed = yes; then + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Just in case -sleep 1 -echo timestamp > conftest.file -# Do `set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t $srcdir/configure conftest.file` - fi - rm -f conftest.file - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then + ifelse([$4], , [AC_MSG_ERROR(dnl +[Package requirements ($2) were not met: - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken -alias in your environment]) - fi +$$1_PKG_ERRORS - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT(yes)]) +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. -# -*- Autoconf -*- +_PKG_TEXT +])], + [AC_MSG_RESULT([no]) + $4]) +elif test $pkg_failed = untried; then + ifelse([$4], , [AC_MSG_FAILURE(dnl +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. +_PKG_TEXT -# Copyright 1997, 1999, 2000, 2001 Free Software Foundation, Inc. +To get pkg-config, see .])], + [$4]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + ifelse([$3], , :, [$3]) +fi[]dnl +])# PKG_CHECK_MODULES -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +# (This private macro should not be called outside this file.) +AC_DEFUN([AM_AUTOMAKE_VERSION], +[am__api_version='1.10' +dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to +dnl require some minimum version. Point them to the right macro. +m4_if([$1], [1.10.2], [], + [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl +]) -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# _AM_AUTOCONF_VERSION(VERSION) +# ----------------------------- +# aclocal traces this macro to find the Autoconf version. +# This is a private macro too. Using m4_define simplifies +# the logic in aclocal, which can simply ignore this definition. +m4_define([_AM_AUTOCONF_VERSION], []) -# serial 3 +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], +[AM_AUTOMAKE_VERSION([1.10.2])dnl +m4_ifndef([AC_AUTOCONF_VERSION], + [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) +# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it supports --run. -# If it does, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" -# Use eval to expand $SHELL -if eval "$MISSING --run true"; then - am_missing_run="$MISSING --run " -else - am_missing_run= - AC_MSG_WARN([`missing' script is too old or missing]) -fi -]) - -# AM_AUX_DIR_EXPAND - -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to @@ -443,131 +724,56 @@ # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. -# Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50]) - -AC_DEFUN([AM_AUX_DIR_EXPAND], [ +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. - -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -install_sh=${install_sh-"$am_aux_dir/install-sh"} -AC_SUBST(install_sh)]) - -# AM_PROG_INSTALL_STRIP - -# Copyright 2001 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# One issue with vendor `install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in `make install-strip', and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using `strip' when the user -# run `make install-strip'. However `strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the `STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be `maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# -*- Autoconf -*- -# Copyright (C) 2003 Free Software Foundation, Inc. +# AM_CONDITIONAL -*- Autoconf -*- -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# serial 1 +# serial 8 -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE])dnl +AC_SUBST([$1_FALSE])dnl +_AM_SUBST_NOTMAKE([$1_TRUE])dnl +_AM_SUBST_NOTMAKE([$1_FALSE])dnl +if $2; then + $1_TRUE= + $1_FALSE='#' else - am__leading_dot=_ + $1_TRUE='#' + $1_FALSE= fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# serial 5 -*- Autoconf -*- - -# Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +# serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, @@ -576,7 +782,6 @@ # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -596,6 +801,7 @@ ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) @@ -635,7 +841,9 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - : > sub/conftst$i.h + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf @@ -659,13 +867,19 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings - # (even with -Werror). So we grep stderr for any message - # that says an option was ignored. - if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi @@ -699,84 +913,81 @@ # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, -[ --disable-dependency-tracking Speeds up one-time builds - --enable-dependency-tracking Do not reject slow dependency extractors]) +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH]) +AC_SUBST([AMDEPBACKSLASH])dnl +_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Generate code to set up dependency tracking. -*- Autoconf -*- -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -#serial 2 +#serial 5 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - grep '^DEP_FILES *= *[[^ @%:@]]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" +[{ + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done done -done +} ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -793,9812 +1004,583 @@ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# serial 8 -# serial 2 +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo done -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# We grep out `Entering directory' and `Leaving directory' -# messages which can occur if `w' ends up in MAKEFLAGS. -# In particular we don't look at `^make:' because GNU make might -# be invoked under some other name (usually "gmake"), in which -# case it prints its new name instead of `make'. -if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then - am__include=include - am__quote= - _am_result=GNU -fi -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then - am__include=.include - am__quote="\"" - _am_result=BSD - fi -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# Do all the work for Automake. -*- Autoconf -*- -# AM_CONDITIONAL -*- Autoconf -*- +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005, 2006, 2008 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# Copyright 1997, 2000, 2001 Free Software Foundation, Inc. +# serial 13 -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.60])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) + fi +fi -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) -# serial 5 +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl +dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. +m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, + [m4_fatal([AC_INIT should be called with package and version arguments])])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl -AC_PREREQ(2.52) +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE]) -AC_SUBST([$1_FALSE]) -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]) -fi])]) - -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 4 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) - -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_OBJC], + [_AM_DEPENDENCIES(OBJC)], + [define([AC_PROG_OBJC], + defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) - -# serial 56 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac ]) -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_arg=$1 +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $_am_arg | $_am_arg:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl -_LT_PROG_ECHO_BACKSLASH - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP +echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) +# serial 2 -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) +# Add --enable-maintainer-mode option to configure. -*- Autoconf -*- +# From Jim Meyering -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) +# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +# serial 4 -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) +AC_DEFUN([AM_MAINTAINER_MODE], +[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) + dnl maintainer-mode is disabled by default + AC_ARG_ENABLE(maintainer-mode, +[ --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer], + USE_MAINTAINER_MODE=$enableval, + USE_MAINTAINER_MODE=no) + AC_MSG_RESULT([$USE_MAINTAINER_MODE]) + AM_CONDITIONAL(MAINTAINER_MODE, [test $USE_MAINTAINER_MODE = yes]) + MAINT=$MAINTAINER_MODE_TRUE + AC_SUBST(MAINT)dnl +] +) +AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) +# Check to see how 'make' treats includes. -*- Autoconf -*- +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +# serial 3 -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf ]) +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - +# serial 6 -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. +# serial 5 -# _LT_CONFIG_STATUS_DECLARATIONS +# AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([missing])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi ]) +# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Fix-up fallback echo if it was mangled by the above quoting rules. -case \$lt_ECHO in -*'\\\[$]0 --fallback-echo"')dnl " - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` - ;; +# AM_PROG_MKDIR_P +# --------------- +# Check for `mkdir -p'. +AC_DEFUN([AM_PROG_MKDIR_P], +[AC_PREREQ([2.60])dnl +AC_REQUIRE([AC_PROG_MKDIR_P])dnl +dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, +dnl while keeping a definition of mkdir_p for backward compatibility. +dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. +dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of +dnl Makefile.ins that do not define MKDIR_P, so we do our own +dnl adjustment using top_builddir (which is defined more often than +dnl MKDIR_P). +AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl +case $mkdir_p in + [[\\/$]]* | ?:[[\\/]]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac - -_LT_OUTPUT_LIBTOOL_INIT ]) +# Helper functions for option handling. -*- Autoconf -*- -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -cat >"$CONFIG_LT" <<_LTEOF -#! $SHELL -# Generated by $as_me. -# Run this file to recreate a libtool stub with the current configuration. - -lt_cl_silent=false -SHELL=\${CONFIG_SHELL-$SHELL} -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AS_SHELL_SANITIZE -_AS_PREPARE - -exec AS_MESSAGE_FD>&1 -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2008 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -if test "$no_create" != yes; then - lt_cl_success=: - test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" - exec AS_MESSAGE_LOG_FD>/dev/null - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false - exec AS_MESSAGE_LOG_FD>>config.log - $lt_cl_success || AS_EXIT(1) -fi -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_XSI_SHELLFNS - - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES -# -------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=echo - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX -# ----------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ -lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\(.*\)$/\1/ - p - } - }' -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -# Check for a 64-bit object if we didn't find anything. -if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` -fi],[]) -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[ifdef([AC_DIVERSION_NOTICE], - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], - [AC_DIVERT_PUSH(NOTICE)]) -$1 -AC_DIVERT_POP -])# _LT_SHELL_INIT - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Add some code to the start of the generated configure script which -# will find an echo command which doesn't interpret backslashes. -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[_LT_SHELL_INIT([ -# Check that we are running under the correct shell. -SHELL=${CONFIG_SHELL-/bin/sh} - -case X$lt_ECHO in -X*--fallback-echo) - # Remove one level of quotation (which was required for Make). - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` - ;; -esac - -ECHO=${lt_ECHO-echo} -if test "X[$]1" = X--no-reexec; then - # Discard the --no-reexec flag, and continue. - shift -elif test "X[$]1" = X--fallback-echo; then - # Avoid inline document here, it may be left over - : -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then - # Yippee, $ECHO works! - : -else - # Restart under the correct shell. - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} -fi - -if test "X[$]1" = X--fallback-echo; then - # used as fallback echo - shift - cat <<_LT_EOF -[$]* -_LT_EOF - exit 0 -fi - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test -z "$lt_ECHO"; then - if test "X${echo_test_string+set}" != Xset; then - # find a string as large as possible, as long as the shell can cope with it - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... - if { echo_test_string=`eval $cmd`; } 2>/dev/null && - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null - then - break - fi - done - fi - - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - : - else - # The Solaris, AIX, and Digital Unix default echo programs unquote - # backslashes. This makes it impossible to quote backslashes using - # echo "$something" | sed 's/\\/\\\\/g' - # - # So, first we look for a working echo in the user's PATH. - - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for dir in $PATH /usr/ucb; do - IFS="$lt_save_ifs" - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$dir/echo" - break - fi - done - IFS="$lt_save_ifs" - - if test "X$ECHO" = Xecho; then - # We didn't find a better echo, so look for alternatives. - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # This shell has a builtin print -r that does the trick. - ECHO='print -r' - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && - test "X$CONFIG_SHELL" != X/bin/ksh; then - # If we have ksh, try running configure again with it. - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} - export ORIGINAL_CONFIG_SHELL - CONFIG_SHELL=/bin/ksh - export CONFIG_SHELL - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} - else - # Try using printf. - ECHO='printf %s\n' - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - # Cool, printf works - : - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL - export CONFIG_SHELL - SHELL="$CONFIG_SHELL" - export SHELL - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && - test "X$echo_testing_string" = 'X\t' && - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && - test "X$echo_testing_string" = "X$echo_test_string"; then - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" - else - # maybe with a smaller string... - prev=: - - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null - then - break - fi - prev="$cmd" - done - - if test "$prev" != 'sed 50q "[$]0"'; then - echo_test_string=`eval $prev` - export echo_test_string - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} - else - # Oops. We lost completely, so just stick with echo. - ECHO=echo - fi - fi - fi - fi - fi -fi - -# Copy echo and quote the copy suitably for passing to libtool from -# the Makefile, instead of quoting the original, which is used later. -lt_ECHO=$ECHO -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" -fi - -AC_SUBST(lt_ECHO) -]) -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], - [An echo program that does not interpret backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line __oline__ "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -sparc*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[AC_CHECK_TOOL(AR, ar, false) -test -z "$AR" && AR=ar -test -z "$AR_FLAGS" && AR_FLAGS=cru -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1]) - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" -fi -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ - = "XX$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line __oline__ "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -void fnord() { int i=42;} -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` - else - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$host_os in - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH printed by - # mingw gcc, but we are running on Cygwin. Gcc prints its search - # path with ; separators, and with drive letters. We can handle the - # drive letters (cygwin fileutils understands them), so leave them, - # especially as we might pass files found there to a mingw objdump, - # which wouldn't understand a cygwinified path. Ahh. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - ;; - - *) - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - ;; - esac - dynamic_linker='Win32 ld.exe' - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd1*) - dynamic_linker=no - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[123]]*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555. - postinstall_cmds='chmod 555 $lib' - ;; - -interix[[3-9]]*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - # Some binutils ld are patched to set DT_RUNPATH - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be Linux ELF. -linux* | k*bsd*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method == "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -const struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_save_LIBS="$LIBS" - lt_save_CFLAGS="$CFLAGS" - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS="$lt_save_LIBS" - CFLAGS="$lt_save_CFLAGS" - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -AC_MSG_CHECKING([for $compiler option to produce PIC]) -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC*) - # IBM XL 8.0 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - pgcc* | pgf77* | pgf90* | pgf95*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl*) - # IBM XL C 8.0/Fortran 10.1 on PPC - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Sun\ F*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - if test "$with_gnu_ld" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.9.1, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to modify your PATH -*** so that a non-GNU linker is found, and then restart. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag= - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - freebsd1*) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes -a "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE(int foo(void) {}, - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - ) - LDFLAGS="$save_LDFLAGS" - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], - [[If ld is used when linking, flag to hardcode $libdir into a binary - during linking. This must work even if $libdir does not exist]]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [fix_srcfile_path], [1], - [Fix the shell variable $srcfile for the compiler]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_PROG_CXX -# ------------ -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ -# compiler, we have our own version here. -m4_defun([_LT_PROG_CXX], -[ -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) -AC_PROG_CXX -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_CXX - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_CXX], []) - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[AC_REQUIRE([_LT_PROG_CXX])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd[[12]]*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 will use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - xl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=echo - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='echo' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -]) -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case $p in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - else - prev= - fi - - if test "$pre_test_object_deps_done" = no; then - case $p in - -L* | -R*) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - ;; - - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_PROG_F77 -# ------------ -# Since AC_PROG_F77 is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_F77], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) -AC_PROG_F77 -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_F77 - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_F77], []) - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_REQUIRE([_LT_PROG_F77])dnl -AC_LANG_PUSH(Fortran 77) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${F77-"f77"} - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_PROG_FC -# ----------- -# Since AC_PROG_FC is broken, in that it returns the empty string -# if there is no fortran compiler, we have our own version here. -m4_defun([_LT_PROG_FC], -[ -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) -AC_PROG_FC -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi -popdef([AC_MSG_ERROR]) -])# _LT_PROG_FC - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([_LT_PROG_FC], []) - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_REQUIRE([_LT_PROG_FC])dnl -AC_LANG_PUSH(Fortran) - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - CC=${FC-"f95"} - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds - -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC="$lt_save_CC" -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC="$lt_save_CC" -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_XSI_SHELLFNS -# --------------------- -# Bourne and XSI compatible variants of some useful shell functions. -m4_defun([_LT_PROG_XSI_SHELLFNS], -[case $xsi_shell in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac -} - -# func_basename file -func_basename () -{ - func_basename_result="${1##*/}" -} - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}" -} - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -func_stripname () -{ - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"} -} - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=${1%%=*} - func_opt_split_arg=${1#*=} -} - -# func_lo2o object -func_lo2o () -{ - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=${1%.*}.lo -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=$(( $[*] )) -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=${#1} -} - -_LT_EOF - ;; - *) # Bourne compatible functions. - cat << \_LT_EOF >> "$cfgfile" - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` -} - -dnl func_dirname_and_basename -dnl A portable version of this function is already defined in general.m4sh -dnl so there is no need for it here. - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "X${3}" \ - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; - esac -} - -# sed scripts: -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' -my_sed_long_arg='1s/^-[[^=]]*=//' - -# func_opt_split -func_opt_split () -{ - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` -} - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` -} - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` -} - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "$[@]"` -} - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` -} - -_LT_EOF -esac - -case $lt_shell_append in - yes) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]+=\$[2]" -} -_LT_EOF - ;; - *) - cat << \_LT_EOF >> "$cfgfile" - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "$[1]=\$$[1]\$[2]" -} - -_LT_EOF - ;; - esac -]) - -# ltdl.m4 - Configure ltdl for the target system. -*-Autoconf-*- -# -# Copyright (C) 1999-2006, 2007, 2008 Free Software Foundation, Inc. -# Written by Thomas Tanner, 1999 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 17 LTDL_INIT - -# LT_CONFIG_LTDL_DIR(DIRECTORY, [LTDL-MODE]) -# ------------------------------------------ -# DIRECTORY contains the libltdl sources. It is okay to call this -# function multiple times, as long as the same DIRECTORY is always given. -AC_DEFUN([LT_CONFIG_LTDL_DIR], -[AC_BEFORE([$0], [LTDL_INIT]) -_$0($*) -])# LT_CONFIG_LTDL_DIR - -# We break this out into a separate macro, so that we can call it safely -# internally without being caught accidentally by the sed scan in libtoolize. -m4_defun([_LT_CONFIG_LTDL_DIR], -[dnl remove trailing slashes -m4_pushdef([_ARG_DIR], m4_bpatsubst([$1], [/*$])) -m4_case(_LTDL_DIR, - [], [dnl only set lt_ltdl_dir if _ARG_DIR is not simply `.' - m4_if(_ARG_DIR, [.], - [], - [m4_define([_LTDL_DIR], _ARG_DIR) - _LT_SHELL_INIT([lt_ltdl_dir=']_ARG_DIR['])])], - [m4_if(_ARG_DIR, _LTDL_DIR, - [], - [m4_fatal([multiple libltdl directories: `]_LTDL_DIR[', `]_ARG_DIR['])])]) -m4_popdef([_ARG_DIR]) -])# _LT_CONFIG_LTDL_DIR - -# Initialise: -m4_define([_LTDL_DIR], []) - - -# _LT_BUILD_PREFIX -# ---------------- -# If Autoconf is new enough, expand to `${top_build_prefix}', otherwise -# to `${top_builddir}/'. -m4_define([_LT_BUILD_PREFIX], -[m4_ifdef([AC_AUTOCONF_VERSION], - [m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]), [2.62]), - [-1], [m4_ifdef([_AC_HAVE_TOP_BUILD_PREFIX], - [${top_build_prefix}], - [${top_builddir}/])], - [${top_build_prefix}])], - [${top_builddir}/])[]dnl -]) - - -# LTDL_CONVENIENCE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl convenience library and -# LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-convenience to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called here. LIBLTDL will be prefixed with -# '${top_build_prefix}' if available, otherwise with '${top_builddir}/', -# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single -# quotes!). If your package is not flat and you're not using automake, -# define top_build_prefix, top_builddir, and top_srcdir appropriately -# in your Makefiles. -AC_DEFUN([LTDL_CONVENIENCE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_CONVENIENCE - -# AC_LIBLTDL_CONVENIENCE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_CONVENIENCE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_CONVENIENCE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_CONVENIENCE], []) - - -# _LTDL_CONVENIENCE -# ----------------- -# Code shared by LTDL_CONVENIENCE and LTDL_INIT([convenience]). -m4_defun([_LTDL_CONVENIENCE], -[case $enable_ltdl_convenience in - no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; - "") enable_ltdl_convenience=yes - ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; -esac -LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdlc.la" -LTDLDEPS=$LIBLTDL -LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" -AC_SUBST([INCLTDL]) -])# _LTDL_CONVENIENCE - - -# LTDL_INSTALLABLE -# ---------------- -# sets LIBLTDL to the link flags for the libltdl installable library -# and LTDLINCL to the include flags for the libltdl header and adds -# --enable-ltdl-install to the configure arguments. Note that -# AC_CONFIG_SUBDIRS is not called from here. If an installed libltdl -# is not found, LIBLTDL will be prefixed with '${top_build_prefix}' if -# available, otherwise with '${top_builddir}/', and LTDLINCL will be -# prefixed with '${top_srcdir}/' (note the single quotes!). If your -# package is not flat and you're not using automake, define top_build_prefix, -# top_builddir, and top_srcdir appropriately in your Makefiles. -# In the future, this macro may have to be called after LT_INIT. -AC_DEFUN([LTDL_INSTALLABLE], -[AC_BEFORE([$0], [LTDL_INIT])dnl -dnl Although the argument is deprecated and no longer documented, -dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one -dnl here make sure it is the same as any other declaration of libltdl's -dnl location! This also ensures lt_ltdl_dir is set when configure.ac is -dnl not yet using an explicit LT_CONFIG_LTDL_DIR. -m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl -_$0() -])# LTDL_INSTALLABLE - -# AC_LIBLTDL_INSTALLABLE accepted a directory argument in older libtools, -# now we have LT_CONFIG_LTDL_DIR: -AU_DEFUN([AC_LIBLTDL_INSTALLABLE], -[_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) -_LTDL_INSTALLABLE]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBLTDL_INSTALLABLE], []) - - -# _LTDL_INSTALLABLE -# ----------------- -# Code shared by LTDL_INSTALLABLE and LTDL_INIT([installable]). -m4_defun([_LTDL_INSTALLABLE], -[if test -f $prefix/lib/libltdl.la; then - lt_save_LDFLAGS="$LDFLAGS" - LDFLAGS="-L$prefix/lib $LDFLAGS" - AC_CHECK_LIB([ltdl], [lt_dlinit], [lt_lib_ltdl=yes]) - LDFLAGS="$lt_save_LDFLAGS" - if test x"${lt_lib_ltdl-no}" = xyes; then - if test x"$enable_ltdl_install" != xyes; then - # Don't overwrite $prefix/lib/libltdl.la without --enable-ltdl-install - AC_MSG_WARN([not overwriting libltdl at $prefix, force with `--enable-ltdl-install']) - enable_ltdl_install=no - fi - elif test x"$enable_ltdl_install" = xno; then - AC_MSG_WARN([libltdl not installed, but installation disabled]) - fi -fi - -# If configure.ac declared an installable ltdl, and the user didn't override -# with --disable-ltdl-install, we will install the shipped libltdl. -case $enable_ltdl_install in - no) ac_configure_args="$ac_configure_args --enable-ltdl-install=no" - LIBLTDL="-lltdl" - LTDLDEPS= - LTDLINCL= - ;; - *) enable_ltdl_install=yes - ac_configure_args="$ac_configure_args --enable-ltdl-install" - LIBLTDL='_LT_BUILD_PREFIX'"${lt_ltdl_dir+$lt_ltdl_dir/}libltdl.la" - LTDLDEPS=$LIBLTDL - LTDLINCL='-I${top_srcdir}'"${lt_ltdl_dir+/$lt_ltdl_dir}" - ;; -esac - -AC_SUBST([LIBLTDL]) -AC_SUBST([LTDLDEPS]) -AC_SUBST([LTDLINCL]) - -# For backwards non-gettext consistent compatibility... -INCLTDL="$LTDLINCL" -AC_SUBST([INCLTDL]) -])# LTDL_INSTALLABLE - - -# _LTDL_MODE_DISPATCH -# ------------------- -m4_define([_LTDL_MODE_DISPATCH], -[dnl If _LTDL_DIR is `.', then we are configuring libltdl itself: -m4_if(_LTDL_DIR, [], - [], - dnl if _LTDL_MODE was not set already, the default value is `subproject': - [m4_case(m4_default(_LTDL_MODE, [subproject]), - [subproject], [AC_CONFIG_SUBDIRS(_LTDL_DIR) - _LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"])], - [nonrecursive], [_LT_SHELL_INIT([lt_dlopen_dir="$lt_ltdl_dir"; lt_libobj_prefix="$lt_ltdl_dir/"])], - [recursive], [], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])])dnl -dnl Be careful not to expand twice: -m4_define([$0], []) -])# _LTDL_MODE_DISPATCH - - -# _LT_LIBOBJ(MODULE_NAME) -# ----------------------- -# Like AC_LIBOBJ, except that MODULE_NAME goes into _LT_LIBOBJS instead -# of into LIBOBJS. -AC_DEFUN([_LT_LIBOBJ], [ - m4_pattern_allow([^_LT_LIBOBJS$]) - _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" -])# _LT_LIBOBJS - - -# LTDL_INIT([OPTIONS]) -# -------------------- -# Clients of libltdl can use this macro to allow the installer to -# choose between a shipped copy of the ltdl sources or a preinstalled -# version of the library. If the shipped ltdl sources are not in a -# subdirectory named libltdl, the directory name must be given by -# LT_CONFIG_LTDL_DIR. -AC_DEFUN([LTDL_INIT], -[dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -dnl We need to keep our own list of libobjs separate from our parent project, -dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while -dnl we look for our own LIBOBJs. -m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) -m4_pushdef([AC_LIBSOURCES]) - -dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: -m4_if(_LTDL_MODE, [], - [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) - m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], - [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) - -AC_ARG_WITH([included_ltdl], - [AS_HELP_STRING([--with-included-ltdl], - [use the GNU ltdl sources included here])]) - -if test "x$with_included_ltdl" != xyes; then - # We are not being forced to use the included libltdl sources, so - # decide whether there is a useful installed version we can use. - AC_CHECK_HEADER([ltdl.h], - [AC_CHECK_DECL([lt_dlinterface_register], - [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], - [with_included_ltdl=no], - [with_included_ltdl=yes])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT - #include ])], - [with_included_ltdl=yes], - [AC_INCLUDES_DEFAULT] - ) -fi - -dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE -dnl was called yet, then for old times' sake, we assume libltdl is in an -dnl eponymous directory: -AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) - -AC_ARG_WITH([ltdl_include], - [AS_HELP_STRING([--with-ltdl-include=DIR], - [use the ltdl headers installed in DIR])]) - -if test -n "$with_ltdl_include"; then - if test -f "$with_ltdl_include/ltdl.h"; then : - else - AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include']) - fi -else - with_ltdl_include=no -fi - -AC_ARG_WITH([ltdl_lib], - [AS_HELP_STRING([--with-ltdl-lib=DIR], - [use the libltdl.la installed in DIR])]) - -if test -n "$with_ltdl_lib"; then - if test -f "$with_ltdl_lib/libltdl.la"; then : - else - AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib']) - fi -else - with_ltdl_lib=no -fi - -case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in - ,yes,no,no,) - m4_case(m4_default(_LTDL_TYPE, [convenience]), - [convenience], [_LTDL_CONVENIENCE], - [installable], [_LTDL_INSTALLABLE], - [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) - ;; - ,no,no,no,) - # If the included ltdl is not to be used, then use the - # preinstalled libltdl we found. - AC_DEFINE([HAVE_LTDL], [1], - [Define this if a modern libltdl is already installed]) - LIBLTDL=-lltdl - LTDLDEPS= - LTDLINCL= - ;; - ,no*,no,*) - AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together]) - ;; - *) with_included_ltdl=no - LIBLTDL="-L$with_ltdl_lib -lltdl" - LTDLDEPS= - LTDLINCL="-I$with_ltdl_include" - ;; -esac -INCLTDL="$LTDLINCL" - -# Report our decision... -AC_MSG_CHECKING([where to find libltdl headers]) -AC_MSG_RESULT([$LTDLINCL]) -AC_MSG_CHECKING([where to find libltdl library]) -AC_MSG_RESULT([$LIBLTDL]) - -_LTDL_SETUP - -dnl restore autoconf definition. -m4_popdef([AC_LIBOBJ]) -m4_popdef([AC_LIBSOURCES]) - -AC_CONFIG_COMMANDS_PRE([ - _ltdl_libobjs= - _ltdl_ltlibobjs= - if test -n "$_LT_LIBOBJS"; then - # Remove the extension. - _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' - for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do - _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" - _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" - done - fi - AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) - AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) -]) - -# Only expand once: -m4_define([LTDL_INIT]) -])# LTDL_INIT - -# Old names: -AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) -AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIB_LTDL], []) -dnl AC_DEFUN([AC_WITH_LTDL], []) -dnl AC_DEFUN([LT_WITH_LTDL], []) - - -# _LTDL_SETUP -# ----------- -# Perform all the checks necessary for compilation of the ltdl objects -# -- including compiler checks and header checks. This is a public -# interface mainly for the benefit of libltdl's own configure.ac, most -# other users should call LTDL_INIT instead. -AC_DEFUN([_LTDL_SETUP], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_SYS_MODULE_EXT])dnl -AC_REQUIRE([LT_SYS_MODULE_PATH])dnl -AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl -AC_REQUIRE([LT_LIB_DLLOAD])dnl -AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl -AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl -AC_REQUIRE([gl_FUNC_ARGZ])dnl - -m4_require([_LT_CHECK_OBJDIR])dnl -m4_require([_LT_HEADER_DLFCN])dnl -m4_require([_LT_CHECK_DLPREOPEN])dnl -m4_require([_LT_DECL_SED])dnl - -dnl Don't require this, or it will be expanded earlier than the code -dnl that sets the variables it relies on: -_LT_ENABLE_INSTALL - -dnl _LTDL_MODE specific code must be called at least once: -_LTDL_MODE_DISPATCH - -# In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS -# the user used. This is so that ltdl.h can pick up the parent projects -# config.h file, The first file in AC_CONFIG_HEADERS must contain the -# definitions required by ltdl.c. -# FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). -AC_CONFIG_COMMANDS_PRE([dnl -m4_pattern_allow([^LT_CONFIG_H$])dnl -m4_ifset([AH_HEADER], - [LT_CONFIG_H=AH_HEADER], - [m4_ifset([AC_LIST_HEADERS], - [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`], - [])])]) -AC_SUBST([LT_CONFIG_H]) - -AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], - [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) -AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) - -AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) - -name=ltdl -LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""` -AC_SUBST([LTDLOPEN]) -])# _LTDL_SETUP - - -# _LT_ENABLE_INSTALL -# ------------------ -m4_define([_LT_ENABLE_INSTALL], -[AC_ARG_ENABLE([ltdl-install], - [AS_HELP_STRING([--enable-ltdl-install], [install libltdl])]) - -case ,${enable_ltdl_install},${enable_ltdl_convenience} in - *yes*) ;; - *) enable_ltdl_convenience=yes ;; -esac - -m4_ifdef([AM_CONDITIONAL], -[AM_CONDITIONAL(INSTALL_LTDL, test x"${enable_ltdl_install-no}" != xno) - AM_CONDITIONAL(CONVENIENCE_LTDL, test x"${enable_ltdl_convenience-no}" != xno)]) -])# _LT_ENABLE_INSTALL - - -# LT_SYS_DLOPEN_DEPLIBS -# --------------------- -AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - [lt_cv_sys_dlopen_deplibs], - [# PORTME does your system automatically load deplibs for dlopen? - # or its logical equivalent (e.g. shl_load for HP-UX < 11) - # For now, we just catch OSes we know something about -- in the - # future, we'll try test this programmatically. - lt_cv_sys_dlopen_deplibs=unknown - case $host_os in - aix3*|aix4.1.*|aix4.2.*) - # Unknown whether this is true for these versions of AIX, but - # we want this `case' here to explicitly catch those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - aix[[4-9]]*) - lt_cv_sys_dlopen_deplibs=yes - ;; - amigaos*) - case $host_cpu in - powerpc) - lt_cv_sys_dlopen_deplibs=no - ;; - esac - ;; - darwin*) - # Assuming the user has installed a libdl from somewhere, this is true - # If you are looking for one http://www.opendarwin.org/projects/dlcompat - lt_cv_sys_dlopen_deplibs=yes - ;; - freebsd* | dragonfly*) - lt_cv_sys_dlopen_deplibs=yes - ;; - gnu* | linux* | k*bsd*-gnu) - # GNU and its variants, using gnu ld.so (Glibc) - lt_cv_sys_dlopen_deplibs=yes - ;; - hpux10*|hpux11*) - lt_cv_sys_dlopen_deplibs=yes - ;; - interix*) - lt_cv_sys_dlopen_deplibs=yes - ;; - irix[[12345]]*|irix6.[[01]]*) - # Catch all versions of IRIX before 6.2, and indicate that we don't - # know how it worked for any of those versions. - lt_cv_sys_dlopen_deplibs=unknown - ;; - irix*) - # The case above catches anything before 6.2, and it's known that - # at 6.2 and later dlopen does load deplibs. - lt_cv_sys_dlopen_deplibs=yes - ;; - netbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - openbsd*) - lt_cv_sys_dlopen_deplibs=yes - ;; - osf[[1234]]*) - # dlopen did load deplibs (at least at 4.x), but until the 5.x series, - # it did *not* use an RPATH in a shared library to find objects the - # library depends on, so we explicitly say `no'. - lt_cv_sys_dlopen_deplibs=no - ;; - osf5.0|osf5.0a|osf5.1) - # dlopen *does* load deplibs and with the right loader patch applied - # it even uses RPATH in a shared library to search for shared objects - # that the library depends on, but there's no easy way to know if that - # patch is installed. Since this is the case, all we can really - # say is unknown -- it depends on the patch being installed. If - # it is, this changes to `yes'. Without it, it would be `no'. - lt_cv_sys_dlopen_deplibs=unknown - ;; - osf*) - # the two cases above should catch all versions of osf <= 5.1. Read - # the comments above for what we know about them. - # At > 5.1, deplibs are loaded *and* any RPATH in a shared library - # is used to find them so we can finally say `yes'. - lt_cv_sys_dlopen_deplibs=yes - ;; - qnx*) - lt_cv_sys_dlopen_deplibs=yes - ;; - solaris*) - lt_cv_sys_dlopen_deplibs=yes - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - libltdl_cv_sys_dlopen_deplibs=yes - ;; - esac - ]) -if test "$lt_cv_sys_dlopen_deplibs" != yes; then - AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], - [Define if the OS needs help to load dependent libraries for dlopen().]) -fi -])# LT_SYS_DLOPEN_DEPLIBS - -# Old name: -AU_ALIAS([AC_LTDL_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], []) - - -# LT_SYS_MODULE_EXT -# ----------------- -AC_DEFUN([LT_SYS_MODULE_EXT], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which extension is used for runtime loadable modules], - [libltdl_cv_shlibext], -[ -module=yes -eval libltdl_cv_shlibext=$shrext_cmds - ]) -if test -n "$libltdl_cv_shlibext"; then - m4_pattern_allow([LT_MODULE_EXT])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], - [Define to the extension used for runtime loadable modules, say, ".so".]) -fi -])# LT_SYS_MODULE_EXT - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBEXT], [LT_SYS_MODULE_EXT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBEXT], []) - - -# LT_SYS_MODULE_PATH -# ------------------ -AC_DEFUN([LT_SYS_MODULE_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([which variable specifies run-time module search path], - [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"]) -if test -n "$lt_cv_module_path_var"; then - m4_pattern_allow([LT_MODULE_PATH_VAR])dnl - AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], - [Define to the name of the environment variable that determines the run-time module search path.]) -fi -])# LT_SYS_MODULE_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SHLIBPATH], [LT_SYS_MODULE_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SHLIBPATH], []) - - -# LT_SYS_DLSEARCH_PATH -# -------------------- -AC_DEFUN([LT_SYS_DLSEARCH_PATH], -[m4_require([_LT_SYS_DYNAMIC_LINKER])dnl -AC_CACHE_CHECK([for the default library search path], - [lt_cv_sys_dlsearch_path], - [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"]) -if test -n "$lt_cv_sys_dlsearch_path"; then - sys_dlsearch_path= - for dir in $lt_cv_sys_dlsearch_path; do - if test -z "$sys_dlsearch_path"; then - sys_dlsearch_path="$dir" - else - sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" - fi - done - m4_pattern_allow([LT_DLSEARCH_PATH])dnl - AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], - [Define to the system default library search path.]) -fi -])# LT_SYS_DLSEARCH_PATH - -# Old name: -AU_ALIAS([AC_LTDL_SYSSEARCHPATH], [LT_SYS_DLSEARCH_PATH]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYSSEARCHPATH], []) - - -# _LT_CHECK_DLPREOPEN -# ------------------- -m4_defun([_LT_CHECK_DLPREOPEN], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([whether libtool supports -dlopen/-dlpreopen], - [libltdl_cv_preloaded_symbols], - [if test -n "$lt_cv_sys_global_symbol_pipe"; then - libltdl_cv_preloaded_symbols=yes - else - libltdl_cv_preloaded_symbols=no - fi - ]) -if test x"$libltdl_cv_preloaded_symbols" = xyes; then - AC_DEFINE([HAVE_PRELOADED_SYMBOLS], [1], - [Define if libtool can extract symbol lists from object files.]) -fi -])# _LT_CHECK_DLPREOPEN - - -# LT_LIB_DLLOAD -# ------------- -AC_DEFUN([LT_LIB_DLLOAD], -[m4_pattern_allow([^LT_DLLOADERS$]) -LT_DLLOADERS= -AC_SUBST([LT_DLLOADERS]) - -AC_LANG_PUSH([C]) - -LIBADD_DLOPEN= -AC_SEARCH_LIBS([dlopen], [dl], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - if test "$ac_cv_search_dlopen" != "none required" ; then - LIBADD_DLOPEN="-ldl" - fi - libltdl_cv_lib_dl_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H -# include -#endif - ]], [[dlopen(0, 0);]])], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - libltdl_cv_func_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], - [AC_CHECK_LIB([svld], [dlopen], - [AC_DEFINE([HAVE_LIBDL], [1], - [Define if you have the libdl library or equivalent.]) - LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) -if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes -then - lt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - AC_CHECK_FUNCS([dlerror]) - LIBS="$lt_save_LIBS" -fi -AC_SUBST([LIBADD_DLOPEN]) - -LIBADD_SHL_LOAD= -AC_CHECK_FUNC([shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], - [AC_CHECK_LIB([dld], [shl_load], - [AC_DEFINE([HAVE_SHL_LOAD], [1], - [Define if you have the shl_load function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" - LIBADD_SHL_LOAD="-ldld"])]) -AC_SUBST([LIBADD_SHL_LOAD]) - -case $host_os in -darwin[[1567]].*) -# We only want this for pre-Mac OS X 10.4. - AC_CHECK_FUNC([_dyld_func_lookup], - [AC_DEFINE([HAVE_DYLD], [1], - [Define if you have the _dyld_func_lookup function.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) - ;; -beos*) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" - ;; -cygwin* | mingw* | os2* | pw32*) - AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" - ;; -esac - -AC_CHECK_LIB([dld], [dld_link], - [AC_DEFINE([HAVE_DLD], [1], - [Define if you have the GNU dld library.]) - LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) -AC_SUBST([LIBADD_DLD_LINK]) - -m4_pattern_allow([^LT_DLPREOPEN$]) -LT_DLPREOPEN= -if test -n "$LT_DLLOADERS" -then - for lt_loader in $LT_DLLOADERS; do - LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " - done - AC_DEFINE([HAVE_LIBDLLOADER], [1], - [Define if libdlloader will be built on this platform]) -fi -AC_SUBST([LT_DLPREOPEN]) - -dnl This isn't used anymore, but set it for backwards compatibility -LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" -AC_SUBST([LIBADD_DL]) - -AC_LANG_POP -])# LT_LIB_DLLOAD - -# Old name: -AU_ALIAS([AC_LTDL_DLLIB], [LT_LIB_DLLOAD]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLLIB], []) - - -# LT_SYS_SYMBOL_USCORE -# -------------------- -# does the compiler prefix global symbols with an underscore? -AC_DEFUN([LT_SYS_SYMBOL_USCORE], -[m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -AC_CACHE_CHECK([for _ prefix in compiled symbols], - [lt_cv_sys_symbol_underscore], - [lt_cv_sys_symbol_underscore=no - cat > conftest.$ac_ext <<_LT_EOF -void nm_test_func(){} -int main(){nm_test_func;return 0;} -_LT_EOF - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - ac_nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then - # See whether the symbols have a leading underscore. - if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then - lt_cv_sys_symbol_underscore=yes - else - if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then - : - else - echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD - fi - fi - else - echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.c >&AS_MESSAGE_LOG_FD - fi - rm -rf conftest* - ]) - sys_symbol_underscore=$lt_cv_sys_symbol_underscore - AC_SUBST([sys_symbol_underscore]) -])# LT_SYS_SYMBOL_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_SYMBOL_USCORE], []) - - -# LT_FUNC_DLSYM_USCORE -# -------------------- -AC_DEFUN([LT_FUNC_DLSYM_USCORE], -[AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl -if test x"$lt_cv_sys_symbol_underscore" = xyes; then - if test x"$libltdl_cv_func_dlopen" = xyes || - test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then - AC_CACHE_CHECK([whether we have to add an underscore for dlsym], - [libltdl_cv_need_uscore], - [libltdl_cv_need_uscore=unknown - save_LIBS="$LIBS" - LIBS="$LIBS $LIBADD_DLOPEN" - _LT_TRY_DLOPEN_SELF( - [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], - [], [libltdl_cv_need_uscore=cross]) - LIBS="$save_LIBS" - ]) - fi -fi - -if test x"$libltdl_cv_need_uscore" = xyes; then - AC_DEFINE([NEED_USCORE], [1], - [Define if dlsym() requires a leading underscore in symbol names.]) -fi -])# LT_FUNC_DLSYM_USCORE - -# Old name: -AU_ALIAS([AC_LTDL_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LTDL_DLSYM_USCORE], []) - -# Portability macros for glibc argz. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc. -# Written by Gary V. Vaughan -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 argz.m4 - -AC_DEFUN([gl_FUNC_ARGZ], -[gl_PREREQ_ARGZ - -AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) - -AC_CHECK_TYPES([error_t], - [], - [AC_DEFINE([error_t], [int], - [Define to a type to use for `error_t' if it is not otherwise available.]) - AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h - does not typedef error_t.])], - [#if defined(HAVE_ARGZ_H) -# include -#endif]) - -ARGZ_H= -AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ - argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])]) - -dnl if have system argz functions, allow forced use of -dnl libltdl-supplied implementation (and default to do so -dnl on "known bad" systems). Could use a runtime check, but -dnl (a) detecting malloc issues is notoriously unreliable -dnl (b) only known system that declares argz functions, -dnl provides them, yet they are broken, is cygwin -dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) -dnl So, it's more straightforward simply to special case -dnl this for known bad systems. -AS_IF([test -z "$ARGZ_H"], - [AC_CACHE_CHECK( - [if argz actually works], - [lt_cv_sys_argz_works], - [[case $host_os in #( - *cygwin*) - lt_cv_sys_argz_works=no - if test "$cross_compiling" != no; then - lt_cv_sys_argz_works="guessing no" - else - lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' - save_IFS=$IFS - IFS=-. - set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` - IFS=$save_IFS - lt_os_major=${2-0} - lt_os_minor=${3-0} - lt_os_micro=${4-0} - if test "$lt_os_major" -gt 1 \ - || { test "$lt_os_major" -eq 1 \ - && { test "$lt_os_minor" -gt 5 \ - || { test "$lt_os_minor" -eq 5 \ - && test "$lt_os_micro" -gt 24; }; }; }; then - lt_cv_sys_argz_works=yes - fi - fi - ;; #( - *) lt_cv_sys_argz_works=yes ;; - esac]]) - AS_IF([test $lt_cv_sys_argz_works = yes], - [AC_DEFINE([HAVE_WORKING_ARGZ], 1, - [This value is set to 1 to indicate that the system argz facility works])], - [ARGZ_H=argz.h - AC_LIBOBJ([argz])])]) - -AC_SUBST([ARGZ_H]) -]) - -# Prerequisites of lib/argz.c. -AC_DEFUN([gl_PREREQ_ARGZ], [:]) - -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [0], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [pic_mode="$withval"], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) - -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) - -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# Generated from ltversion.in. - -# serial 3012 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.2.6]) -m4_define([LT_PACKAGE_REVISION], [1.3012]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.2.6' -macro_revision='1.3012' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) - - -dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) -# serial 40 IT_PROG_INTLTOOL -AC_DEFUN([IT_PROG_INTLTOOL], [ -AC_PREREQ([2.50])dnl -AC_REQUIRE([AM_NLS])dnl - -case "$am__api_version" in - 1.[01234]) - AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) - ;; - *) - ;; -esac - -if test -n "$1"; then - AC_MSG_CHECKING([for intltool >= $1]) - - INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` - INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` - [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` - ] - AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) - test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || - AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) -fi - -AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) -AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) -AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) -if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then - AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) -fi - - INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' -INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' - INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' -INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' - INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' - -AC_SUBST(INTLTOOL_DESKTOP_RULE) -AC_SUBST(INTLTOOL_DIRECTORY_RULE) -AC_SUBST(INTLTOOL_KEYS_RULE) -AC_SUBST(INTLTOOL_PROP_RULE) -AC_SUBST(INTLTOOL_OAF_RULE) -AC_SUBST(INTLTOOL_PONG_RULE) -AC_SUBST(INTLTOOL_SERVER_RULE) -AC_SUBST(INTLTOOL_SHEET_RULE) -AC_SUBST(INTLTOOL_SOUNDLIST_RULE) -AC_SUBST(INTLTOOL_UI_RULE) -AC_SUBST(INTLTOOL_XAM_RULE) -AC_SUBST(INTLTOOL_KBD_RULE) -AC_SUBST(INTLTOOL_XML_RULE) -AC_SUBST(INTLTOOL_XML_NOMERGE_RULE) -AC_SUBST(INTLTOOL_CAVES_RULE) -AC_SUBST(INTLTOOL_SCHEMAS_RULE) -AC_SUBST(INTLTOOL_THEME_RULE) -AC_SUBST(INTLTOOL_SERVICE_RULE) -AC_SUBST(INTLTOOL_POLICY_RULE) - -# Check the gettext tools to make sure they are GNU -AC_PATH_PROG(XGETTEXT, xgettext) -AC_PATH_PROG(MSGMERGE, msgmerge) -AC_PATH_PROG(MSGFMT, msgfmt) -AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) -if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then - AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) -fi -xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" -mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" -mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" -if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then - AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) -fi - -AC_PATH_PROG(INTLTOOL_PERL, [perl]) -if test -z "$INTLTOOL_PERL"; then - AC_MSG_ERROR([perl not found; required for intltool]) -fi -if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then - AC_MSG_ERROR([perl 5.x required for intltool]) -fi -if test "x$2" != "xno-xml"; then - AC_MSG_CHECKING([for XML::Parser]) - if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then - AC_MSG_RESULT([ok]) - else - AC_MSG_ERROR([XML::Parser perl module is required for intltool]) - fi -fi - -# Substitute ALL_LINGUAS so we can use it in po/Makefile -AC_SUBST(ALL_LINGUAS) - -# Set DATADIRNAME correctly if it is not set yet -# (copied from glib-gettext.m4) -if test -z "$DATADIRNAME"; then - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[]], - [[extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr]])], - [DATADIRNAME=share], - [case $host in - *-*-solaris*) - dnl On Solaris, if bind_textdomain_codeset is in libc, - dnl GNU format message catalog is always supported, - dnl since both are added to the libc all together. - dnl Hence, we'd like to go with DATADIRNAME=share - dnl in this case. - AC_CHECK_FUNC(bind_textdomain_codeset, - [DATADIRNAME=share], [DATADIRNAME=lib]) - ;; - *) - [DATADIRNAME=lib] - ;; - esac]) -fi -AC_SUBST(DATADIRNAME) - -IT_PO_SUBDIR([po]) - -]) - - -# IT_PO_SUBDIR(DIRNAME) -# --------------------- -# All po subdirs have to be declared with this macro; the subdir "po" is -# declared by IT_PROG_INTLTOOL. -# -AC_DEFUN([IT_PO_SUBDIR], -[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. -dnl -dnl The following CONFIG_COMMANDS should be exetuted at the very end -dnl of config.status. -AC_CONFIG_COMMANDS_PRE([ - AC_CONFIG_COMMANDS([$1/stamp-it], [ - if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" ]; then - AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) - fi - rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" - >"$1/stamp-it.tmp" - [sed '/^#/d - s/^[[].*] *// - /^[ ]*$/d - '"s|^| $ac_top_srcdir/|" \ - "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" - ] - [sed '/^POTFILES =/,/[^\\]$/ { - /^POTFILES =/!d - r $1/POTFILES - } - ' "$1/Makefile.in" >"$1/Makefile"] - rm -f "$1/Makefile.tmp" - mv "$1/stamp-it.tmp" "$1/stamp-it" - ]) -])dnl -]) - -# deprecated macros -AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) -# A hint is needed for aclocal from Automake <= 1.9.4: -# AC_DEFUN([AC_PROG_INTLTOOL], ...) - - -# nls.m4 serial 3 (gettext-0.15) -dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ(2.50) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE(nls, - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT($USE_NLS) - AC_SUBST(USE_NLS) -]) - -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# -# Copyright © 2004 Scott James Remnant . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# PKG_PROG_PKG_CONFIG([MIN-VERSION]) -# ---------------------------------- -AC_DEFUN([PKG_PROG_PKG_CONFIG], -[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) -m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) -AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=m4_default([$1], [0.9.0]) - AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - PKG_CONFIG="" - fi - -fi[]dnl -])# PKG_PROG_PKG_CONFIG - -# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -# Check to see whether a particular set of modules exists. Similar -# to PKG_CHECK_MODULES(), but does not set variables or print errors. -# -# -# Similar to PKG_CHECK_MODULES, make sure that the first instance of -# this or PKG_CHECK_MODULES is called, or make sure to call -# PKG_CHECK_EXISTS manually -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_EXISTS], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -if test -n "$PKG_CONFIG" && \ - AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then - m4_ifval([$2], [$2], [:]) -m4_ifvaln([$3], [else - $3])dnl -fi]) - - -# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) -# --------------------------------------------- -m4_define([_PKG_CONFIG], -[if test -n "$$1"; then - pkg_cv_[]$1="$$1" - elif test -n "$PKG_CONFIG"; then - PKG_CHECK_EXISTS([$3], - [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], - [pkg_failed=yes]) - else - pkg_failed=untried -fi[]dnl -])# _PKG_CONFIG - -# _PKG_SHORT_ERRORS_SUPPORTED -# ----------------------------- -AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi[]dnl -])# _PKG_SHORT_ERRORS_SUPPORTED - - -# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], -# [ACTION-IF-NOT-FOUND]) -# -# -# Note that if there is a possibility the first call to -# PKG_CHECK_MODULES might not happen, you should be sure to include an -# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac -# -# -# -------------------------------------------------------------- -AC_DEFUN([PKG_CHECK_MODULES], -[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl -AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl -AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl - -pkg_failed=no -AC_MSG_CHECKING([for $1]) - -_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) -_PKG_CONFIG([$1][_LIBS], [libs], [$2]) - -m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS -and $1[]_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details.]) - -if test $pkg_failed = yes; then - _PKG_SHORT_ERRORS_SUPPORTED - if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - - ifelse([$4], , [AC_MSG_ERROR(dnl -[Package requirements ($2) were not met: - -$$1_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -_PKG_TEXT -])], - [AC_MSG_RESULT([no]) - $4]) -elif test $pkg_failed = untried; then - ifelse([$4], , [AC_MSG_FAILURE(dnl -[The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -_PKG_TEXT - -To get pkg-config, see .])], - [$4]) -else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS - AC_MSG_RESULT([yes]) - ifelse([$3], , :, [$3]) -fi[]dnl -])# PKG_CHECK_MODULES - -# Copyright (C) 1995-2002 Free Software Foundation, Inc. -# Copyright (C) 2001-2003,2004 Red Hat, Inc. -# -# This file is free software, distributed under the terms of the GNU -# General Public License. As a special exception to the GNU General -# Public License, this file may be distributed as part of a program -# that contains a configuration script generated by Autoconf, under -# the same distribution terms as the rest of that program. -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995, 1996 -# -# Modified to never use included libintl. -# Owen Taylor , 12/15/1998 -# -# Major rework to remove unused code -# Owen Taylor , 12/11/2002 -# -# Added better handling of ALL_LINGUAS from GNU gettext version -# written by Bruno Haible, Owen Taylor 5/30/3002 +# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # -# Modified to require ngettext -# Matthias Clasen 08/06/2004 -# -# We need this here as well, since someone might use autoconf-2.5x -# to configure GLib then an older version to configure a package -# using AM_GLIB_GNU_GETTEXT -AC_PREREQ(2.53) - -dnl -dnl We go to great lengths to make sure that aclocal won't -dnl try to pull in the installed version of these macros -dnl when running aclocal in the glib directory. -dnl -m4_copy([AC_DEFUN],[glib_DEFUN]) -m4_copy([AC_REQUIRE],[glib_REQUIRE]) -dnl -dnl At the end, if we're not within glib, we'll define the public -dnl definitions in terms of our private definitions. -dnl - -# GLIB_LC_MESSAGES -#-------------------- -glib_DEFUN([GLIB_LC_MESSAGES], - [AC_CHECK_HEADERS([locale.h]) - if test $ac_cv_header_locale_h = yes; then - AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, - [AC_TRY_LINK([#include ], [return LC_MESSAGES], - am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) - if test $am_cv_val_LC_MESSAGES = yes; then - AC_DEFINE(HAVE_LC_MESSAGES, 1, - [Define if your file defines LC_MESSAGES.]) - fi - fi]) - -# GLIB_PATH_PROG_WITH_TEST -#---------------------------- -dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], -[# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL(ac_cv_path_$1, -[case "[$]$1" in - /*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in ifelse([$5], , $PATH, [$5]); do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$]$1) -else - AC_MSG_RESULT(no) -fi -AC_SUBST($1)dnl -]) - -# GLIB_WITH_NLS -#----------------- -glib_DEFUN([GLIB_WITH_NLS], - dnl NLS is obligatory - [USE_NLS=yes - AC_SUBST(USE_NLS) - - gt_cv_have_gettext=no - - CATOBJEXT=NONE - XGETTEXT=: - INTLLIBS= - - AC_CHECK_HEADER(libintl.h, - [gt_cv_func_dgettext_libintl="no" - libintl_extra_libs="" - - # - # First check in libc - # - AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, - [AC_TRY_LINK([ -#include -], - [return !ngettext ("","", 1)], - gt_cv_func_ngettext_libc=yes, - gt_cv_func_ngettext_libc=no) - ]) - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, - [AC_TRY_LINK([ -#include -], - [return !dgettext ("","")], - gt_cv_func_dgettext_libc=yes, - gt_cv_func_dgettext_libc=no) - ]) - fi - - if test "$gt_cv_func_ngettext_libc" = "yes" ; then - AC_CHECK_FUNCS(bind_textdomain_codeset) - fi - - # - # If we don't have everything we want, check in libintl - # - if test "$gt_cv_func_dgettext_libc" != "yes" \ - || test "$gt_cv_func_ngettext_libc" != "yes" \ - || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then - - AC_CHECK_LIB(intl, bindtextdomain, - [AC_CHECK_LIB(intl, ngettext, - [AC_CHECK_LIB(intl, dgettext, - gt_cv_func_dgettext_libintl=yes)])]) - - if test "$gt_cv_func_dgettext_libintl" != "yes" ; then - AC_MSG_CHECKING([if -liconv is needed to use gettext]) - AC_MSG_RESULT([]) - AC_CHECK_LIB(intl, ngettext, - [AC_CHECK_LIB(intl, dcgettext, - [gt_cv_func_dgettext_libintl=yes - libintl_extra_libs=-liconv], - :,-liconv)], - :,-liconv) - fi - - # - # If we found libintl, then check in it for bind_textdomain_codeset(); - # we'll prefer libc if neither have bind_textdomain_codeset(), - # and both have dgettext and ngettext - # - if test "$gt_cv_func_dgettext_libintl" = "yes" ; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS -lintl $libintl_extra_libs" - unset ac_cv_func_bind_textdomain_codeset - AC_CHECK_FUNCS(bind_textdomain_codeset) - LIBS="$glib_save_LIBS" - - if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then - gt_cv_func_dgettext_libc=no - else - if test "$gt_cv_func_dgettext_libc" = "yes" \ - && test "$gt_cv_func_ngettext_libc" = "yes"; then - gt_cv_func_dgettext_libintl=no - fi - fi - fi - fi - - if test "$gt_cv_func_dgettext_libc" = "yes" \ - || test "$gt_cv_func_dgettext_libintl" = "yes"; then - gt_cv_have_gettext=yes - fi - - if test "$gt_cv_func_dgettext_libintl" = "yes"; then - INTLLIBS="-lintl $libintl_extra_libs" - fi - - if test "$gt_cv_have_gettext" = "yes"; then - AC_DEFINE(HAVE_GETTEXT,1, - [Define if the GNU gettext() function is already present or preinstalled.]) - GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl - if test "$MSGFMT" != "no"; then - glib_save_LIBS="$LIBS" - LIBS="$LIBS $INTLLIBS" - AC_CHECK_FUNCS(dcgettext) - MSGFMT_OPTS= - AC_MSG_CHECKING([if msgfmt accepts -c]) - GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ -msgid "" -msgstr "" -"Content-Type: text/plain; charset=UTF-8\n" -"Project-Id-Version: test 1.0\n" -"PO-Revision-Date: 2007-02-15 12:01+0100\n" -"Last-Translator: test \n" -"Language-Team: C \n" -"MIME-Version: 1.0\n" -"Content-Transfer-Encoding: 8bit\n" -], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) - AC_SUBST(MSGFMT_OPTS) - AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) - GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) - AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; - return _nl_msg_cat_cntr], - [CATOBJEXT=.gmo - DATADIRNAME=share], - [case $host in - *-*-solaris*) - dnl On Solaris, if bind_textdomain_codeset is in libc, - dnl GNU format message catalog is always supported, - dnl since both are added to the libc all together. - dnl Hence, we'd like to go with DATADIRNAME=share and - dnl and CATOBJEXT=.gmo in this case. - AC_CHECK_FUNC(bind_textdomain_codeset, - [CATOBJEXT=.gmo - DATADIRNAME=share], - [CATOBJEXT=.mo - DATADIRNAME=lib]) - ;; - *) - CATOBJEXT=.mo - DATADIRNAME=lib - ;; - esac]) - LIBS="$glib_save_LIBS" - INSTOBJEXT=.mo - else - gt_cv_have_gettext=no - fi - fi - ]) - - if test "$gt_cv_have_gettext" = "yes" ; then - AC_DEFINE(ENABLE_NLS, 1, - [always defined to indicate that i18n is enabled]) - fi - - dnl Test whether we really found GNU xgettext. - if test "$XGETTEXT" != ":"; then - dnl If it is not GNU xgettext we define it as : so that the - dnl Makefiles still can work. - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - AC_MSG_RESULT( - [found xgettext program is not GNU xgettext; ignore it]) - XGETTEXT=":" - fi - fi +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. - # We need to process the po/ directory. - POSUB=po +# serial 4 - AC_OUTPUT_COMMANDS( - [case "$CONFIG_FILES" in *po/Makefile.in*) - sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile - esac]) +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - dnl These rules are solely for the distribution goal. While doing this - dnl we only have to keep exactly one list of the available catalogs - dnl in configure.in. - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) - dnl Make all variables we use known to autoconf. - AC_SUBST(CATALOGS) - AC_SUBST(CATOBJEXT) - AC_SUBST(DATADIRNAME) - AC_SUBST(GMOFILES) - AC_SUBST(INSTOBJEXT) - AC_SUBST(INTLLIBS) - AC_SUBST(PO_IN_DATADIR_TRUE) - AC_SUBST(PO_IN_DATADIR_FALSE) - AC_SUBST(POFILES) - AC_SUBST(POSUB) - ]) +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) -# AM_GLIB_GNU_GETTEXT -# ------------------- -# Do checks necessary for use of gettext. If a suitable implementation -# of gettext is found in either in libintl or in the C library, -# it will set INTLLIBS to the libraries needed for use of gettext -# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable -# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() -# on various variables needed by the Makefile.in.in installed by -# glib-gettextize. -dnl -glib_DEFUN([GLIB_GNU_GETTEXT], - [AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_HEADER_STDC])dnl - - GLIB_LC_MESSAGES - GLIB_WITH_NLS +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - if test "$gt_cv_have_gettext" = "yes"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - AC_MSG_CHECKING(for catalogs to be installed) - NEW_LINGUAS= - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - NEW_LINGUAS="$NEW_LINGUAS $presentlang" - fi - done - LINGUAS=$NEW_LINGUAS - AC_MSG_RESULT($LINGUAS) - fi +# Check to make sure that the build environment is sane. -*- Autoconf -*- - dnl Construct list of names of catalog files to be constructed. - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. - dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly - dnl find the mkinstalldirs script in another subdir but ($top_srcdir). - dnl Try to locate is. - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` fi - AC_SUBST(MKINSTALLDIRS) + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then - dnl Generate list of files to be processed by xgettext which will - dnl be included in po/Makefile. - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - ]) -# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) -# ------------------------------- -# Define VARIABLE to the location where catalog files will -# be installed by po/Makefile. -glib_DEFUN([GLIB_DEFINE_LOCALEDIR], -[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl -glib_save_prefix="$prefix" -glib_save_exec_prefix="$exec_prefix" -glib_save_datarootdir="$datarootdir" -test "x$prefix" = xNONE && prefix=$ac_default_prefix -test "x$exec_prefix" = xNONE && exec_prefix=$prefix -datarootdir=`eval echo "${datarootdir}"` -if test "x$CATOBJEXT" = "x.mo" ; then - localedir=`eval echo "${libdir}/locale"` + test "$[2]" = conftest.file + ) +then + # Ok. + : else - localedir=`eval echo "${datadir}/locale"` + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) fi -prefix="$glib_save_prefix" -exec_prefix="$glib_save_exec_prefix" -datarootdir="$glib_save_datarootdir" -AC_DEFINE_UNQUOTED($1, "$localedir", - [Define the location where the catalogs will be installed]) -]) +AC_MSG_RESULT(yes)]) -dnl -dnl Now the definitions that aclocal will find -dnl -ifdef(glib_configure_in,[],[ -AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) -AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) -])dnl +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) -# -# Create a temporary file with TEST-FILE as its contents and pass the -# file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with -# 0 and perform ACTION-IF-FAIL for any other exit status. -AC_DEFUN([GLIB_RUN_PROG], -[cat >conftest.foo <<_ACEOF -$2 -_ACEOF -if AC_RUN_LOG([$1 conftest.foo]); then - m4_ifval([$3], [$3], [:]) -m4_ifvaln([$4], [else $4])dnl -echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD -sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD -fi]) +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) +# Copyright (C) 2006 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -dnl -dnl GOB_HOOK(script if found, fail) -dnl if fail = "failure", abort if GOB not found -dnl +# _AM_SUBST_NOTMAKE(VARIABLE) +# --------------------------- +# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. +# This macro is traced by Automake. +AC_DEFUN([_AM_SUBST_NOTMAKE]) +# Check how to create a tarball. -*- Autoconf -*- -AC_DEFUN([GOB2_HOOK],[ - AC_PATH_PROG(GOB2,gob2) - if test ! x$GOB2 = x; then - if test ! x$1 = x; then - AC_MSG_CHECKING(for gob-2 >= $1) - g_r_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - g_r_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - g_r_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` - - if test $g_ve -eq $g_r_ve; then - if test $g_ma -ge $g_r_ma; then - if test $g_mi -ge $g_r_mi; then - AC_MSG_RESULT(ok) - else - if test $g_ma -gt $g_r_ma; then - AC_MSG_RESULT(ok) - else - AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") - fi - fi - else - AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") - fi - else - if test $g_ve -gt $g_r_ve; then - AC_MSG_RESULT(ok) - else - AC_MSG_ERROR(major version $g_ve found but $g_r_ve required) - fi - fi - - unset gob_version - unset g_ve - unset g_ma - unset g_mi - unset g_r_ve - unset g_r_ma - unset g_r_mi - fi - AC_SUBST(GOB2) - $2 - else - $3 - fi -]) +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -AC_DEFUN([GOB2_CHECK],[ - GOB2_HOOK($1,[],[AC_MSG_WARN([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])]) -]) +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([m4/gob2.m4]) +m4_include([m4/intltool.m4]) +m4_include([m4/libtool.m4]) +m4_include([m4/ltoptions.m4]) +m4_include([m4/ltsugar.m4]) +m4_include([m4/ltversion.m4]) +m4_include([m4/lt~obsolete.m4]) +m4_include([acinclude.m4]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/compile /tmp/zoMIw2cTYT/gmpc-0.19.0/compile --- gmpc-0.18.0/compile 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/compile 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,142 @@ +#! /bin/sh +# Wrapper for compilers which do not understand `-c -o'. + +scriptversion=2005-05-14.22 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand `-c -o'. +Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file `INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac + +ofile= +cfile= +eat= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we strip `-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/config.guess /tmp/zoMIw2cTYT/gmpc-0.19.0/config.guess --- gmpc-0.18.0/config.guess 2009-01-01 09:05:42.000000000 +0000 +++ gmpc-0.19.0/config.guess 2009-09-21 11:15:59.000000000 +0100 @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. -timestamp='2008-09-28' +timestamp='2008-01-23' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -139,23 +139,6 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown -if [ "${UNAME_SYSTEM}" = "Linux" ] ; then - eval $set_cc_for_build - cat << EOF > $dummy.c - #include - #ifdef __UCLIBC__ - # ifdef __UCLIBC_CONFIG_VERSION__ - LIBC=uclibc __UCLIBC_CONFIG_VERSION__ - # else - LIBC=uclibc - # endif - #else - LIBC=gnu - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'` -fi - # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -813,7 +796,7 @@ x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -857,31 +840,31 @@ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-${LIBC} + echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-${LIBC} + echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-${LIBC} + echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) eval $set_cc_for_build @@ -904,7 +887,7 @@ s: ::g p }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; mips64:Linux:*:*) eval $set_cc_for_build @@ -927,16 +910,16 @@ s: ::g p }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-${LIBC} + echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} + echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} + echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -949,43 +932,40 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} + echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} + echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-${LIBC} + echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so @@ -1000,19 +980,20 @@ p'` case "$ld_supported_targets" in elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}" + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-${LIBC}aout" + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-${LIBC}oldld" + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" exit ;; esac - # This should get integrated into the C code below, but now we hack - if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi # Determine whether the default compiler is a.out or elf eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c @@ -1235,9 +1216,6 @@ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/config.h.in /tmp/zoMIw2cTYT/gmpc-0.19.0/config.h.in --- gmpc-0.18.0/config.h.in 2009-03-09 16:23:12.000000000 +0000 +++ gmpc-0.19.0/config.h.in 2009-09-21 11:15:59.000000000 +0100 @@ -3,9 +3,6 @@ /* Enable timing output */ #undef DEBUG_TIMING -/* "Use or don't use eggtrayicon" */ -#undef EGGTRAYICON - /* Enable Mac integration Support */ #undef ENABLE_IGE @@ -15,9 +12,6 @@ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS -/* Enable Session Support */ -#undef ENABLE_SM - /* GMPC gettext package */ #undef GETTEXT_PACKAGE @@ -51,9 +45,6 @@ /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES -/* Define to 1 if you have the `curl' library (-lcurl). */ -#undef HAVE_LIBCURL - /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H @@ -85,8 +76,8 @@ */ #undef LT_OBJDIR -/* Enable maintainer mode */ -#undef MAINTAINER_MODE +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE @@ -124,5 +115,8 @@ /* Version number of package */ #undef VERSION +/* Use xspf */ +#undef XSPF + /* Define to empty if `const' does not conform to ANSI C. */ #undef const diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/config.sub /tmp/zoMIw2cTYT/gmpc-0.19.0/config.sub --- gmpc-0.18.0/config.sub 2009-01-01 09:05:42.000000000 +0000 +++ gmpc-0.19.0/config.sub 2009-09-21 11:15:59.000000000 +0100 @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. -timestamp='2008-09-08' +timestamp='2008-01-16' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -244,20 +244,18 @@ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ - | d10v | d30v | dlx | dsp16xx | dvp \ + | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep | metag \ + | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -279,7 +277,7 @@ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -288,7 +286,7 @@ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k | z80) + | z8k) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) @@ -333,14 +331,12 @@ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -362,20 +358,20 @@ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]a*eb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-* | z80-*) + | z8k-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) @@ -463,10 +459,6 @@ basic_machine=c90-cray os=-unicos ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -534,10 +526,6 @@ basic_machine=m88k-motorola os=-sysv3 ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -726,24 +714,6 @@ basic_machine=m68k-atari os=-mint ;; - mipsEE* | ee | ps2) - basic_machine=mips64r5900el-scei - case $os in - -linux*) - ;; - *) - os=-elf - ;; - esac - ;; - iop) - basic_machine=mipsel-scei - os=-irx - ;; - dvp) - basic_machine=dvp-scei - os=-elf - ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; @@ -1158,10 +1128,6 @@ basic_machine=z8k-unknown os=-sim ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; none) basic_machine=none-none os=-none @@ -1282,7 +1248,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1292,7 +1258,7 @@ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1422,9 +1388,6 @@ -zvmoe) os=-zvmoe ;; - -dicos*) - os=-dicos - ;; -none) ;; *) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/configure /tmp/zoMIw2cTYT/gmpc-0.19.0/configure --- gmpc-0.18.0/configure 2009-03-09 16:23:16.000000000 +0000 +++ gmpc-0.19.0/configure 2009-09-21 11:15:59.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for gmpc 0.18.0. +# Generated by GNU Autoconf 2.63 for gmpc 0.19.0. # # Report bugs to . # @@ -745,8 +745,8 @@ # Identity of this package. PACKAGE_NAME='gmpc' PACKAGE_TARNAME='gmpc' -PACKAGE_VERSION='0.18.0' -PACKAGE_STRING='gmpc 0.18.0' +PACKAGE_VERSION='0.19.0' +PACKAGE_STRING='gmpc 0.19.0' PACKAGE_BUGREPORT='qball@sarine.nl' # Factoring default headers for most tests. @@ -794,20 +794,22 @@ AM_MAKEFLAGS MAKEFLAGS shavedir -CURL_CONFIG GOB2 EXTRA_LDFLAGS EXTRA_CFLAGS -sm_LIBS -sm_CFLAGS macint_LIBS macint_CFLAGS +PLATFORM_OSX_FALSE +PLATFORM_OSX_TRUE +PLATFORM_WIN32_FALSE +PLATFORM_WIN32_TRUE OSX_FALSE OSX_TRUE WIN32_FALSE WIN32_TRUE PACKAGE_LIBS PACKAGE_LOCALE_DIR +GETTEXT_PACKAGE MKINSTALLDIRS POSUB POFILES @@ -819,11 +821,12 @@ CATOBJEXT CATALOGS MSGFMT_OPTS -GETTEXT_PACKAGE USE_SYSTEM_LIBSEXY_FALSE USE_SYSTEM_LIBSEXY_TRUE libsexy_LIBS libsexy_CFLAGS +sqlite3_LIBS +sqlite3_CFLAGS libsoup_LIBS libsoup_CFLAGS gthread_LIBS @@ -840,14 +843,17 @@ gobject_CFLAGS glib_LIBS glib_CFLAGS -EGGTRAYICON_FALSE -EGGTRAYICON_TRUE -MAINTAINER_MODE_FALSE -MAINTAINER_MODE_TRUE +EXTRA_VERSION +EXTRA_VERSION_FALSE +EXTRA_VERSION_TRUE +ENABLE_TEST_FALSE +ENABLE_TEST_TRUE GTK_REQUIRED GLIB_REQUIRED -PKG_CONFIG SPIFF_LIBS +libxspf_LIBS +libxspf_CFLAGS +PKG_CONFIG HAVE_ZLIB_FALSE HAVE_ZLIB_TRUE CPP @@ -932,13 +938,20 @@ GMPC_MICRO_VERSION GMPC_MINOR_VERSION GMPC_MAJOR_VERSION +MAINT +MAINTAINER_MODE_FALSE +MAINTAINER_MODE_TRUE +am__untar +am__tar +AMTAR am__leading_dot SET_MAKE AWK +mkdir_p +MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh -AMTAR MAKEINFO AUTOHEADER AUTOMAKE @@ -947,6 +960,7 @@ VERSION PACKAGE CYGPATH_W +am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM @@ -990,6 +1004,7 @@ ac_subst_files='' ac_user_opts=' enable_option_checking +enable_maintainer_mode enable_nls enable_dependency_tracking enable_shared @@ -998,16 +1013,15 @@ enable_fast_install with_gnu_ld enable_libtool_lock +enable_libxspf enable_libspiff enable_configdir enable_timing -enable_maintainermode -enable_eggtrayicon +enable_test +with_extra_version enable_system_libsexy enable_macige -enable_sm enable_mmkeys -with_curl enable_shave ' ac_precious_vars='build_alias @@ -1020,6 +1034,8 @@ CPPFLAGS CPP PKG_CONFIG +libxspf_CFLAGS +libxspf_LIBS glib_CFLAGS glib_LIBS gobject_CFLAGS @@ -1036,12 +1052,12 @@ gthread_LIBS libsoup_CFLAGS libsoup_LIBS +sqlite3_CFLAGS +sqlite3_LIBS libsexy_CFLAGS libsexy_LIBS macint_CFLAGS -macint_LIBS -sm_CFLAGS -sm_LIBS' +macint_LIBS' # Initialize some variables set by options. @@ -1594,7 +1610,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gmpc 0.18.0 to adapt to many kinds of systems. +\`configure' configures gmpc 0.19.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1664,7 +1680,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gmpc 0.18.0:";; + short | recursive ) echo "Configuration of gmpc 0.19.0:";; esac cat <<\_ACEOF @@ -1672,22 +1688,23 @@ --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-maintainer-mode enable make rules and dependencies not useful + (and sometimes confusing) to the casual installer --disable-nls do not use Native Language Support - --disable-dependency-tracking Speeds up one-time builds - --enable-dependency-tracking Do not reject slow dependency extractors + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) +--enable-libxspf Use libxspf. --enable-libspiff Use libspiff to parse spiff playlists. --enable-configdir Use .config instead of .gmpc or .covers. --enable-timing Print timing debug output. ---enable-maintainermode Enable maintainer mode. ---enable-eggtrayicon Use eggtrayicon instead of GtkStatusIcon. +--enable-test Enable tests --enable-system-libsexy Use system libsexy instead of bundles. --enable-macige Enable Mac integration on mac. - --disable-sm Disable Session Support. --disable-mmkeys Disable multimedia keys support. --disable-shave Use shave output cleaner when building. @@ -1697,7 +1714,7 @@ --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-curl=PATH where libcurl is installed +--with-extra-version=revision Specify extra version. Some influential environment variables: CC C compiler command @@ -1709,6 +1726,10 @@ you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility + libxspf_CFLAGS + C compiler flags for libxspf, overriding pkg-config + libxspf_LIBS + linker flags for libxspf, overriding pkg-config glib_CFLAGS C compiler flags for glib, overriding pkg-config glib_LIBS linker flags for glib, overriding pkg-config gobject_CFLAGS @@ -1736,6 +1757,10 @@ C compiler flags for libsoup, overriding pkg-config libsoup_LIBS linker flags for libsoup, overriding pkg-config + sqlite3_CFLAGS + C compiler flags for sqlite3, overriding pkg-config + sqlite3_LIBS + linker flags for sqlite3, overriding pkg-config libsexy_CFLAGS C compiler flags for libsexy, overriding pkg-config libsexy_LIBS @@ -1743,8 +1768,6 @@ macint_CFLAGS C compiler flags for macint, overriding pkg-config macint_LIBS linker flags for macint, overriding pkg-config - sm_CFLAGS C compiler flags for sm, overriding pkg-config - sm_LIBS linker flags for sm, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1812,7 +1835,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gmpc configure 0.18.0 +gmpc configure 0.19.0 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1826,7 +1849,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gmpc $as_me 0.18.0, which was +It was created by gmpc $as_me 0.19.0, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2205,7 +2228,9 @@ ac_config_headers="$ac_config_headers config.h" -am__api_version="1.7" + +am__api_version='1.10' + ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then @@ -2385,7 +2410,6 @@ ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` @@ -2399,6 +2423,54 @@ $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi +{ $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if test "${ac_cv_path_mkdir+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in mkdir gmkdir; do + for ac_exec_ext in '' $ac_executable_extensions; do + { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( + 'mkdir (GNU coreutils) '* | \ + 'mkdir (coreutils) '* | \ + 'mkdir (fileutils) '4.1*) + ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext + break 3;; + esac + done + done +done +IFS=$as_save_IFS + +fi + + if test "${ac_cv_path_mkdir+set}" = set; then + MKDIR_P="$ac_cv_path_mkdir -p" + else + # As a last resort, use the slow shell script. Don't cache a + # value for MKDIR_P within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + test -d ./--version && rmdir ./--version + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -2481,12 +2553,16 @@ fi rmdir .tst 2>/dev/null - # test to see if srcdir already configured -if test "`cd $srcdir && pwd`" != "`pwd`" && - test -f $srcdir/config.status; then - { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +if test "`cd $srcdir && pwd`" != "`pwd`"; then + # Use -I$(srcdir) only when $(srcdir) != ., so that make's output + # is not polluted with repeated "-I." + am__isrc=' -I$(srcdir)' + # test to see if srcdir already configured + if test -f $srcdir/config.status; then + { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 $as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } + fi fi # test whether we have cygpath @@ -2501,7 +2577,7 @@ # Define the identity of the package. PACKAGE='gmpc' - VERSION='0.18.0' + VERSION='0.19.0' cat >>confdefs.h <<_ACEOF @@ -2529,10 +2605,7 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -AMTAR=${AMTAR-"${am_missing_run}tar"} - -install_sh=${install_sh-"$am_aux_dir/install-sh"} +install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right @@ -2632,11 +2705,41 @@ fi fi -INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +{ $as_echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5 +$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } + # Check whether --enable-maintainer-mode was given. +if test "${enable_maintainer_mode+set}" = set; then + enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval +else + USE_MAINTAINER_MODE=no +fi + + { $as_echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5 +$as_echo "$USE_MAINTAINER_MODE" >&6; } + if test $USE_MAINTAINER_MODE = yes; then + MAINTAINER_MODE_TRUE= + MAINTAINER_MODE_FALSE='#' +else + MAINTAINER_MODE_TRUE='#' + MAINTAINER_MODE_FALSE= +fi + MAINT=$MAINTAINER_MODE_TRUE @@ -2647,7 +2750,7 @@ #AC_DEFINE(GMPC_MICRO_VERSION, package_micro_version, ["Micro version of gmpc"]) # This makes sure the right substitution is done GMPC_MAJOR_VERSION=0 -GMPC_MINOR_VERSION=18 +GMPC_MINOR_VERSION=19 GMPC_MICRO_VERSION=0 @@ -2749,9 +2852,7 @@ am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi - - -if test "x$enable_dependency_tracking" != xno; then + if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else @@ -2760,7 +2861,6 @@ fi - ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3735,7 +3835,9 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - : > sub/conftst$i.h + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf @@ -3759,13 +3861,19 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings - # (even with -Werror). So we grep stderr for any message - # that says an option was ignored. - if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi @@ -3783,9 +3891,7 @@ $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - -if + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= @@ -3991,6 +4097,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 @@ -4208,14 +4390,21 @@ if test -z "$INTLTOOL_PERL"; then - { { $as_echo "$as_me:$LINENO: error: perl not found; required for intltool" >&5 -$as_echo "$as_me: error: perl not found; required for intltool" >&2;} + { { $as_echo "$as_me:$LINENO: error: perl not found" >&5 +$as_echo "$as_me: error: perl not found" >&2;} { (exit 1); exit 1; }; } fi -if test -z "`$INTLTOOL_PERL -v | fgrep '5.' 2> /dev/null`"; then - { { $as_echo "$as_me:$LINENO: error: perl 5.x required for intltool" >&5 -$as_echo "$as_me: error: perl 5.x required for intltool" >&2;} +{ $as_echo "$as_me:$LINENO: checking for perl >= 5.8.1" >&5 +$as_echo_n "checking for perl >= 5.8.1... " >&6; } +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + { { $as_echo "$as_me:$LINENO: error: perl 5.8.1 is required for intltool" >&5 +$as_echo "$as_me: error: perl 5.8.1 is required for intltool" >&2;} { (exit 1); exit 1; }; } +else + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" + { $as_echo "$as_me:$LINENO: result: $IT_PERL_VERSION" >&5 +$as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:$LINENO: checking for XML::Parser" >&5 @@ -4389,9 +4578,7 @@ # Check for intltool version, needed for make dist. - - -if test ${INTLTOOL_APPLIED_VERSION_AS_INT} -ge 4000; then + if test ${INTLTOOL_APPLIED_VERSION_AS_INT} -ge 4000; then INTLTOOL_HIGHER_04000_TRUE= INTLTOOL_HIGHER_04000_FALSE='#' else @@ -5125,7 +5312,9 @@ : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c - : > sub/conftst$i.h + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf @@ -5149,13 +5338,19 @@ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && + grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings - # (even with -Werror). So we grep stderr for any message - # that says an option was ignored. - if grep 'ignoring option' conftest.err >/dev/null 2>&1; then :; else + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi @@ -5173,9 +5368,7 @@ $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - -if + if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= @@ -5186,6 +5379,138 @@ fi +if test "x$CC" != xcc; then + { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:$LINENO: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + test -f conftest2.$ac_objext && { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + +cat >>confdefs.h <<\_ACEOF +#define NO_MINUS_C_MINUS_O 1 +_ACEOF + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. set dummy ${ac_tool_prefix}windres; ac_word=$2 @@ -6285,13 +6610,13 @@ else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:6288: $ac_compile\"" >&5) + (eval echo "\"\$as_me:6613: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:6291: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:6616: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:6294: output\"" >&5) + (eval echo "\"\$as_me:6619: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6758,7 +7083,7 @@ lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -7493,7 +7818,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 7496 "configure"' > conftest.$ac_ext + echo '#line 7821 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -9319,6 +9644,10 @@ $RM -r conftest* +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= @@ -9344,11 +9673,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9347: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9676: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9351: \$? = $ac_status" >&5 + echo "$as_me:9680: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9683,11 +10012,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9686: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10015: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:9690: \$? = $ac_status" >&5 + echo "$as_me:10019: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9788,11 +10117,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9791: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10120: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9795: \$? = $ac_status" >&5 + echo "$as_me:10124: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9843,11 +10172,11 @@ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9846: $lt_compile\"" >&5) + (eval echo "\"\$as_me:10175: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9850: \$? = $ac_status" >&5 + echo "$as_me:10179: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10144,7 +10473,7 @@ fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -10319,6 +10648,7 @@ if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi + link_all_deplibs=no else # not using gcc if test "$host_cpu" = ia64; then @@ -10733,7 +11063,7 @@ link_all_deplibs=yes ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -11479,14 +11809,7 @@ *) objformat=elf ;; esac fi - # Handle Gentoo/FreeBSD as it was Linux - case $host_vendor in - gentoo) - version_type=linux ;; - *) - version_type=freebsd-$objformat ;; - esac - + version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' @@ -11497,12 +11820,6 @@ library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; - linux) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - need_lib_prefix=no - need_version=no - ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in @@ -11723,6 +12040,18 @@ dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -12656,7 +12985,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12659 "configure" +#line 12988 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12752,7 +13081,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12755 "configure" +#line 13084 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13132,9 +13461,7 @@ zlib=0 fi - - -if test x$zlib = x1; then + if test x$zlib = x1; then HAVE_ZLIB_TRUE= HAVE_ZLIB_FALSE='#' else @@ -13150,14 +13477,343 @@ fi -libspiff=0; -# Check whether --enable-libspiff was given. -if test "${enable_libspiff+set}" = set; then - enableval=$enable_libspiff; case "${enableval}" in - yes) enable_libspiff=yes;; - no) enable_libspiff=no;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libspiff" >&5 + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=0.9.0 + { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 +$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + PKG_CONFIG="" + fi + +fi +# libxspf +libxspf=0; +libspiff=0; + +# Check whether --enable-libxspf was given. +if test "${enable_libxspf+set}" = set; then + enableval=$enable_libxspf; case "${enableval}" in + yes) enable_libxspf=true;; + no) enable_libxspf=false;; + *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libxspf" >&5 +$as_echo "$as_me: error: bad value ${enableval} for --enable-libxspf" >&2;} + { (exit 1); exit 1; }; };; + esac +else + enable_libxspf=detect +fi + +if test "x$enable_libxspf" = "xdetect"; then + +pkg_failed=no +{ $as_echo "$as_me:$LINENO: checking for libxspf" >&5 +$as_echo_n "checking for libxspf... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$libxspf_CFLAGS"; then + pkg_cv_libxspf_CFLAGS="$libxspf_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xspf\"") >&5 + ($PKG_CONFIG --exists --print-errors "xspf") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_libxspf_CFLAGS=`$PKG_CONFIG --cflags "xspf" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$libxspf_LIBS"; then + pkg_cv_libxspf_LIBS="$libxspf_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xspf\"") >&5 + ($PKG_CONFIG --exists --print-errors "xspf") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_libxspf_LIBS=`$PKG_CONFIG --libs "xspf" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + libxspf_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xspf"` + else + libxspf_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xspf"` + fi + # Put the nasty error message in config.log where it belongs + echo "$libxspf_PKG_ERRORS" >&5 + + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } + enable_libxspf=false +elif test $pkg_failed = untried; then + enable_libxspf=false +else + libxspf_CFLAGS=$pkg_cv_libxspf_CFLAGS + libxspf_LIBS=$pkg_cv_libxspf_LIBS + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + enable_libxspf=true +fi +fi +if test "x$enable_libxspf" = "xtrue"; then + +pkg_failed=no +{ $as_echo "$as_me:$LINENO: checking for libxspf" >&5 +$as_echo_n "checking for libxspf... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$libxspf_CFLAGS"; then + pkg_cv_libxspf_CFLAGS="$libxspf_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xspf\"") >&5 + ($PKG_CONFIG --exists --print-errors "xspf") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_libxspf_CFLAGS=`$PKG_CONFIG --cflags "xspf" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$libxspf_LIBS"; then + pkg_cv_libxspf_LIBS="$libxspf_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"xspf\"") >&5 + ($PKG_CONFIG --exists --print-errors "xspf") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_libxspf_LIBS=`$PKG_CONFIG --libs "xspf" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + libxspf_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "xspf"` + else + libxspf_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xspf"` + fi + # Put the nasty error message in config.log where it belongs + echo "$libxspf_PKG_ERRORS" >&5 + + { { $as_echo "$as_me:$LINENO: error: Package requirements (xspf) were not met: + +$libxspf_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables libxspf_CFLAGS +and libxspf_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +$as_echo "$as_me: error: Package requirements (xspf) were not met: + +$libxspf_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables libxspf_CFLAGS +and libxspf_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables libxspf_CFLAGS +and libxspf_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables libxspf_CFLAGS +and libxspf_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +else + libxspf_CFLAGS=$pkg_cv_libxspf_CFLAGS + libxspf_LIBS=$pkg_cv_libxspf_LIBS + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + : +fi + + + libxspf=1; + +cat >>confdefs.h <<\_ACEOF +#define XSPF 1 +_ACEOF + +else + +# Check whether --enable-libspiff was given. +if test "${enable_libspiff+set}" = set; then + enableval=$enable_libspiff; case "${enableval}" in + yes) enable_libspiff=yes;; + no) enable_libspiff=no;; + *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-libspiff" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-libspiff" >&2;} { (exit 1); exit 1; }; };; esac @@ -13376,7 +14032,7 @@ fi - if test "x${libspiff}" == "x1"; + if test "x${libspiff}" = "x1"; then cat >>confdefs.h <<\_ACEOF @@ -13386,132 +14042,15 @@ SPIFF_LIBS=-lspiff else - if test "x${enable_libspiff}" == "xyes"; then + if test "x${enable_libspiff}" = "xyes"; then { { $as_echo "$as_me:$LINENO: error: libspiff not found" >&5 $as_echo "$as_me: error: libspiff not found" >&2;} { (exit 1); exit 1; }; } fi fi fi - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_PKG_CONFIG+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi - fi - # Checks for header files. { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } @@ -14012,73 +14551,60 @@ fi # Maintainer mode -# Check whether --enable-maintainermode was given. -if test "${enable_maintainermode+set}" = set; then - enableval=$enable_maintainermode; case "${enableval}" in - yes) maintainer_mode=true;; - no) maintainer_mode=false;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-maintainermode" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-maintainermode" >&2;} +# Check whether --enable-test was given. +if test "${enable_test+set}" = set; then + enableval=$enable_test; case "${enableval}" in + yes) test_mode=true;; + no) test_mode=false;; + *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-test" >&5 +$as_echo "$as_me: error: bad value ${enableval} for --enable-test" >&2;} { (exit 1); exit 1; }; };; esac else - maintainer_mode=false + test_mode=false fi - - -if test x$maintainer_mode = xtrue; then - MAINTAINER_MODE_TRUE= - MAINTAINER_MODE_FALSE='#' + if test x$test_mode = xtrue; then + ENABLE_TEST_TRUE= + ENABLE_TEST_FALSE='#' else - MAINTAINER_MODE_TRUE='#' - MAINTAINER_MODE_FALSE= + ENABLE_TEST_TRUE='#' + ENABLE_TEST_FALSE= fi -if test x$maintainer_mode = xtrue; then -cat >>confdefs.h <<\_ACEOF -#define MAINTAINER_MODE 1 -_ACEOF +# EXTRA VERSION +# Check whether --with-extra-version was given. +if test "${with_extra_version+set}" = set; then + withval=$with_extra_version; with_extra_version=${withval} fi - -# Egg Status Icon -# Check whether --enable-eggtrayicon was given. -if test "${enable_eggtrayicon+set}" = set; then - enableval=$enable_eggtrayicon; case "${enableval}" in - yes) eggtrayicon=true;; - no) eggtrayicon=false;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-eggtrayicon" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --enable-eggtrayicon" >&2;} - { (exit 1); exit 1; }; };; - esac +if test x"${with_extra_version}" != x; then + if true; then + EXTRA_VERSION_TRUE= + EXTRA_VERSION_FALSE='#' else - eggtrayicon=false + EXTRA_VERSION_TRUE='#' + EXTRA_VERSION_FALSE= fi + EXTRA_VERSION="${with_extra_version}"; - - -if test x$eggtrayicon = xtrue; then - EGGTRAYICON_TRUE= - EGGTRAYICON_FALSE='#' else - EGGTRAYICON_TRUE='#' - EGGTRAYICON_FALSE= + if false; then + EXTRA_VERSION_TRUE= + EXTRA_VERSION_FALSE='#' +else + EXTRA_VERSION_TRUE='#' + EXTRA_VERSION_FALSE= fi -if test x${eggtrayicon} = xtrue; then - -cat >>confdefs.h <<\_ACEOF -#define EGGTRAYICON 1 -_ACEOF - fi + # Split this out, because pkgconfig macro doesn't return nicely what is missing # glib @@ -14087,37 +14613,41 @@ { $as_echo "$as_me:$LINENO: checking for glib" >&5 $as_echo_n "checking for glib... " >&6; } -if test -n "$glib_CFLAGS"; then - pkg_cv_glib_CFLAGS="$glib_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10\"") >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10") 2>&5 +if test -n "$PKG_CONFIG"; then + if test -n "$glib_CFLAGS"; then + pkg_cv_glib_CFLAGS="$glib_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.16\"") >&5 + ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.16") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10" 2>/dev/null` + pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.16" 2>/dev/null` else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$glib_LIBS"; then - pkg_cv_glib_LIBS="$glib_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10\"") >&5 - ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10") 2>&5 +if test -n "$PKG_CONFIG"; then + if test -n "$glib_LIBS"; then + pkg_cv_glib_LIBS="$glib_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.16\"") >&5 + ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.16") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10" 2>/dev/null` + pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.16" 2>/dev/null` else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14130,14 +14660,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - glib_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0 >= 2.10" 2>&1` + glib_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "glib-2.0 >= 2.16"` else - glib_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0 >= 2.10" 2>&1` + glib_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.16"` fi # Put the nasty error message in config.log where it belongs echo "$glib_PKG_ERRORS" >&5 - { { $as_echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= 2.10) were not met: + { { $as_echo "$as_me:$LINENO: error: Package requirements (glib-2.0 >= 2.16) were not met: $glib_PKG_ERRORS @@ -14148,7 +14678,7 @@ and glib_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 -$as_echo "$as_me: error: Package requirements (glib-2.0 >= 2.10) were not met: +$as_echo "$as_me: error: Package requirements (glib-2.0 >= 2.16) were not met: $glib_PKG_ERRORS @@ -14200,10 +14730,11 @@ { $as_echo "$as_me:$LINENO: checking for gobject" >&5 $as_echo_n "checking for gobject... " >&6; } -if test -n "$gobject_CFLAGS"; then - pkg_cv_gobject_CFLAGS="$gobject_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gobject_CFLAGS"; then + pkg_cv_gobject_CFLAGS="$gobject_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 >= 2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "gobject-2.0 >= 2.4") 2>&5 ac_status=$? @@ -14213,13 +14744,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$gobject_LIBS"; then - pkg_cv_gobject_LIBS="$gobject_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gobject_LIBS"; then + pkg_cv_gobject_LIBS="$gobject_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gobject-2.0 >= 2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "gobject-2.0 >= 2.4") 2>&5 ac_status=$? @@ -14229,8 +14762,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14243,9 +14777,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - gobject_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gobject-2.0 >= 2.4" 2>&1` + gobject_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gobject-2.0 >= 2.4"` else - gobject_PKG_ERRORS=`$PKG_CONFIG --print-errors "gobject-2.0 >= 2.4" 2>&1` + gobject_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gobject-2.0 >= 2.4"` fi # Put the nasty error message in config.log where it belongs echo "$gobject_PKG_ERRORS" >&5 @@ -14313,10 +14847,11 @@ { $as_echo "$as_me:$LINENO: checking for gtk" >&5 $as_echo_n "checking for gtk... " >&6; } -if test -n "$gtk_CFLAGS"; then - pkg_cv_gtk_CFLAGS="$gtk_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gtk_CFLAGS"; then + pkg_cv_gtk_CFLAGS="$gtk_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12") 2>&5 ac_status=$? @@ -14326,13 +14861,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$gtk_LIBS"; then - pkg_cv_gtk_LIBS="$gtk_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gtk_LIBS"; then + pkg_cv_gtk_LIBS="$gtk_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12\"") >&5 ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12") 2>&5 ac_status=$? @@ -14342,8 +14879,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14356,9 +14894,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - gtk_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gtk+-2.0 >= 2.12" 2>&1` + gtk_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12"` else - gtk_PKG_ERRORS=`$PKG_CONFIG --print-errors "gtk+-2.0 >= 2.12" 2>&1` + gtk_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12"` fi # Put the nasty error message in config.log where it belongs echo "$gtk_PKG_ERRORS" >&5 @@ -14426,10 +14964,11 @@ { $as_echo "$as_me:$LINENO: checking for gmodule" >&5 $as_echo_n "checking for gmodule... " >&6; } -if test -n "$gmodule_CFLAGS"; then - pkg_cv_gmodule_CFLAGS="$gmodule_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gmodule_CFLAGS"; then + pkg_cv_gmodule_CFLAGS="$gmodule_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.4") 2>&5 ac_status=$? @@ -14439,13 +14978,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$gmodule_LIBS"; then - pkg_cv_gmodule_LIBS="$gmodule_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gmodule_LIBS"; then + pkg_cv_gmodule_LIBS="$gmodule_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= 2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= 2.4") 2>&5 ac_status=$? @@ -14455,8 +14996,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14469,9 +15011,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - gmodule_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gmodule-2.0 >= 2.4" 2>&1` + gmodule_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmodule-2.0 >= 2.4"` else - gmodule_PKG_ERRORS=`$PKG_CONFIG --print-errors "gmodule-2.0 >= 2.4" 2>&1` + gmodule_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmodule-2.0 >= 2.4"` fi # Put the nasty error message in config.log where it belongs echo "$gmodule_PKG_ERRORS" >&5 @@ -14539,37 +15081,41 @@ { $as_echo "$as_me:$LINENO: checking for libmpd" >&5 $as_echo_n "checking for libmpd... " >&6; } -if test -n "$libmpd_CFLAGS"; then - pkg_cv_libmpd_CFLAGS="$libmpd_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libmpd >= 0.17.1\"") >&5 - ($PKG_CONFIG --exists --print-errors "libmpd >= 0.17.1") 2>&5 +if test -n "$PKG_CONFIG"; then + if test -n "$libmpd_CFLAGS"; then + pkg_cv_libmpd_CFLAGS="$libmpd_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libmpd >= 0.18.1\"") >&5 + ($PKG_CONFIG --exists --print-errors "libmpd >= 0.18.1") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_libmpd_CFLAGS=`$PKG_CONFIG --cflags "libmpd >= 0.17.1" 2>/dev/null` + pkg_cv_libmpd_CFLAGS=`$PKG_CONFIG --cflags "libmpd >= 0.18.1" 2>/dev/null` else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$libmpd_LIBS"; then - pkg_cv_libmpd_LIBS="$libmpd_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libmpd >= 0.17.1\"") >&5 - ($PKG_CONFIG --exists --print-errors "libmpd >= 0.17.1") 2>&5 +if test -n "$PKG_CONFIG"; then + if test -n "$libmpd_LIBS"; then + pkg_cv_libmpd_LIBS="$libmpd_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libmpd >= 0.18.1\"") >&5 + ($PKG_CONFIG --exists --print-errors "libmpd >= 0.18.1") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then - pkg_cv_libmpd_LIBS=`$PKG_CONFIG --libs "libmpd >= 0.17.1" 2>/dev/null` + pkg_cv_libmpd_LIBS=`$PKG_CONFIG --libs "libmpd >= 0.18.1" 2>/dev/null` else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14582,14 +15128,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - libmpd_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libmpd >= 0.17.1" 2>&1` + libmpd_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libmpd >= 0.18.1"` else - libmpd_PKG_ERRORS=`$PKG_CONFIG --print-errors "libmpd >= 0.17.1" 2>&1` + libmpd_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libmpd >= 0.18.1"` fi # Put the nasty error message in config.log where it belongs echo "$libmpd_PKG_ERRORS" >&5 - { { $as_echo "$as_me:$LINENO: error: Package requirements (libmpd >= 0.17.1) were not met: + { { $as_echo "$as_me:$LINENO: error: Package requirements (libmpd >= 0.18.1) were not met: $libmpd_PKG_ERRORS @@ -14600,7 +15146,7 @@ and libmpd_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 -$as_echo "$as_me: error: Package requirements (libmpd >= 0.17.1) were not met: +$as_echo "$as_me: error: Package requirements (libmpd >= 0.18.1) were not met: $libmpd_PKG_ERRORS @@ -14652,10 +15198,11 @@ { $as_echo "$as_me:$LINENO: checking for libglade" >&5 $as_echo_n "checking for libglade... " >&6; } -if test -n "$libglade_CFLAGS"; then - pkg_cv_libglade_CFLAGS="$libglade_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libglade_CFLAGS"; then + pkg_cv_libglade_CFLAGS="$libglade_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libglade-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libglade-2.0") 2>&5 ac_status=$? @@ -14665,13 +15212,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$libglade_LIBS"; then - pkg_cv_libglade_LIBS="$libglade_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libglade_LIBS"; then + pkg_cv_libglade_LIBS="$libglade_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libglade-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libglade-2.0") 2>&5 ac_status=$? @@ -14681,8 +15230,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14695,9 +15245,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - libglade_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libglade-2.0" 2>&1` + libglade_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libglade-2.0"` else - libglade_PKG_ERRORS=`$PKG_CONFIG --print-errors "libglade-2.0" 2>&1` + libglade_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libglade-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$libglade_PKG_ERRORS" >&5 @@ -14765,10 +15315,11 @@ { $as_echo "$as_me:$LINENO: checking for gthread" >&5 $as_echo_n "checking for gthread... " >&6; } -if test -n "$gthread_CFLAGS"; then - pkg_cv_gthread_CFLAGS="$gthread_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gthread_CFLAGS"; then + pkg_cv_gthread_CFLAGS="$gthread_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0") 2>&5 ac_status=$? @@ -14778,13 +15329,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$gthread_LIBS"; then - pkg_cv_gthread_LIBS="$gthread_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$gthread_LIBS"; then + pkg_cv_gthread_LIBS="$gthread_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gthread-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0") 2>&5 ac_status=$? @@ -14794,8 +15347,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14808,9 +15362,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - gthread_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "gthread-2.0" 2>&1` + gthread_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gthread-2.0"` else - gthread_PKG_ERRORS=`$PKG_CONFIG --print-errors "gthread-2.0" 2>&1` + gthread_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gthread-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$gthread_PKG_ERRORS" >&5 @@ -14878,10 +15432,11 @@ { $as_echo "$as_me:$LINENO: checking for libsoup" >&5 $as_echo_n "checking for libsoup... " >&6; } -if test -n "$libsoup_CFLAGS"; then - pkg_cv_libsoup_CFLAGS="$libsoup_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsoup_CFLAGS"; then + pkg_cv_libsoup_CFLAGS="$libsoup_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "libsoup-2.4") 2>&5 ac_status=$? @@ -14891,13 +15446,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$libsoup_LIBS"; then - pkg_cv_libsoup_LIBS="$libsoup_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsoup_LIBS"; then + pkg_cv_libsoup_LIBS="$libsoup_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsoup-2.4\"") >&5 ($PKG_CONFIG --exists --print-errors "libsoup-2.4") 2>&5 ac_status=$? @@ -14907,8 +15464,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -14921,9 +15479,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - libsoup_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libsoup-2.4" 2>&1` + libsoup_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libsoup-2.4"` else - libsoup_PKG_ERRORS=`$PKG_CONFIG --print-errors "libsoup-2.4" 2>&1` + libsoup_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsoup-2.4"` fi # Put the nasty error message in config.log where it belongs echo "$libsoup_PKG_ERRORS" >&5 @@ -14985,6 +15543,124 @@ + +#sqlite3 + +pkg_failed=no +{ $as_echo "$as_me:$LINENO: checking for sqlite3" >&5 +$as_echo_n "checking for sqlite3... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$sqlite3_CFLAGS"; then + pkg_cv_sqlite3_CFLAGS="$sqlite3_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sqlite3\"") >&5 + ($PKG_CONFIG --exists --print-errors "sqlite3") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_sqlite3_CFLAGS=`$PKG_CONFIG --cflags "sqlite3" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$sqlite3_LIBS"; then + pkg_cv_sqlite3_LIBS="$sqlite3_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sqlite3\"") >&5 + ($PKG_CONFIG --exists --print-errors "sqlite3") 2>&5 + ac_status=$? + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + pkg_cv_sqlite3_LIBS=`$PKG_CONFIG --libs "sqlite3" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + sqlite3_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "sqlite3"` + else + sqlite3_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "sqlite3"` + fi + # Put the nasty error message in config.log where it belongs + echo "$sqlite3_PKG_ERRORS" >&5 + + { { $as_echo "$as_me:$LINENO: error: Package requirements (sqlite3) were not met: + +$sqlite3_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables sqlite3_CFLAGS +and sqlite3_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&5 +$as_echo "$as_me: error: Package requirements (sqlite3) were not met: + +$sqlite3_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +Alternatively, you may set the environment variables sqlite3_CFLAGS +and sqlite3_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. +" >&2;} + { (exit 1); exit 1; }; } +elif test $pkg_failed = untried; then + { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables sqlite3_CFLAGS +and sqlite3_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&5 +$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +Alternatively, you may set the environment variables sqlite3_CFLAGS +and sqlite3_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details. + +To get pkg-config, see . +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; }; } +else + sqlite3_CFLAGS=$pkg_cv_sqlite3_CFLAGS + sqlite3_LIBS=$pkg_cv_sqlite3_LIBS + { $as_echo "$as_me:$LINENO: result: yes" >&5 +$as_echo "yes" >&6; } + : +fi + + + # libsexy # Check whether --enable-system-libsexy was given. if test "${enable_system_libsexy+set}" = set; then @@ -15005,10 +15681,11 @@ { $as_echo "$as_me:$LINENO: checking for libsexy" >&5 $as_echo_n "checking for libsexy... " >&6; } -if test -n "$libsexy_CFLAGS"; then - pkg_cv_libsexy_CFLAGS="$libsexy_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsexy_CFLAGS"; then + pkg_cv_libsexy_CFLAGS="$libsexy_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsexy\"") >&5 ($PKG_CONFIG --exists --print-errors "libsexy") 2>&5 ac_status=$? @@ -15018,13 +15695,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$libsexy_LIBS"; then - pkg_cv_libsexy_LIBS="$libsexy_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsexy_LIBS"; then + pkg_cv_libsexy_LIBS="$libsexy_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsexy\"") >&5 ($PKG_CONFIG --exists --print-errors "libsexy") 2>&5 ac_status=$? @@ -15034,8 +15713,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -15048,9 +15728,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - libsexy_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libsexy" 2>&1` + libsexy_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libsexy"` else - libsexy_PKG_ERRORS=`$PKG_CONFIG --print-errors "libsexy" 2>&1` + libsexy_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsexy"` fi # Put the nasty error message in config.log where it belongs echo "$libsexy_PKG_ERRORS" >&5 @@ -15074,10 +15754,11 @@ { $as_echo "$as_me:$LINENO: checking for libsexy" >&5 $as_echo_n "checking for libsexy... " >&6; } -if test -n "$libsexy_CFLAGS"; then - pkg_cv_libsexy_CFLAGS="$libsexy_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsexy_CFLAGS"; then + pkg_cv_libsexy_CFLAGS="$libsexy_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsexy\"") >&5 ($PKG_CONFIG --exists --print-errors "libsexy") 2>&5 ac_status=$? @@ -15087,13 +15768,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$libsexy_LIBS"; then - pkg_cv_libsexy_LIBS="$libsexy_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$libsexy_LIBS"; then + pkg_cv_libsexy_LIBS="$libsexy_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libsexy\"") >&5 ($PKG_CONFIG --exists --print-errors "libsexy") 2>&5 ac_status=$? @@ -15103,8 +15786,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -15117,9 +15801,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - libsexy_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libsexy" 2>&1` + libsexy_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libsexy"` else - libsexy_PKG_ERRORS=`$PKG_CONFIG --print-errors "libsexy" 2>&1` + libsexy_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libsexy"` fi # Put the nasty error message in config.log where it belongs echo "$libsexy_PKG_ERRORS" >&5 @@ -15187,9 +15871,7 @@ fi - - -if test x$system_libsexy = xtrue; then + if test x$system_libsexy = xtrue; then USE_SYSTEM_LIBSEXY_TRUE= USE_SYSTEM_LIBSEXY_FALSE='#' else @@ -15211,15 +15893,9 @@ $as_echo "$PACKAGE_PREFIX" >&6; } # i18n support -ALL_LINGUAS="bg bn bs cs de es fi fr gl he hi hu id it jv lv ms nb ne nl pl pt pt_BR ro ru sq sv tr zh_CN zh_TW" - -GETTEXT_PACKAGE=gmpc +ALL_LINGUAS="ar bg bn bs cs da de es fi fr gl he hi hu hy id it jv lv ml ms nb ne nl pl pt pt_BR ro ru sq sv th tr zh_CN zh_TW" -cat >>confdefs.h <<_ACEOF -#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" -_ACEOF - for ac_header in locale.h @@ -16815,7 +17491,19 @@ sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES +GETTEXT_PACKAGE=gmpc + + +cat >>confdefs.h <<_ACEOF +#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" +_ACEOF + + +if test x$gt_cv_have_gettext != "xyes"; then + echo "Translations support is required." + exit 1; +fi #AM_GNU_GETTEXT([external]) # setting correct paths @@ -16830,7 +17518,6 @@ - #Win32 compile support EXTRA_CFLAGS= @@ -16853,11 +17540,10 @@ win32=yes EXTRA_LDFLAGS="-export-all-symbols -mms-bitfields" ;; *-apple-darwin*) + EXTRA_LDFLAGS="-framework Carbon" macosx=yes;; esac - - -if test x$win32 = xyes; then + if test x$win32 = xyes; then WIN32_TRUE= WIN32_FALSE='#' else @@ -16865,9 +17551,7 @@ WIN32_FALSE= fi - - -if test x$macosx = xyes; then + if test x$macosx = xyes; then OSX_TRUE= OSX_FALSE='#' else @@ -16875,6 +17559,23 @@ OSX_FALSE= fi +# for smclient + if test x$win32 = xyes; then + PLATFORM_WIN32_TRUE= + PLATFORM_WIN32_FALSE='#' +else + PLATFORM_WIN32_TRUE='#' + PLATFORM_WIN32_FALSE= +fi + + if test x$macosx = xyes; then + PLATFORM_OSX_TRUE= + PLATFORM_OSX_FALSE='#' +else + PLATFORM_OSX_TRUE='#' + PLATFORM_OSX_FALSE= +fi + # Check whether --enable-macige was given. @@ -16898,10 +17599,11 @@ { $as_echo "$as_me:$LINENO: checking for macint" >&5 $as_echo_n "checking for macint... " >&6; } -if test -n "$macint_CFLAGS"; then - pkg_cv_macint_CFLAGS="$macint_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$macint_CFLAGS"; then + pkg_cv_macint_CFLAGS="$macint_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"ige-mac-integration\"") >&5 ($PKG_CONFIG --exists --print-errors "ige-mac-integration") 2>&5 ac_status=$? @@ -16911,13 +17613,15 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi -if test -n "$macint_LIBS"; then - pkg_cv_macint_LIBS="$macint_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ +if test -n "$PKG_CONFIG"; then + if test -n "$macint_LIBS"; then + pkg_cv_macint_LIBS="$macint_LIBS" + else + if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"ige-mac-integration\"") >&5 ($PKG_CONFIG --exists --print-errors "ige-mac-integration") 2>&5 ac_status=$? @@ -16927,8 +17631,9 @@ else pkg_failed=yes fi - else - pkg_failed=untried + fi +else + pkg_failed=untried fi @@ -16941,9 +17646,9 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - macint_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "ige-mac-integration" 2>&1` + macint_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "ige-mac-integration"` else - macint_PKG_ERRORS=`$PKG_CONFIG --print-errors "ige-mac-integration" 2>&1` + macint_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "ige-mac-integration"` fi # Put the nasty error message in config.log where it belongs echo "$macint_PKG_ERRORS" >&5 @@ -17015,142 +17720,8 @@ # These depend on if we are or are not on windows or osX ## -# Session support -if test x$macosx = xno && test x$win32 = xno ; then -# Check whether --enable-sm was given. -if test "${enable_sm+set}" = set; then - enableval=$enable_sm; case "${enableval}" in - yes) enable_sm=yes;; - no) enable_sm=no;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --disable-dm" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --disable-dm" >&2;} - { (exit 1); exit 1; }; };; - esac -else - enable_sm=yes -fi - - -# sm -if test x${enable_sm} = xyes; then - -pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for sm" >&5 -$as_echo_n "checking for sm... " >&6; } - -if test -n "$sm_CFLAGS"; then - pkg_cv_sm_CFLAGS="$sm_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sm\"") >&5 - ($PKG_CONFIG --exists --print-errors "sm") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_sm_CFLAGS=`$PKG_CONFIG --cflags "sm" 2>/dev/null` -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$sm_LIBS"; then - pkg_cv_sm_LIBS="$sm_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"sm\"") >&5 - ($PKG_CONFIG --exists --print-errors "sm") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_sm_LIBS=`$PKG_CONFIG --libs "sm" 2>/dev/null` -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - sm_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sm" 2>&1` - else - sm_PKG_ERRORS=`$PKG_CONFIG --print-errors "sm" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$sm_PKG_ERRORS" >&5 - - { { $as_echo "$as_me:$LINENO: error: Package requirements (sm) were not met: - -$sm_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables sm_CFLAGS -and sm_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" >&5 -$as_echo "$as_me: error: Package requirements (sm) were not met: - -$sm_PKG_ERRORS - -Consider adjusting the PKG_CONFIG_PATH environment variable if you -installed software in a non-standard prefix. - -Alternatively, you may set the environment variables sm_CFLAGS -and sm_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. -" >&2;} - { (exit 1); exit 1; }; } -elif test $pkg_failed = untried; then - { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ { $as_echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables sm_CFLAGS -and sm_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see . -See \`config.log' for more details." >&5 -$as_echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it -is in your PATH or set the PKG_CONFIG environment variable to the full -path to pkg-config. - -Alternatively, you may set the environment variables sm_CFLAGS -and sm_LIBS to avoid the need to call pkg-config. -See the pkg-config man page for more details. - -To get pkg-config, see . -See \`config.log' for more details." >&2;} - { (exit 1); exit 1; }; }; } -else - sm_CFLAGS=$pkg_cv_sm_CFLAGS - sm_LIBS=$pkg_cv_sm_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - : -fi - - - -cat >>confdefs.h <<\_ACEOF -#define ENABLE_SM 1 -_ACEOF - - -fi +# Session support +if test x$macosx = xno && test x$win32 = xno ; then # Multimedia keys # Check whether --enable-mmkeys was given. if test "${enable_mmkeys+set}" = set; then @@ -17175,7 +17746,6 @@ else # force them off enable_mmkeys=no; -enable_sm=no; fi @@ -17287,281 +17857,6 @@ fi -# libcurl settings -# Extract the first word of "curl-config", so it can be a program name with args. -set dummy curl-config; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_CURL_CONFIG+set}" = set; then - $as_echo_n "(cached) " >&6 -else - case $CURL_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_CURL_CONFIG="$CURL_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_CURL_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - - ;; -esac -fi -CURL_CONFIG=$ac_cv_path_CURL_CONFIG -if test -n "$CURL_CONFIG"; then - { $as_echo "$as_me:$LINENO: result: $CURL_CONFIG" >&5 -$as_echo "$CURL_CONFIG" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -# Check whether --with-curl was given. -if test "${with_curl+set}" = set; then - withval=$with_curl; CURL_CONFIG="${with_curl}/bin/curl-config" -fi - -if test -f "${CURL_CONFIG}"; then - LDFLAGS="`${CURL_CONFIG} --libs` $LDFLAGS" - CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS" -else - { $as_echo "$as_me:$LINENO: WARNING: curl-config not found, guessing at libcurl build settings" >&5 -$as_echo "$as_me: WARNING: curl-config not found, guessing at libcurl build settings" >&2;} -fi -if test "${ac_cv_header_curl_curl_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for curl/curl.h" >&5 -$as_echo_n "checking for curl/curl.h... " >&6; } -if test "${ac_cv_header_curl_curl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curl_curl_h" >&5 -$as_echo "$ac_cv_header_curl_curl_h" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:$LINENO: checking curl/curl.h usability" >&5 -$as_echo_n "checking curl/curl.h usability... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -$ac_includes_default -#include -_ACEOF -rm -f conftest.$ac_objext -if { (ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_compile") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then - ac_header_compiler=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_compiler=no -fi - -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:$LINENO: checking curl/curl.h presence" >&5 -$as_echo_n "checking curl/curl.h presence... " >&6; } -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ -#include -_ACEOF -if { (ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then - ac_header_preproc=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_header_preproc=no -fi - -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in - yes:no: ) - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: proceeding with the compiler's result" >&2;} - ac_header_preproc=yes - ;; - no:yes:* ) - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: present but cannot be compiled" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: proceeding with the preprocessor's result" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: curl/curl.h: in the future, the compiler will take precedence" >&5 -$as_echo "$as_me: WARNING: curl/curl.h: in the future, the compiler will take precedence" >&2;} - ( cat <<\_ASBOX -## ------------------------------ ## -## Report this to qball@sarine.nl ## -## ------------------------------ ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac -{ $as_echo "$as_me:$LINENO: checking for curl/curl.h" >&5 -$as_echo_n "checking for curl/curl.h... " >&6; } -if test "${ac_cv_header_curl_curl_h+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_cv_header_curl_curl_h=$ac_header_preproc -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_curl_curl_h" >&5 -$as_echo "$ac_cv_header_curl_curl_h" >&6; } - -fi -if test "x$ac_cv_header_curl_curl_h" = x""yes; then - : -else - { { $as_echo "$as_me:$LINENO: error: unable to find libcurl header files" >&5 -$as_echo "$as_me: error: unable to find libcurl header files" >&2;} - { (exit 1); exit 1; }; } -fi - - - -{ $as_echo "$as_me:$LINENO: checking for curl_global_init in -lcurl" >&5 -$as_echo_n "checking for curl_global_init in -lcurl... " >&6; } -if test "${ac_cv_lib_curl_curl_global_init+set}" = set; then - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcurl $LIBS" -cat >conftest.$ac_ext <<_ACEOF -/* confdefs.h. */ -_ACEOF -cat confdefs.h >>conftest.$ac_ext -cat >>conftest.$ac_ext <<_ACEOF -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char curl_global_init (); -int -main () -{ -return curl_global_init (); - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -$as_echo "$ac_try_echo") >&5 - (eval "$ac_link") 2>conftest.er1 - ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then - ac_cv_lib_curl_curl_global_init=yes -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_cv_lib_curl_curl_global_init=no -fi - -rm -rf conftest.dSYM -rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_curl_curl_global_init" >&5 -$as_echo "$ac_cv_lib_curl_curl_global_init" >&6; } -if test "x$ac_cv_lib_curl_curl_global_init" = x""yes; then - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCURL 1 -_ACEOF - - LIBS="-lcurl $LIBS" - -else - { { $as_echo "$as_me:$LINENO: error: unable to link with libcurl" >&5 -$as_echo "$as_me: error: unable to link with libcurl" >&2;} - { (exit 1); exit 1; }; } -fi - - # Check whether --enable-shave was given. if test "${enable_shave+set}" = set; then enableval=$enable_shave; case "${enableval}" in @@ -17636,7 +17931,7 @@ fi -ac_config_files="$ac_config_files shave shave-libtool Makefile src/Makefile src/gmpc-version.h src/gob/Makefile glade/Makefile data/Makefile po/Makefile.in po/Makefile data/gmpc.pc remote/Makefile doc/Makefile pixmaps/Makefile pixmaps/icons/Makefile pixmaps/icons/16x16/Makefile pixmaps/icons/16x16/actions/Makefile pixmaps/icons/16x16/status/Makefile pixmaps/icons/16x16/apps/Makefile pixmaps/icons/22x22/Makefile pixmaps/icons/22x22/actions/Makefile pixmaps/icons/22x22/status/Makefile pixmaps/icons/22x22/apps/Makefile pixmaps/icons/32x32/Makefile pixmaps/icons/32x32/actions/Makefile pixmaps/icons/32x32/status/Makefile pixmaps/icons/32x32/apps/Makefile pixmaps/icons/48x48/Makefile pixmaps/icons/48x48/actions/Makefile pixmaps/icons/48x48/apps/Makefile pixmaps/icons/48x48/status/Makefile pixmaps/icons/64x64/Makefile pixmaps/icons/64x64/status/Makefile pixmaps/icons/72x72/Makefile pixmaps/icons/72x72/status/Makefile pixmaps/icons/96x96/Makefile pixmaps/icons/96x96/status/Makefile pixmaps/icons/128x128/Makefile pixmaps/icons/128x128/status/Makefile pixmaps/icons/128x128/categories/Makefile pixmaps/icons/scalable/Makefile pixmaps/icons/scalable/actions/Makefile pixmaps/icons/scalable/status/Makefile pixmaps/icons/scalable/apps/Makefile pixmaps/icons/scalable/categories/Makefile" +ac_config_files="$ac_config_files shave shave-libtool Makefile src/Makefile src/gmpc-version.h glade/Makefile data/Makefile po/Makefile.in po/Makefile data/gmpc.pc remote/Makefile doc/Makefile pixmaps/Makefile pixmaps/icons/Makefile pixmaps/icons/16x16/Makefile pixmaps/icons/16x16/actions/Makefile pixmaps/icons/16x16/status/Makefile pixmaps/icons/16x16/apps/Makefile pixmaps/icons/22x22/Makefile pixmaps/icons/22x22/actions/Makefile pixmaps/icons/22x22/status/Makefile pixmaps/icons/22x22/apps/Makefile pixmaps/icons/32x32/Makefile pixmaps/icons/32x32/actions/Makefile pixmaps/icons/32x32/status/Makefile pixmaps/icons/32x32/apps/Makefile pixmaps/icons/48x48/Makefile pixmaps/icons/48x48/actions/Makefile pixmaps/icons/48x48/apps/Makefile pixmaps/icons/48x48/status/Makefile pixmaps/icons/64x64/Makefile pixmaps/icons/64x64/apps/Makefile pixmaps/icons/64x64/status/Makefile pixmaps/icons/72x72/Makefile pixmaps/icons/72x72/apps/Makefile pixmaps/icons/72x72/status/Makefile pixmaps/icons/96x96/Makefile pixmaps/icons/96x96/apps/Makefile pixmaps/icons/96x96/status/Makefile pixmaps/icons/128x128/Makefile pixmaps/icons/128x128/apps/Makefile pixmaps/icons/128x128/status/Makefile pixmaps/icons/128x128/categories/Makefile pixmaps/icons/scalable/Makefile pixmaps/icons/scalable/actions/Makefile pixmaps/icons/scalable/status/Makefile pixmaps/icons/scalable/apps/Makefile pixmaps/icons/scalable/categories/Makefile test/Makefile test/config/Makefile test/MpdDataModel/Makefile test/GmpcEasyDownload/Makefile test/MetaDataCache/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -17735,6 +18030,13 @@ LTLIBOBJS=$ac_ltlibobjs +if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -17774,17 +18076,24 @@ Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined. +if test -z "${ENABLE_TEST_TRUE}" && test -z "${ENABLE_TEST_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_TEST\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined. +$as_echo "$as_me: error: conditional \"ENABLE_TEST\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi -if test -z "${EGGTRAYICON_TRUE}" && test -z "${EGGTRAYICON_FALSE}"; then - { { $as_echo "$as_me:$LINENO: error: conditional \"EGGTRAYICON\" was never defined. +if test -z "${EXTRA_VERSION_TRUE}" && test -z "${EXTRA_VERSION_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"EXTRA_VERSION\" was never defined. Usually this means the macro was only invoked conditionally." >&5 -$as_echo "$as_me: error: conditional \"EGGTRAYICON\" was never defined. +$as_echo "$as_me: error: conditional \"EXTRA_VERSION\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${EXTRA_VERSION_TRUE}" && test -z "${EXTRA_VERSION_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"EXTRA_VERSION\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"EXTRA_VERSION\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi @@ -17809,6 +18118,20 @@ Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${PLATFORM_WIN32_TRUE}" && test -z "${PLATFORM_WIN32_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"PLATFORM_WIN32\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"PLATFORM_WIN32\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${PLATFORM_OSX_TRUE}" && test -z "${PLATFORM_OSX_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"PLATFORM_OSX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"PLATFORM_OSX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 @@ -18131,7 +18454,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gmpc $as_me 0.18.0, which was +This file was extended by gmpc $as_me 0.19.0, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18194,7 +18517,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -gmpc config.status 0.18.0 +gmpc config.status 0.19.0 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -18205,6 +18528,7 @@ ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' +MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF @@ -18654,7 +18978,6 @@ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/gmpc-version.h") CONFIG_FILES="$CONFIG_FILES src/gmpc-version.h" ;; - "src/gob/Makefile") CONFIG_FILES="$CONFIG_FILES src/gob/Makefile" ;; "glade/Makefile") CONFIG_FILES="$CONFIG_FILES glade/Makefile" ;; "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; @@ -18681,12 +19004,16 @@ "pixmaps/icons/48x48/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/48x48/apps/Makefile" ;; "pixmaps/icons/48x48/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/48x48/status/Makefile" ;; "pixmaps/icons/64x64/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/64x64/Makefile" ;; + "pixmaps/icons/64x64/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/64x64/apps/Makefile" ;; "pixmaps/icons/64x64/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/64x64/status/Makefile" ;; "pixmaps/icons/72x72/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/72x72/Makefile" ;; + "pixmaps/icons/72x72/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/72x72/apps/Makefile" ;; "pixmaps/icons/72x72/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/72x72/status/Makefile" ;; "pixmaps/icons/96x96/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/96x96/Makefile" ;; + "pixmaps/icons/96x96/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/96x96/apps/Makefile" ;; "pixmaps/icons/96x96/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/96x96/status/Makefile" ;; "pixmaps/icons/128x128/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/128x128/Makefile" ;; + "pixmaps/icons/128x128/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/128x128/apps/Makefile" ;; "pixmaps/icons/128x128/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/128x128/status/Makefile" ;; "pixmaps/icons/128x128/categories/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/128x128/categories/Makefile" ;; "pixmaps/icons/scalable/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/scalable/Makefile" ;; @@ -18694,6 +19021,11 @@ "pixmaps/icons/scalable/status/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/scalable/status/Makefile" ;; "pixmaps/icons/scalable/apps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/scalable/apps/Makefile" ;; "pixmaps/icons/scalable/categories/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/icons/scalable/categories/Makefile" ;; + "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; + "test/config/Makefile") CONFIG_FILES="$CONFIG_FILES test/config/Makefile" ;; + "test/MpdDataModel/Makefile") CONFIG_FILES="$CONFIG_FILES test/MpdDataModel/Makefile" ;; + "test/GmpcEasyDownload/Makefile") CONFIG_FILES="$CONFIG_FILES test/GmpcEasyDownload/Makefile" ;; + "test/MetaDataCache/Makefile") CONFIG_FILES="$CONFIG_FILES test/MetaDataCache/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 @@ -19191,6 +19523,11 @@ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac + ac_MKDIR_P=$MKDIR_P + case $MKDIR_P in + [\\/$]* | ?:[\\/]* ) ;; + */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; + esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 @@ -19247,6 +19584,7 @@ s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t +s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ @@ -19301,21 +19639,22 @@ { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. +_am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in - "$ac_file" | "$ac_file":* ) + $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done -echo "timestamp for "$ac_file"" >`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | +echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || +$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$_am_arg" : 'X\(//\)[^/]' \| \ + X"$_am_arg" : 'X\(//\)$' \| \ + X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -19342,17 +19681,28 @@ case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named `Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # So let's grep whole file. - if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Autoconf 2.62 quotes --file arguments for eval, but not when files + # are listed without --file. Let's play safe and only enable the eval + # if we detect the quoting. + case $CONFIG_FILES in + *\'*) eval set x "$CONFIG_FILES" ;; + *) set x $CONFIG_FILES ;; + esac + shift + for mf + do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # Grep'ing the whole file is not good either: AIX grep has a line + # limit of 2048, but all sed's we know have understand at least 4000. + if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then + dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ @@ -19375,34 +19725,28 @@ q } s/.*/./; q'` - else - continue - fi - grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue - # Extract the definition of DEP_FILES from the Makefile without - # running `make'. - DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"` - test -z "$DEPDIR" && continue - # When using ansi2knr, U may be empty or an underscore; expand it - U=`sed -n -e '/^U = / s///p' < "$mf"` - test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR" - # We invoke sed twice because it is the simplest approach to - # changing $(DEPDIR) to its actual value in the expansion. - for file in `sed -n -e ' - /^DEP_FILES = .*\\\\$/ { - s/^DEP_FILES = // - :loop - s/\\\\$// - p - n - /\\\\$/ b loop - p - } - /^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ @@ -19425,7 +19769,7 @@ q } s/.*/./; q'` - { as_dir=$dirpart/$fdir + { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac @@ -19466,10 +19810,11 @@ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done done -done +} ;; "libtool":C) @@ -20255,7 +20600,7 @@ sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) - if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" ; then + if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then { { $as_echo "$as_me:$LINENO: error: po/Makefile.in.in was not created by intltoolize." >&5 $as_echo "$as_me: error: po/Makefile.in.in was not created by intltoolize." >&2;} { (exit 1); exit 1; }; } @@ -20320,16 +20665,6 @@ echo "" echo "" echo "------------------ Status ------------------" -if test x$eggtrayicon = xtrue; then - echo "Eggtrayicon mode is: enabled" -else - echo "Eggtrayicon mode is: disabled" -fi -if test x$maintainer_mode = xtrue; then - echo "Maintainer mode is: enabled" -else - echo "Maintainer mode is: disabled" -fi if test x$enable_timing = xtrue; then echo "Debug timing output is: enabled" else @@ -20340,11 +20675,6 @@ else echo "Multimedia keys support is: disabled" fi -if test x${enable_sm} = xyes; then - echo "Session Manager support is: enabled" -else - echo "Session Manager support is: disabled" -fi if test x${enable_configdir} = xyes; then echo "Use ~/.config/ for config files: enabled" else @@ -20365,6 +20695,11 @@ else echo "Use libspiff library: disabled" fi +if test "x$libxspf" = "x1"; then + echo "Use libxspf library: enabled" +else + echo "Use libxspf library: disabled" +fi echo ""; echo "Now type make to build" if test x$enable_shave = xyes; then diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/configure.ac /tmp/zoMIw2cTYT/gmpc-0.19.0/configure.ac --- gmpc-0.18.0/configure.ac 2009-03-09 16:23:10.000000000 +0000 +++ gmpc-0.19.0/configure.ac 2009-09-21 11:15:59.000000000 +0100 @@ -1,10 +1,10 @@ #Define the version m4_define([package_major_version], [0]) -m4_define([package_minor_version], [18]) +m4_define([package_minor_version], [19]) m4_define([package_micro_version], [0]) m4_define([package_version], [package_major_version.package_minor_version.package_micro_version]) -AC_INIT([gmpc], [0.18.0], [qball@sarine.nl]) +AC_INIT([gmpc], [0.19.0], [qball@sarine.nl]) #Define variable m4_define([package_tagline], "♯♪ + ♭♪ = ☺") @@ -15,8 +15,11 @@ AM_CONFIG_HEADER([config.h]) +AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE +AM_MAINTAINER_MODE + #Make version and variables available in config.h #AC_DEFINE(GMPC_MAJOR_VERSION, package_major_version, ["Major version of gmpc"]) @@ -50,6 +53,7 @@ AC_PROG_CC +AM_PROG_CC_C_O LT_AC_PROG_RC AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_RC @@ -64,8 +68,31 @@ fi + +PKG_PROG_PKG_CONFIG +# libxspf +libxspf=0; libspiff=0; +AC_ARG_ENABLE([libxspf], + [--enable-libxspf Use libxspf.], + [case "${enableval}" in + yes) enable_libxspf=true;; + no) enable_libxspf=false;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-libxspf]);; + esac], + [enable_libxspf=detect]) +if test "x$enable_libxspf" = "xdetect"; then + PKG_CHECK_MODULES([libxspf], xspf, enable_libxspf=true, enable_libxspf=false) +fi +if test "x$enable_libxspf" = "xtrue"; then + PKG_CHECK_MODULES([libxspf], xspf) + AC_SUBST(libxspf_LIBS) + AC_SUBST(libxspf_CFLAGS) + libxspf=1; + AC_DEFINE([XSPF], 1, [Use xspf]) +else + AC_ARG_ENABLE(libspiff, [ --enable-libspiff Use libspiff to parse spiff playlists.], [ case "${enableval}" in @@ -77,20 +104,18 @@ if test "x${enable_libspiff}" != xno; then AC_CHECK_HEADER(spiff/spiff_c.h, AC_CHECK_LIB(spiff, spiff_parse,libspiff=1,libspiff=0),libspiff=0) - if test "x${libspiff}" == "x1"; + if test "x${libspiff}" = "x1"; then AC_DEFINE(SPIFF,1,["Use or don't use libspiff"]) SPIFF_LIBS=-lspiff AC_SUBST(SPIFF_LIBS) else - if test "x${enable_libspiff}" == "xyes"; then + if test "x${enable_libspiff}" = "xyes"; then AC_MSG_ERROR([libspiff not found]) fi fi fi - -PKG_PROG_PKG_CONFIG - +fi # Checks for header files. AC_HEADER_STDC @@ -139,41 +164,35 @@ fi # Maintainer mode -AC_ARG_ENABLE([maintainermode], - [--enable-maintainermode Enable maintainer mode.], +AC_ARG_ENABLE([test], + [--enable-test Enable tests], [case "${enableval}" in - yes) maintainer_mode=true;; - no) maintainer_mode=false;; - *) AC_MSG_ERROR([bad value ${enableval} for --enable-maintainermode]);; + yes) test_mode=true;; + no) test_mode=false;; + *) AC_MSG_ERROR([bad value ${enableval} for --enable-test]);; esac], - [maintainer_mode=false]) + [test_mode=false]) -AM_CONDITIONAL([MAINTAINER_MODE], [test x$maintainer_mode = xtrue]) -if test x$maintainer_mode = xtrue; then - AC_DEFINE(MAINTAINER_MODE, 1, [Enable maintainer mode]) -fi - - -# Egg Status Icon -AC_ARG_ENABLE([eggtrayicon], - [--enable-eggtrayicon Use eggtrayicon instead of GtkStatusIcon.], - [case "${enableval}" in - yes) eggtrayicon=true;; - no) eggtrayicon=false;; - *) AC_MSG_ERROR([bad value ${enableval} for --enable-eggtrayicon]);; - esac], - [eggtrayicon=false]) +AM_CONDITIONAL([ENABLE_TEST], [test x$test_mode = xtrue]) -AM_CONDITIONAL([EGGTRAYICON], [test x$eggtrayicon = xtrue]) -if test x${eggtrayicon} = xtrue; then -AC_DEFINE(EGGTRAYICON,1,["Use or don't use eggtrayicon"]) +# EXTRA VERSION +AC_ARG_WITH([extra-version], + [--with-extra-version=revision Specify extra version.], + with_extra_version=${withval}) +if test x"${with_extra_version}" != x; then + AM_CONDITIONAL([EXTRA_VERSION], [true]) + EXTRA_VERSION="${with_extra_version}"; + AC_SUBST(EXTRA_VERSION) +else + AM_CONDITIONAL([EXTRA_VERSION], [false]) fi + # Split this out, because pkgconfig macro doesn't return nicely what is missing # glib -PKG_CHECK_MODULES([glib], glib-2.0 >= 2.10) +PKG_CHECK_MODULES([glib], glib-2.0 >= 2.16) AC_SUBST(glib_LIBS) AC_SUBST(glib_CFLAGS) @@ -193,7 +212,7 @@ AC_SUBST(gmodule_CFLAGS) # libmpd -PKG_CHECK_MODULES([libmpd], libmpd >= 0.17.1) +PKG_CHECK_MODULES([libmpd], libmpd >= 0.18.1) AC_SUBST(libmpd_LIBS) AC_SUBST(libmpd_CFLAGS) @@ -212,6 +231,12 @@ AC_SUBST(libsoup_LIBS) AC_SUBST(libsoup_CFLAGS) + +#sqlite3 +PKG_CHECK_MODULES([sqlite3], sqlite3) +AC_SUBST(sqlite3_LIBS) +AC_SUBST(sqlite3_CFLAGS) + # libsexy AC_ARG_ENABLE([system-libsexy], [--enable-system-libsexy Use system libsexy instead of bundles.], @@ -245,13 +270,19 @@ # i18n support dnl please keep them in alphabetical order -ALL_LINGUAS="bg bn bs cs de es fi fr gl he hi hu id it jv lv ms nb ne nl pl pt pt_BR ro ru sq sv tr zh_CN zh_TW" +ALL_LINGUAS="ar bg bn bs cs da de es fi fr gl he hi hu hy id it jv lv ml ms nb ne nl pl pt pt_BR ro ru sq sv th tr zh_CN zh_TW" + +AM_GLIB_GNU_GETTEXT GETTEXT_PACKAGE=gmpc AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",[GMPC gettext package]) -AM_GLIB_GNU_GETTEXT +if test x$gt_cv_have_gettext != "xyes"; then + + echo "Translations support is required." + exit 1; +fi #AM_GNU_GETTEXT([external]) # setting correct paths @@ -262,7 +293,6 @@ AC_SUBST(PACKAGE_LOCALE_DIR) AC_SUBST(PACKAGE_LIBS) - #Win32 compile support EXTRA_CFLAGS= @@ -285,10 +315,14 @@ win32=yes EXTRA_LDFLAGS="-export-all-symbols -mms-bitfields" ;; *-apple-darwin*) + EXTRA_LDFLAGS="-framework Carbon" macosx=yes;; esac AM_CONDITIONAL(WIN32, test x$win32 = xyes) AM_CONDITIONAL(OSX, test x$macosx = xyes) +# for smclient +AM_CONDITIONAL(PLATFORM_WIN32, test x$win32 = xyes) +AM_CONDITIONAL(PLATFORM_OSX, test x$macosx = xyes) AC_ARG_ENABLE(macige, @@ -314,23 +348,6 @@ ## # Session support if test x$macosx = xno && test x$win32 = xno ; then -AC_ARG_ENABLE(sm, - [ --disable-sm Disable Session Support.], - [ case "${enableval}" in - yes) enable_sm=yes;; - no) enable_sm=no;; - *) AC_MSG_ERROR([bad value ${enableval} for --disable-dm]);; - esac], - [enable_sm=yes]) - -# sm -if test x${enable_sm} = xyes; then - PKG_CHECK_MODULES([sm], sm) - AC_SUBST(sm_LIBS) - AC_SUBST(sm_CFLAGS) - AC_DEFINE(ENABLE_SM, 1, [Enable Session Support]) - -fi # Multimedia keys AC_ARG_ENABLE([mmkeys], [ --disable-mmkeys Disable multimedia keys support.], @@ -346,7 +363,6 @@ else # force them off enable_mmkeys=no; -enable_sm=no; fi AC_SUBST(EXTRA_CFLAGS) AC_SUBST(EXTRA_LDFLAGS) @@ -359,20 +375,6 @@ fi -# libcurl settings -AC_PATH_PROG(CURL_CONFIG,curl-config) -AC_ARG_WITH(curl, - AC_HELP_STRING([--with-curl=PATH], [where libcurl is installed]), - [CURL_CONFIG="${with_curl}/bin/curl-config"]) -if test -f "${CURL_CONFIG}"; then - LDFLAGS="`${CURL_CONFIG} --libs` $LDFLAGS" - CPPFLAGS="`${CURL_CONFIG} --cflags` $CPPFLAGS" -else - AC_MSG_WARN([curl-config not found, guessing at libcurl build settings]) -fi -AC_CHECK_HEADER([curl/curl.h],,AC_MSG_ERROR([unable to find libcurl header files])) -AC_CHECK_LIB([curl],[curl_global_init],,AC_MSG_ERROR([unable to link with libcurl])) - AC_ARG_ENABLE([shave], [ --disable-shave Use shave output cleaner when building.], [ case "${enableval}" in @@ -391,7 +393,6 @@ Makefile src/Makefile src/gmpc-version.h -src/gob/Makefile glade/Makefile data/Makefile po/Makefile.in @@ -418,12 +419,16 @@ pixmaps/icons/48x48/apps/Makefile pixmaps/icons/48x48/status/Makefile pixmaps/icons/64x64/Makefile +pixmaps/icons/64x64/apps/Makefile pixmaps/icons/64x64/status/Makefile pixmaps/icons/72x72/Makefile +pixmaps/icons/72x72/apps/Makefile pixmaps/icons/72x72/status/Makefile pixmaps/icons/96x96/Makefile +pixmaps/icons/96x96/apps/Makefile pixmaps/icons/96x96/status/Makefile pixmaps/icons/128x128/Makefile +pixmaps/icons/128x128/apps/Makefile pixmaps/icons/128x128/status/Makefile pixmaps/icons/128x128/categories/Makefile pixmaps/icons/scalable/Makefile @@ -431,20 +436,15 @@ pixmaps/icons/scalable/status/Makefile pixmaps/icons/scalable/apps/Makefile pixmaps/icons/scalable/categories/Makefile +test/Makefile +test/config/Makefile +test/MpdDataModel/Makefile +test/GmpcEasyDownload/Makefile +test/MetaDataCache/Makefile ]) echo "" echo "" echo "------------------ Status ------------------" -if test x$eggtrayicon = xtrue; then - echo "Eggtrayicon mode is: enabled" -else - echo "Eggtrayicon mode is: disabled" -fi -if test x$maintainer_mode = xtrue; then - echo "Maintainer mode is: enabled" -else - echo "Maintainer mode is: disabled" -fi if test x$enable_timing = xtrue; then echo "Debug timing output is: enabled" else @@ -455,11 +455,6 @@ else echo "Multimedia keys support is: disabled" fi -if test x${enable_sm} = xyes; then - echo "Session Manager support is: enabled" -else - echo "Session Manager support is: disabled" -fi if test x${enable_configdir} = xyes; then echo "Use ~/.config/ for config files: enabled" else @@ -480,6 +475,11 @@ else echo "Use libspiff library: disabled" fi +if test "x$libxspf" = "x1"; then + echo "Use libxspf library: enabled" +else + echo "Use libxspf library: disabled" +fi echo ""; echo "Now type make to build" if test x$enable_shave = xyes; then diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/data/gmpc.desktop.in /tmp/zoMIw2cTYT/gmpc-0.19.0/data/gmpc.desktop.in --- gmpc-0.18.0/data/gmpc.desktop.in 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/data/gmpc.desktop.in 2009-09-21 11:15:59.000000000 +0100 @@ -4,7 +4,6 @@ Exec=gmpc Terminal=false Type=Application -Icon=gmpc.png -Categories=GNOME;Application;AudioVideo; +Icon=gmpc +Categories=GNOME;AudioVideo; StartupNotify=true -Encoding=UTF-8 diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/data/gmpc.pc.in /tmp/zoMIw2cTYT/gmpc-0.19.0/data/gmpc.pc.in --- gmpc-0.18.0/data/gmpc.pc.in 2009-03-09 16:23:09.000000000 +0000 +++ gmpc-0.19.0/data/gmpc.pc.in 2009-09-21 11:15:59.000000000 +0100 @@ -7,4 +7,4 @@ Description: Header files for gmpc plugins Requires: libmpd glib-2.0 gtk+-2.0 Version: @VERSION@ -Cflags: -I${includedir} +Cflags: -I${includedir} -I${includedir}/gmpc diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/data/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/data/Makefile.in --- gmpc-0.18.0/data/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/data/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,39 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = data +DIST_COMMON = $(dist_rcfile_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/gmpc.pc.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = gmpc.pc +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(rcfiledir)" \ + "$(DESTDIR)$(pkgconfigdir)" +desktopDATA_INSTALL = $(INSTALL_DATA) +dist_rcfileDATA_INSTALL = $(INSTALL_DATA) +pkgconfigDATA_INSTALL = $(INSTALL_DATA) +DATA = $(desktop_DATA) $(dist_rcfile_DATA) $(pkgconfig_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +78,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +89,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +105,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +124,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +136,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +163,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +217,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,51 +234,65 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ rcfiledir = $(datadir)/gmpc/ dist_rcfile_DATA = \ weblinks.list\ gmpc-gtk-win32.rc - desktopdir = $(datadir)/applications desktop_in_files = gmpc.desktop.in desktop_DATA = $(desktop_in_files:.desktop.in=.desktop) - pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gmpc.pc - EXTRA_DIST = \ gmpc.desktop.in \ gmpc.pc.in - DISTCLEANFILES = \ gmpc.pc\ gmpc.desktop -subdir = data -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = gmpc.pc -DIST_SOURCES = -DATA = $(desktop_DATA) $(dist_rcfile_DATA) $(pkgconfig_DATA) - -DIST_COMMON = $(dist_rcfile_DATA) $(srcdir)/Makefile.in Makefile.am \ - gmpc.pc.in all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu data/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -gmpc.pc: $(top_builddir)/config.status gmpc.pc.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +gmpc.pc: $(top_builddir)/config.status $(srcdir)/gmpc.pc.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ mostlyclean-libtool: @@ -285,63 +300,56 @@ clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -desktopDATA_INSTALL = $(INSTALL_DATA) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(desktopdir) + test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)" @list='$(desktop_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(desktopDATA_INSTALL) $$d$$p $(DESTDIR)$(desktopdir)/$$f"; \ - $(desktopDATA_INSTALL) $$d$$p $(DESTDIR)$(desktopdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(desktopDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(desktopdir)/$$f'"; \ + $(desktopDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(desktopdir)/$$f"; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(desktopdir)/$$f"; \ - rm -f $(DESTDIR)$(desktopdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(desktopdir)/$$f'"; \ + rm -f "$(DESTDIR)$(desktopdir)/$$f"; \ done -dist_rcfileDATA_INSTALL = $(INSTALL_DATA) install-dist_rcfileDATA: $(dist_rcfile_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(rcfiledir) + test -z "$(rcfiledir)" || $(MKDIR_P) "$(DESTDIR)$(rcfiledir)" @list='$(dist_rcfile_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_rcfileDATA_INSTALL) $$d$$p $(DESTDIR)$(rcfiledir)/$$f"; \ - $(dist_rcfileDATA_INSTALL) $$d$$p $(DESTDIR)$(rcfiledir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_rcfileDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(rcfiledir)/$$f'"; \ + $(dist_rcfileDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(rcfiledir)/$$f"; \ done uninstall-dist_rcfileDATA: @$(NORMAL_UNINSTALL) @list='$(dist_rcfile_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(rcfiledir)/$$f"; \ - rm -f $(DESTDIR)$(rcfiledir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(rcfiledir)/$$f'"; \ + rm -f "$(DESTDIR)$(rcfiledir)/$$f"; \ done -pkgconfigDATA_INSTALL = $(INSTALL_DATA) install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(pkgconfigdir) + test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f"; \ - $(pkgconfigDATA_INSTALL) $$d$$p $(DESTDIR)$(pkgconfigdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(pkgconfigdir)/$$f"; \ - rm -f $(DESTDIR)$(pkgconfigdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done tags: TAGS TAGS: @@ -349,28 +357,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -384,9 +387,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(desktopdir) $(DESTDIR)$(rcfiledir) $(DESTDIR)$(pkgconfigdir) + for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(rcfiledir)" "$(DESTDIR)$(pkgconfigdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -406,7 +410,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -418,12 +422,14 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: @@ -431,12 +437,20 @@ install-data-am: install-desktopDATA install-dist_rcfileDATA \ install-pkgconfigDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -456,19 +470,23 @@ ps-am: uninstall-am: uninstall-desktopDATA uninstall-dist_rcfileDATA \ - uninstall-info-am uninstall-pkgconfigDATA + uninstall-pkgconfigDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-desktopDATA install-dist_rcfileDATA \ - install-exec install-exec-am install-info install-info-am \ - install-man install-pkgconfigDATA install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-desktopDATA uninstall-dist_rcfileDATA \ - uninstall-info-am uninstall-pkgconfigDATA + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-desktopDATA \ + install-dist_rcfileDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-desktopDATA \ + uninstall-dist_rcfileDATA uninstall-pkgconfigDATA @INTLTOOL_DESKTOP_RULE@ # Tell versions [3.59,3.63) of GNU make to not export all variables. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/data/weblinks.list /tmp/zoMIw2cTYT/gmpc-0.19.0/data/weblinks.list --- gmpc-0.18.0/data/weblinks.list 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/data/weblinks.list 2009-09-21 11:15:59.000000000 +0100 @@ -9,3 +9,8 @@ [Secondhand songs] type=song url=http://secondhandsongs.com/cgi/cluster.php?title=%TITLE%&performer=%ARTIST%&search=Search +search-and-replace=( )::+ + +[Last.FM] +type=artist +url=http://last.fm/music/%ARTIST% \ No newline at end of file diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/changelog /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/changelog --- gmpc-0.18.0/debian/changelog 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/changelog 2009-09-27 08:36:11.000000000 +0100 @@ -1,3 +1,28 @@ +gmpc (0.19.0-1~ppa1) karmic; urgency=low + + * New upstream release imported from Debian Sid. + + -- Khashayar Naderehvandi Sun, 27 Sep 2009 09:31:52 +0200 + +gmpc (0.19.0-1) unstable; urgency=low + + * New upstream release. + + -- Arnaud Cornet Mon, 21 Sep 2009 12:16:05 +0200 + +gmpc (0.18.98-1) unstable; urgency=low + + * New Upstream Version. + * Ship upstream man pages. + * debian/rules, use dh7 features and drop cdbs. + * Ship gmpc-remote. + * Add conflict on pre 0.18.96 plugins. + * Drop password-dialog.patch, fixed upstream. + * Add libsqlite3-dev build depend. + * Remove README and TODO, useless content. + + -- Arnaud Cornet Thu, 13 Aug 2009 09:32:46 +0200 + gmpc (0.18.0-3) unstable; urgency=low * Add build-depend on libsexy-dev. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/control /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/control --- gmpc-0.18.0/debian/control 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/control 2009-09-27 08:36:11.000000000 +0100 @@ -2,7 +2,7 @@ Section: sound Priority: optional Maintainer: Arnaud Cornet -Build-Depends: debhelper (>> 7), cdbs, libmpd-dev (>= 0.18.0), gob2, libgtk2.0-dev, libglade2-dev, libglib2.0-dev, libcurl4-gnutls-dev, zlib1g-dev, intltool, libsoup2.4-dev, quilt, libsexy-dev +Build-Depends: debhelper (>> 7), libmpd-dev (>= 0.18.96), gob2, libgtk2.0-dev, libglade2-dev, libglib2.0-dev, libcurl4-gnutls-dev, zlib1g-dev, intltool, libsoup2.4-dev, quilt, libsexy-dev, libsqlite3-dev Standards-Version: 3.8.1 Homepage: http://gmpc.wikia.com/ @@ -10,6 +10,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Suggests: mpd, gmpc-plugins +Conflicts: gmpc-plugins(<< 0.18.96) Enhances: mpd Provides: mpd-client Description: Gnome Music Player Client (graphical interface to MPD) @@ -45,7 +46,7 @@ Package: gmpc-dev Architecture: any -Depends: gmpc (= ${binary:Version}), libmpd-dev (>= 0.18.0), pkg-config, ${misc:Depends} +Depends: gmpc (= ${binary:Version}), libmpd-dev (>= 0.18.96), pkg-config, ${misc:Depends} Description: Gnome Music Player Client (plugin development files) This package contains the necessary header files if you wish to compile plugins for gmpc. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/gmpc.install /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/gmpc.install --- gmpc-0.18.0/debian/gmpc.install 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/gmpc.install 2009-09-27 08:36:11.000000000 +0100 @@ -1,3 +1,2 @@ -../gmpc.xpm usr/share/pixmaps/ -usr/bin/gmpc +usr/bin/* usr/share/* diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/gmpc.manpages /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/gmpc.manpages --- gmpc-0.18.0/debian/gmpc.manpages 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/gmpc.manpages 2009-09-27 08:36:11.000000000 +0100 @@ -1 +1,2 @@ -debian/gmpc.1 +doc/gmpc.1 +doc/gmpc-remote.1 diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/patches/password-dialog.patch /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/patches/password-dialog.patch --- gmpc-0.18.0/debian/patches/password-dialog.patch 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/patches/password-dialog.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -Index: gmpc/glade/password-dialog.ui -=================================================================== ---- gmpc.orig/glade/password-dialog.ui 2009-05-31 15:06:58.000000000 +0200 -+++ gmpc/glade/password-dialog.ui 2009-05-31 15:07:01.000000000 +0200 -@@ -112,7 +112,6 @@ - - - -- ck_save_pass - cancelbutton2 - okbutton2 - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/patches/series /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/patches/series --- gmpc-0.18.0/debian/patches/series 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -password-dialog.patch diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/debian/rules /tmp/zoMIw2cTYT/gmpc-0.19.0/debian/rules --- gmpc-0.18.0/debian/rules 2009-09-27 08:36:10.000000000 +0100 +++ gmpc-0.19.0/debian/rules 2009-09-27 08:36:11.000000000 +0100 @@ -1,32 +1,30 @@ #!/usr/bin/make -f -DEB_BUILDDIR:=++build-dir -DEB_DH_INSTALL_ARGS:=--sourcedir=debian/tmp - -include /usr/share/cdbs/1/rules/patchsys-quilt.mk -include /usr/share/cdbs/1/class/autotools.mk -include /usr/share/cdbs/1/rules/debhelper.mk - SRC_NAME:=gmpc DEV_NAME:=gmpc-dev DEB_DH_STRIP_ARGS:=--dbg-package=$(SRC_NAME)-dbg -# remove almost empty NEWS file -binary-post-install/gmpc:: - rm debian/gmpc/usr/share/doc/gmpc/NEWS +%: + dh $@ -binary-post-install/gmpc-dev:: +override_dh_install: + mkdir -p debian/tmp/usr/share/pixmaps + cp debian/gmpc.xpm debian/tmp/usr/share/pixmaps + dh_install + +override_dh_installdocs: + dh_installdocs rm -rf debian/gmpc-dev/usr/share/doc/gmpc-dev ln -sf gmpc debian/gmpc-dev/usr/share/doc/gmpc-dev - -binary-post-install/gmpc-dbg:: rm -rf debian/gmpc-dbg/usr/share/doc/gmpc-dbg ln -sf gmpc debian/gmpc-dbg/usr/share/doc/gmpc-dbg +override_dh_strip: + dh_strip $(DEB_DH_STRIP_ARGS) -clean:: +override_dh_clean: + dh_clean rm -f intltool-extract intltool-merge intltool-update - rm -rf $(DEB_BUILDDIR) -configure/gmpc:: -# Touch-magic to prevent auto* from running. Executed after ./configure - touch -r Makefile.am configure.ac aclocal.m4 configure +#configure/gmpc:: +## Touch-magic to prevent auto* from running. Executed after ./configure +# touch -r Makefile.am configure.ac aclocal.m4 configure diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/depcomp /tmp/zoMIw2cTYT/gmpc-0.19.0/depcomp --- gmpc-0.18.0/depcomp 2009-01-01 17:29:33.000000000 +0000 +++ gmpc-0.19.0/depcomp 2009-09-21 11:15:59.000000000 +0100 @@ -1,7 +1,10 @@ #! /bin/sh - # depcomp - compile a program generating dependencies as side-effects -# Copyright 1999, 2000, 2003 Free Software Foundation, Inc. + +scriptversion=2007-03-29.01 + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,8 +18,8 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -25,22 +28,45 @@ # Originally written by Alexandre Oliva . +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi -# `libtool' can also be set to `yes' or `no'. - -if test -z "$depfile"; then - base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` - dir=`echo "$object" | sed 's,/.*$,/,'` - if test "$dir" = "$object"; then - dir= - fi - # FIXME: should be _deps on DOS. - depfile="$dir.deps/$base" -fi +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" @@ -66,7 +92,20 @@ ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -176,34 +215,39 @@ # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u "$@" -M fi stat=$? - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - if test $stat -eq 0; then : else - rm -f "$tmpdepfile" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then - outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -251,6 +295,46 @@ rm -f "$tmpdepfile" ;; +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -262,27 +346,43 @@ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then - tmpdepfile1="$dir.libs/$base.lo.d" - tmpdepfile2="$dir.libs/$base.d" + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else - tmpdepfile1="$dir$base.o.d" - tmpdepfile2="$dir$base.d" + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else - rm -f "$tmpdepfile1" "$tmpdepfile2" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - else - tmpdepfile="$tmpdepfile2" - fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. @@ -426,7 +526,8 @@ done "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" @@ -477,3 +578,12 @@ esac exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/doc/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/doc/Makefile.in --- gmpc-0.18.0/doc/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/doc/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,30 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = doc +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +68,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +79,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +95,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +114,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +126,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +153,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +207,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,45 +224,57 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ man_MANS = gmpc.1 gmpc-remote.1 EXTRA_DIST = $(man_MANS) -subdir = doc -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -NROFF = nroff -MANS = $(man_MANS) -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -man1dir = $(mandir)/man1 install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(man1dir) + test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ @@ -280,8 +283,8 @@ esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ @@ -290,8 +293,8 @@ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst"; \ - $(INSTALL_DATA) $$file $(DESTDIR)$(man1dir)/$$inst; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ done uninstall-man1: @$(NORMAL_UNINSTALL) @@ -311,8 +314,8 @@ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ - echo " rm -f $(DESTDIR)$(man1dir)/$$inst"; \ - rm -f $(DESTDIR)$(man1dir)/$$inst; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ done tags: TAGS TAGS: @@ -320,28 +323,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -355,9 +353,10 @@ check-am: all-am check: check-am all-am: Makefile $(MANS) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(man1dir) + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -377,7 +376,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -388,24 +387,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-man +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: install-man1 +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -424,19 +433,23 @@ ps-am: -uninstall-am: uninstall-info-am uninstall-man +uninstall-am: uninstall-man uninstall-man: uninstall-man1 +.MAKE: install-am install-strip + .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-exec install-exec-am install-info \ - install-info-am install-man install-man1 install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-info-am uninstall-man uninstall-man1 + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-man1 \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-man uninstall-man1 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/aboutdialog.ui /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/aboutdialog.ui --- gmpc-0.18.0/glade/aboutdialog.ui 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/aboutdialog.ui 2009-09-21 11:15:59.000000000 +0100 @@ -289,66 +289,6 @@ POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. Qball Cow <qball@sarine.nl> diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/Makefile.in --- gmpc-0.18.0/glade/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/glade/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,35 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = glade +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(appgladedir)" +appgladeDATA_INSTALL = $(INSTALL_DATA) +DATA = $(appglade_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +74,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +85,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +101,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +120,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +132,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +159,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +213,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,10 +230,14 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ appgladedir = $(datadir)/gmpc/ appglade_DATA = \ aboutdialog.ui\ @@ -254,52 +255,61 @@ playlist-message-window.ui\ playlist3.glade - EXTRA_DIST = ${appglade_DATA} -subdir = glade -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(appglade_DATA) - -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glade/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu glade/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -appgladeDATA_INSTALL = $(INSTALL_DATA) install-appgladeDATA: $(appglade_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(appgladedir) + test -z "$(appgladedir)" || $(MKDIR_P) "$(DESTDIR)$(appgladedir)" @list='$(appglade_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(appgladeDATA_INSTALL) $$d$$p $(DESTDIR)$(appgladedir)/$$f"; \ - $(appgladeDATA_INSTALL) $$d$$p $(DESTDIR)$(appgladedir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(appgladeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appgladedir)/$$f'"; \ + $(appgladeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appgladedir)/$$f"; \ done uninstall-appgladeDATA: @$(NORMAL_UNINSTALL) @list='$(appglade_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(appgladedir)/$$f"; \ - rm -f $(DESTDIR)$(appgladedir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appgladedir)/$$f'"; \ + rm -f "$(DESTDIR)$(appgladedir)/$$f"; \ done tags: TAGS TAGS: @@ -307,28 +317,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -342,9 +347,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(appgladedir) + for dir in "$(DESTDIR)$(appgladedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -364,7 +370,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -375,24 +381,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-appgladeDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -411,17 +427,21 @@ ps-am: -uninstall-am: uninstall-appgladeDATA uninstall-info-am +uninstall-am: uninstall-appgladeDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-appgladeDATA \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-appgladeDATA uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-appgladeDATA install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-appgladeDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/playlist3.glade /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/playlist3.glade --- gmpc-0.18.0/glade/playlist3.glade 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/playlist3.glade 2009-09-21 11:15:59.000000000 +0100 @@ -123,7 +123,7 @@ True - _Server + Se_rver True @@ -239,6 +239,22 @@ + + + True + Single mode + True + + + + + + True + Consume + True + + + @@ -315,6 +331,14 @@ + + True + _Tools + True + False + + + True _Go @@ -377,6 +401,34 @@ + + True + Bug information + True + + + + True + gtk-info + + + + + + + True + Easy Command Help + True + + + + True + gtk-help + + + + + True @@ -551,7 +603,8 @@ - + 6 + True 3 @@ -599,15 +652,58 @@ + + + 4 + 0 + 0 + True + + + 6 + + + True + + + + + + + False + + + + + + 4 + 0 + 0 + True + + + True + True + + + + + + + + False + + + True True - 3 + 0 200 True - 3 + 0 6 @@ -638,35 +734,9 @@ True - 3 + 0 3 - - 6 - - - True - - - - - False - - - - - True - True - - - - - - False - 1 - - - True @@ -681,36 +751,22 @@ True True - + - 2 + 6 - 1 + 4 True - - True - MPD database is updating. - - - gtk-refresh - - - - - False - - - 0.10000000149 @@ -741,13 +797,35 @@ - 300 + False True 4 + + + True + 6 + + + True + False + 5 + + + + + True + 24 + + + 6 + True + False + + False diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/preferences-connection.ui /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/preferences-connection.ui --- gmpc-0.18.0/glade/preferences-connection.ui 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/preferences-connection.ui 2009-09-21 11:15:59.000000000 +0100 @@ -202,7 +202,7 @@ True 6 - 6 + 7 2 6 6 @@ -344,6 +344,35 @@ + + True + 1 + Music Directory: + + + 5 + 6 + GTK_FILL + + + + + + + True + True + 255 + + + + 1 + 2 + 5 + 6 + + + + True @@ -387,8 +416,8 @@ 1 2 - 5 - 6 + 6 + 7 GTK_FILL diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/preferences-mmkeys.ui /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/preferences-mmkeys.ui --- gmpc-0.18.0/glade/preferences-mmkeys.ui 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/preferences-mmkeys.ui 2009-09-21 11:15:59.000000000 +0100 @@ -1,15 +1,16 @@ - + True + 6 True True - GTK_POLICY_AUTOMATIC - GTK_POLICY_AUTOMATIC - GTK_SHADOW_IN + automatic + automatic + in True @@ -17,6 +18,20 @@ + + 0 + + + + + True + 0 + To disable a keybinding edit it and press 'backspace' + + + False + 1 + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/preferences-playlist.ui /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/preferences-playlist.ui --- gmpc-0.18.0/glade/preferences-playlist.ui 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/preferences-playlist.ui 2009-09-21 11:15:59.000000000 +0100 @@ -157,52 +157,5 @@ 1 - - - True - 0 - GTK_SHADOW_NONE - - - True - 12 - - - True - 12 - 6 - - - True - 0 - 0 - - - True - True - Edit _Browser Markup - True - - - - - - - - - - - - True - <b>Song Markup</b> - True - - - - - False - 2 - - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/glade/preferences-trayicon.ui /tmp/zoMIw2cTYT/gmpc-0.19.0/glade/preferences-trayicon.ui --- gmpc-0.18.0/glade/preferences-trayicon.ui 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/glade/preferences-trayicon.ui 2009-09-21 11:15:59.000000000 +0100 @@ -70,7 +70,7 @@ True True - Enable + Show on song change True True diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/install-sh /tmp/zoMIw2cTYT/gmpc-0.19.0/install-sh --- gmpc-0.18.0/install-sh 2009-01-01 17:29:33.000000000 +0000 +++ gmpc-0.19.0/install-sh 2009-09-21 11:15:59.000000000 +0100 @@ -1,7 +1,8 @@ #!/bin/sh -# # install - install a program, script, or datafile -# + +scriptversion=2006-12-25.00 + # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. @@ -38,257 +39,481 @@ # when there is no Makefile. # # This script is compatible with the BSD install script, but was written -# from scratch. It can only install one file at a time, a restriction -# shared with many OS's install programs. +# from scratch. +nl=' +' +IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. -doit="${DOITPROG-}" - +doit=${DOITPROG-} +if test -z "$doit"; then + doit_exec=exec +else + doit_exec=$doit +fi -# put in absolute paths if you don't have them in your path; or use env. vars. +# Put in absolute file names if you don't have them in your path; +# or use environment vars. -mvprog="${MVPROG-mv}" -cpprog="${CPPROG-cp}" -chmodprog="${CHMODPROG-chmod}" -chownprog="${CHOWNPROG-chown}" -chgrpprog="${CHGRPPROG-chgrp}" -stripprog="${STRIPPROG-strip}" -rmprog="${RMPROG-rm}" -mkdirprog="${MKDIRPROG-mkdir}" - -transformbasename="" -transform_arg="" -instcmd="$mvprog" -chmodcmd="$chmodprog 0755" -chowncmd="" -chgrpcmd="" -stripcmd="" +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_glob='?' +initialize_posix_glob=' + test "$posix_glob" != "?" || { + if (set -f) 2>/dev/null; then + posix_glob= + else + posix_glob=: + fi + } +' + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog rmcmd="$rmprog -f" -mvcmd="$mvprog" -src="" -dst="" -dir_arg="" - -while [ x"$1" != x ]; do - case $1 in - -c) instcmd=$cpprog - shift - continue;; - - -d) dir_arg=true - shift - continue;; - - -m) chmodcmd="$chmodprog $2" - shift - shift - continue;; - - -o) chowncmd="$chownprog $2" - shift - shift - continue;; - - -g) chgrpcmd="$chgrpprog $2" - shift - shift - continue;; - - -s) stripcmd=$stripprog - shift - continue;; - - -t=*) transformarg=`echo $1 | sed 's/-t=//'` - shift - continue;; - - -b=*) transformbasename=`echo $1 | sed 's/-b=//'` - shift - continue;; +stripcmd= - *) if [ x"$src" = x ] - then - src=$1 - else - # this colon is to work around a 386BSD /bin/sh bug - : - dst=$1 - fi - shift - continue;; - esac -done +src= +dst= +dir_arg= +dst_arg= -if [ x"$src" = x ] -then - echo "$0: no input file specified" >&2 - exit 1 -else - : -fi +copy_on_change=false +no_target_directory= -if [ x"$dir_arg" != x ]; then - dst=$src - src="" - - if [ -d "$dst" ]; then - instcmd=: - chmodcmd="" - else - instcmd=$mkdirprog - fi -else +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... -# Waiting for this to be detected by the "$instcmd $src $dsttmp" command -# might cause directories to be created, which would be especially bad -# if $src (and thus $dsttmp) contains '*'. - - if [ -f "$src" ] || [ -d "$src" ] - then - : - else - echo "$0: $src does not exist" >&2 - exit 1 - fi +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. - if [ x"$dst" = x ] - then - echo "$0: no destination specified" >&2 - exit 1 - else - : - fi +Options: + --help display this help and exit. + --version display version info and exit. -# If destination is a directory, append the input filename; if your system -# does not like double slashes in filenames, you may need to add some logic + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. - if [ -d "$dst" ] - then - dst=$dst/`basename "$src"` - else - : - fi -fi +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" -## this sed command emulates the dirname command -dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` +while test $# -ne 0; do + case $1 in + -c) ;; -# Make sure that the destination directory exists. -# this part is taken from Noah Friedman's mkinstalldirs script + -C) copy_on_change=true;; -# Skip lots of stat calls in the usual case. -if [ ! -d "$dstdir" ]; then -defaultIFS=' - ' -IFS="${IFS-$defaultIFS}" - -oIFS=$IFS -# Some sh's can't handle IFS=/ for some reason. -IFS='%' -set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS=$oIFS - -pathcomp='' - -while [ $# -ne 0 ] ; do - pathcomp=$pathcomp$1 - shift - - if [ ! -d "$pathcomp" ] ; - then - $mkdirprog "$pathcomp" - else - : - fi + -d) dir_arg=true;; - pathcomp=$pathcomp/ -done -fi + -g) chgrpcmd="$chgrpprog $2" + shift;; -if [ x"$dir_arg" != x ] -then - $doit $instcmd "$dst" && - - if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi -else + --help) echo "$usage"; exit $?;; -# If we're going to rename the final executable, determine the name now. + -m) mode=$2 + case $mode in + *' '* | *' '* | *' +'* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; - if [ x"$transformarg" = x ] - then - dstfile=`basename "$dst"` - else - dstfile=`basename "$dst" $transformbasename | - sed $transformarg`$transformbasename - fi + -o) chowncmd="$chownprog $2" + shift;; -# don't allow the sed command to completely eliminate the filename + -s) stripcmd=$stripprog;; - if [ x"$dstfile" = x ] - then - dstfile=`basename "$dst"` - else - : - fi + -t) dst_arg=$2 + shift;; -# Make a couple of temp file names in the proper directory. + -T) no_target_directory=true;; - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ + --version) echo "$0 $scriptversion"; exit $?;; -# Trap to clean up temp files at exit. + --) shift + break;; - trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 - trap '(exit $?); exit' 1 2 13 15 + -*) echo "$0: invalid option: $1" >&2 + exit 1;; -# Move or copy the file name to the temp name + *) break;; + esac + shift +done - $doit $instcmd "$src" "$dsttmp" && +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + done +fi -# and set any options; do chmod last to preserve setuid bits +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi -# If any of these fail, we abort the whole thing. If we want to -# ignore errors from any of these, just make sure not to ignore -# errors from the above "$doit $instcmd $src $dsttmp" command. +if test -z "$dir_arg"; then + trap '(exit $?); exit' 1 2 13 15 - if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi -# Now remove or move aside any old file at destination location. We try this -# two ways since rm can't unlink itself on some systems and the destination -# file might be busy for other reasons. In this case, the final cleanup -# might fail but the new file should still install successfully. +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dst_arg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst;; + esac -{ - if [ -f "$dstdir/$dstfile" ] - then - $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || - $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || - { - echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 - (exit 1); exit - } + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + # Prefer dirname, but fall back on a substitute if dirname fails. + dstdir=` + (dirname "$dst") 2>/dev/null || + expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$dst" : 'X\(//\)[^/]' \| \ + X"$dst" : 'X\(//\)$' \| \ + X"$dst" : 'X\(/\)' \| . 2>/dev/null || + echo X"$dst" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q' + ` + + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode else - : + mkdir_mode= fi -} && -# Now rename the file to the real destination. + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 + + if (umask $mkdir_umask && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writeable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + ls_ld_tmpdir=`ls -ld "$tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/d" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null + fi + trap '' 0;; + esac;; + esac - $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + -*) prefix='./';; + *) prefix='';; + esac + + eval "$initialize_posix_glob" + + oIFS=$IFS + IFS=/ + $posix_glob set -f + set fnord $dstdir + shift + $posix_glob set +f + IFS=$oIFS + + prefixes= + + for d + do + test -z "$d" && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done -fi && + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + + eval "$initialize_posix_glob" && + $posix_glob set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + $posix_glob set +f && + + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 -# The final little trick to "correctly" pass the exit status to the exit trap. + trap '' 0 + fi +done -{ - (exit 0); exit -} +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/ltmain.sh /tmp/zoMIw2cTYT/gmpc-0.19.0/ltmain.sh --- gmpc-0.18.0/ltmain.sh 2009-01-01 09:11:00.000000000 +0000 +++ gmpc-0.19.0/ltmain.sh 2009-09-21 11:15:59.000000000 +0100 @@ -65,7 +65,7 @@ # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.2.6 +# $progname: (GNU libtool) 2.2.6 Debian-2.2.6a-1ubuntu1 # automake: $automake_version # autoconf: $autoconf_version # @@ -73,7 +73,7 @@ PROGRAM=ltmain.sh PACKAGE=libtool -VERSION=2.2.6 +VERSION="2.2.6 Debian-2.2.6a-1ubuntu1" TIMESTAMP="" package_revision=1.3012 @@ -116,15 +116,15 @@ : ${CP="cp -f"} : ${ECHO="echo"} -: ${EGREP="/usr/bin/grep -E"} -: ${FGREP="/usr/bin/grep -F"} -: ${GREP="/usr/bin/grep"} +: ${EGREP="/bin/grep -E"} +: ${FGREP="/bin/grep -F"} +: ${GREP="/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} -: ${SED="/opt/local/bin/gsed"} +: ${SED="/bin/sed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} @@ -570,13 +570,6 @@ # Restart under the correct shell, and then maybe $ECHO will work. exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi -# Same for EGREP, and just to be sure, do LTCC as well -if test "x$EGREP" = x ; then - EGREP=egrep -fi -if test "x$LTCC" = x ; then - LTCC=${CC-gcc} -fi if test "X$1" = X--fallback-echo; then # used as fallback echo @@ -5040,7 +5033,10 @@ case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then @@ -6213,6 +6209,9 @@ revision="$number_minor" lt_irix_increment=no ;; + *) + func_fatal_configuration "$modename: unknown library version type \`$version_type'" + ;; esac ;; no) @@ -8066,53 +8065,9 @@ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" - if test "x$EGREP" = x ; then - EGREP=egrep - fi - # We do not want portage's install root ($D) present. Check only for - # this if the .la is being installed. - if test "$installed" = yes && test "$D"; then - eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$libdir/$name" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_1"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi - ;; - *) - if test "$installed" = yes; then - # Rather use S=WORKDIR if our version of portage supports it. - # This is because some ebuild (gcc) do not use $S as buildroot. - if test "$PWORKDIR"; then - S="$PWORKDIR" - fi - # We do not want portage's build root ($S) present. - my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` - # We do not want portage's install root ($D) present. - my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` - if test -n "$my_little_ninja_foo_2" && test "$S"; then - mynewdependency_lib="" - elif test -n "$my_little_ninja_foo_3" && test "$D"; then - eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - else - mynewdependency_lib="$deplib" - fi - else - mynewdependency_lib="$deplib" - fi - # Do not add duplicates - if test "$mynewdependency_lib"; then - my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` - if test -z "$my_little_ninja_foo_4"; then - newdependency_libs="$newdependency_libs $mynewdependency_lib" - fi - fi + newdependency_libs="$newdependency_libs $libdir/$name" ;; + *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" @@ -8176,10 +8131,6 @@ case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac - # Do not add duplicates - if test "$installed" = yes && test "$D"; then - install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` - fi $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/gob2.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/gob2.m4 --- gmpc-0.18.0/m4/gob2.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/gob2.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,58 @@ +dnl +dnl GOB_HOOK(script if found, fail) +dnl if fail = "failure", abort if GOB not found +dnl + + +AC_DEFUN([GOB2_HOOK],[ + AC_PATH_PROG(GOB2,gob2) + if test ! x$GOB2 = x; then + if test ! x$1 = x; then + AC_MSG_CHECKING(for gob-2 >= $1) + g_r_ve=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + g_r_ma=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + g_r_mi=`echo $1|sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + g_ve=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` + g_ma=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` + g_mi=`$GOB2 --version 2>&1|sed 's/Gob version \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` + + if test $g_ve -eq $g_r_ve; then + if test $g_ma -ge $g_r_ma; then + if test $g_mi -ge $g_r_mi; then + AC_MSG_RESULT(ok) + else + if test $g_ma -gt $g_r_ma; then + AC_MSG_RESULT(ok) + else + AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") + fi + fi + else + AC_MSG_ERROR("found $g_ve.$g_ma.$g_mi requires $g_r_ve.$g_r_ma.$g_r_mi") + fi + else + if test $g_ve -gt $g_r_ve; then + AC_MSG_RESULT(ok) + else + AC_MSG_ERROR(major version $g_ve found but $g_r_ve required) + fi + fi + + unset gob_version + unset g_ve + unset g_ma + unset g_mi + unset g_r_ve + unset g_r_ma + unset g_r_mi + fi + AC_SUBST(GOB2) + $2 + else + $3 + fi +]) + +AC_DEFUN([GOB2_CHECK],[ + GOB2_HOOK($1,[],[AC_MSG_WARN([Cannot find GOB-2, check http://www.5z.com/jirka/gob.html])]) +]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/intltool.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/intltool.m4 --- gmpc-0.18.0/m4/intltool.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/intltool.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,216 @@ +## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- +## Copyright (C) 2001 Eazel, Inc. +## Author: Maciej Stachowiak +## Kenneth Christiansen +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, write to the Free Software +## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +## +## As a special exception to the GNU General Public License, if you +## distribute this file as part of a program that contains a +## configuration script generated by Autoconf, you may include it under +## the same distribution terms that you use for the rest of that program. + +dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) +# serial 40 IT_PROG_INTLTOOL +AC_DEFUN([IT_PROG_INTLTOOL], [ +AC_PREREQ([2.50])dnl +AC_REQUIRE([AM_NLS])dnl + +case "$am__api_version" in + 1.[01234]) + AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) + ;; + *) + ;; +esac + +if test -n "$1"; then + AC_MSG_CHECKING([for intltool >= $1]) + + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` + [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` + ] + AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) + test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || + AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) +fi + +AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) +AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) +AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) +if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then + AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) +fi + + INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@' + INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' +INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' + INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' + +_IT_SUBST(INTLTOOL_DESKTOP_RULE) +_IT_SUBST(INTLTOOL_DIRECTORY_RULE) +_IT_SUBST(INTLTOOL_KEYS_RULE) +_IT_SUBST(INTLTOOL_PROP_RULE) +_IT_SUBST(INTLTOOL_OAF_RULE) +_IT_SUBST(INTLTOOL_PONG_RULE) +_IT_SUBST(INTLTOOL_SERVER_RULE) +_IT_SUBST(INTLTOOL_SHEET_RULE) +_IT_SUBST(INTLTOOL_SOUNDLIST_RULE) +_IT_SUBST(INTLTOOL_UI_RULE) +_IT_SUBST(INTLTOOL_XAM_RULE) +_IT_SUBST(INTLTOOL_KBD_RULE) +_IT_SUBST(INTLTOOL_XML_RULE) +_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) +_IT_SUBST(INTLTOOL_CAVES_RULE) +_IT_SUBST(INTLTOOL_SCHEMAS_RULE) +_IT_SUBST(INTLTOOL_THEME_RULE) +_IT_SUBST(INTLTOOL_SERVICE_RULE) +_IT_SUBST(INTLTOOL_POLICY_RULE) + +# Check the gettext tools to make sure they are GNU +AC_PATH_PROG(XGETTEXT, xgettext) +AC_PATH_PROG(MSGMERGE, msgmerge) +AC_PATH_PROG(MSGFMT, msgfmt) +AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) +if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi +xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" +mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" +mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" +if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then + AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) +fi + +AC_PATH_PROG(INTLTOOL_PERL, perl) +if test -z "$INTLTOOL_PERL"; then + AC_MSG_ERROR([perl not found]) +fi +AC_MSG_CHECKING([for perl >= 5.8.1]) +$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 +if test $? -ne 0; then + AC_MSG_ERROR([perl 5.8.1 is required for intltool]) +else + IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`" + AC_MSG_RESULT([$IT_PERL_VERSION]) +fi +if test "x$2" != "xno-xml"; then + AC_MSG_CHECKING([for XML::Parser]) + if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then + AC_MSG_RESULT([ok]) + else + AC_MSG_ERROR([XML::Parser perl module is required for intltool]) + fi +fi + +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + +# Set DATADIRNAME correctly if it is not set yet +# (copied from glib-gettext.m4) +if test -z "$DATADIRNAME"; then + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[]], + [[extern int _nl_msg_cat_cntr; + return _nl_msg_cat_cntr]])], + [DATADIRNAME=share], + [case $host in + *-*-solaris*) + dnl On Solaris, if bind_textdomain_codeset is in libc, + dnl GNU format message catalog is always supported, + dnl since both are added to the libc all together. + dnl Hence, we'd like to go with DATADIRNAME=share + dnl in this case. + AC_CHECK_FUNC(bind_textdomain_codeset, + [DATADIRNAME=share], [DATADIRNAME=lib]) + ;; + *) + [DATADIRNAME=lib] + ;; + esac]) +fi +AC_SUBST(DATADIRNAME) + +IT_PO_SUBDIR([po]) + +]) + + +# IT_PO_SUBDIR(DIRNAME) +# --------------------- +# All po subdirs have to be declared with this macro; the subdir "po" is +# declared by IT_PROG_INTLTOOL. +# +AC_DEFUN([IT_PO_SUBDIR], +[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. +dnl +dnl The following CONFIG_COMMANDS should be exetuted at the very end +dnl of config.status. +AC_CONFIG_COMMANDS_PRE([ + AC_CONFIG_COMMANDS([$1/stamp-it], [ + if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then + AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) + fi + rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" + >"$1/stamp-it.tmp" + [sed '/^#/d + s/^[[].*] *// + /^[ ]*$/d + '"s|^| $ac_top_srcdir/|" \ + "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" + ] + [sed '/^POTFILES =/,/[^\\]$/ { + /^POTFILES =/!d + r $1/POTFILES + } + ' "$1/Makefile.in" >"$1/Makefile"] + rm -f "$1/Makefile.tmp" + mv "$1/stamp-it.tmp" "$1/stamp-it" + ]) +])dnl +]) + +# _IT_SUBST(VARIABLE) +# ------------------- +# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST +# +AC_DEFUN([_IT_SUBST], +[ +AC_SUBST([$1]) +m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) +] +) + +# deprecated macros +AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) +# A hint is needed for aclocal from Automake <= 1.9.4: +# AC_DEFUN([AC_PROG_INTLTOOL], ...) + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/libtool.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/libtool.m4 --- gmpc-0.18.0/m4/libtool.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/libtool.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,7373 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 56 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl +_LT_PROG_ECHO_BACKSLASH + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Sed substitution that helps us do robust quoting. It backslashifies +# metacharacters that are still active within double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Fix-up fallback echo if it was mangled by the above quoting rules. +case \$lt_ECHO in +*'\\\[$]0 --fallback-echo"')dnl " + lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` + ;; +esac + +_LT_OUTPUT_LIBTOOL_INIT +]) + + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +cat >"$CONFIG_LT" <<_LTEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate a libtool stub with the current configuration. + +lt_cl_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AS_SHELL_SANITIZE +_AS_PREPARE + +exec AS_MESSAGE_FD>&1 +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2008 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +if test "$no_create" != yes; then + lt_cl_success=: + test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" + exec AS_MESSAGE_LOG_FD>/dev/null + $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false + exec AS_MESSAGE_LOG_FD>>config.log + $lt_cl_success || AS_EXIT(1) +fi +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_XSI_SHELLFNS + + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES +# -------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=echo + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX +# ----------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\(.*\)$/\1/ + p + } + }' +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +# Check for a 64-bit object if we didn't find anything. +if test -z "$aix_libpath"; then + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +fi],[]) +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[ifdef([AC_DIVERSION_NOTICE], + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], + [AC_DIVERT_PUSH(NOTICE)]) +$1 +AC_DIVERT_POP +])# _LT_SHELL_INIT + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Add some code to the start of the generated configure script which +# will find an echo command which doesn't interpret backslashes. +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[_LT_SHELL_INIT([ +# Check that we are running under the correct shell. +SHELL=${CONFIG_SHELL-/bin/sh} + +case X$lt_ECHO in +X*--fallback-echo) + # Remove one level of quotation (which was required for Make). + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` + ;; +esac + +ECHO=${lt_ECHO-echo} +if test "X[$]1" = X--no-reexec; then + # Discard the --no-reexec flag, and continue. + shift +elif test "X[$]1" = X--fallback-echo; then + # Avoid inline document here, it may be left over + : +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then + # Yippee, $ECHO works! + : +else + # Restart under the correct shell. + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +fi + +if test "X[$]1" = X--fallback-echo; then + # used as fallback echo + shift + cat <<_LT_EOF +[$]* +_LT_EOF + exit 0 +fi + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test -z "$lt_ECHO"; then + if test "X${echo_test_string+set}" != Xset; then + # find a string as large as possible, as long as the shell can cope with it + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... + if { echo_test_string=`eval $cmd`; } 2>/dev/null && + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null + then + break + fi + done + fi + + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + : + else + # The Solaris, AIX, and Digital Unix default echo programs unquote + # backslashes. This makes it impossible to quote backslashes using + # echo "$something" | sed 's/\\/\\\\/g' + # + # So, first we look for a working echo in the user's PATH. + + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for dir in $PATH /usr/ucb; do + IFS="$lt_save_ifs" + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$dir/echo" + break + fi + done + IFS="$lt_save_ifs" + + if test "X$ECHO" = Xecho; then + # We didn't find a better echo, so look for alternatives. + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # This shell has a builtin print -r that does the trick. + ECHO='print -r' + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && + test "X$CONFIG_SHELL" != X/bin/ksh; then + # If we have ksh, try running configure again with it. + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} + export ORIGINAL_CONFIG_SHELL + CONFIG_SHELL=/bin/ksh + export CONFIG_SHELL + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} + else + # Try using printf. + ECHO='printf %s\n' + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + # Cool, printf works + : + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL + export CONFIG_SHELL + SHELL="$CONFIG_SHELL" + export SHELL + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && + test "X$echo_testing_string" = 'X\t' && + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && + test "X$echo_testing_string" = "X$echo_test_string"; then + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" + else + # maybe with a smaller string... + prev=: + + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null + then + break + fi + prev="$cmd" + done + + if test "$prev" != 'sed 50q "[$]0"'; then + echo_test_string=`eval $prev` + export echo_test_string + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} + else + # Oops. We lost completely, so just stick with echo. + ECHO=echo + fi + fi + fi + fi + fi +fi + +# Copy echo and quote the copy suitably for passing to libtool from +# the Makefile, instead of quoting the original, which is used later. +lt_ECHO=$ECHO +if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then + lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +fi + +AC_SUBST(lt_ECHO) +]) +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], + [An echo program that does not interpret backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line __oline__ "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[AC_CHECK_TOOL(AR, ar, false) +test -z "$AR" && AR=ar +test -z "$AR_FLAGS" && AR_FLAGS=cru +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1]) + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +fi +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ + = "XX$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line __oline__ "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +void fnord() { int i=42;} +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` + else + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$host_os in + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH printed by + # mingw gcc, but we are running on Cygwin. Gcc prints its search + # path with ; separators, and with drive letters. We can handle the + # drive letters (cygwin fileutils understands them), so leave them, + # especially as we might pass files found there to a mingw objdump, + # which wouldn't understand a cygwinified path. Ahh. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + ;; + + *) + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + ;; + esac + dynamic_linker='Win32 ld.exe' + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd1*) + dynamic_linker=no + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[123]]*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555. + postinstall_cmds='chmod 555 $lib' + ;; + +interix[[3-9]]*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + # Some binutils ld are patched to set DT_RUNPATH + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be Linux ELF. +linux* | k*bsd*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method == "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +const struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_save_LIBS="$LIBS" + lt_save_CFLAGS="$CFLAGS" + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS="$lt_save_LIBS" + CFLAGS="$lt_save_CFLAGS" + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +AC_MSG_CHECKING([for $compiler option to produce PIC]) +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC*) + # IBM XL 8.0 on PPC + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + pgcc* | pgf77* | pgf90* | pgf95*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl*) + # IBM XL C 8.0/Fortran 10.1 on PPC + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Sun\ F*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac +AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + ;; + linux* | k*bsd*-gnu) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + if test "$with_gnu_ld" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.9.1, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to modify your PATH +*** so that a non-GNU linker is found, and then restart. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag= + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + freebsd1*) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE(int foo(void) {}, + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + ) + LDFLAGS="$save_LDFLAGS" + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], + [[If ld is used when linking, flag to hardcode $libdir into a binary + during linking. This must work even if $libdir does not exist]]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [fix_srcfile_path], [1], + [Fix the shell variable $srcfile for the compiler]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_PROG_CXX +# ------------ +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +# compiler, we have our own version here. +m4_defun([_LT_PROG_CXX], +[ +pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +AC_PROG_CXX +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_CXX + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_CXX], []) + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[AC_REQUIRE([_LT_PROG_CXX])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd[[12]]*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 will use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + xl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=echo + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='echo' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +]) +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + else + prev= + fi + + if test "$pre_test_object_deps_done" = no; then + case $p in + -L* | -R*) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + ;; + + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_PROG_F77 +# ------------ +# Since AC_PROG_F77 is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_F77], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +AC_PROG_F77 +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_F77 + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_F77], []) + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_REQUIRE([_LT_PROG_F77])dnl +AC_LANG_PUSH(Fortran 77) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${F77-"f77"} + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_PROG_FC +# ----------- +# Since AC_PROG_FC is broken, in that it returns the empty string +# if there is no fortran compiler, we have our own version here. +m4_defun([_LT_PROG_FC], +[ +pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +AC_PROG_FC +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi +popdef([AC_MSG_ERROR]) +])# _LT_PROG_FC + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([_LT_PROG_FC], []) + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_REQUIRE([_LT_PROG_FC])dnl +AC_LANG_PUSH(Fortran) + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + CC=${FC-"f95"} + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC="$lt_save_CC" +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC="$lt_save_CC" +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_XSI_SHELLFNS +# --------------------- +# Bourne and XSI compatible variants of some useful shell functions. +m4_defun([_LT_PROG_XSI_SHELLFNS], +[case $xsi_shell in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac +} + +# func_basename file +func_basename () +{ + func_basename_result="${1##*/}" +} + +# func_dirname_and_basename file append nondir_replacement +# perform func_basename and func_dirname in a single function +# call: +# dirname: Compute the dirname of FILE. If nonempty, +# add APPEND to the result, otherwise set result +# to NONDIR_REPLACEMENT. +# value returned in "$func_dirname_result" +# basename: Compute filename of FILE. +# value retuned in "$func_basename_result" +# Implementation must be kept synchronized with func_dirname +# and func_basename. For efficiency, we do not delegate to +# those functions but instead duplicate the functionality here. +func_dirname_and_basename () +{ + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}" +} + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +func_stripname () +{ + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"} +} + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=${1%%=*} + func_opt_split_arg=${1#*=} +} + +# func_lo2o object +func_lo2o () +{ + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=${1%.*}.lo +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=$(( $[*] )) +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=${#1} +} + +_LT_EOF + ;; + *) # Bourne compatible functions. + cat << \_LT_EOF >> "$cfgfile" + +# func_dirname file append nondir_replacement +# Compute the dirname of FILE. If nonempty, add APPEND to the result, +# otherwise set result to NONDIR_REPLACEMENT. +func_dirname () +{ + # Extract subdirectory from the argument. + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` + if test "X$func_dirname_result" = "X${1}"; then + func_dirname_result="${3}" + else + func_dirname_result="$func_dirname_result${2}" + fi +} + +# func_basename file +func_basename () +{ + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +} + +dnl func_dirname_and_basename +dnl A portable version of this function is already defined in general.m4sh +dnl so there is no need for it here. + +# func_stripname prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# func_strip_suffix prefix name +func_stripname () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "X${3}" \ + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; + esac +} + +# sed scripts: +my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +my_sed_long_arg='1s/^-[[^=]]*=//' + +# func_opt_split +func_opt_split () +{ + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +} + +# func_lo2o object +func_lo2o () +{ + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +} + +# func_xform libobj-or-source +func_xform () +{ + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +} + +# func_arith arithmetic-term... +func_arith () +{ + func_arith_result=`expr "$[@]"` +} + +# func_len string +# STRING may not start with a hyphen. +func_len () +{ + func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +} + +_LT_EOF +esac + +case $lt_shell_append in + yes) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]+=\$[2]" +} +_LT_EOF + ;; + *) + cat << \_LT_EOF >> "$cfgfile" + +# func_append var value +# Append VALUE to the end of shell variable VAR. +func_append () +{ + eval "$[1]=\$$[1]\$[2]" +} + +_LT_EOF + ;; + esac +]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/lt~obsolete.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/lt~obsolete.m4 --- gmpc-0.18.0/m4/lt~obsolete.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/lt~obsolete.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,92 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 4 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/ltoptions.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/ltoptions.m4 --- gmpc-0.18.0/m4/ltoptions.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/ltoptions.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,368 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [0], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [pic_mode="$withval"], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/ltsugar.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/ltsugar.m4 --- gmpc-0.18.0/m4/ltsugar.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/ltsugar.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/m4/ltversion.m4 /tmp/zoMIw2cTYT/gmpc-0.19.0/m4/ltversion.m4 --- gmpc-0.18.0/m4/ltversion.m4 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/m4/ltversion.m4 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# Generated from ltversion.in. + +# serial 3012 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.2.6]) +m4_define([LT_PACKAGE_REVISION], [1.3012]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.2.6' +macro_revision='1.3012' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/Makefile.am --- gmpc-0.18.0/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1,6 +1,7 @@ AUTOMAKE_OPTIONS = foreign 1.7 -SUBDIRS = src pixmaps glade data po pixmaps doc +SUBDIRS = src pixmaps glade data po pixmaps doc test + #else #SUBDIRS = src pixmaps glade data po pixmaps doc remote #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/Makefile.in --- gmpc-0.18.0/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = . - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,12 +29,60 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ + +#else +#SUBDIRS = src pixmaps glade data po pixmaps doc remote +#endif @WIN32_FALSE@am__append_1 = remote +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(srcdir)/shave-libtool.in $(srcdir)/shave.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog NEWS TODO \ + compile config.guess config.sub depcomp install-sh ltmain.sh \ + missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = shave shave-libtool +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = src pixmaps glade data po doc test remote +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -56,7 +98,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -68,12 +109,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -85,39 +125,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -126,10 +144,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -138,8 +156,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -167,25 +183,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -220,12 +237,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -234,82 +254,82 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = foreign 1.7 - -SUBDIRS = src pixmaps glade data po pixmaps doc $(am__append_1) - +SUBDIRS = src pixmaps glade data po pixmaps doc test $(am__append_1) @INTLTOOL_HIGHER_04000_FALSE@EXTRA_DIST = intltool-extract.in\ @INTLTOOL_HIGHER_04000_FALSE@ intltool-update.in\ @INTLTOOL_HIGHER_04000_FALSE@ intltool-merge.in - @INTLTOOL_HIGHER_04000_FALSE@DISTCLEANFILES = \ @INTLTOOL_HIGHER_04000_FALSE@ intltool-update\ @INTLTOOL_HIGHER_04000_FALSE@ intltool-extract\ @INTLTOOL_HIGHER_04000_FALSE@ intltool-merge -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = shave shave-libtool -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = README $(srcdir)/Makefile.in $(srcdir)/configure AUTHORS \ - COPYING ChangeLog Makefile.am NEWS TODO acinclude.m4 aclocal.m4 \ - config.guess config.h.in config.sub configure.ac depcomp \ - install-sh ltmain.sh missing mkinstalldirs shave-libtool.in \ - shave.in -DIST_SUBDIRS = src pixmaps glade data po doc remote all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: - -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +am--refresh: + @: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ + cd $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; -$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck -$(srcdir)/configure: $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) - cd $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): configure.ac acinclude.m4 +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ - $(MAKE) stamp-h1; \ + $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h - -$(srcdir)/config.h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) - touch $(srcdir)/config.h.in + rm -f stamp-h1 + touch $@ distclean-hdr: -rm -f config.h stamp-h1 -shave: $(top_builddir)/config.status shave.in +shave: $(top_builddir)/config.status $(srcdir)/shave.in cd $(top_builddir) && $(SHELL) ./config.status $@ -shave-libtool: $(top_builddir)/config.status shave-libtool.in +shave-libtool: $(top_builddir)/config.status $(srcdir)/shave-libtool.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: @@ -319,8 +339,7 @@ -rm -rf .libs _libs distclean-libtool: - -rm -f libtool -uninstall-info-am: + -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. @@ -329,7 +348,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -341,15 +366,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -370,7 +400,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -381,35 +411,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -417,23 +442,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -445,40 +470,25 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = . -distdir = $(PACKAGE)-$(VERSION) - -am__remove_distdir = \ - { test ! -d $(distdir) \ - || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -fr $(distdir); }; } - -GZIP_ENV = --best -distuninstallcheck_listfiles = find . -type f -print -distcleancheck_listfiles = find . -type f -print distdir: $(DISTFILES) $(am__remove_distdir) - mkdir $(distdir) - $(mkinstalldirs) $(distdir)/. $(distdir)/data $(distdir)/po $(distdir)/src - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + test -d $(distdir) || mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -491,13 +501,17 @@ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -505,22 +519,55 @@ -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-lzma: distdir + tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir - $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist - $(am__remove_distdir) - GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf - + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lzma*) \ + unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst @@ -540,19 +587,20 @@ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ - (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \ - && rm -f $(distdir).tar.gz \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) - @echo "$(distdir).tar.gz is ready for distribution" | \ - sed 'h;s/./=/g;p;x;p;x' + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ @@ -576,7 +624,6 @@ all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -596,7 +643,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @@ -609,25 +656,35 @@ distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -648,27 +705,26 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive dist dist-all dist-gzip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-recursive distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-data install-data-am \ - install-data-recursive install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am am--refresh check check-am clean clean-generic \ + clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ + dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \ + distclean distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/missing /tmp/zoMIw2cTYT/gmpc-0.19.0/missing --- gmpc-0.18.0/missing 2009-01-01 17:29:33.000000000 +0000 +++ gmpc-0.19.0/missing 2009-09-21 11:15:59.000000000 +0100 @@ -1,6 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. + +scriptversion=2006-05-10.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -15,8 +19,8 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -29,6 +33,8 @@ fi run=: +sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' +sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. @@ -38,18 +44,24 @@ configure_ac=configure.in fi -case "$1" in +msg="missing on your system" + +case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case "$1" in -h|--h|--he|--hel|--help) echo "\ @@ -67,6 +79,7 @@ aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' + autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c @@ -74,11 +87,15 @@ lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags - yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing 0.4 - GNU automake" + echo "missing $scriptversion (GNU Automake)" + exit $? ;; -*) @@ -87,14 +104,44 @@ exit 1 ;; - aclocal*) +esac + +# Now exit if we have it, but it failed. Also exit now if we +# don't have it and --version was passed (most likely to detect +# the program). +case $1 in + lex|yacc) + # Not GNU programs, they don't have --version. + ;; + + tar) + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + exit 1 + fi + ;; + + *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 + elif test "x$2" = "x--version" || test "x$2" = "x--help"; then + # Could not run --version or --help. This is probably someone + # running `$TOOL --version' or `$TOOL --help' to check whether + # $TOOL exists and not knowing $TOOL uses missing. + exit 1 fi + ;; +esac +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case $1 in + aclocal*) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." @@ -102,13 +149,8 @@ ;; autoconf) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." @@ -116,13 +158,8 @@ ;; autoheader) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." @@ -130,7 +167,7 @@ test -z "$files" && files="config.h" touch_files= for f in $files; do - case "$f" in + case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; @@ -140,13 +177,8 @@ ;; automake*) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." @@ -156,20 +188,15 @@ ;; autom4te) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` - test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else @@ -185,74 +212,67 @@ bison|yacc) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi - if [ ! -f y.tab.h ]; then + if test ! -f y.tab.h; then echo >y.tab.h fi - if [ ! -f y.tab.c ]; then + if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c - if [ $# -ne 1 ]; then + if test $# -ne 1; then eval LASTARG="\${$#}" - case "$LASTARG" in + case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if [ -f "$SRCFILE" ]; then + if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi - if [ ! -f lex.yy.c ]; then + if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` - if test -z "$file"; then - file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` - fi - if [ -f "$file" ]; then + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` + if test -f "$file"; then touch $file else test -z "$file" || exec >$file @@ -262,32 +282,36 @@ ;; makeinfo) - if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then - # We have makeinfo, but it failed. - exit 1 - fi - echo 1>&2 "\ -WARNING: \`$1' is missing on your system. You should only need it if +WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." - file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + # The file to touch is that specified with -o ... + file=`echo "$*" | sed -n "$sed_output"` + test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then - file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` - fi + # ... or it is the one specified with @setfilename ... + infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n ' + /^@setfilename/{ + s/.* \([^ ]*\) *$/\1/ + p + q + }' $infile` + # ... or it is derived from the source name (dir/f.texi becomes f.info) + test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info + fi + # If the file does not exist, the user really needs makeinfo; + # let's fail without touching anything. + test -f $file || exit 1 touch $file ;; tar) shift - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error @@ -300,13 +324,13 @@ fi firstarg="$1" if shift; then - case "$firstarg" in + case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac - case "$firstarg" in + case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 @@ -323,8 +347,8 @@ *) echo 1>&2 "\ -WARNING: \`$1' is needed, and you do not seem to have it handy on your - system. You might have modified some files without having the +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case @@ -334,3 +358,10 @@ esac exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/mkinstalldirs /tmp/zoMIw2cTYT/gmpc-0.19.0/mkinstalldirs --- gmpc-0.18.0/mkinstalldirs 2009-01-01 17:29:33.000000000 +0000 +++ gmpc-0.19.0/mkinstalldirs 2009-09-21 11:15:59.000000000 +0100 @@ -1,21 +1,36 @@ #! /bin/sh # mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain +scriptversion=2006-05-11.19 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' +IFS=" "" $nl" errstatus=0 -dirmode="" +dirmode= usage="\ -Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." # process command line arguments while test $# -gt 0 ; do case $1 in -h | --help | --h*) # -h for help - echo "$usage" 1>&2 - exit 0 + echo "$usage" + exit $? ;; -m) # -m PERM arg shift @@ -23,6 +38,10 @@ dirmode=$1 shift ;; + --version) + echo "$0 $scriptversion" + exit $? + ;; --) # stop option processing shift break @@ -50,30 +69,58 @@ 0) exit 0 ;; esac +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. case $dirmode in '') - if mkdir -p -- . 2>/dev/null; then + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then echo "mkdir -p -- $*" exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version fi ;; *) - if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then echo "mkdir -m $dirmode -p -- $*" exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done fi ;; esac for file do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + case $file in + /*) pathcomp=/ ;; + *) pathcomp= ;; + esac + oIFS=$IFS + IFS=/ + set fnord $file shift + IFS=$oIFS - pathcomp= for d do - pathcomp="$pathcomp$d" + test "x$d" = x && continue + + pathcomp=$pathcomp$d case $pathcomp in -*) pathcomp=./$pathcomp ;; esac @@ -84,21 +131,21 @@ mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then - errstatus=$lasterr + errstatus=$lasterr else - if test ! -z "$dirmode"; then + if test ! -z "$dirmode"; then echo "chmod $dirmode $pathcomp" - lasterr="" - chmod "$dirmode" "$pathcomp" || lasterr=$? + lasterr= + chmod "$dirmode" "$pathcomp" || lasterr=$? - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi fi fi - pathcomp="$pathcomp/" + pathcomp=$pathcomp/ done done @@ -107,5 +154,8 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" # End: -# mkinstalldirs ends here Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/apps/gmpc.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/apps/gmpc.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/apps/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/apps/Makefile.am --- gmpc-0.18.0/pixmaps/icons/128x128/apps/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/128x128/apps/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,12 @@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 128x128 +context = apps + +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) + +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA= $(dist_icons_DATA) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/128x128/apps/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/128x128/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,461 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = pixmaps/icons/128x128/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 128x128 +context = apps +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA = $(dist_icons_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/128x128/apps/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu pixmaps/icons/128x128/apps/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_iconsDATA: $(dist_icons_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" + @list='$(dist_icons_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ + done + +uninstall-dist_iconsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_icons_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ + done +install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done + +uninstall-dist_iconsglobalDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/categories/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/categories/Makefile.in --- gmpc-0.18.0/pixmaps/icons/128x128/categories/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/128x128/categories/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/128x128/categories +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,63 +231,75 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 128x128 context = categories - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ mpd.png -subdir = pixmaps/icons/128x128/categories -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/128x128/categories/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/128x128/categories/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -297,28 +307,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -332,9 +337,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -354,7 +360,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -365,24 +371,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -401,18 +417,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/Makefile.am --- gmpc-0.18.0/pixmaps/icons/128x128/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/128x128/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1 +1 @@ -SUBDIRS = status categories +SUBDIRS = status categories apps diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/Makefile.in --- gmpc-0.18.0/pixmaps/icons/128x128/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/128x128/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/128x128 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = status categories -subdir = pixmaps/icons/128x128 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = status categories apps all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/128x128/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/128x128/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/128x128/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/128x128/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/128x128/status/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/128x128/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/128x128/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 128x128 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ stylized-cover.png\ stylized-fetching-cover.png\ @@ -251,50 +251,60 @@ frame-artist.png\ no-artist.png -subdir = pixmaps/icons/128x128/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/128x128/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/128x128/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -302,28 +312,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -337,9 +342,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -359,7 +365,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,24 +376,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -406,18 +422,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/actions/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/actions/Makefile.am --- gmpc-0.18.0/pixmaps/icons/16x16/actions/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/actions/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -9,5 +9,6 @@ playlist-search-browser.png\ playlist-browser.png\ media-tag.png\ + media-audiofile.png\ tag-browser.png diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/actions/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/actions/Makefile.in --- gmpc-0.18.0/pixmaps/icons/16x16/actions/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/actions/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/16x16/actions +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,67 +231,80 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 16x16 context = actions - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ media-playlist.png\ playlist-search-browser.png\ playlist-browser.png\ media-tag.png\ + media-audiofile.png\ tag-browser.png -subdir = pixmaps/icons/16x16/actions -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/16x16/actions/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/16x16/actions/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -301,28 +312,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -336,9 +342,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -358,7 +365,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -369,24 +376,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -405,18 +422,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/actions/media-audiofile.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/actions/media-audiofile.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/16x16/apps/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/16x16/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +77,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +88,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +104,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +123,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +135,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +162,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +216,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,85 +233,95 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ globaldir = $(datadir)/icons/hicolor themedir = $(pkgdatadir)/icons/hicolor size = 16x16 context = apps - iconsdir = $(themedir)/$(size)/$(context) iconsglobaldir = $(globaldir)/$(size)/$(context) - dist_icons_DATA = \ gmpc.png dist_iconsglobal_DATA = $(dist_icons_DATA) -subdir = pixmaps/icons/16x16/apps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ - $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/16x16/apps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/16x16/apps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done -dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsglobaldir) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f"; \ - $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done uninstall-dist_iconsglobalDATA: @$(NORMAL_UNINSTALL) @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsglobaldir)/$$f"; \ - rm -f $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done tags: TAGS TAGS: @@ -319,28 +329,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -354,9 +359,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) $(DESTDIR)$(iconsglobaldir) + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -376,7 +382,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -387,24 +393,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -423,20 +439,22 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA \ - install-dist_iconsglobalDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/Makefile.in --- gmpc-0.18.0/pixmaps/icons/16x16/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/16x16 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = actions status apps -subdir = pixmaps/icons/16x16 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/16x16/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/16x16/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/status/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/status/Makefile.am --- gmpc-0.18.0/pixmaps/icons/16x16/status/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/status/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -13,4 +13,6 @@ gmpc-tray-disconnected.png\ gmpc-tray-pause.png\ gmpc-tray-play.png\ + stock_repeat.png\ + stock_shuffle.png\ gmpc-tray.png diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/16x16/status/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/16x16/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/16x16/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 16x16 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ emblem-favorite.png\ audio-volume-high.png\ @@ -252,52 +252,64 @@ gmpc-tray-disconnected.png\ gmpc-tray-pause.png\ gmpc-tray-play.png\ + stock_repeat.png\ + stock_shuffle.png\ gmpc-tray.png -subdir = pixmaps/icons/16x16/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/16x16/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/16x16/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -305,28 +317,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -340,9 +347,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -362,7 +370,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -373,24 +381,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -409,18 +427,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/status/stock_repeat.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/status/stock_repeat.png differ Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/16x16/status/stock_shuffle.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/16x16/status/stock_shuffle.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/actions/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/actions/Makefile.am --- gmpc-0.18.0/pixmaps/icons/22x22/actions/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/22x22/actions/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -5,5 +5,6 @@ iconsdir = $(themedir)/$(size)/$(context) dist_icons_DATA = \ - media-playlist.png + media-playlist.png\ + media-audiofile.png diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/actions/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/actions/Makefile.in --- gmpc-0.18.0/pixmaps/icons/22x22/actions/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/22x22/actions/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/22x22/actions +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,63 +231,76 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 22x22 context = actions - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ - media-playlist.png - -subdir = pixmaps/icons/22x22/actions -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) + media-playlist.png\ + media-audiofile.png -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/22x22/actions/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/22x22/actions/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -297,28 +308,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -332,9 +338,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -354,7 +361,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -365,24 +372,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -401,18 +418,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/actions/media-audiofile.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/actions/media-audiofile.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/22x22/apps/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/22x22/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/22x22/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +77,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +88,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +104,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +123,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +135,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +162,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +216,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,86 +233,95 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ globaldir = $(datadir)/icons/hicolor themedir = $(pkgdatadir)/icons/hicolor size = 22x22 context = apps - iconsdir = $(themedir)/$(size)/$(context) iconsglobaldir = $(globaldir)/$(size)/$(context) - dist_icons_DATA = \ gmpc.png - dist_iconsglobal_DATA = $(dist_icons_DATA) -subdir = pixmaps/icons/22x22/apps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ - $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/22x22/apps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/22x22/apps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done -dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsglobaldir) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f"; \ - $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done uninstall-dist_iconsglobalDATA: @$(NORMAL_UNINSTALL) @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsglobaldir)/$$f"; \ - rm -f $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done tags: TAGS TAGS: @@ -320,28 +329,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -355,9 +359,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) $(DESTDIR)$(iconsglobaldir) + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -377,7 +382,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -388,24 +393,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -424,20 +439,22 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA \ - install-dist_iconsglobalDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/Makefile.in --- gmpc-0.18.0/pixmaps/icons/22x22/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/22x22/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/22x22 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = actions status apps -subdir = pixmaps/icons/22x22 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/22x22/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/22x22/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/22x22/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/22x22/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/22x22/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/22x22/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/22x22/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 22x22 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ emblem-favorite.png\ audio-volume-high.png\ @@ -254,50 +254,60 @@ gmpc-tray-play.png\ gmpc-tray.png -subdir = pixmaps/icons/22x22/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/22x22/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/22x22/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -305,28 +315,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -340,9 +345,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -362,7 +368,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -373,24 +379,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -409,18 +425,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/actions/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/actions/Makefile.am --- gmpc-0.18.0/pixmaps/icons/32x32/actions/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/32x32/actions/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -7,6 +7,7 @@ dist_icons_DATA = \ media-tag.png\ media-playlist.png\ + media-audiofile.png\ playlist-search-browser.png\ playlist-browser.png\ add-url.png\ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/actions/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/actions/Makefile.in --- gmpc-0.18.0/pixmaps/icons/32x32/actions/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/32x32/actions/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/32x32/actions +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,68 +231,81 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 32x32 context = actions - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ media-tag.png\ media-playlist.png\ + media-audiofile.png\ playlist-search-browser.png\ playlist-browser.png\ add-url.png\ tag-browser.png -subdir = pixmaps/icons/32x32/actions -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/32x32/actions/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/32x32/actions/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -302,28 +313,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -337,9 +343,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -359,7 +366,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,24 +377,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -406,18 +423,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/actions/media-audiofile.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/actions/media-audiofile.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/32x32/apps/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/32x32/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/32x32/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +77,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +88,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +104,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +123,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +135,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +162,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +216,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,85 +233,95 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ globaldir = $(datadir)/icons/hicolor themedir = $(pkgdatadir)/icons/hicolor size = 32x32 context = apps - iconsdir = $(themedir)/$(size)/$(context) iconsglobaldir = $(globaldir)/$(size)/$(context) - dist_icons_DATA = \ gmpc.png dist_iconsglobal_DATA = $(dist_icons_DATA) -subdir = pixmaps/icons/32x32/apps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ - $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/32x32/apps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/32x32/apps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done -dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsglobaldir) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f"; \ - $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done uninstall-dist_iconsglobalDATA: @$(NORMAL_UNINSTALL) @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsglobaldir)/$$f"; \ - rm -f $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done tags: TAGS TAGS: @@ -319,28 +329,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -354,9 +359,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) $(DESTDIR)$(iconsglobaldir) + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -376,7 +382,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -387,24 +393,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -423,20 +439,22 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA \ - install-dist_iconsglobalDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/Makefile.in --- gmpc-0.18.0/pixmaps/icons/32x32/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/32x32/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/32x32 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = actions status apps -subdir = pixmaps/icons/32x32 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/32x32/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/32x32/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/32x32/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/32x32/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/32x32/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/32x32/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/32x32/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 32x32 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ emblem-favorite.png\ audio-volume-high.png\ @@ -251,50 +251,60 @@ audio-volume-muted.png\ gmpc-tray.png -subdir = pixmaps/icons/32x32/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/32x32/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/32x32/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -302,28 +312,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -337,9 +342,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -359,7 +365,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,24 +376,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -406,18 +422,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/48x48/actions/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/48x48/actions/Makefile.in --- gmpc-0.18.0/pixmaps/icons/48x48/actions/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/48x48/actions/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/48x48/actions +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,65 +231,77 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 48x48 context = actions - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ media-tag.png\ media-playlist.png\ tag-browser.png -subdir = pixmaps/icons/48x48/actions -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/48x48/actions/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/48x48/actions/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -299,28 +309,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -334,9 +339,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -356,7 +362,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -367,24 +373,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -403,18 +419,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/48x48/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/48x48/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/48x48/apps/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/48x48/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/48x48/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +77,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +88,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +104,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +123,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +135,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +162,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +216,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,86 +233,95 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ globaldir = $(datadir)/icons/hicolor themedir = $(pkgdatadir)/icons/hicolor size = 48x48 context = apps - iconsdir = $(themedir)/$(size)/$(context) iconsglobaldir = $(globaldir)/$(size)/$(context) - dist_icons_DATA = \ gmpc.png - dist_iconsglobal_DATA = $(dist_icons_DATA) -subdir = pixmaps/icons/48x48/apps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ - $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/48x48/apps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/48x48/apps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done -dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsglobaldir) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f"; \ - $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done uninstall-dist_iconsglobalDATA: @$(NORMAL_UNINSTALL) @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsglobaldir)/$$f"; \ - rm -f $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done tags: TAGS TAGS: @@ -320,28 +329,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -355,9 +359,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) $(DESTDIR)$(iconsglobaldir) + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -377,7 +382,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -388,24 +393,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -424,20 +439,22 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA \ - install-dist_iconsglobalDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/48x48/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/48x48/Makefile.in --- gmpc-0.18.0/pixmaps/icons/48x48/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/48x48/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/48x48 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = actions apps status -subdir = pixmaps/icons/48x48 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/48x48/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/48x48/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/48x48/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/48x48/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/48x48/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/48x48/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/48x48/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 48x48 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ stylized-cover.png\ frame-artist.png\ @@ -250,50 +250,60 @@ gmpc-tray.png\ no-artist.png -subdir = pixmaps/icons/48x48/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/48x48/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/48x48/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -301,28 +311,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -336,9 +341,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -358,7 +364,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -369,24 +375,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -405,18 +421,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/apps/gmpc.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/apps/gmpc.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/apps/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/apps/Makefile.am --- gmpc-0.18.0/pixmaps/icons/64x64/apps/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/64x64/apps/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,12 @@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 64x64 +context = apps + +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) + +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA= $(dist_icons_DATA) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/64x64/apps/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/64x64/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,461 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = pixmaps/icons/64x64/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 64x64 +context = apps +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA = $(dist_icons_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/64x64/apps/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu pixmaps/icons/64x64/apps/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_iconsDATA: $(dist_icons_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" + @list='$(dist_icons_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ + done + +uninstall-dist_iconsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_icons_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ + done +install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done + +uninstall-dist_iconsglobalDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/Makefile.am --- gmpc-0.18.0/pixmaps/icons/64x64/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/64x64/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status apps diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/Makefile.in --- gmpc-0.18.0/pixmaps/icons/64x64/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/64x64/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/64x64 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = status -subdir = pixmaps/icons/64x64 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = status apps all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/64x64/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/64x64/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/64x64/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/64x64/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/64x64/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/64x64/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/64x64/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 64x64 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ stylized-no-cover.png\ stylized-fetching-cover.png\ @@ -251,50 +251,60 @@ fetching-artist.png\ frame-artist.png -subdir = pixmaps/icons/64x64/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/64x64/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/64x64/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -302,28 +312,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -337,9 +342,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -359,7 +365,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,24 +376,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -406,18 +422,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/apps/gmpc.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/apps/gmpc.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/apps/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/apps/Makefile.am --- gmpc-0.18.0/pixmaps/icons/72x72/apps/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/72x72/apps/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,12 @@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 72x72 +context = apps + +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) + +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA= $(dist_icons_DATA) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/72x72/apps/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/72x72/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,461 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = pixmaps/icons/72x72/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 72x72 +context = apps +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA = $(dist_icons_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/72x72/apps/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu pixmaps/icons/72x72/apps/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_iconsDATA: $(dist_icons_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" + @list='$(dist_icons_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ + done + +uninstall-dist_iconsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_icons_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ + done +install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done + +uninstall-dist_iconsglobalDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/Makefile.am --- gmpc-0.18.0/pixmaps/icons/72x72/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/72x72/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status apps diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/Makefile.in --- gmpc-0.18.0/pixmaps/icons/72x72/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/72x72/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/72x72 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = status -subdir = pixmaps/icons/72x72 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = status apps all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/72x72/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/72x72/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/72x72/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/72x72/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/72x72/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/72x72/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/72x72/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 72x72 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ stylized-no-cover.png\ stylized-fetching-cover.png\ @@ -251,50 +251,60 @@ fetching-artist.png\ frame-artist.png -subdir = pixmaps/icons/72x72/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/72x72/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/72x72/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -302,28 +312,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -337,9 +342,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -359,7 +365,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -370,24 +376,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -406,18 +422,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/apps/gmpc.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/apps/gmpc.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/apps/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/apps/Makefile.am --- gmpc-0.18.0/pixmaps/icons/96x96/apps/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/96x96/apps/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,12 @@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 96x96 +context = apps + +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) + +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA= $(dist_icons_DATA) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/96x96/apps/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/96x96/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,461 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = pixmaps/icons/96x96/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +globaldir = $(datadir)/icons/hicolor +themedir = $(pkgdatadir)/icons/hicolor +size = 96x96 +context = apps +iconsdir = $(themedir)/$(size)/$(context) +iconsglobaldir = $(globaldir)/$(size)/$(context) +dist_icons_DATA = \ + gmpc.png + +dist_iconsglobal_DATA = $(dist_icons_DATA) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/96x96/apps/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu pixmaps/icons/96x96/apps/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-dist_iconsDATA: $(dist_icons_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" + @list='$(dist_icons_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ + done + +uninstall-dist_iconsDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_icons_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ + done +install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) + @$(NORMAL_INSTALL) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done + +uninstall-dist_iconsglobalDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(DATA) +installdirs: + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + distclean distclean-generic distclean-libtool distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/Makefile.am --- gmpc-0.18.0/pixmaps/icons/96x96/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/96x96/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1 +1 @@ -SUBDIRS = status +SUBDIRS = status apps diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/Makefile.in --- gmpc-0.18.0/pixmaps/icons/96x96/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/96x96/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/96x96 +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = status -subdir = pixmaps/icons/96x96 -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = status apps all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/96x96/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/96x96/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/96x96/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/96x96/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/96x96/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/96x96/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/96x96/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = 96x96 context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ stylized-fetching-cover.png\ stylized-no-cover.png\ @@ -250,50 +250,60 @@ frame-artist.png\ fetching-artist.png -subdir = pixmaps/icons/96x96/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/96x96/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/96x96/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -301,28 +311,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -336,9 +341,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -358,7 +364,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -369,24 +375,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -405,18 +421,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/Makefile.in --- gmpc-0.18.0/pixmaps/icons/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = 16x16 22x22 32x32 48x48 64x64 72x72 96x96 128x128 scalable -subdir = pixmaps/icons -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/actions/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/actions/Makefile.am --- gmpc-0.18.0/pixmaps/icons/scalable/actions/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/actions/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -4,4 +4,5 @@ iconsdir = $(themedir)/$(size)/$(context) -dist_icons_DATA = +dist_icons_DATA =\ + media-audiofile.svg diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/actions/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/actions/Makefile.in --- gmpc-0.18.0/pixmaps/icons/scalable/actions/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/actions/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/scalable/actions +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,61 +231,75 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = scalable context = actions - iconsdir = $(themedir)/$(size)/$(context) +dist_icons_DATA = \ + media-audiofile.svg -dist_icons_DATA = -subdir = pixmaps/icons/scalable/actions -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/scalable/actions/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/scalable/actions/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -295,28 +307,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -330,9 +337,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -352,7 +360,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -363,24 +371,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -399,18 +417,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/actions/media-audiofile.svg /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/actions/media-audiofile.svg --- gmpc-0.18.0/pixmaps/icons/scalable/actions/media-audiofile.svg 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/pixmaps/icons/scalable/actions/media-audiofile.svg 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Generic Audio + + + Jakub Steiner + + + + + + + + + + + + + + + + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/apps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/apps/Makefile.in --- gmpc-0.18.0/pixmaps/icons/scalable/apps/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/apps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/scalable/apps +DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" \ + "$(DESTDIR)$(iconsglobaldir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +77,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +88,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +104,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +123,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +135,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +162,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +216,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,86 +233,95 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ globaldir = $(datadir)/icons/hicolor themedir = $(pkgdatadir)/icons/hicolor size = scalable context = apps - iconsdir = $(themedir)/$(size)/$(context) iconsglobaldir = $(globaldir)/$(size)/$(context) - dist_icons_DATA = \ gmpc.svg - dist_iconsglobal_DATA = $(dist_icons_DATA) -subdir = pixmaps/icons/scalable/apps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) $(dist_iconsglobal_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(dist_iconsglobal_DATA) \ - $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/scalable/apps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/scalable/apps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done -dist_iconsglobalDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsglobalDATA: $(dist_iconsglobal_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsglobaldir) + test -z "$(iconsglobaldir)" || $(MKDIR_P) "$(DESTDIR)$(iconsglobaldir)" @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f"; \ - $(dist_iconsglobalDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsglobalDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + $(dist_iconsglobalDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done uninstall-dist_iconsglobalDATA: @$(NORMAL_UNINSTALL) @list='$(dist_iconsglobal_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsglobaldir)/$$f"; \ - rm -f $(DESTDIR)$(iconsglobaldir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsglobaldir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsglobaldir)/$$f"; \ done tags: TAGS TAGS: @@ -320,28 +329,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -355,9 +359,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) $(DESTDIR)$(iconsglobaldir) + for dir in "$(DESTDIR)$(iconsdir)" "$(DESTDIR)$(iconsglobaldir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -377,7 +382,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -388,24 +393,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA install-dist_iconsglobalDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -424,20 +439,22 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA \ - install-dist_iconsglobalDATA install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dist_iconsglobalDATA install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ - uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA \ - uninstall-info-am + uninstall-dist_iconsDATA uninstall-dist_iconsglobalDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/categories/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/categories/Makefile.in --- gmpc-0.18.0/pixmaps/icons/scalable/categories/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/categories/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/scalable/categories +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,63 +231,75 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = scalable context = categories - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ mpd.svg -subdir = pixmaps/icons/scalable/categories -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/scalable/categories/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/scalable/categories/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -297,28 +307,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -332,9 +337,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -354,7 +360,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -365,24 +371,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -401,18 +417,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/Makefile.in --- gmpc-0.18.0/pixmaps/icons/scalable/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,17 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +29,38 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/scalable +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +76,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +87,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +103,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +122,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +134,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +161,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +215,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,33 +232,47 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ SUBDIRS = actions status apps categories -subdir = pixmaps/icons/scalable -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/scalable/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/scalable/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo @@ -267,10 +280,6 @@ clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, @@ -278,7 +287,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -290,15 +305,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -319,7 +339,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -330,35 +350,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -366,23 +381,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -394,28 +409,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -426,15 +436,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -444,7 +458,6 @@ all-am: Makefile installdirs: installdirs-recursive installdirs-am: - install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -464,7 +477,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -475,25 +488,34 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: install-data-am: +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -512,26 +534,24 @@ ps-am: -uninstall-am: uninstall-info-am +uninstall-am: -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-info install-info-am install-info-recursive install-man \ - install-recursive install-strip installcheck installcheck-am \ - installdirs installdirs-am installdirs-recursive \ - maintainer-clean maintainer-clean-generic \ - maintainer-clean-recursive mostlyclean mostlyclean-generic \ - mostlyclean-libtool mostlyclean-recursive pdf pdf-am \ - pdf-recursive ps ps-am ps-recursive tags tags-recursive \ - uninstall uninstall-am uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/icons/scalable/status/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/icons/scalable/status/Makefile.in --- gmpc-0.18.0/pixmaps/icons/scalable/status/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/pixmaps/icons/scalable/status/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../../../.. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,36 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps/icons/scalable/status +DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(iconsdir)" +dist_iconsDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_icons_DATA) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +75,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +86,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +102,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +121,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +133,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +160,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +214,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,16 +231,18 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ themedir = $(pkgdatadir)/icons/hicolor size = scalable context = status - iconsdir = $(themedir)/$(size)/$(context) - dist_icons_DATA = \ emblem-favorite.svg\ audio-volume-high.svg\ @@ -260,50 +260,60 @@ frame-artist.svg\ no-artist.svg -subdir = pixmaps/icons/scalable/status -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_icons_DATA) - -DIST_COMMON = $(dist_icons_DATA) $(srcdir)/Makefile.in Makefile.am all: all-am .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/icons/scalable/status/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/icons/scalable/status/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_iconsDATA_INSTALL = $(INSTALL_DATA) install-dist_iconsDATA: $(dist_icons_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + test -z "$(iconsdir)" || $(MKDIR_P) "$(DESTDIR)$(iconsdir)" @list='$(dist_icons_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f"; \ - $(dist_iconsDATA_INSTALL) $$d$$p $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_iconsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(iconsdir)/$$f'"; \ + $(dist_iconsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(iconsdir)/$$f"; \ done uninstall-dist_iconsDATA: @$(NORMAL_UNINSTALL) @list='$(dist_icons_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(iconsdir)/$$f"; \ - rm -f $(DESTDIR)$(iconsdir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(iconsdir)/$$f'"; \ + rm -f "$(DESTDIR)$(iconsdir)/$$f"; \ done tags: TAGS TAGS: @@ -311,28 +321,23 @@ ctags: CTAGS CTAGS: -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../../../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -346,9 +351,10 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(iconsdir) + for dir in "$(DESTDIR)$(iconsdir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -368,7 +374,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -379,24 +385,34 @@ distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: install-dist_iconsDATA +install-dvi: install-dvi-am + install-exec-am: +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -415,18 +431,21 @@ ps-am: -uninstall-am: uninstall-dist_iconsDATA uninstall-info-am +uninstall-am: uninstall-dist_iconsDATA + +.MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am info info-am install install-am install-data \ - install-data-am install-dist_iconsDATA install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - uninstall uninstall-am uninstall-dist_iconsDATA \ - uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dist_iconsDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ + ps ps-am uninstall uninstall-am uninstall-dist_iconsDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/Makefile.am --- gmpc-0.18.0/pixmaps/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/pixmaps/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1,6 +1,5 @@ appicondir = $(datadir)/gmpc/icons/ dist_appicon_DATA = \ - media-audiofile.png\ media-stream.png\ media-artist.png\ gmpc-no-cover.png\ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/Makefile.in --- gmpc-0.18.0/pixmaps/Makefile.in 2009-03-09 16:23:14.000000000 +0000 +++ gmpc-0.19.0/pixmaps/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,11 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +30,48 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +subdir = pixmaps +DIST_COMMON = $(dist_appicon_DATA) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(appicondir)" +dist_appiconDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_appicon_DATA) +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +87,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +98,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,39 +114,17 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ @@ -125,10 +133,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -137,8 +145,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -166,25 +172,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -219,12 +226,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -233,13 +243,16 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ appicondir = $(datadir)/gmpc/icons/ dist_appicon_DATA = \ - media-audiofile.png\ media-stream.png\ media-artist.png\ gmpc-no-cover.png\ @@ -247,61 +260,62 @@ mpdBrowser_case.png\ gmpc-loading-cover.png - SUBDIRS = icons - gtk_update_icon_cache = gtk-update-icon-cache -f -t $(DESTDIR)$(datadir)/icons/hicolor -subdir = pixmaps -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -DIST_SOURCES = -DATA = $(dist_appicon_DATA) - - -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(dist_appicon_DATA) $(srcdir)/Makefile.in Makefile.am -DIST_SUBDIRS = $(SUBDIRS) all: all-recursive .SUFFIXES: -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pixmaps/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu pixmaps/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -dist_appiconDATA_INSTALL = $(INSTALL_DATA) install-dist_appiconDATA: $(dist_appicon_DATA) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(appicondir) + test -z "$(appicondir)" || $(MKDIR_P) "$(DESTDIR)$(appicondir)" @list='$(dist_appicon_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(dist_appiconDATA_INSTALL) $$d$$p $(DESTDIR)$(appicondir)/$$f"; \ - $(dist_appiconDATA_INSTALL) $$d$$p $(DESTDIR)$(appicondir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(dist_appiconDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(appicondir)/$$f'"; \ + $(dist_appiconDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(appicondir)/$$f"; \ done uninstall-dist_appiconDATA: @$(NORMAL_UNINSTALL) @list='$(dist_appicon_DATA)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(appicondir)/$$f"; \ - rm -f $(DESTDIR)$(appicondir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(appicondir)/$$f'"; \ + rm -f "$(DESTDIR)$(appicondir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd @@ -311,7 +325,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -323,15 +343,20 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -352,7 +377,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -363,35 +388,30 @@ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ + empty_fix=.; \ else \ include_option=--include; \ + empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ + test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ @@ -399,23 +419,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -427,28 +447,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -459,15 +474,19 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -477,8 +496,9 @@ all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(appicondir) - + for dir in "$(DESTDIR)$(appicondir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive @@ -498,7 +518,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -509,13 +529,14 @@ distclean: distclean-recursive -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool \ - distclean-tags +distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: +html: html-recursive + info: info-recursive info-am: @@ -524,12 +545,20 @@ @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook +install-dvi: install-dvi-recursive + install-exec-am: +install-html: install-html-recursive + install-info: install-info-recursive install-man: +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + installcheck-am: maintainer-clean: maintainer-clean-recursive @@ -548,29 +577,28 @@ ps-am: -uninstall-am: uninstall-dist_appiconDATA uninstall-info-am +uninstall-am: uninstall-dist_appiconDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-info: uninstall-info-recursive +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-data-am install-strip uninstall-am -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-generic clean-libtool clean-recursive ctags \ - ctags-recursive distclean distclean-generic distclean-libtool \ - distclean-recursive distclean-tags distdir dvi dvi-am \ - dvi-recursive info info-am info-recursive install install-am \ - install-data install-data-am install-data-recursive \ - install-dist_appiconDATA install-exec install-exec-am \ - install-exec-recursive install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \ - pdf pdf-am pdf-recursive ps ps-am ps-recursive tags \ - tags-recursive uninstall uninstall-am \ - uninstall-dist_appiconDATA uninstall-info-am \ - uninstall-info-recursive uninstall-recursive +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-data-hook install-dist_appiconDATA \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-dist_appiconDATA \ + uninstall-hook install-data-hook: update-icon-cache uninstall-hook: update-icon-cache Binary files /tmp/WNGJmlA6cv/gmpc-0.18.0/pixmaps/media-audiofile.png and /tmp/zoMIw2cTYT/gmpc-0.19.0/pixmaps/media-audiofile.png differ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ar.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ar.po --- gmpc-0.18.0/po/ar.po 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/po/ar.po 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2139 @@ +# Arabic translation for gmpc +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the gmpc package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gmpc\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-22 01:04+0000\n" +"Last-Translator: AtomCell \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " +"3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "معلومات العلّة" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "المساعدة بالأوامر السهلة" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "الحصول على مساعدة" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "اكتم" + +#. * MM_PLAYPAUSE +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 +msgid "Next" +msgstr "التالي" + +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "شغّل/أوقِف مؤقتًا" + +#. * MM_NEXT +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 +msgid "Previous" +msgstr "السابق" + +#: ../glade/playlist3.glade.h:10 +msgid "Profiles" +msgstr "ملفات المستخدمين" + +#. * MM_REPEAT +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 +msgid "Random" +msgstr "عشواىٔية" + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "إعادة" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "أظهر الرسالة" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "النمط الاحادي" + +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "إيقاف" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "زر الموقع" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" +msgstr "_اتصل" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "_التحكم" + +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "_قطع الاتصال" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "ملئ الشاشة" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "_اذهب" + +#: ../glade/playlist3.glade.h:25 +msgid "_Help" +msgstr "_مساعدة" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "_موسيقى" + +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_ادوات" + +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "_عرض" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "" + +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "وكيل" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "اخرج" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "إخفاء" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "عرض" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1094 +#, c-format +msgid "Please enter your password for: '%s'" +msgstr "" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "شفرة الخطأ" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "رسالة خطأ" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "يوم" +msgstr[1] "أيام" +msgstr[2] "يوم" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "ساعة" +msgstr[1] "ساعة" +msgstr[2] "ساعات" +msgstr[3] "ساعات" +msgstr[4] "ساعة" +msgstr[5] "ساعة" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" + +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" + +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "" + +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "" + +#: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" AtomCell https://launchpad.net/~shelhatem\n" +" Maayouf Rashid Al-Naimi https://launchpad.net/~balnaimi" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 +#, c-format +msgid "" +"Playlist \"%s\" already exists\n" +"Overwrite?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/bg.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/bg.po --- gmpc-0.18.0/po/bg.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/bg.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,481 +7,225 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 23:09+0000\n" -"Last-Translator: Bonic \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:54+0000\n" +"Last-Translator: Pavlin Grucov \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "GNOME клиент за MPD" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Музикален Плеър" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Помощ" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Обновяване на MPD база данни" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Без звук" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Следваща" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Старт/Пауза" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Предишна" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Профили" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Произволна" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Повтаряне" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Покажи съобщенията" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Стоп" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Към уеб-сайта" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Подреди интерфейса" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Свързване..." -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Управление" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Прекъсване на връзка" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Разшири интерфейса" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Цял екран" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "Давай" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Помощ" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Музика" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Опции" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Изпрати парола" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "Сървър" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "Покажи снимка на изпълнителя" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Вид" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Плейлист Мениджър" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/път/до/името_на_файла.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Джони Сингър" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Sing or Swing you want" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Фев 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Прокси" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--ниво поправка на грешки=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--версия" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--конфигурация=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--старт-скрит" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--изчисти-база данни-обложки" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--деактивирай-плъгини" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--постави" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--изход" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--вмъкни-стара-база данни" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--поправка грешки-ъпдейт" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--Помощ" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"--start-hidden\t\tСтартирай скрит\n" -"\t--help\t\t\tПомощ\n" -"\t--debug-level=\tПусни gmpc в debug режим\n" -"\t\t\t\tНиво:\n" -"\t\t\t\t\t0 Не показвай нищо\n" -"\t\t\t\t\t1 Съобщения за грешка\n" -"\t\t\t\t\t2 Съобщения за грешка + Предупреждения\n" -"\t\t\t\t\t3 Показвай всичко\n" -"\t--version\t\tПокажи версия и git revision\n" -"\t--config=\t\tПосочи път до конфигурационен файл, по подразбиране се " -"използва ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tИзтрий файл с обложки.\n" -"\t--disable-plugins\tНе зареждай плъгини (добавки).\n" -"\t--replace\t\tСтатирай нова сесия и затвори вече стартираната.\n" -"\t--quit\t\t\tСпри стартираната сесия. Работи само, ако е излючена опцията " -"за стартиране на много сесии.\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "изход" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Изход от gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "скрий" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Скрий gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "покажи" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Покажи gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "покажи съобщения" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Покажи иконата за съобщения в tray" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Грешка при зареждане на конфигурацията." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Грешка при зареждане на debug-log файла." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Грешка при настройка на libmpd." -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC няма достатъчно права за достъп до mpd сървър" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "Грешка при задаваане на парола за: '%s'Моля, опитайте пак" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Моля, въведете парола за: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "код на грешката" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Отказано свързване с MPD. Моля, проверете паролата." -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Версии на MPD преди 0.13.0 са несъвместими." -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Успешно свързване с MPD" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Връзката с MPD e прекъсната." -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Възникна грешка при изпълнението на" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Грешка:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Съобщение за грешка" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Заключение" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Версия" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Преглед" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd версия" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ версия" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl версия" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Платформа" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OS X" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Уеб-сайт" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Включени опции" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Управление на X сесията" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Включен" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Изключен" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS Поддръжка" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Мултимедийни бутони" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Libegg tray икона" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Системна Libsexy biblioteka" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Библиотека за интеграция с Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Използвай ~/.config директория" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Поправи тайминга" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Режим поддръжка" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -489,15 +233,11 @@ "Нова плъгин за метаданни беше добвен. Gmpc почисти всички неуспешни опити от " "кеша." -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Управление на метаданни" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Общо време: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "ден" @@ -509,19 +249,13 @@ msgstr[0] "час" msgstr[1] "часа" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "минута" msgstr[1] "минути" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "секунда" -msgstr[1] "секунди" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Грешка при изпълнение" @@ -574,12 +308,7 @@ msgid "Toggle Mute" msgstr "Вкл/изкл на звука" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -587,7 +316,7 @@ "Следните мултимедийни клавиши не можаха да бъдат активирани:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -597,7 +326,7 @@ "Уверете се че мултимедийните клавиши не се използват вече от Мениджърa на " "прозорци или друго приложение, след което рестартирайте GMPC." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -608,7 +337,11 @@ "проверете избора си и се уверете, че всеки мултимедиен клавиш е настроен " "само за една фунция." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Мултимедийни бутони" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -619,7 +352,7 @@ "\n" "%s е вече конфигуриран за %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -637,371 +370,262 @@ "конфигурирани да използват този мултимедиен клавиш, след което рестартирайте " "GMPC." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Действия" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Бърз клавиш" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Изключено" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Настройки на сървъра" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Връзка" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Свързване" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Всичко от този албум" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Всичко от този артист" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Всичко от този жанр" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Всичко от директорията" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Добави още" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Базата на MPD се обновява" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "Базата на MPD се обновява" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "Обновяване базата на MPD е завършено" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Свързан" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Няма връзка" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Свързан с" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Прекъсване на връзката" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Повторение: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Включено" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Изключено" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Произволно: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Базата с данни на MPD беше обновена на: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "Следната грешка възникна при работата на MPD:" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Профил" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "Добавен(и)" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Името на сървъра беше сменено на:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Обнови базата" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "в изпълнение на" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "от" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Не се изпълнява нищо" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Облик" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Информация" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Внимание" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Критично" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Време" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Съобщение" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Някой от плъгините не бе инициализиран правилно. За повече информация вижте " "Помощ -> Съобщения" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Добавки (Plug-ins)" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Добавки:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Включен" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Име" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Функция" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Версия" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Фиктивен" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Разширение на браузъра" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Доставчик на данни" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Доставчик на метаданни и Разширение на браузъра" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Разни" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Неизвестно" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Търсене:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Добавен(и) %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "стрийм" msgstr[1] "стриймове" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "1 стрийм беше добавен" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Въведете URL" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Списък с песни" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Известяване" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1009,18 +633,14 @@ "GMPC е стартиран за първи път.\n" "Помощникът ще ви помогне да свържете GMPC към MPD сървъра." -#: ../src/setup-assistant.c:116 -msgid "Welcome to GMPC" -msgstr "" - -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Настройка на свързване" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1029,7 +649,7 @@ "Насладете се на удоволствието да слушате своята любима музика, използвайки " "GMPC." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Готово" @@ -1071,7 +691,13 @@ "\n" "Launchpad Contributions:\n" " Bonic https://launchpad.net/~bonic1999\n" -" Nedyalko Radev https://launchpad.net/~nedyalkor" +" Nedyalko Radev https://launchpad.net/~nedyalkor\n" +" Pavlin Grucov https://launchpad.net/~pavlin-grucov\n" +"\n" +"Launchpad Contributions:\n" +" Bonic https://launchpad.net/~bonic1999\n" +" Nedyalko Radev https://launchpad.net/~nedyalkor\n" +" Pavlin Grucov https://launchpad.net/~pavlin-grucov" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1097,33 +723,33 @@ msgid "Host:" msgstr "Адрес:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Име:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Парола:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Порт:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Изчакване (с):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Автоматично свързване" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Използвай удостоверяване" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1180,38 +806,30 @@ msgstr "Списък с песни:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Бързс скок до просвирваната в момента песен" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Скрий в системния трей при затваряне на приложението" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Запази позиция и размер на главния прозорец между сесиите" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Показвай бутони вместо падащо меню при свит изглед" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Показвай туултип в списъка с песни" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Спри изпълнение при изход от програмата" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Стилизирай обложките на албуми" @@ -1263,18 +881,10 @@ msgid "Position:" msgstr "Позиция:" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Изчакване:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP Прокси:" @@ -1283,14 +893,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Използвай прокси за свързване с интернет" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1323,61 +925,35 @@ msgid "name:" msgstr "име:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "елемент" msgstr[1] "елементи" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Преценяване)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Опашка" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" -msgstr "Списъкът с песни ще бъде изпразнен." - -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Списъкът с песни ще бъде изпразнен." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Изрязване" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Случаен ред на изпълнение" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Добавяне на URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1386,29 +962,26 @@ "Списъкът с песни \"%s\" вече съществува\n" "Да презапиша ли?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Списъкът с песни не може да бъде запазен." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Опашка" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Файлов браузър" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Директории" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Директорията '%s' беше добавена рекурсивно" @@ -1416,637 +989,1387 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Заместване" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Обновяване" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Списъкът с песни е зареден" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Добавен" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "песен" msgstr[1] "песни" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "директория" msgstr[1] "директории" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "списък с песни" msgstr[1] "списъците с песни" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Да премахна ли избраният списък с песни?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Заявка" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Търсене" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "Браузър за търсене" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Редактор на списъци с песни" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Нов списък с песни" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Преименуване на списъка" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "Браузър за търсене" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Преименуване" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Недостъпен" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Добави към списъка с песни" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Сваляне..." +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Браузър за тагове" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Преглед" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Върни браузъра в начално състояние" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Маркиране" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Изпълнител" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Песни" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Албум" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Време за изпълнение" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Заглавие" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Файл" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Жанр" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Дата" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Песен" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Колекция" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Композитор" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Заглавие" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Изпълнител" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Дата" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Продължителност" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Албум" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Диск" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Песен" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Коментар" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Композитор" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "ID на икона" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Изпълнител" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Позиция" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Разширение" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 msgid "Directory" msgstr "Директория" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Разширение" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Инструменти" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Постави преди" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Постави след" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Бит/сек" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Редактирай колони" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "липсва" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Профилът е добавен" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Аудио формат" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Профилът е премахнат" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Текстове на песни" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Свали отново" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Избор на файл" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Файлът не може да бъде прочетен." + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "заради проблем с кодовата таблица" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Търсене на информация за изпълнителя" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Търсене на информация за албума" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Недостъпен" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Избиране на файл" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Текстов документ" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Всичко" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Изображения" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "липсва" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Песни със същото име" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Зареждане" -#: ../src/browsers/playlist3-metadata-browser.c:1138 +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 msgid "Similar songs" msgstr "Подобни песни" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Невалидно търсене" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Само първият %i резутат е показан, посочете по точно условие за търсене." - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Намери изпълнител:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Жанр: " -msgstr[1] "Жанрове: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Дата: " -msgstr[1] "Дати: " +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Недостъпен" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Информация за изпълнител:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Браузър за метаданни" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Информация за изпълнител" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Песни" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Албуми" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Подобни изпълнители" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Текстове на песни" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Информация за албум:" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Време за изпълнение" -#: ../src/browsers/playlist3-metadata-browser.c:1895 +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 msgid "Album information" msgstr "Информация за албум" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Информация за изпълнител" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Песни" +#~ msgid "_Server" +#~ msgstr "Сървър" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Браузър за метаданни" +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Покажи песен, която се просвирва в момента" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "кбит/сек" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Фев 2006" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" +#~ msgid "Sing or Swing you want" +#~ msgstr "Sing or Swing you want" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "бита" +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "--start-hidden\t\tСтартирай скрит\n" +#~ "\t--help\t\t\tПомощ\n" +#~ "\t--debug-level=\tПусни gmpc в debug режим\n" +#~ "\t\t\t\tНиво:\n" +#~ "\t\t\t\t\t0 Не показвай нищо\n" +#~ "\t\t\t\t\t1 Съобщения за грешка\n" +#~ "\t\t\t\t\t2 Съобщения за грешка + Предупреждения\n" +#~ "\t\t\t\t\t3 Показвай всичко\n" +#~ "\t--version\t\tПокажи версия и git revision\n" +#~ "\t--config=\t\tПосочи път до конфигурационен файл, по подразбиране се " +#~ "използва ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tИзтрий файл с обложки.\n" +#~ "\t--disable-plugins\tНе зареждай плъгини (добавки).\n" +#~ "\t--replace\t\tСтатирай нова сесия и затвори вече стартираната.\n" +#~ "\t--quit\t\t\tСпри стартираната сесия. Работи само, ако е излючена опцията " +#~ "за стартиране на много сесии.\n" + +#~ msgid " Total time: " +#~ msgstr " Общо време: " + +#~ msgid "View" +#~ msgstr "Преглед" + +#~ msgid "Fetching..." +#~ msgstr "Сваляне..." + +#~ msgid "Bitrate" +#~ msgstr "Бит/сек" + +#~ msgid "Collection" +#~ msgstr "Колекция" + +#~ msgid "Invalid search" +#~ msgstr "Невалидно търсене" + +#~ msgid "Songs with same title" +#~ msgstr "Песни със същото име" + +#~ msgid "Audio format" +#~ msgstr "Аудио формат" + +#~ msgid "Links" +#~ msgstr "Връзки" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Жанр: " +#~ msgstr[1] "Жанрове: " + +#~ msgid "Find Artist:" +#~ msgstr "Намери изпълнител:" + +#~ msgid "Artist info:" +#~ msgstr "Информация за изпълнител:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Дата: " +#~ msgstr[1] "Дати: " -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "канали" +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Само първият %i резутат е показан, посочете по точно условие за търсене." -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#~ msgid "Tracks" +#~ msgstr "Песни" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" +#~ msgid "Similar Artists" +#~ msgstr "Подобни изпълнители" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#~ msgid "Albums" +#~ msgstr "Албуми" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#~ msgid "Album info:" +#~ msgstr "Информация за албум:" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#~ msgid "kHz" +#~ msgstr "kHz" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" +#~ msgid "bits" +#~ msgstr "бита" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#~ msgid "kbit/sec" +#~ msgstr "кбит/сек" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "" +#~ msgid "channels" +#~ msgstr "канали" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Редактор на списъци с песни" +#~ msgid "Show Current Song" +#~ msgstr "Покажи песен, която се просвирва в момента" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "" +#~ msgid "Orientation" +#~ msgstr "Ориентация" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Нов списък с песни" +#~ msgid "The orientation of the tray." +#~ msgstr "Ориентацията на областта за уведомяване." -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Преименуване на списъка" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/път/до/името_на_файла.mp3" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Преименуване" +#~ msgid "Jonny Singer" +#~ msgstr "Джони Сингър" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Добави към списъка с песни" +#~ msgid "--config=" +#~ msgstr "--конфигурация=" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." -msgstr "" +#~ msgid "--version" +#~ msgstr "--версия" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#~ msgid "--disable-plugins" +#~ msgstr "--деактивирай-плъгини" + +#~ msgid "--clean-cover-db" +#~ msgstr "--изчисти-база данни-обложки" + +#~ msgid "--import-old-db" +#~ msgstr "--вмъкни-стара-база данни" + +#~ msgid "--help" +#~ msgstr "--Помощ" + +#~ msgid "--replace" +#~ msgstr "--постави" + +#~ msgid "--quit" +#~ msgstr "--изход" + +#~ msgid "--start-hidden" +#~ msgstr "--старт-скрит" + +#~ msgid "--debug-updates" +#~ msgstr "--поправка грешки-ъпдейт" + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "секунда" +#~ msgstr[1] "секунди" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Информация за бъга" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Браузър за тагове" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Върни браузъра в начално състояние" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Появи се грешка по време на операцията" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Появи се следната грешка(и)" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "Стартирай възпроизвеждането" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "Пауза" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "Паузирай възпроизвеждането" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "следващ" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "Следваща песен" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "Предишен" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "Предишна песен" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "Спри" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "Спри възпроизвеждането" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "Случайно" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Случайно (включено|изключено)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "Повторение" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Повторение (включено|изключено)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "Сила на звука" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "добавяне" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Ориентация" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Ориентацията на областта за уведомяване." +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Маркиране" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Файл" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Диск" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Коментар" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "ID на икона" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Позиция" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" -msgstr "Инструменти" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Постави преди" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Постави след" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Редактирай колони" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Профилът е добавен" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Профилът е премахнат" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Свали отново" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Избор на файл" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Файлът не може да бъде прочетен." +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "заради проблем с кодовата таблица" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Търсена на текст" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Търсене на информация за изпълнителя" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Търсене на информация за албума" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Недостъпен" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Избиране на файл" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Текстов документ" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Всичко" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Изображения" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Зареждане" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Връзки" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Неуспешно свързване с: '%s'" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "* * Неуспешно свързване %s * Показване на съобщение за грешка" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "in _play queue" -#~ msgstr "в опашката" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/bn.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/bn.po --- gmpc-0.18.0/po/bn.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/bn.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,479 +7,414 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 22:10+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:54+0000\n" "Last-Translator: Qball Cow \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "জিনম মিউজিক প্লেয়ার ক্লায়েন্ট" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "নিয়ন্ত্রণ_C" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "সম্পূর্ণ পর্দা জুড়ে প্রদর্শন_F" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "যাওয়া_G" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "মিউজিক_M" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "কপিরাইট ২০০৩-২০০৭ Qball Cow" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Mohammad Niazul Alam https://launchpad.net/~niaz\n" +" Qball Cow https://launchpad.net/~qball-qballcow" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "প্রফাইলঃ" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "সংযুক্ত_e" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "খোলা মাঠঃ" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "উদাহরণঃ" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "অ্যালবাম_A" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "গানের ধারা সাজানো হছে" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "শিরোনাম_T" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "প্রধানঃ" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "গানের তালিকাঃ" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "মধ্যের গানটি চলছে" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "ক্রসফেডঃ" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "বাইরের ডিভাইসঃ" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "সক্রিয়" + +#~ msgid "Song Markup" +#~ msgstr "গান চিহ্নিতকরন" + #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 -msgid "Gnome Music Player Client" -msgstr "জিনম মিউজিক প্লেয়ার ক্লায়েন্ট" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "" -#: ../glade/playlist3.glade.h:15 -msgid "_Control" -msgstr "নিয়ন্ত্রণ_C" - -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "" -#: ../glade/playlist3.glade.h:18 -msgid "_Fullscreen" -msgstr "সম্পূর্ণ পর্দা জুড়ে প্রদর্শন_F" - -#: ../glade/playlist3.glade.h:19 -msgid "_Go" -msgstr "যাওয়া_G" - -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "" -#: ../glade/playlist3.glade.h:21 -msgid "_Music" -msgstr "মিউজিক_M" - -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" msgstr "" -#: ../glade/playlist3.glade.h:25 -msgid "_Show Artist Image" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "" @@ -491,19 +426,13 @@ msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -561,468 +490,726 @@ msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 msgid "" -"Could not grab the following multimedia keys:\n" -"\n" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/mm-keys.c:381 -msgid "" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#: ../src/mm-keys.c:388 -msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#: ../src/mm-keys.c:628 -#, c-format +#: ../src/mpdinteraction.c:282 msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/mm-keys.c:657 -#, c-format -msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/mm-keys.c:704 -msgid "Action" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." msgstr "" -#: ../src/mm-keys.c:726 -msgid "Shortcut" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." msgstr "" #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:321 +msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:325 +msgid "output" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1737 #, c-format -msgid "Random: %s" +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" -msgstr "কপিরাইট ২০০৩-২০০৭ Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Mohammad Niazul Alam https://launchpad.net/~niaz\n" -" Qball Cow https://launchpad.net/~qball-qballcow" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1036,68 +1223,48 @@ msgid "_Save password" msgstr "" -#: ../glade/preferences-connection.ui.h:1 -msgid "Profile:" -msgstr "প্রফাইলঃ" - -#: ../glade/preferences-connection.ui.h:2 -msgid "Conn_ect" -msgstr "সংযুক্ত_e" - #: ../glade/preferences-connection.ui.h:3 msgid "Host:" msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "খোলা মাঠঃ" - -#: ../glade/preferences-esf-dialog.ui.h:2 -msgid "Example:" -msgstr "উদাহরণঃ" - #: ../glade/preferences-esf-dialog.ui.h:3 msgid "Format Rule:" msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:4 -msgid "A_lbum" -msgstr "অ্যালবাম_A" - -#: ../glade/preferences-esf-dialog.ui.h:5 -msgid "Edit Song Formatting" -msgstr "গানের ধারা সাজানো হছে" - #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" msgstr "" @@ -1114,55 +1281,31 @@ msgid "_Stream name" msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:10 -msgid "_Title" -msgstr "শিরোনাম_T" - #: ../glade/preferences-esf-dialog.ui.h:11 msgid "example" msgstr "" -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "প্রধানঃ" - -#: ../glade/preferences-playlist.ui.h:2 -msgid "Playlist:" -msgstr "গানের তালিকাঃ" - -#: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "গান চিহ্নিতকরন" - #: ../glade/preferences-playlist.ui.h:4 -msgid "Center playing song" -msgstr "মধ্যের গানটি চলছে" - -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1170,14 +1313,6 @@ msgid "Loaded Plugins:" msgstr "" -#: ../glade/preferences-server.ui.h:1 -msgid "Crossfade:" -msgstr "ক্রসফেডঃ" - -#: ../glade/preferences-server.ui.h:2 -msgid "Output Devices:" -msgstr "বাইরের ডিভাইসঃ" - #: ../glade/preferences-server.ui.h:3 msgid "" "You need to be connected\n" @@ -1204,19 +1339,19 @@ msgid "PopUp" msgstr "" -#: ../glade/preferences-trayicon.ui.h:4 -msgid "Enable" -msgstr "সক্রিয়" - #: ../glade/preferences-trayicon.ui.h:5 msgid "Position:" msgstr "" #: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1240,6 +1375,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1270,82 +1409,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1353,7 +1499,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1361,635 +1507,657 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Name:" -#~ msgstr "নামঃ" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "সাজানো হচ্ছেঃ" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/bs.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/bs.po --- gmpc-0.18.0/po/bs.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/bs.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,342 +7,190 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 22:39+0000\n" -"Last-Translator: Kenan Dervišević \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:54+0000\n" +"Last-Translator: kenan3008 \n" "Language-Team: Bosnian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Gnome frontend za mpd daemon" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome muzički player klijent" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Potražite pomoć" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD baza podataka se nadopunjuje." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Ugasi zvuk" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Dalje" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Sviraj/Pauza" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Prethodni" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profili" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Slučajno" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Ponovi" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Prikaži poruke" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Zaustavi" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Posjeti internet stranicu" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Zatvori interfejs" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Spoji" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kontrola" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Prekini vezu" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Proširi interfejs" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Cijeli ekran" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Idi" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Pomoć" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muzika" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Postavke" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Pošalji šifru" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Prikaži sliku umjetnika" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Pogled" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Uređivanje liste" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny pjevač" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Pjevajte ili zavrtite šta god želite" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "Džez kernela" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2. februar 2006." - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Server protoka za MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--nivo-debagovanja=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--verzija" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--konfiguracija=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--pokreni-sakrivenog" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--očisti-bazu-okvira" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--deaktiviraj-dodatke" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--zamijeni" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--izlaz" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--uvezi-staru-bazu" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--nadopune-debagovanja" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--pomoć" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome mučki svirač klijent\n" -"Postavke:\n" -"\t--start-hidden\t\tPokreni skrivenog\n" -"\t--help\t\t\tOvo je poruka za pomoć.\n" -"\t--debug-level=\tUčini da gmpc štampa informacije o otklanjanju " -"grešaka.\n" -"\t\t\t\tNivo:\n" -"\t\t\t\t\t0 Nema izlaza\n" -"\t\t\t\t\t1 Poruke o greškama\n" -"\t\t\t\t\t2 Poruke o greškama + Poruke upozorenja\n" -"\t\t\t\t\t3 Sve poruke\n" -"\t--version\t\tŠtampaj verziju i dobij reviziju\n" -"\t--config=\t\tPostavi putanju za konfiguracijsku datoteku, početno " -"~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tOčisti datoteku sa naslovnicama.\n" -"\t--disable-plugins\tNe učitavaj nijedan dodataka.\n" -"\t--replace\t\tZamijeni pokrenutu sesiju sa trenutnom\n" -"\t--quit\t\t\tZatvori pokrenutu gmpc sesiju. Radi samo ukoliko su višestruke " -"instance isključene.\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "izađi" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Izađi iz gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "sakrij" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Sakrij gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "prikaži" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Prikaži gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "prikaži obavještenja" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Prikaži ikonu obavještenja u trayu" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Učitavanje konfiguracije sistema nije uspjelo." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Učitavanje log datoteke za debagovanje nije uspjelo." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Postavljanje libmpd-a nije uspjelo" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC nema potrebne dozvole na mpd serveru." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -351,143 +199,36 @@ "Postavljanje šifre nije uspjelo na: '%s'\n" "Molimo pokušajte ponovo" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Molimo unesite vašu šifru za: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "greška broj" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Nemate dozvolu da se povežete na mpd. Provjerite šifru" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD verzije prije 0.13.0 nisu podržane" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Povezan sa mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Prekinuta veza sa mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Došlo je do greške u toku operacije" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Desile su se sljedeće greške:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Poruka o grešci" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Glavna rečenica" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Verzija" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revizija" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd verzija" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ verzija" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl verzija" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Platforma" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Internet stranica" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Postavke uključene" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Upravljanje sesijom X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Uključeno" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Isključeno" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS podrška" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimedijalne tipke" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Ikona Libegga u trayu" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Sistemski libsexy" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Mac biblioteka za integraciju" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Koristite ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Tempiranja debagovanja" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Mod za održavanje" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -495,15 +236,11 @@ "Novi dodataka za meta podatke je uključen, gmpc je otklonio sve neuspjele " "pokušaje iz keša" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Rukovatelj meta podataka" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Ukupno vrijeme: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "dan" @@ -517,21 +254,14 @@ msgstr[1] "sata" msgstr[2] "sati" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minute" msgstr[2] "minuta" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "sekunda" -msgstr[1] "sekunde" -msgstr[2] "sekundi" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Nije izvršeno" @@ -589,7 +319,7 @@ msgid "Show easy command entry" msgstr "Prikaži jednostavni unos komande" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -597,7 +327,7 @@ "Dobavljanje sljedećih multimedijalnih tipki nije uspjelo:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -607,7 +337,7 @@ "Utvrdite da vaš upravljač prozorima (ili drugim aplikacijama) nije vezan " "ključem za neku drugu funkciju, zatim ponovo pokrenite gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -618,7 +348,11 @@ "Neke duple multimedijalne tipke su otkrivene i isključene. Molimo pogledajte " "postavke ponovo i utvrdite da su sada tačne." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimedijalne tipke" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -628,7 +362,7 @@ "Duplo mapiranje je otkriveno\n" "%s je već mapiran na %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -643,196 +377,181 @@ "Utvrdite da vaš upravljač prozorima (ili drugim aplikacijama) nije vezan " "ključem za neku drugu funkciju, zatim ponovo pokrenite gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Akcija" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Prečica" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Isključeno" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "sviraj" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "započni reprodukciju" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "pauza" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "pauziraj reprodukciju" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "sljedeća" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "sljedeća pjesma" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "prethodna" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "prethodna pjesma" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "zaustavi" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "zaustavi reprodukciju" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "slučajno" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "Slučajno (uključeno|isključeno)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "ponavljaj" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Ponavljanje (uključeno|isključeno)" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "jačina zvuka" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Jačina zvuka " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "jačina zvuka \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Pojačaj" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "jačina zvuka -" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Smanji" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "isključi zvuk" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "Sviraj " -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "dodaj" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "Dodaj " -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "zamijeni" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "Zamijeni " -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Postavke servera" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Konekcija" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Povezivanje" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Sve iz albuma" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Sve od umjetnika" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Sve iz žanra" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Sve iz istog direktorija" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Dodaj još" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Postavi ocjenu" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "MPD baza se nadopunjuje" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD nadopunjuje svoju bazu" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD je završio nadopunjavanje baze" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Spojen" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Nije spojen" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Spojen na" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Isključeno" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" @@ -840,177 +559,185 @@ "Datoteku sa opisom interfejsa nije moguće otvoriti!\n" "Molimo da ponovo snimite gmpc\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Ponavljaj: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Uključeno" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Isključeno" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Slučajno: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "MPD baza osvježena u: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD je prijavio sljedeću grešku" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "dodano" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "promijenio ime hosta u:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Nadopuni bazu" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Informacije" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Od" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Od" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Ne svira" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interfejs" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Informacije" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Upozorenje" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritično" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Vrijeme" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Poruka" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Jedan ili više dodataka se nije uspio učitati, pogledajte pomoć->poruke za " "više informacija" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Dodaci" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Dodaci:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Uključeno" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Naziv" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funkcija" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Verzija" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Dummy" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Pretraži ekstenziju" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Pružatelj usluga meta podataka" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Pružatelj usluga meta podataka i ekstenzija pretraživača" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Razno" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Nepoznato" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Traži:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Dodano %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "protok" msgstr[1] "protoka" msgstr[2] "protoka" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Dodan 1 protok" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Unesite url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Lis_ta" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Obavijest" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1018,18 +745,18 @@ "Prvi put ste pokrenuli gmpc.\n" "Pomoćnik će vam pokazati kako da povežete vaš gmpc na mpd daemon." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Dobrodošli u GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Veza instalacije" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1037,7 +764,7 @@ "Gmpc je sada spreman za upotrebu.\n" "Uživajte koristeći gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Završi" @@ -1058,7 +785,10 @@ " Kenan Dervišević https://launchpad.net/~kenan3008\n" "\n" "Launchpad Contributions:\n" -" Kenan Dervišević https://launchpad.net/~kenan3008" +" Kenan Dervišević https://launchpad.net/~kenan3008\n" +"\n" +"Launchpad Contributions:\n" +" kenan3008 https://launchpad.net/~kenan3008" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1084,33 +814,33 @@ msgid "Host:" msgstr "Host:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Ime:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Šifra:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Vrijeme do kraja (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Automatsko povezivanje" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Koristi autentifikaciju" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "lokalni host" @@ -1167,38 +897,30 @@ msgstr "Lista:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Označavanje pjesme" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centralna pjesma koja svira" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Uredi_označavanje pretrage" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Sakrij nakon zatvaranja" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Snimi pozicije i veličine između sesija" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Prikaži dugmad umjesto padajuće liste u zatvorenom pregledu" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Prikaži savjete vezane za listu pjesama" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Prekini sviranja nakon izlaska" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Stiliziraj sliku albuma" @@ -1250,11 +972,11 @@ msgid "Position:" msgstr "Pozicija:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Prikaži predostrožnost" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Vrijeme:" @@ -1310,62 +1032,56 @@ msgid "name:" msgstr "ime:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "stavka" msgstr[1] "stavke" msgstr[2] "stavki" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Procjena)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "Prebaci listu čekanja za reprodukciju" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "Prebaci na listu čekanja za reprodukciju" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "Očisti listu čekanja za reprodukciju" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Sviraj iz liste za čekanje" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Jeste li sigurno da želite očistiti listu?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "Vaš mpd ima neispravan \"addid\", ubacivanje neće uspjeti." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Izreži" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Izmiješano" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Dodaj URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1374,33 +1090,26 @@ "Lista\"%s\" već postoji\n" "Prebriši?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Snimanje datoteke sa listom pjesama nije uspjelo." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Sviraj iz liste za čekanje" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Pretraživač datoteka" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Direktoriji" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" -"Čini se da nemate muzike u vašoj bazi.\n" -"Da dodate muziku, kopirajte je u vaš muzički_direktorij kao što je " -"predloženo u vašoj mpd konfiguracijskoj datoteci.\n" -"Zatim osvježite bazu. (Server -> Osvježi bazu)" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Dodan direktorij '%s' rekurzivno" @@ -1408,639 +1117,1286 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Zamijeni" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Ažuriraj" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Učitana lista" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Dodano" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "pjesma" msgstr[1] "pjesme" msgstr[2] "pjesama" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "direktorij" msgstr[1] "direktorija" msgstr[2] "direktorija" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "lista pjesama" msgstr[1] "liste pjesama" msgstr[2] "listi pjesama" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Jeste li sigurni da želite očistiti izabranu listu pjesama?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Upit" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Baza podataka" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Lista pjesama" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Pretraga" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Pretraga nije uspjela" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Dodaj sve" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "Pretraga prebacivanja" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "Prebaci na preglednik pretrage" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "baza pretrage" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "Pretraži bazu " -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "pretraži listu pjesama" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "Pretraži listu pjesama " -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "Pretara preglednika" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Nedostupno" - -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Preuzimam..." +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Uređivač liste pjesama" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Prikaz" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Omiljeni" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Umjetnik" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nova lista pjesama" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Pjesme" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Preimenuj listu pjesama" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Vrijeme sviranja" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Preimenuj" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Žanr" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Dodaj u listu pjesama" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Datum" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Dodaj pjesmu koja svira u listu omiljenih." -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Zbirka" +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Dodaj trenutnu pjesmu u omiljene" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Naslov" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Pretraživač zasnovan na tagovima" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Trajanje" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Resetuj pretraživač" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "Informacije o serveru" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Pjesma" +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "Server" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Kompozitor" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "Vrijeme od pokretanja" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Izvođač" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "Vrijeme sviranja" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Direktorij" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "Ukupno vrijeme sviranja" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Ekstenzija" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "Broj umjetnika" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Ocjena" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "Broj albuma" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitrate" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "Broj pjesama" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "nije dostupno" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Audio format" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Tekst pjesme" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Pjesme sa istim imenom" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Slične pjesme" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Neispravna pretraga" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Samo je prvi %i rezultat prikazana, molimo prepravite vaš upit za pretragu" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Nađi umjetnika:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Žanr: " -msgstr[1] "Žanra: " -msgstr[2] "Žanrova: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Datum: " -msgstr[1] "Datuma: " -msgstr[2] "Datuma: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Informacije o umjetniku:" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Informacije o umjetniku" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Albumi" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Slični umjetnici" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Informacije o albumu:" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Informacije o albumu" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Album umjetnika" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Pjesme" - -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Pretraživač meta podataka" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Pokaži trenutnu pjesmu" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sek" - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "kanala" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "Prebaci preglegnik meta podataka" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "Prebaci na preglednik meta podataka" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "prikaži trenutnu pjesmu" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Prikaži informacije o trenutnoj pjesmi" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "Prikaži trenutnog pjevača" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Prikaži informacije o trenutnom pjevaču" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "prikaži trenutni album" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Prikaži informacije o trenutnom albumu" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Uređivač liste pjesama" - -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "Omiljeni" - -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nova lista pjesama" - -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Preimenuj listu pjesama" - -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Preimenuj" - -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Dodaj u listu pjesama" - -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." -msgstr "Dodaj pjesmu koja svira u listu omiljenih." - -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" -msgstr "Dodaj trenutnu pjesmu u omiljene" - -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Pretraživač zasnovan na tagovima" - -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Resetuj pretraživač" - -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" -msgstr "Informacije o serveru" - -#: ../src/browsers/server-information.c:324 -msgid "Server" -msgstr "Server" - -#: ../src/browsers/server-information.c:333 -msgid "Uptime" -msgstr "Vrijeme od pokretanja" - -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" -msgstr "Vrijeme sviranja" - -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" -msgstr "Ukupno vrijeme sviranja" - -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" -msgstr "Broj umjetnika" - -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" -msgstr "Broj albuma" - -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" -msgstr "Broj pjesama" - -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" -msgstr "Rukovatelj URLa" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "Rukovatelj URLa" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Tip tagova" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Statiske o tagu" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Usmjerenje" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Orijentacija tray-a." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "Označavanje" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Umjetnik" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Naslov" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Datoteka" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Žanr" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Pjesma" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Kompozitor" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Izvođač" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Datum" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Trajanje" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Disk" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Komentar" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Ikona broj" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Položaj" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "Autor albuma" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Ekstenzija" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Direktorij" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Alati" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Ubaci prije" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Ubaci poslije" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Uredi kolone" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Dodan profil" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Uklonjen profil" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Ponovo dobavi" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Odaberite datoteku" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Neuspjelo otvaranje datoteke:" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "zbog problema u dekodiranju" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Ponovo dobavljam tekst" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Dobavljam podatke o umjetniku" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Dobavljam informacije o albumu" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Nije dostupan" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Označi datoteku" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Tekstualni dokument" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Sve" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Slike" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "nije dostupno" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Učitavam" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Ocjena:" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "Osvježi listu sa internete" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Linkovi" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "izvođač" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "album" - -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "Potraga za %s na %s" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Slične pjesme" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Nedostupno" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Pretraživač meta podataka" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Pjesme" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Album umjetnika" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Ocjena" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Tekst pjesme" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Vrijeme sviranja" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informacije o albumu" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informacije o umjetniku" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2. februar 2006." + +#~ msgid "--import-old-db" +#~ msgstr "--uvezi-staru-bazu" + +#~ msgid "--replace" +#~ msgstr "--zamijeni" + +#~ msgid "--quit" +#~ msgstr "--izlaz" + +#~ msgid "--disable-plugins" +#~ msgstr "--deaktiviraj-dodatke" + +#~ msgid "--clean-cover-db" +#~ msgstr "--očisti-bazu-okvira" + +#~ msgid "--start-hidden" +#~ msgstr "--pokreni-sakrivenog" + +#~ msgid "--config=" +#~ msgstr "--konfiguracija=" + +#~ msgid "--version" +#~ msgstr "--verzija" + +#~ msgid "--help" +#~ msgstr "--pomoć" + +#~ msgid " Total time: " +#~ msgstr " Ukupno vrijeme: " + +#~ msgid "Song Markup" +#~ msgstr "Označavanje pjesme" + +#~ msgid "View" +#~ msgstr "Prikaz" + +#~ msgid "Fetching..." +#~ msgstr "Preuzimam..." + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Collection" +#~ msgstr "Zbirka" + +#~ msgid "Audio format" +#~ msgstr "Audio format" + +#~ msgid "Songs with same title" +#~ msgstr "Pjesme sa istim imenom" + +#~ msgid "Invalid search" +#~ msgstr "Neispravna pretraga" + +#~ msgid "Links" +#~ msgstr "Linkovi" + +#~ msgid "Artist info:" +#~ msgstr "Informacije o umjetniku:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Datum: " +#~ msgstr[1] "Datuma: " +#~ msgstr[2] "Datuma: " + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Žanr: " +#~ msgstr[1] "Žanra: " +#~ msgstr[2] "Žanrova: " + +#~ msgid "Find Artist:" +#~ msgstr "Nađi umjetnika:" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Samo je prvi %i rezultat prikazana, molimo prepravite vaš upit za pretragu" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sek" + +#~ msgid "Album info:" +#~ msgstr "Informacije o albumu:" + +#~ msgid "Tracks" +#~ msgstr "Pjesme" + +#~ msgid "Similar Artists" +#~ msgstr "Slični umjetnici" + +#~ msgid "Albums" +#~ msgstr "Albumi" + +#~ msgid "Show Current Song" +#~ msgstr "Pokaži trenutnu pjesmu" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "bits" +#~ msgstr "bits" + +#~ msgid "channels" +#~ msgstr "kanala" + +#~ msgid "Orientation" +#~ msgstr "Usmjerenje" + +#~ msgid "The orientation of the tray." +#~ msgstr "Orijentacija tray-a." + +#~ msgid "The kernel jazz" +#~ msgstr "Džez kernela" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny pjevač" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Pjevajte ili zavrtite šta god želite" + +#~ msgid "--debug-updates" +#~ msgstr "--nadopune-debagovanja" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Uredi_označavanje pretrage" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Server protoka za MPD" + #, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Neuspjelo povezivanje na url: '%s'" +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Gnome mučki svirač klijent\n" +#~ "Postavke:\n" +#~ "\t--start-hidden\t\tPokreni skrivenog\n" +#~ "\t--help\t\t\tOvo je poruka za pomoć.\n" +#~ "\t--debug-level=\tUčini da gmpc štampa informacije o otklanjanju " +#~ "grešaka.\n" +#~ "\t\t\t\tNivo:\n" +#~ "\t\t\t\t\t0 Nema izlaza\n" +#~ "\t\t\t\t\t1 Poruke o greškama\n" +#~ "\t\t\t\t\t2 Poruke o greškama + Poruke upozorenja\n" +#~ "\t\t\t\t\t3 Sve poruke\n" +#~ "\t--version\t\tŠtampaj verziju i dobij reviziju\n" +#~ "\t--config=\t\tPostavi putanju za konfiguracijsku datoteku, početno " +#~ "~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tOčisti datoteku sa naslovnicama.\n" +#~ "\t--disable-plugins\tNe učitavaj nijedan dodataka.\n" +#~ "\t--replace\t\tZamijeni pokrenutu sesiju sa trenutnom\n" +#~ "\t--quit\t\t\tZatvori pokrenutu gmpc sesiju. Radi samo ukoliko su višestruke " +#~ "instance isključene.\n" + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "sekunda" +#~ msgstr[1] "sekunde" +#~ msgstr[2] "sekundi" + +#~ msgid "show current artist" +#~ msgstr "Prikaži trenutnog pjevača" + +#~ msgid "Show the current songs information" +#~ msgstr "Prikaži informacije o trenutnoj pjesmi" + +#~ msgid "Show the current artist information" +#~ msgstr "Prikaži informacije o trenutnom pjevaču" + +#~ msgid "Switch to the metadata browser" +#~ msgstr "Prebaci na preglednik meta podataka" + +#~ msgid "show current song" +#~ msgstr "prikaži trenutnu pjesmu" + +#~ msgid "switch metadata browser" +#~ msgstr "Prebaci preglegnik meta podataka" + +#~ msgid "Show the current album information" +#~ msgstr "Prikaži informacije o trenutnom albumu" + +#~ msgid "show current album" +#~ msgstr "prikaži trenutni album" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informacije o grešci" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Predavanje liste pjesama nije uspjelo" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Alati" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Došlo je do greške u toku operacije" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Desile su se sljedeće greške:" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "traži" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Traži unutar trenutne pjesme" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Čini se da nemate muzike u vašoj bazi.\n" +"Da dodate muziku, kopirajte je u vaš muzički_direktorij kao što je " +"predloženo u vašoj mpd konfiguracijskoj datoteci.\n" +"Zatim osvježite bazu. (Server -> Osvježi bazu)" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Putanja" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/cs.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/cs.po --- gmpc-0.18.0/po/cs.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/cs.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,340 +7,157 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 21:46+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:55+0000\n" "Last-Translator: Vojtěch Látal \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Grafické rozhraní pro mpd démona" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "_Získat nápovědu" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Databáze MPD se právě aktualizuje." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Vypnout zvuk" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "_Další" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "_Přehrát / pozastavit" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Předcho_zí" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "P_rofily" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "_Náhodné pořadí" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "_Opakovat" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Zobrazit _události" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "_Stop" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "_Navštivte webové stránky" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Z_jednodušit zobrazení" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Připojit" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Ovládání" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Odpojit" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Rozšířit zobrazení" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Celá obrazovka" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Přejít" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Nápověda" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Hudba" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Možnosti" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "Odeslat _heslo" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Zobrazit obrázek interpreta" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Zobrazit" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Správce seznamů skladeb" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/cesta/k/souboru.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jiří Zpěvák" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Zpívej nebo swinguj co chceš" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2. únor 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Streamovací server MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--uroven-ladeni=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--verze" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--konfig=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--skryt-po-spusteni" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--vyprazdnit-db-obalu" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--zakazat-pluginy" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--nahradit" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--ukoncit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-stare-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--ladeni-aktualizaci" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--napoveda" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--skryt-po-spusteni\t\tPo spuštění skryje okno\n" -"\t--napoveda\t\t\tTato nápověda.\n" -"\t--uroven-ladeni=\tGmpc bude vypisovat ladící informace\n" -"\t\t\t\tÚroveň:\n" -"\t\t\t\t\t0 Žádný výstup\n" -"\t\t\t\t\t1 Chybové zprávy\n" -"\t\t\t\t\t2 Chybové zprávy a varování\n" -"\t\t\t\t\t3 Všechny zprávy\n" -"\t--verze\t\tVypíše verzi a git verzi\n" -"\t--konfig=\t\tNastaví cestu ke konfiguračnímu souboru. Výchozí je " -"~/.gmpc/gmpc.cfg\n" -"\t--procistit-db-obalu\tPročistí soubor s obaly\n" -"\t--zakazat-rozsireni\tNenačte žádné rozšíření\n" -"\t--nahradit\t\tNahradí běžící sezení novým\n" -"\t--konec\t\t\tUkončí běžící gmpc sezení. Funguje pouze pokud je zakázáno " -"použití více instancí.\n" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Nepodařilo se načtení konfiguračního systému." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Nepodařilo se načíst soubor s ladícími informacemi." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Nepodařilo se nastavit libmpd." -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC má nedostatečná práva na mpd serveru." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -349,143 +166,36 @@ "Nepodařilo se nastavit heslo pro '%s'.\n" "Zkuste to prosím znovu." -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Zadejte prosím heslo pro '%s'." -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "kód chyby" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Nedostatečná práva k připojení k mpd. Zkontrolujte heslo." -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD před verzí 0.13.0 nejsou podporovány" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Připojen k MPD" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Odpojeno od MPD" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Vyskytla se chyba během operace" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Vyskytly se následující chyby:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Chybová zpráva" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Řádek s tagy" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Verze" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revize" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Verze libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Verze GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Verze libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Platforma" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OSX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Webová stránka" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Možnosti povoleny" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Správa sezení X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Povoleno" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Zakázáno" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Podpora NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimediální klávesy" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Stavová ikona libeggu" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Libsexy systém" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Integrační knihovna pro Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Použijte adresář ~/.config/" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Časování ladění" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Režim správce" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -493,15 +203,11 @@ "Nové metadata rozšíření bylo přidáno, gmpc vyprázdnil všechny neúspěšné " "zásahy z cache." -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Obsluha metadat" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Celkový čas: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "den" @@ -515,20 +221,14 @@ msgstr[1] "hodiny" msgstr[2] "hodin" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Nepodařilo se provést" @@ -581,12 +281,7 @@ msgid "Toggle Mute" msgstr "Vypnout/zapnout zvuk" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -594,7 +289,7 @@ "Nepodařilo se odchytit následující multimediální klávesy:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -604,7 +299,7 @@ "Ujistěte se, že váš okenní správce (nebo jiná aplikace) nepřiřadila tuto " "klávesu pro jinou funkci, pak restartujte GMPC." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -616,7 +311,11 @@ "Byla nalezena a zakázána některá duplikátní přiřazení multimediální klávesy. " "Zkontrolujte prosím nastavení a ujistěte se, že jsou v pořádku." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimediální klávesy" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -627,7 +326,7 @@ "\n" "%s je už přiřazeno k %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -644,372 +343,263 @@ "Ujistěte se, že váš okenní správce (nebo jiná aplikace) nepřiřadila tuto " "klávesu pro jinou funkci, pak restartujte GMPC." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Akce" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Klávesová zkratka" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Vypnuto" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Nastavení serveru" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Připojení" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Navazuji spojení" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Všechny z alba" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Vše od interpreta" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Všechny s tímto žánrem" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Všechny ze stejného adresáře" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Přidat další" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Probíhá aktualizace databáze MPD" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD právě aktualizuje databázi" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD úspěšně ukončilo aktualizaci databáze" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Připojeno" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Nepřipojeno" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Připojen k" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Odpojen" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Opakovat: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Zapnuto" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Vypnuto" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Náhodné: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Databáze MPD aktualizována v: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD ohlásilo následující chybu" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "přidáno" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "změněn hostitel na:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Aktualizovat databázi" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "od" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Z" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Nepřehrává se" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Zobrazení" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Varování" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritický" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Čas" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Událost" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Jedno nebo více rozšíření se nepodařilo načíst, podívejte se do Nápověda -> " "Zobrazit události pro další informace." -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Rozšíření" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Pluginy:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Povoleno" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Název" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funkce" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Verze" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "fiktivní" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Rozšíření prohlížeče" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Poskytovatel metadat" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Poskytovatel metadat a rozšíření prohlížeče" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Různé" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Neznámý" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Najdi:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Přidáno %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "proud" msgstr[1] "proudy" msgstr[2] "proudů" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Přidán 1 stream" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Zadejte url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Se_znam skladeb" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Oznámení" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1017,18 +607,18 @@ "Toto je první spuštění gmpc.\n" "Tento asistent vám pomůže připojit gmpc k vašemu mpd serveru." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Vítejte v GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Nastavení připojení" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1036,7 +626,7 @@ "Gmpc je připraveno k použití.\n" "Uýijte si používání gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Dokončit" @@ -1075,6 +665,9 @@ " Vojtěch Látal https://launchpad.net/~latal\n" "\n" "Launchpad Contributions:\n" +" Vojtěch Látal https://launchpad.net/~latal\n" +"\n" +"Launchpad Contributions:\n" " Vojtěch Látal https://launchpad.net/~latal" #: ../glade/password-dialog.ui.h:1 @@ -1101,33 +694,33 @@ msgid "Host:" msgstr "Hostitel:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Název" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Heslo:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Timeout (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Automaticky připojit" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "Po_užít ověření" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1184,39 +777,31 @@ msgstr "Seznam skladeb:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Název podle pravidla" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Právě přehrávanou skladbu doprostřed" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Úp_rava pravidla pro název" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Skrýt při zavření" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Ukládat pozici a velikost okna mezi spuštěními" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" "Zobrazit tlačítka místo rozbalovacího seznamu ve zjednodušeném zobrazení" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Zobrazit tipy v seznamu skladeb" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Ukončit přehrávání při ukončení" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Stylizovat obaly alb" @@ -1268,18 +853,14 @@ msgid "Position:" msgstr "Pozice:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Zobrazit jen:" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Schovat po:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP proxy:" @@ -1288,18 +869,10 @@ msgid "Use a proxy for internet connectivity" msgstr "Použít proxy pro připojení k internetu" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - -#: ../glade/preferences.ui.h:1 -msgid "" -"Plugins\n" -"None Selected" +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" msgstr "" "Pluginy\n" "Žádný není vybrán" @@ -1329,62 +902,43 @@ msgid "name:" msgstr "název:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "položka" msgstr[1] "položky" msgstr[2] "položek" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(odhad)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Fronta" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Jste si jisti, že chcete vyprázdnit seznam skladeb?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "Vaše mpd má poškozené 'addid', nepovede se to" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Oříznout" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Promíchat" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Přidat URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1393,29 +947,26 @@ "Seznam skladeb \"%s\" již existuje.\n" "Má se přepsat?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Nepodařilo se uložit soubor se seznamem skladeb." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Fronta" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Prohlížeč souborů" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Složky" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Rekurzivně přidána složka '%s'" @@ -1423,842 +974,1414 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Nahradit" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Aktualizovat" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Načtený seznam skladeb" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Přidáno" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "skladba" msgstr[1] "skladby" msgstr[2] "skladeb" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "složka" msgstr[1] "složky" msgstr[2] "složek" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "seznam skladeb" msgstr[1] "seznamy skladeb" msgstr[2] "seznamů skladeb" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Jste si jisti, že chcete vyprázdnit vybraný seznam skladeb?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Dotaz" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Vyhledávání" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "Prohlížeč vyhledávání" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Editor seznamů skladeb" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nový seznam skladeb" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Přejmenovat seznam skladeb" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "Prohlížeč vyhledávání" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Přejmenovat" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Nedostupný" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Přidat do seznamu skladeb" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Získávám..." +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Na štítcích založený prohlížeč" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Zobrazení" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Vyprázdnit prohlížeč" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Značky" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Interpret" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Skladby" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Čas přehrávání" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Název" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Soubor" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Žánr" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Datum" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Stopa" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Knihovna" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Skladatel" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Název" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Účinkující" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Datum" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Doba trvání" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disk" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Stopa" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Komentář" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Skladatel" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Id ikony" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Účinkující" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Pozice" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Přípona" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 msgid "Directory" msgstr "Složka" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Přípona" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Nástroje" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Vložit před" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Datový tok" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Vložit za" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "není k dispozici" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Upravit sloupce" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Formát hudby" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Profil přidán" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Text skladby" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Profil odstraněn" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Skladby se stejným názvem" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Znovuzískat" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Podobné skladby" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Vyberte soubor" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Neplatné hledání" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "Zobrazeno je pouze prvních %i výsledků. Zkuste prosím zlepšit dotaz." - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Hledat interpreta:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Žánr:" -msgstr[1] "Žánry:" -msgstr[2] "Žánrů:" - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Datum:" -msgstr[1] "Data:" -msgstr[2] "Dat:" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Nepodařilo se otevřít soubor:" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Informace o interpretovi:" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "kvůli problémům s kódováním" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Informace o interpretovi" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Stahují se informace o interpretovi" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Alba" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Podobní interpreti" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Získávání informací o albu" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Informace o albu:" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Nedostupné" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Informace o albu" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Výběr souboru" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Textový dokument" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Skladby" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Vše" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Obrázky" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "není k dispozici" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Načítání" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Podobné skladby" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Nedostupný" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 msgid "Metadata Browser" msgstr "Prohlížeč metadat" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Zobrazit aktuální skladbu" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Skladby" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Text skladby" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Čas přehrávání" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bitů" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informace o albu" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "kanály" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informace o interpretovi" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#~ msgid "_Server" +#~ msgstr "_Server" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/cesta/k/souboru.mp3" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#~ msgid "Jonny Singer" +#~ msgstr "Jiří Zpěvák" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#~ msgid "Sing or Swing you want" +#~ msgstr "Zpívej nebo swinguj co chceš" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#~ msgid "2 Feb 2006" +#~ msgstr "2. únor 2006" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "" +#~ msgid "MPD's Streaming server" +#~ msgstr "Streamovací server MPD" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Editor seznamů skladeb" +#~ msgid "--help" +#~ msgstr "--napoveda" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "" +#~ msgid "--replace" +#~ msgstr "--nahradit" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nový seznam skladeb" +#~ msgid "--quit" +#~ msgstr "--ukoncit" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Přejmenovat seznam skladeb" +#~ msgid "--disable-plugins" +#~ msgstr "--zakazat-pluginy" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Přejmenovat" +#~ msgid "--clean-cover-db" +#~ msgstr "--vyprazdnit-db-obalu" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Přidat do seznamu skladeb" +#~ msgid "--start-hidden" +#~ msgstr "--skryt-po-spusteni" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#~ msgid "--config=" +#~ msgstr "--konfig=" + +#~ msgid " Total time: " +#~ msgstr " Celkový čas: " + +#~ msgid "View" +#~ msgstr "Zobrazení" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "Zobrazeno je pouze prvních %i výsledků. Zkuste prosím zlepšit dotaz." + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "Album info:" +#~ msgstr "Informace o albu:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Datum:" +#~ msgstr[1] "Data:" +#~ msgstr[2] "Dat:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Žánr:" +#~ msgstr[1] "Žánry:" +#~ msgstr[2] "Žánrů:" + +#~ msgid "Show Current Song" +#~ msgstr "Zobrazit aktuální skladbu" + +#~ msgid "--import-old-db" +#~ msgstr "--import-stare-db" + +#~ msgid "--version" +#~ msgstr "--verze" + +#~ msgid "--debug-updates" +#~ msgstr "--ladeni-aktualizaci" + +#~ msgid "Fetching..." +#~ msgstr "Získávám..." + +#~ msgid "Bitrate" +#~ msgstr "Datový tok" + +#~ msgid "Collection" +#~ msgstr "Knihovna" + +#~ msgid "Audio format" +#~ msgstr "Formát hudby" + +#~ msgid "Songs with same title" +#~ msgstr "Skladby se stejným názvem" + +#~ msgid "Invalid search" +#~ msgstr "Neplatné hledání" + +#~ msgid "Links" +#~ msgstr "Odkazy" + +#~ msgid "Tracks" +#~ msgstr "Skladby" + +#~ msgid "Similar Artists" +#~ msgstr "Podobní interpreti" + +#~ msgid "Albums" +#~ msgstr "Alba" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "bits" +#~ msgstr "bitů" + +#~ msgid "Orientation" +#~ msgstr "Orientace" + +#~ msgid "channels" +#~ msgstr "kanály" + +#~ msgid "The orientation of the tray." +#~ msgstr "Orientace oznamovací oblasti." + +#~ msgid "Song Markup" +#~ msgstr "Název podle pravidla" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Úp_rava pravidla pro název" + +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--skryt-po-spusteni\t\tPo spuštění skryje okno\n" +#~ "\t--napoveda\t\t\tTato nápověda.\n" +#~ "\t--uroven-ladeni=\tGmpc bude vypisovat ladící informace\n" +#~ "\t\t\t\tÚroveň:\n" +#~ "\t\t\t\t\t0 Žádný výstup\n" +#~ "\t\t\t\t\t1 Chybové zprávy\n" +#~ "\t\t\t\t\t2 Chybové zprávy a varování\n" +#~ "\t\t\t\t\t3 Všechny zprávy\n" +#~ "\t--verze\t\tVypíše verzi a git verzi\n" +#~ "\t--konfig=\t\tNastaví cestu ke konfiguračnímu souboru. Výchozí je " +#~ "~/.gmpc/gmpc.cfg\n" +#~ "\t--procistit-db-obalu\tPročistí soubor s obaly\n" +#~ "\t--zakazat-rozsireni\tNenačte žádné rozšíření\n" +#~ "\t--nahradit\t\tNahradí běžící sezení novým\n" +#~ "\t--konec\t\t\tUkončí běžící gmpc sezení. Funguje pouze pokud je zakázáno " +#~ "použití více instancí.\n" + +#~ msgid "Artist info:" +#~ msgstr "Informace o interpretovi:" + +#~ msgid "Find Artist:" +#~ msgstr "Hledat interpreta:" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Na štítcích založený prohlížeč" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Vyprázdnit prohlížeč" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Orientace" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Orientace oznamovací oblasti." +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Značky" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Soubor" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disk" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Komentář" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Id ikony" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Pozice" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" -msgstr "Nástroje" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Vložit před" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Vložit za" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Upravit sloupce" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Profil přidán" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Profil odstraněn" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Znovuzískat" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Vyberte soubor" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Nepodařilo se otevřít soubor:" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "kvůli problémům s kódováním" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Získávání textu" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Stahují se informace o interpretovi" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Získávání informací o albu" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Nedostupné" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Výběr souboru" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Textový dokument" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Vše" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Obrázky" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Načítání" +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Odkazy" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" -#~ msgid "An Error Occured" -#~ msgstr "Vyskytla se chyba" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" -#~ msgid "Name:" -#~ msgstr "Název:" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "Seřadit podle:" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Nastavené prohlížeče tagů se zobrazí jen pokud je " -#~ "verze mpd alespoň 0.12." +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Upozorňovací oblast\n" -#~ "Levý horní roh\n" -#~ "Pravý horní roh\n" -#~ "Levý spodní roh\n" -#~ "Pravý spodní roh" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" -#~ msgid "Error Dialog" -#~ msgstr "Chybový dialog" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" -#~ msgid "Error msg" -#~ msgstr "Chybová zpráva" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "None\n" -#~ "Interpret\n" -#~ "Album\n" -#~ "Název\n" -#~ "Stopa\n" -#~ "Název souboru\n" -#~ "Žánr\n" -#~ "Rok\n" -#~ "Skladatel\n" -#~ "Účinkující\n" -#~ "Komentář\n" -#~ "Disk" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#~ msgid "_Reconnect" -#~ msgstr "Znov_upřipojit" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "informace a vyšší\n" -#~ "varování a vyšší\n" -#~ "chyby\n" -#~ "nic" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" +#: ../src/vala/gmpc-song-links.c:629 #, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Music Player Client\n" +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Pokus o spuštění gmpc s nevhodnou verzí libmpd." +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "GMPC je v současnosti připojen k mpd ve verzi nižší než 0.12.0.\n" -#~ "Může to fungovat, ale toto spojení není podporováno." +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "Connected to mpd" -#~ msgstr "Připojeno k mpd" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Plugins" -#~ msgstr "Pluginy" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "Plugins:" -#~ msgstr "Pluginy:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Nepodařilo se kontaktovat url: '%s'" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Nepodačilo se zpracovat odkaz ze seznamu skladeb" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "And" -#~ msgstr "A" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Or" -#~ msgstr "Nebo" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#~ msgid "Search" -#~ msgstr "Hledat" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Search in current _play queue" -#~ msgstr "Hledat v aktuální _frontě" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "Artist:" -#~ msgstr "Umělec:" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "Skladby:" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "PlayTime:" -#~ msgstr "Čas přehrávání:" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "Genre:" -#~ msgstr "Žánr:" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "Date:" -#~ msgstr "Datum:" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#~ msgid "Collection" -#~ msgstr "Kolekce" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#~ msgid "Album:" -#~ msgstr "Album:" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "Track:" -#~ msgstr "Stopa:" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Composer:" -#~ msgstr "Skladatel:" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "Dirname:" -#~ msgstr "Název složky:" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Extension:" -#~ msgstr "Rozšíření:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Lyric:" -#~ msgstr "Text:" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Links" -#~ msgstr "Odkazy" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Artist info:" -#~ msgstr "Informace o umělci:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Similar Artists:" -#~ msgstr "Podobní umělci:" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Album info:" -#~ msgstr "Informace o albu:" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "Tracks:" -#~ msgstr "Stop:" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "Directory:" -#~ msgstr "Složka:" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "New accelerator..." -#~ msgstr "Nová klávesová zkratka..." +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "Accelerator key" -#~ msgstr "Klávesová zkratka" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Accelerator modifiers" -#~ msgstr "Modifikátory klávesové zkratky" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Accelerator keycode" -#~ msgstr "Kód klávesové zkratky" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "Accel Mode" -#~ msgstr "Režim klávesových zkratek" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "The type of accelerator." -#~ msgstr "Typ klávesové zkratky." +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Title:" -#~ msgstr "Název:" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "Duration:" -#~ msgstr "Trvání:" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "GMPC allready running, quitting" -#~ msgstr "GMPC již běží. Končím." +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Unique" -#~ msgstr "Unikátní" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "in _play queue" -#~ msgstr "ve frontě" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/da.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/da.po --- gmpc-0.18.0/po/da.po 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/po/da.po 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2137 @@ +# Danish translation for gmpc +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the gmpc package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gmpc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-06-25 20:25+0000\n" +"Last-Translator: pkslot \n" +"Language-Team: Danish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "Gnome musik afspiller" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Fejl information" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "Mute" + +#. * MM_PLAYPAUSE +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 +msgid "Next" +msgstr "Næste" + +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "Afspil/Pause" + +#. * MM_NEXT +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 +msgid "Previous" +msgstr "Forrige" + +#: ../glade/playlist3.glade.h:10 +msgid "Profiles" +msgstr "Profiler" + +#. * MM_REPEAT +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 +msgid "Random" +msgstr "Tilfældig" + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "Gentag" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "Vis beskeder" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "Stop" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "Besøg hjemmeside" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" +msgstr "_Forbind" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "_Kontrol" + +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "_Afbryd" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "_Fuld skærm" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "" + +#: ../glade/playlist3.glade.h:25 +msgid "_Help" +msgstr "_Hjælp" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "_Musik" + +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "_Send adgangskode" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "_Vis kunstners billede" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Værktøjer" + +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "_Vis" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "" + +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "Proxy" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "afslut" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Afslut gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "skjul" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Skjul gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "vis" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Vis gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "Vis notifikation" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1094 +#, c-format +msgid "Please enter your password for: '%s'" +msgstr "" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "fejl kode" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "MPD versioner før 0.13.0 er ikke understøttet" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "Forbundet til mpd" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "Afbrudt fra mpd" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "Fejlmeddelelse" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "dag" +msgstr[1] "dage" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "Time" +msgstr[1] "timer" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minutter" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "Spol frem" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "Spol tilbage" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "Hæv vindue" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "Gem vindue" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" + +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" + +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "" + +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "" + +#: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Mads Konradsen https://launchpad.net/~mads-hk\n" +"\n" +"Launchpad Contributions:\n" +" Mads Konradsen https://launchpad.net/~mads-hk\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" pkslot https://launchpad.net/~pkslot" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 +#, c-format +msgid "" +"Playlist \"%s\" already exists\n" +"Overwrite?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/de.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/de.po --- gmpc-0.18.0/po/de.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/de.po 2009-09-21 11:15:59.000000000 +0100 @@ -8,502 +8,225 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-03-01 12:08+0000\n" -"Last-Translator: Wieland Hoffmann \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-26 13:57+0000\n" +"Last-Translator: André Klitzing \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Ein Gnome-Front-End für den Music Player Daemon" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" -msgstr "Wo Sie Hilfe bekommen" +msgstr "Hilfe" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD-Datenbank wird aktualisiert" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Stumm" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Nächster" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" -msgstr "Play/Pause" +msgstr "Wiedergabe/Pause" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Vorheriger" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" -msgstr "Profil" +msgstr "Profile" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Zufall" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Endlosschleife" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" -msgstr "Nachrichten anzeigen" +msgstr "Statusnachrichten anzeigen" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stop" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" -msgstr "Homepage" +msgstr "Webseite" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Oberfläche _beschränken" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "Ver_binden" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Steuerung" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "Verbindung _trennen" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "Oberfläche erweitern" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Vollbild" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Gehe zu" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Hilfe" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Option" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" -msgstr "Passwort _senden" - -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" +msgstr "Kennwort _senden" -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Zeige Künstlerbild" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Ansicht" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Wiedergabelisten-Manager" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/Pfad/zu/Dateiname.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Singen und Swingen wollt ihr" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2. Februar 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "MPD's Streaming-Server" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--nivel-debugging=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--Version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--cover-db-reinigen" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--plugins-deaktivieren" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--ersetzen" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--beenden" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--alte-db-importieren" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-aktualizationen" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--hilfe" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "Beenden" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "gmpc beenden" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "Verstecken" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "gmpc verstecken" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "Zeigen" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "gmpc zeigen" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "Benachrichtigung anzeigen" -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "Zeige Benachrichtigungen im Tray" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Fehler beim Laden des Konfigurationssystems" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Das Laden der Debug-Log Dateien ist fehlgeschlagen." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Einrichten von libmpd fehlgeschlagen" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC hat nicht genügend Rechte am MPD-Server" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -"Setzen des folgenden Passwortes fehlgeschlagen: '%s'\n" +"Setzen des folgenden Kennwortes fehlgeschlagen: '%s'\n" "Bitte versuchen Sie es erneut" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" -msgstr "Bitte geben sie ihr Passwort für '%s' ein:" +msgstr "Bitte geben Sie Ihr Kennwort für '%s' ein:" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "Fehlernummer" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Unzureichende Berechtigung um Verbindung mit mpd herzustellen. Bitte " -"Passwort überprüfen" +"Kennwort überprüfen" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD versionen vor 0.13.0 werden nicht unterstützt" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" -msgstr "mit mpd verbunden" +msgstr "Mit mpd verbunden" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Verbindung von mpd getrennt" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Ein Fehler ist während der Anwendung aufgetreten" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Folgende Fehler sind aufgetreten:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Fehlermeldung" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Untertitel" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Version" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Letzte Bearbeitung" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd Version" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ Version" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl Version" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Architektur" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Webseite" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Optionen aktiviert" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "X-Sitzungsverwaltung" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Eingeschaltet" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Ausgeschaltet" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NSL Unterstützung" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimediatasten" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Libegg Benachrichtigungsicon" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "System libsexy" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Mac integrations Bibliothek" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Benutze ~/.config/ Verzeichniss" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Debug timing" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Verwalter Modus" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" -"Ein neues Metadaten-Plugin wurde hinzugefügt. gmpc hat alle fehlgeschlagenen " -"Treffer aus dem Cache gelöscht." - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "Metadaten-Verwaltung" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Gesamtzeit: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "Tag" @@ -515,21 +238,15 @@ msgstr[0] "Stunde" msgstr[1] "Stunden" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "Minute" msgstr[1] "Minuten" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "Sekunde" -msgstr[1] "Sekunden" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" -msgstr "Fehler beim ausführen" +msgstr "Fehler beim Ausführen" #: ../src/mm-keys.c:73 msgid "PlayPause" @@ -538,12 +255,12 @@ #. * MM_STOP #: ../src/mm-keys.c:77 msgid "Fast Forward" -msgstr "Schnelles Vorspulen" +msgstr "Schneller Vorlauf" #. * MM_FASTFORWARD #: ../src/mm-keys.c:78 msgid "Fast Backward" -msgstr "Schnelles Zurückspulen" +msgstr "Schneller Rücklauf" #. * MM_RANDOM #: ../src/mm-keys.c:81 @@ -578,14 +295,9 @@ #. * MM_SHOW_NOTIFICATION #: ../src/mm-keys.c:87 msgid "Toggle Mute" -msgstr "Stummschaltung an/aus" - -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" +msgstr "Stumm an/aus" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -593,7 +305,7 @@ "Konnte die folgende Multimedia-Taste nicht erfassen:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -601,10 +313,10 @@ msgstr "" "\n" "Stellen Sie sicher, dass Ihr Fenster-Manager (oder eine andere Anwendung) " -"die Tastenicht bereits für eine andere Funktion gebunden hat und starten Sie " +"die Taste nicht bereits an eine andere Funktion gebunden hat und starten Sie " "gmpc erneut." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -617,7 +329,11 @@ "deaktiviert.Bitte gehen Sie in die Einstellungen und überprüfen Sie, ob die " "Einstellungen jetzt korrekt sind." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimediatasten" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -628,7 +344,7 @@ "\n" "%s ist bereits mit %s belegt" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -643,403 +359,368 @@ "\t%s: %s\n" "\n" "Stellen Sie sicher, dass Ihr Fenster-Manager (oder eine andere Anwendung) " -"die Tastenicht bereits für eine andere Funktion gebunden hat und starten Sie " -"gmpc erneut." +"die Taste nicht bereits für eine andere Funktion gebunden hat und starten " +"Sie gmpc erneut." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Aktion" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Tastenkürzel" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Aus" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "Wiedergabe" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "Wiedergabe starten" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "Pause" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "Wiedergabe pausieren" -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "Weiter" - -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" -msgstr "Nächster Song" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "vorheriges" +msgstr "Nächster Titel" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" -msgstr "Vorheriger Song" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "Stop" +msgstr "Vorheriger Titel" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" -msgstr "Wiedergabe stoppen" +msgstr "Wiedergabe anhalten" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "Zufall" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "Zufall (ein|aus)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "Wiederholen" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Wiederholen (ein|aus)" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "Lautstärke" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Lautstärke " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "Lautstärke \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Lautstärke erhöhen" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "Lautstärke -" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Lautstärke verringern" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "Stumm" - -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "Spiele " -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "Hinzufügen" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr " hinzufügen" -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "Ersetzen" - -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " -msgstr "Playlist mit ersetzen" +msgstr "Wiedergabeliste mit ersetzen" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" -msgstr "Serveroptionen" +msgstr "Server Einstellungen" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Verbindung" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Verbinde" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Alles vom Album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Alles vom Künstler" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Alles aus dem Genre" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Alles aus dem gleichen Verzeichnis" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Mehr hinzufügen" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Bewerten" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "MPD Datenbank aktualisiert" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" -msgstr "MPD aktualisiert seine Datenbank" +msgstr "MPD Datenbank wird aktualisiert" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" -msgstr "Das Update der MPD Datenbank ist beendet" +msgstr "Aktualisierung der MPD Datenbank beendet" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Verbunden" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Nicht verbunden" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Verbunden mit" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Nicht verbunden" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" -"Fehler beim öffnen des archives des Interfaces.\n" -"Bitte gmpc reinstalieren\n" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Wiederholung: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "An" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Aus" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Zufall: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "MPD Datenbank erneuert am: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD meldete folgenden Fehler" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "hinzugefügt" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Hostname geändert zu:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Aktualisiere Datenbank" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Information" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Von" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Von" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Keine Wiedergabe" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Oberfläche" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Warnung" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritisch" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Zeit" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Meldung" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Eines oder mehrere Plugins konnten nicht geladen werden, schauen Sie in " "Hilfe->Nachrichten für mehr Informationen" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Erweiterungen" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Plugins:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Eingeschaltet" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Name" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funktion" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Version" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Dummy" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Browser Erweiterung" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Metadaten Anbieter" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Metadaten Anbieter und Browser Erweiterung" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Sonstiges" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Unbekannt" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Suche:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "%i %s hinzugefügt" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "Stream" msgstr[1] "Streams" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Einen Stream hinzugefügt" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Geben sie eine URL ein" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "_Wiedergabeliste" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Benachrichtigung" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -"Sie haben gmpc das erste mal gestartet.\n" -"Dieser Assistent hilft ihnen gmpc mit ihrem mpd Dienst zu verbinden." +"Sie haben gmpc das erste Mal gestartet.\n" +"Dieser Assistent hilft Ihnen gmpc mit Ihrem mpd Server zu verbinden." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Wilkommen bei GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Verbindungs Einstellungen" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -"Gmpc ist nun betriebsbereit.\n" -"Viel Spaß bei der Verwendung von gmpc" +"Gmpc kann nun verwendet werden.\n" +"Viel Spaß mit gmpc!" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Fertig" @@ -1143,34 +824,55 @@ " hendrik https://launchpad.net/~hendrik-patchworklady\n" "\n" "Launchpad Contributions:\n" +" André Klitzing https://launchpad.net/~misery\n" " Benjamin Völkl https://launchpad.net/~benjamin-voelkl\n" " Hans Christof https://launchpad.net/~hans-christof\n" " Huber Florian https://launchpad.net/~itshorty\n" -" Kim Linoh https://launchpad.net/~psychokim\n" " Klaus Simon https://launchpad.net/~simon-klaus\n" " MartinGruen https://launchpad.net/~mhr-gmx\n" +" PsychoKim https://launchpad.net/~psychokim\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" René 'Necoro' Neumann https://launchpad.net/~necoro\n" +" Wieland Hoffmann https://launchpad.net/~themineo\n" +" Zaunmayrchris https://launchpad.net/~zaunmayrchris\n" +" andriot https://launchpad.net/~andriot81\n" +" cap https://launchpad.net/~cap-mueller\n" +" hendrik https://launchpad.net/~hendrik-patchworklady\n" +"\n" +"Launchpad Contributions:\n" +" André Klitzing https://launchpad.net/~misery\n" +" Benjamin Völkl https://launchpad.net/~benjamin-voelkl\n" +" Fux https://launchpad.net/~fuchsiv\n" +" Hans Christof https://launchpad.net/~hans-christof\n" +" Huber Florian https://launchpad.net/~itshorty\n" +" Klaus Simon https://launchpad.net/~simon-klaus\n" +" Lukas Bögelein https://launchpad.net/~lukas-boegelein\n" +" MartinGruen https://launchpad.net/~mhr-gmx\n" +" PsychoKim https://launchpad.net/~psychokim\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" " René 'Necoro' Neumann https://launchpad.net/~necoro\n" " Wieland Hoffmann https://launchpad.net/~themineo\n" " Zaunmayrchris https://launchpad.net/~zaunmayrchris\n" " andriot https://launchpad.net/~andriot81\n" +" cap https://launchpad.net/~cap-mueller\n" +" elmo https://launchpad.net/~bjoern-bjoern-b\n" " hendrik https://launchpad.net/~hendrik-patchworklady" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" -msgstr "Geben Sie Ihr Passwort für '' ein:" +msgstr "Geben Sie Ihr Kennwort für '' ein:" #: ../glade/password-dialog.ui.h:2 msgid "Password" -msgstr "Passwort" +msgstr "Kennwort" #: ../glade/password-dialog.ui.h:3 msgid "_Save password" -msgstr "Passwort _speichern" +msgstr "Kennwort _speichern" #: ../glade/preferences-connection.ui.h:1 msgid "Profile:" -msgstr "Profil:" +msgstr "Profil:" #: ../glade/preferences-connection.ui.h:2 msgid "Conn_ect" @@ -1180,33 +882,33 @@ msgid "Host:" msgstr "Host:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Name:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" -msgstr "Passwort:" +msgstr "Kennwort:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Zeitüberschreitung (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Automatisch verbinden" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "A_uthentifizierung verwenden" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1254,57 +956,41 @@ msgid "example" msgstr "Beispiel" -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "" - #: ../glade/preferences-playlist.ui.h:2 msgid "Playlist:" msgstr "Wiedergabeliste:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Lied-Formatierung" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Aktuell spielenden Titel zentrieren" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "_Browser-Formatierung bearbeiten" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Beim Schließen verstecken" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Fensterposition und Größe zwischen Sitzungen sichern" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "Zeige Funktionsknöpfe statt der Dropdown Menü Ansicht." - -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" -msgstr "Zeige Tooltip in der Song-Liste" +msgstr "Zeige Tooltip in der Wiedergabeliste" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Beende Wiedergabe beim Verlassen" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" -msgstr "Stilisiere Album Cover" +msgstr "Stilisiere Alben Covers" #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" -msgstr "Geladene Plugins:" +msgstr "Verfügbare Plugins:" #: ../glade/preferences-server.ui.h:1 msgid "Crossfade:" -msgstr "Crossfade:" +msgstr "Überblenden:" #: ../glade/preferences-server.ui.h:2 msgid "Output Devices:" @@ -1320,7 +1006,7 @@ #: ../glade/preferences-server.ui.h:5 msgid "Enable crossfade" -msgstr "Schalte crossfade ein" +msgstr "Überblende ein" #: ../glade/preferences-server.ui.h:6 msgid "fade time (s):" @@ -1332,7 +1018,7 @@ #: ../glade/preferences-trayicon.ui.h:2 msgid "Notification Area Icon" -msgstr "Anmerkungsfeld-Symbol" +msgstr "Tray-Icon" #: ../glade/preferences-trayicon.ui.h:3 msgid "PopUp" @@ -1346,11 +1032,11 @@ msgid "Position:" msgstr "Position:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Anzeigegenauigkeit" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Zeitüberschreitung:" @@ -1407,62 +1093,52 @@ msgid "name:" msgstr "Name:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "Eintrag" msgstr[1] "Einträge" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Einschätzung)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "Wechsle Wiedergabeliste" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "Wechsle zu Wiedergabeliste" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "Wiedergabeliste leeren" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Wiedergabe-Warteschlange" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" -msgstr "Sind sie sicher, dass sie die Wiedergabeliste löschen wollen?" +msgstr "Sind sie sicher, dass Sie die Wiedergabeliste löschen wollen?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" "Ihr mpd hat eine fehlerhafte 'addid', das Einfügen wird fehlschlagen." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" -msgstr "Abschneiden" +msgstr "Freistellen" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Zufällig" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "URL hinzufügen" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1471,33 +1147,26 @@ "Wiedergabeliste \"%s\" existiert bereits\n" "Überschreiben?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Die Wiedergabeliste konnte nicht gespeichert werden." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Wiedergabe-Warteschlange" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Dateibrowser" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Verzeichnisse" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" -"Es scheint, als hätten Sie keine Musik in Ihrer Datenbank.\n" -"Um Musik hinzuzufügen, kopieren Sie diese in das , das " -"in der mpd Konfigurationsdatei angegeben ist.\n" -"Dann aktualisieren Sie die Datenbank. (Server -> Aktualisiere Datenbank)" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Verzeichnis '%s' rekursiv hinzugefügt" @@ -1505,971 +1174,1347 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Ersetzen" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Aktualisiere" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Wiedergabeliste geladen" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Hinzugefügt" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "Lied" msgstr[1] "Lieder" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "Verzeichnis" msgstr[1] "Verzeichnisse" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "Wiedergabeliste" msgstr[1] "Wiedergabelisten" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" "Sind Sie sicher, dass sie die ausgewählten Wiedergabeliste löschen wollen?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Suche" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Datenbank" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Wiedergabeliste" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Suche" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" -msgstr "Suche schlug fehl" +msgstr "Suche fehlgeschlagen" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Füge alles hinzu" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "Suche Wechseln" - -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "Zum Suchbrowser wechseln" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "Datenbank durchsuchen" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "Durchsuche Datenbank nach " -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" -msgstr "Playlist durchsuchen" +msgstr "Wiedergabeliste durchsuchen" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "Durchsuche Wiedergabeliste nach " -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "Suche Browser" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Nicht verfügbar" - -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Abrufen..." +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Wiedergabelisten Editor" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Ansicht" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favoriten" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Künstler" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Neue Wiedergabeliste" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Lieder" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Wiedergabeliste umbenennen" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Laufzeit" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Umbenennen" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Genre" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Zur Wiedergabeliste hinzufügen" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Datum" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Sammlung" - -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titel" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Laufzeit" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Stück" - -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Komponist" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Interpret" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Verzeichnis" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Erweiterung" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Bewertung" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitrate" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "Nicht verfügbar" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Audio Format" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Liedtexte" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Lieder mit dem gleichen Titel" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Ähnliche Lieder" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Suche nicht möglich" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Nur die ersten %i Resultate werden angezeigt, bitte schränken Sie Ihre Suche " -"ein" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Finde Künstler" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Genre: " -msgstr[1] "Genre: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Datum: " -msgstr[1] "Daten: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Künstler informationen:" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Künstler informationen" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Alben" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Ähnliche Künstler" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Album Information:" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Album Information" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Interpret" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Titel" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Aktueller Titel wurde zu den Favoriten hinzugefügt" #. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Metadatenbrowser" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Zeige aktuelles Lied" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/Sek" - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "Kanäle" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "Wechsle zum Metadatenbrowser" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "Zeige aktuellen Song" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Zeige Informationen zum aktuellen Song" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "Zeige aktuellen Interpreten" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Zeige Informationen zum Interpreten" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "Zeige aktuelles Album" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Zeige Informationen zum aktuellen Album" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Wiedergabelisten Editor" - -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "Favoriten" - -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Neue Wiedergabeliste" - -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Wiedergabeliste umbenennen" - -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Umbenennen" - -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Zur Wiedergabeliste hinzufügen" - -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." -msgstr "Aktueller Song wurde zu den Favoriten hinzugefügt" - -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" -msgstr "Song zu Favoriten hinzufügen" +msgstr "Titel zu Favoriten hinzufügen" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Tag-basierter Browser" - -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "Browser zurücksetzen" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" -msgstr "Serverinformation" +msgstr "Server Information" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Server" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "Betriebszeit" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "Spielzeit" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "Gesamte Spielzeit" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "Anzahl der Interpreten" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "Anzahl der Alben" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "Anzahl der Lieder" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" -msgstr "Handhabung von Adressen" - -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Tag Felder" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Tag Statistiken" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Orientierung" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Die Ausrichtung der Tray-Leiste." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "Hervorhebungen (Markup)" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Künstler" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titel" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Datei" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Genre" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Stück" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Komponist" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Interpret" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Datum" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Laufzeit" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Disk" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Kommentar" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "" - -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Position" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Erweiterung" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Verzeichnis" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Werkzeuge" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Vorher einfügen" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Nachher einfügen" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Spalten bearbeiten" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Hinzugefügtes Profil" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Entferntes Profil" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Erneut abrufen" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Wähle Datei" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Datei konnte nicht geöffnet werden" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "wegen codierungs Fehler" - -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Hole Liedtext" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Informationen zum Interpreten werden abgerufen" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Lade Album-Informationen" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Nicht verfügbar" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Wähle Datei" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Textdokument" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Alle" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Bilder" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "Nicht verfügbar" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Wird geladen" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Bewertung" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "Erneuere Liste aus dem Internet" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Links" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "den Interpreten" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "das Album" - -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "Schlage %s bei %s nach" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Größe" -#~ msgid "An Error Occured" -#~ msgstr "Ein Fehler ist aufgetreten" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Ähnliche Lieder" -#~ msgid "Sort by:" -#~ msgstr "Sortiere nach:" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Nicht verfügbar" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Der Konfigurierte Tag-Browser wird nur ab Version " -#~ "0.12 des mpd angezeigt." +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Metadaten-Browser" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Am Icon im Systray\n" -#~ "Linke obere Ecke\n" -#~ "Rechte obere Ecke\n" -#~ "Linke untere Ecke\n" -#~ "Rechte untere Ecke" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Lieder" -#~ msgid "Error Dialog" -#~ msgstr "Fehlermeldung" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Interpret" -#~ msgid "Error msg" -#~ msgstr "Fehlermeldung" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Bewertung" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Nichts\n" -#~ "Künstler\n" -#~ "Album\n" -#~ "Titel\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Datum\n" -#~ "Komponist\n" -#~ "Interpret\n" -#~ "Kommentar\n" -#~ "CD" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Liedtexte" -#~ msgid "_Reconnect" -#~ msgstr "_Wiederverbinden" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Laufzeit" -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Album Information" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Künstler informationen" + +#~ msgid "Song Markup" +#~ msgstr "Lied-Formatierung" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "_Browser-Formatierung bearbeiten" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/Pfad/zu/Dateiname.mp3" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Singen und Swingen wollt ihr" + +#~ msgid "2 Feb 2006" +#~ msgstr "2. Februar 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "MPD's Streaming-Server" + +#~ msgid " Total time: " +#~ msgstr " Gesamtzeit: " + +#~ msgid "The orientation of the tray." +#~ msgstr "Die Ausrichtung der Tray-Leiste." + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "Show Current Song" +#~ msgstr "Zeige aktuelles Lied" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" #~ msgstr "" -#~ "Informationen und Serververbindung\n" -#~ "Warnungen und Serververbindung\n" -#~ "Fehler\n" -#~ "Keine" +#~ "Nur die ersten %i Resultate werden angezeigt, bitte schränken Sie Ihre Suche " +#~ "ein" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/Sek" + +#~ msgid "--version" +#~ msgstr "--Version" + +#~ msgid "--replace" +#~ msgstr "--ersetzen" + +#~ msgid "--quit" +#~ msgstr "--beenden" + +#~ msgid "Collection" +#~ msgstr "Sammlung" + +#~ msgid "View" +#~ msgstr "Ansicht" + +#~ msgid "Fetching..." +#~ msgstr "Abrufen..." + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Songs with same title" +#~ msgstr "Lieder mit dem gleichen Titel" + +#~ msgid "Links" +#~ msgstr "Links" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Genre: " +#~ msgstr[1] "Genre: " + +#~ msgid "Similar Artists" +#~ msgstr "Ähnliche Künstler" + +#~ msgid "Albums" +#~ msgstr "Alben" + +#~ msgid "Album info:" +#~ msgstr "Album Information:" + +#~ msgid "--disable-plugins" +#~ msgstr "--plugins-deaktivieren" + +#~ msgid "--clean-cover-db" +#~ msgstr "--cover-db-reinigen" + +#~ msgid "--help" +#~ msgstr "--hilfe" + +#~ msgid "Find Artist:" +#~ msgstr "Finde Künstler" + +#~ msgid "Tracks" +#~ msgstr "Titel" + +#~ msgid "Orientation" +#~ msgstr "Orientierung" + +#~ msgid "Artist info:" +#~ msgstr "Künstler informationen:" + +#~ msgid "kHz" +#~ msgstr "kHz" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "GMPC wurde mit einer falschen Version von libmpd gestartet." +#~ msgid "bits" +#~ msgstr "bits" +#~ msgid "channels" +#~ msgstr "Kanäle" + +#~ msgid "Audio format" +#~ msgstr "Audio Format" + +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" + +#, c-format #~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" #~ msgstr "" -#~ "Gmpc ist mit einer mpd-Version kleiner als 0.12.0 verbunden.\n" -#~ "Dies könnte funktionieren, wird aber nicht länger unterstützt." +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "Invalid search" +#~ msgstr "Suche nicht möglich" + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "Sekunde" +#~ msgstr[1] "Sekunden" + +#~ msgid "--import-old-db" +#~ msgstr "--alte-db-importieren" + +#~ msgid "Show the current songs information" +#~ msgstr "Zeige Informationen zum aktuellen Song" + +#~ msgid "show current artist" +#~ msgstr "Zeige aktuellen Interpreten" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Datum: " +#~ msgstr[1] "Daten: " + +#~ msgid "show current song" +#~ msgstr "Zeige aktuellen Song" + +#~ msgid "Show the current album information" +#~ msgstr "Zeige Informationen zum aktuellen Album" + +#~ msgid "show current album" +#~ msgstr "Zeige aktuelles Album" + +#~ msgid "Show the current artist information" +#~ msgstr "Zeige Informationen zum Interpreten" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-aktualisationen" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Bug-Informationen:" -#~ msgid "Plugins" -#~ msgstr "Plugins" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Verbrauch" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Verbindung zu folgender URL fehlgeschlagen: '%s'" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Easy Command Hilfe" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Der link der Wiedergabeliste konnte nicht analysiert werden" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "Se_rver" -#~ msgid "And" -#~ msgstr "Und" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Einzelner Titel" -#~ msgid "Or" -#~ msgstr "Oder" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Extras" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "Starte das Programm im Vollbildmodus" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Zeige Programm Version" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Beendet den laufenden gmpc" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Ersetzt den laufenden gmpc" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Plugins nicht laden" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Lade alternative Konfigurations-Datei" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Setze den Debug Level" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Starte gmpc versteckt im Tray" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Entferne alle fehlerhaften Treffer aus dem Metadata Cache" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "Zeige neuzeichnen-Ereignisse in GTK+ (Debug)" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Zeige Debug Info-Dialog" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "Zeige alle Ausgaben einer bestimmten Log-Domain" -#~ msgid "Search in current _play queue" -#~ msgstr "Suche in derzeitiger Warteschlange" +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Zeige Benachrichtigungen im Tray" -#~ msgid "Artist:" -#~ msgstr "Künstler:" +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Fehler während der Ausführung" -#~ msgid "Genre:" -#~ msgstr "Genre:" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Die folgenden Fehler traten auf:" -#~ msgid "Date:" -#~ msgstr "Datum:" +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" +"Ein neues Metadaten-Plugin wurde hinzugefügt. gmpc hat alle fehlgeschlagenen " +"Treffer aus dem Cache entfernt" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "Metadaten-Verwaltung" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "Gesamtzeit" -#~ msgid "Album:" -#~ msgstr "Album:" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Zeige Easy Command Eintrag" -#~ msgid "Track:" -#~ msgstr "Stück:" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "aktivieren" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "deaktivieren" -#~ msgid "Composer:" -#~ msgstr "Komponist:" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "Dirname:" -#~ msgstr "Verzeichnisiname:" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" -#~ msgid "Tracks:" -#~ msgstr "Stücke:" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "Directory:" -#~ msgstr "Verzeichnis:" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" -#~ msgid "New accelerator..." -#~ msgstr "Neue Tastenkombination…" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Stop nach aktuellem Lied: Der verwendete MPD-Server ist zu alt und " +"unterstützt dies nicht." -#~ msgid "Accelerator key" -#~ msgstr "Tastenkombination" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Stop nach aktuellem Lied: Keine Berechtigung." -#~ msgid "Center opened folder" -#~ msgstr "Geöffneten Ordner zentrieren" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Wiedergabe wird nach dem aktuellen Lied gestoppt." -#~ msgid "_Edit Playlist Markup" -#~ msgstr "_Wiedergabelisten-Formatierung bearbeiten" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Wiederhole aktuelles Lied: Der verwendete MPD-Server ist zu alt und " +"unterstützt dies nicht." -#~ msgid "gmpc" -#~ msgstr "gmpc" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Wiederhole aktuelles Lied: Keine Berechtigung." -#~ msgid "Not Playing" -#~ msgstr "Keine Wiedergabe" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Das aktuelle Lied wird immer wiederholt." -#~ msgid "N/A" -#~ msgstr "nicht verfügbar" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" +"Aktualisiere Datenbank: Der verwendete MPD-Server ist zu alt und unterstützt " +"dies nicht." -#~ msgid "Current Playlist" -#~ msgstr "Aktuelle Wiedergabeliste" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Aktualisiere Datenbank: Keine Berechtigung." -#~ msgid "Database Search" -#~ msgstr "Datenbank durchsuchen" +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "Weiter" -#~ msgid "Playlist Search" -#~ msgstr "" -#~ "Wiedergabeliste durchsuchen" +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "vorheriges" -#~ msgid "Size" -#~ msgstr "Größe" +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "Stop" -#~ msgid "Size of the image" -#~ msgstr "Bildgröße" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "Single" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "Single (an|aus)" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "Verbrauch" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "Verbrauch (an|aus)" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Lautstärke (+-)" -#~ msgid "HideOnNA" -#~ msgstr "VersteckenBeiNA" +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "Stumm" -#~ msgid "DrawBorder" -#~ msgstr "RahmenZeichnen" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "Überblenden" -#~ msgid "Draw a border around the image" -#~ msgstr "Rahmen um das Bild ziehen" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Aus)" -#~ msgid "DrawShadow" -#~ msgstr "Schatten zeichnen" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Setze Überblendungszeit " -#~ msgid "Draw a shadow under the image" -#~ msgstr "Schatten unter das Bild zeichnen" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "Ausgabe" -#~ msgid "Filename" -#~ msgstr "Dateiname" +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Aktivieren|Deaktivieren)" -#~ msgid "Length" -#~ msgstr "Länge" +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" -#~ msgid "Pos" -#~ msgstr "Pos" +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "Ersetzen" -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "Veränderungen sind erst nach einem Reconnect " -#~ "aktiv" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "Suche" -#~ msgid "Configure tag browsers" -#~ msgstr "Tag-Browser konfigurieren" +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Suche im aktuellen Titel" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "Stoppe nach dem aktuellen Lied" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Stoppe Wiedergabe nach dem aktuellen Lied" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "Wiederhole aktuelles Lied" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Wiederhole das aktuelle Lied" -#~ msgid "Format" -#~ msgstr "Format" +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "Aktualisiere Datenbank" -#~ msgid "Comment:" -#~ msgstr "Kommentar:" +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Aktualisiere Datenbank" -#~ msgid "Disc:" -#~ msgstr "Disk:" +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"Fehler beim Öffnen der Schnittstellen-Konfigurationsdatei.\n" +"Bitte gmpc neu installieren.\n" -#~ msgid "Filename:" -#~ msgstr "Dateiname:" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Einzellied Modus: %s" -#~ msgid "Length:" -#~ msgstr "Länge:" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "Konsumieren Modus: %s" -#~ msgid "Path:" -#~ msgstr "Pfad:" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "Wiederholung aktiviert" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "Wiederholung deaktiviert" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "Zufall aktiviert" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "Zufall deaktiviert" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Plugin konnte nicht geladen werden" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "Das Plugin hat keinen Namen" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "Plugin mit dem gleichen Namen existiert schon" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "Dem Plugin fehlt die set/get aktivier Funktion" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "Browser Struktur des Plugins inkorrekt" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "Metadaten Struktur des Plugins inkorrekt" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "get_image API des Plugins veraltet " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "get_uris API des Plugins veraltet " + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "preferences Struktur des Plugins inkorrekt" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Fehler beim Erstellen der Plugin Instanz" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Fehler beim Zuordnen des Symbols zum Plugin" -#~ msgid "A_lbum text" -#~ msgstr "Al_bum-Text" +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "Plugin %s hat eine falsche API-Version: %i" -#~ msgid "A_rtist Art" -#~ msgstr "A_rtist-Art" +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "Plugin %s hat eine falsche Plugin-Struktur: %s" -#~ msgid "Ar_tist Text" -#~ msgstr "Ar_tist-Text" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Lokale Datei konnte nicht geöffnet werden" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "URI Schema wird nicht unterstützt" -#~ msgid "Refetch Artist Art" -#~ msgstr "Künstler-Art erneuern" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" -#~ msgid "Refetch cover art" -#~ msgstr "Cover-Art erneuern" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" -#~ msgid "Select A File" -#~ msgstr "Wählen Sie eine Datei aus" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" -#~ msgid "gmpc - song info" -#~ msgstr "gmpc - Titel Informationen" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" -#~ msgid "The following error occured: %i:'%s'" -#~ msgstr "Der folgende Fehler ist aufgetreten: %i:'%s'" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" -#~ msgid "days" -#~ msgstr "Tage" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#~ msgid "hours" -#~ msgstr "Stunden" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" -#~ msgid "minutes" -#~ msgstr "Minuten" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" -#~ msgid "streams" -#~ msgstr "streams" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" -#~ msgid "Browse Artists" -#~ msgstr "Künstler durchsuchen" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#~ msgid "albums" -#~ msgstr "Alben" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#~ msgid "Browse Filesystem" -#~ msgstr "Dateisystem durchsuchen" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" -#~ msgid "playlists" -#~ msgstr "Wiedergabelisten" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" -#~ msgid "Album tracks:" -#~ msgstr "Album-Stücke:" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Musik-Ordner" -#~ msgid "Genres: " -#~ msgstr "Genre:" +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "Haupt:" -#~ msgid "Dates: " -#~ msgstr "Daten:" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "Schaltflächen statt Listenfeld in verkleinerter Ansicht" -#~ msgid "Save Album Text" -#~ msgstr "Albumtext speichern" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" -#~ msgid "Save Artist Text" -#~ msgstr "Künstlertext speichern" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "Zum deaktivieren der Taste, diese editieren und Backspace drücken" -#~ msgid "Working...." -#~ msgstr "Beschäftigt..." +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "Wechsle Wiedergabeliste" -#~ msgid "Save Lyric" -#~ msgstr "Liedtext speichern" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Aktuellen Titel abschneiden" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "Aktuelle Wiedergabeliste auf den aktuellen Titel zuschneiden" -#~ msgid "%s:" -#~ msgstr "%s:" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Es scheint, als hätten Sie keine Musik in Ihrer Datenbank.\n" +"Um Musik hinzuzufügen, kopieren Sie diese in das music_directory, das " +"in der mpd Konfigurationsdatei angegeben ist.\n" +"Dann aktualisieren Sie die Datenbank. (Server -> Aktualisiere Datenbank)" -#~ msgid "lyric" -#~ msgstr "Liedtext" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "Suche Wechseln" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Playlisten" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Tag-basierter Browser" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "Handhabung von Adressen" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Icon Id" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "Album Künstler" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "Metadaten-Wähler" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "wegen codierungs Fehler" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "Hole Liedtexte" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "Links" -#~ msgid "No %s found" -#~ msgstr "Kein %s gefunden" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "Easy Command Hilfe" -#~ msgid "Added a song" -#~ msgstr "Titel hinzugefügt" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "Befehl" -#~ msgid "_Next" -#~ msgstr "Fo_lgende" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "Verwendung" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" +"Die folgenden Befehle können im Easy Command Fenster benutzt werden.\n" +"Das Easy Command Fenster kann durch Drücken von STRG+Leertaste geöffnet " +"werden" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "Hilfe" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Liste der verfügbaren Befehle" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "Uri" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "Anbieter" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "Dateityp" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "WxH" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "Cover" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Liedtext" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "Keine ausreichenden Informationen um Metadaten zu speichern/beziehen" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "Künstlerbilder" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "Album Cover" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Liedtexte" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Album Info" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Künstler Biographie" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "_Previous" -#~ msgstr "Vo_rige" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "Herunterladen... " -#~ msgid "Statistics:" -#~ msgstr "Statistiken:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "Herunterladen" -#~ msgid "Albums:" -#~ msgstr "Albums:" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "(weniger)" -#~ msgid "Artists:" -#~ msgstr "Künstler:" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "(mehr)" -#~ msgid "Uptime:" -#~ msgstr "Uptime:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "Aktueller Titel" -#~ msgid "Edit Cover Art" -#~ msgstr "Bearbeit cover-art" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "Jahr" -#~ msgid "Enable Covert Art" -#~ msgstr "Schalte cover-art ein" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "Lied mit ähnlichen Titel suchen" -#~ msgid "Remove Image" -#~ msgstr "Lösche Bild" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "Den Pfad zum Lied im Dateibrowser öffnen" -#~ msgid "Add Location" -#~ msgstr "Füge Location hinzu" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Pfad" -#~ msgid "Url:" -#~ msgstr "URL:" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Favorisiert" -#~ msgid "Playlist interface:" -#~ msgstr "Playlist Interface:" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "Data" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "Ähnlicher Künstler" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "Ähnlicher Künstler" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "Ähnliche Lieder" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "Links" -#~ msgid "Unique" -#~ msgstr "Einmalig" +#~ msgid "plugin with same name allready exists" +#~ msgstr "Ein Plugin mit demselben Namen existiert bereits" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/es.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/es.po --- gmpc-0.18.0/po/es.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/es.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,340 +7,189 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-20 14:53+0000\n" -"Last-Translator: Javier García Díaz \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-31 18:28+0000\n" +"Last-Translator: Feder Sáiz \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Una interfaz GNOME para el demonio MPD" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Cliente de reproducción de música de GNOME" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Obtener ayuda" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "La base de datos MPD se está actualizando" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "SIlenciar" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Siguiente" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Reproducir/Pausa" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Anterior" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Perfiles" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aleatorio" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Repetir" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Mostrar Mensajes" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Detener" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Visita la página web" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Collapsar Interfaz" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Conectar" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Control" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Desconectar" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Expandir Interfaz" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Pantalla completa" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Ir" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Ayuda" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Música" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opción" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Enviar Contraseña" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Servidor" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Mostrar Imagen del Artista" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Vista" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Administrador de Lista de Reproducción" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/ruta/al/nombre_del_archivo.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Juan Cantante" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Canta y baila que quieras" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "El jazz del nucleo" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Servidor de Streaming de MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versión" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-updates" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome Music Player Client\n" -"Opciones:\n" -"\t--start-hidden\t\tIniciar oculto\n" -"\t--help\t\t\tEste mensaje de ayuda.\n" -"\t--debug-level=\tHace que gmpc muestre información de depuración.\n" -"\t\t\t\tNivel:\n" -"\t\t\t\t\t0 Sin salida\n" -"\t\t\t\t\t1 Mensajes de error\n" -"\t\t\t\t\t2 Errores + Avisos\n" -"\t\t\t\t\t3 Todos los mensajes\n" -"\t--version\t\tMostrar versión y revisión git\n" -"\t--config=\t\tAsignar ruta del archivo de configuración, por defecto " -"es ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tLimpia el archivo de portadas\n" -"\t--disable-plugins\tNo cargar ningún plugin\n" -"\t--replace\t\tReemplaza la sesión en ejecución por la actual.\n" -"\t--quit\t\t\tSalir de la sesión en ejecución de gmpc. Sólo funciona si la " -"opción para tener múltiples instancias está desactivada.\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "salir" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Salir de gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "ocultar" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Ocultar gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "mostrar" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Mostrar gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "monstrar notificaciones" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Mostrar icono en el área de notificación" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Fallo al cargar el sistema de configuración" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Falló al cargar el archivo debug-log." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Falló al instalar libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC tiene permisos insuficientes en el servidor mpd" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -349,144 +198,37 @@ "Falló al fijar la contraseña en: '%s'\n" "Por favor intente de nuevo" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Por favor ingrese su contraseña para: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "código de error" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Permisos insuficientes para conectarse a mpd. Compruebe la contraseña" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "No se admiten versiones de MPD anteriores a la 0.13.0" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Conectado con mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Desconectado de mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Un error ha ocurrido durante la operación" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Han ocurrido los siguientes errores:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Mensaje de Error" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Etiquetas" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versión" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revisión" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Versión libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Versión GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Versión Libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Plataforma" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Sitio web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Opciones habilitadas" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Gestión de la sesión X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Habilitado" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Desactivado" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Soporte NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Teclas Multimedia" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Icono de bandeja de Libegg" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Sistema libsexy" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Libreria de integración de MAC" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Usar ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Tiempo de depuración" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Modo mantenimiento" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -494,15 +236,11 @@ "Una nueva extensión de meta-datos ha sido añadida, gmpc ha borrado todos los " "hits fallados de su cache." -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Manejador de Metadatos" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Tiempo total: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "día" @@ -514,19 +252,13 @@ msgstr[0] "hora" msgstr[1] "horas" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "segundo" -msgstr[1] "segundos" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Fallo al ejecutar" @@ -579,12 +311,7 @@ msgid "Toggle Mute" msgstr "Activar/desactivar silencio" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -592,7 +319,7 @@ "No se ha podido asignar las siguientes teclas multimedia:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -602,7 +329,7 @@ "Asegúrese que su manejador de ventanas no tiene asignado esta tecla para " "otras funciones y reinicie gmpd." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -614,7 +341,11 @@ "deshabilitadas. Por favor revise sus preferencias y asegúrese de que ahora " "son correctas." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Teclas Multimedia" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -624,7 +355,7 @@ "Mapeado duplicado detectado\n" "%s ya está mapeado a %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -639,373 +370,314 @@ "Asegúrese que su manejador de ventanas no tiene asignado esta tecla para " "otras funciones y reinicie gmpd." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Acción" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Combinación de teclas" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Desactivado" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "reproducir" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "comenzar la reproducción" -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "pausar" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "pausar reproducción" - -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "siguiente" -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "canción siguiente" - -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "anterior" -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "canción anterior" - -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "parar" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "detener reproducción" - -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "aleatorio" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "Aleatorio (activado|desactivado)" - -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "repetir" -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "Repetir (activado|desactivado)" - #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "volumen" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Volumen " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "\\+ volumen" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Subir el volumen" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "- volumen" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Bajar el volumen" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "silenciar" -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "Reproducir " - -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "añadir" -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "Añadir " - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "reemplazar" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "Reemplazar" - -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Configuración del Servidor" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Conexión" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Conectando" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Todo del album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Todo del artista" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Todo del género" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Todo del mismo directorio" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Añadir más" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Calificar" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "base de datos MPD está actualizándose" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD esta actualizando la base de datos" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "Actualizacion de base de datos terminada" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Conectado" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "No conectado" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Conectado a" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Desconectado" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" -"¡No se pudo cargar el archivo de descripción de la interfaz!\n" -"Reinstale gmpc\n" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Repetir: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Activado" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Desactivado" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Aleatorio: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Base de datos MPD recargado en %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD Reportó el siguiente error" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Perfil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "añadido" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "hostname cambiado a:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Actualizar Base de datos" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Información" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Por" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Desde" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "No Reproduciendo" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interfaz" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Información" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Advertencia" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Crítico" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Hora" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Mensaje" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Uno o mas plugins fallaron al cargar, vea ayuda->mensajes para mas " "información" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Extensiones" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Plugins:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Habilitado" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nombre" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Función" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versión" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Simulación" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Explorador de Extensiones" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Proveedor de Metadatos" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Proveedor de Metadatos y Explorador de Extensiones" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Otros" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Desconocido" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Encontrar:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Añadido %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "stream" msgstr[1] "streams" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Añadido 1 stream" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Ingrese una url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Lista de reproducción" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Notificación" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1013,24 +685,24 @@ "Es la primera vez que arranques gmpc.\n" "Este Asistente te ayudara de conectarte a mpd." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Bienvenido a GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Editar conexión" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "Gmpc ahora esta listo para usar." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Finalizar" @@ -1095,7 +767,19 @@ " Qball Cow https://launchpad.net/~qball-qballcow\n" "\n" "Launchpad Contributions:\n" +" Abel O'Rian https://launchpad.net/~abel-orian\n" +" Dante Díaz https://launchpad.net/~dante\n" +" DexterNica https://launchpad.net/~camiloquintana89\n" +" DiegoJ https://launchpad.net/~diegojromerolopez\n" +" Feder Sáiz https://launchpad.net/~federsaiz\n" +" Javier García Díaz https://launchpad.net/~shortname\n" +" Klaus Simon https://launchpad.net/~simon-klaus\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Abel O'Rian https://launchpad.net/~abel-orian\n" " Dante Díaz https://launchpad.net/~dante\n" +" DexterNica https://launchpad.net/~camiloquintana89\n" " DiegoJ https://launchpad.net/~diegojromerolopez\n" " Feder Sáiz https://launchpad.net/~federsaiz\n" " Javier García Díaz https://launchpad.net/~shortname\n" @@ -1126,33 +810,33 @@ msgid "Host:" msgstr "Servidor:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nombre:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Contraseña:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Puerto:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Espera máxima (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Autoconectar" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Usar Autenticación" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1209,38 +893,30 @@ msgstr "Lista de reproducción:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Marcado de la cancion" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centrar cancion en reproduccion" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Editar_marcado del Navegador" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Esconder al cerrar" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Guardar posición y tamaño entre sesiones" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Mostrar botones en vista colapsada" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Mostrar tooltip de la lista de canciones" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Parar reproducción al salir" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Estilizar Caratulas" @@ -1292,18 +968,14 @@ msgid "Position:" msgstr "Posición:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Mostar:" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Durante (s):" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "Ajustes del proxy" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "Proxy HTTP:" @@ -1312,14 +984,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Usar un proxy para la conexión a internet" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "Utilizar autenticación" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "Nombre de usuario:" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1354,61 +1018,42 @@ msgid "name:" msgstr "nombre:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "elemento" msgstr[1] "elementos" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Estimación)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "cambiar cola de reproducción" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "Cambiar a la cola de reproducción" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "Limpiar cola de reproducción" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Cola de reproducción" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Está seguro de querer limpiar la lista de reproducción" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "El 'addid' se su mpd esta erroneo, pegar fallara." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Recortar" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Aleatorio" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Añadir URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1417,33 +1062,26 @@ "La Lista de Reproducción \"%s\" actualmente existe\n" "Sobreescribir?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Falló al guardar el archivo de la lista de reproducción." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Cola de reproducción" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Navegador de Archivos" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Directorios" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" -"Parece que no hay música en la base de datos.\n" -"Para añadir música, copie la música al music_directory como se " -"especifica en el archivo de configuración de mpd.\n" -"Después actualice la base de datos. (Servidor->Actualizar Base de Datos)" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Añadido directorio '%s' recursivamente" @@ -1451,845 +1089,1378 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Reemplazar" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Actualizar" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Lista de reproducción cargada" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Añadido" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "canción" msgstr[1] "canciones" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "directorio" msgstr[1] "directorios" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "lista de reproducción" msgstr[1] "listas de reproducción" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" "Esta seguro de que quiere limpiar la lista de reproducción seleccionada?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Consulta" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Base de datos" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Lista de reproducción" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Buscar" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Falló la búsqueda" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Agregar todo" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "cambiar búsqueda" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "Cambiar al buscador" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "explorar base de datos" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "Buscar en la base de datos " - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "explorar lista de reproducción" - -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "Explorar lista de reproducción" - -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "Navegador de búsqueda" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "No disponible" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Editor de Listas de Reproducción" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Descargando..." +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favoritos" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Ver" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nueva lista de reproducción" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artista" - -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Canciones" - -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Tiempo de reproducción" - -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Género" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Fecha" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Colección" - -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Título" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Duración" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Álbum" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Pista" - -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Compositor" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Intérprete" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Carpeta" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Extensión:" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Calificación" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Tasa de bits:" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "n/a" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Formato de audio" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Letras" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Canciones con el mismo titulo" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Canciones similares" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Búsqueda inválida" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Solo se muestran los primeros %i resultados, por favor refine su búsqueda" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Encontrar Artista:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Género: " -msgstr[1] "Géneros: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Fecha: " -msgstr[1] "Fechas: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Información del Artista:" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Información del Artista" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Álbumes" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Artistas similares" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Información del Álbum" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Información del Album" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Artista del álbum" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Pistas" - -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Examinador de Metadatos" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Mostrar la Canción Actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/seg" - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "canales" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "Cambiar al explorador de metadatos" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "mostrar canción actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Mostrar información de la canción actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "mostrar artista actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Muestra información del artista actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "mostrar álbum actual" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Mostrar información del álbum actual" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Editor de Listas de Reproducción" - -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "Favoritos" - -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nueva lista de reproducción" - -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "Renombrar Lista de Reproducción" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "Renombrar" #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "Añadir a la lista de reproducción" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "Añadir la canción en reproducción a la lista de favoritas." #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "Añadir canción actual a favoritas" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "Explorador basado en etiquetas" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "Resetear navegador" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "Información de servidor" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Servidor" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "Tiempo Activo" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "Tiempo de reproducción" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "Tiempo de reproducción total" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "Número de artistas" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "Número de álbumes" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "Número de canciones" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "Manejadores de dirección" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Tipos de etiquetas" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Estadísticas de etiquetas" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Orientación" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "La orientación del área de notificación." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "Marcado" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artista" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Álbum" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Título" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Archivo" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Género" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Pista" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Compositor" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Intérprete" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Fecha" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Duración" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Disco" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Comentario" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Icon Id" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Posición" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "ArtistaDeAlbum" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Extensión:" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Carpeta" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Herramientas" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Pegar antes" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Pegar despues" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Editar Columnas" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Perfil añadido" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Perfil removido" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Recargar" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Seleccionar archivo" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Falló al abrir archivo:" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "por problemas de programacion" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Obteniendo Letra" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Obteniendo información del Artista" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Obteniendo Información del Álbum" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "No Disponible" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Seleccionar Archivo" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Documento de Texto" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Todos" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Imágenes" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "n/a" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Cargando" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" -msgstr "Puntuación:" - -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" -msgstr "Lista de actualizaciones desde internet" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Canciones similares" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Enlaces" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "artista" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "álbum" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "No disponible" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" -msgstr "Buscar %s en %s" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Examinador de Metadatos" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Canciones" -#~ msgid "An Error Occured" -#~ msgstr "Ha ocurrido un error" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Artista del álbum" -#~ msgid "Name:" -#~ msgstr "Nombre:" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Calificación" -#~ msgid "Sort by:" -#~ msgstr "Ordenar por:" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Letras" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "El explorador de Etiquetas configurado solamente " -#~ "mostrará con la versión mpd 0.12 o posterior." +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Tiempo de reproducción" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "En el icono del área de notificación\n" -#~ "Esquina superior izquierda\n" -#~ "Esquina superior derecha\n" -#~ "Esquina inferior izquierda\n" -#~ "Esquina inferior derecha" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Información del Album" -#~ msgid "Error Dialog" -#~ msgstr "Diálogo de error" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Información del Artista" -#~ msgid "Error msg" -#~ msgstr "Mensaje de error" +#~ msgid "_Server" +#~ msgstr "_Servidor" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Nada\n" -#~ "Artista\n" -#~ "Álbum\n" -#~ "Título\n" -#~ "Pista\n" -#~ "Nombre\n" -#~ "Género\n" -#~ "Fecha\n" -#~ "Compositor\n" -#~ "Intérprete\n" -#~ "Comentario\n" -#~ "Disco" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/ruta/al/nombre_del_archivo.mp3" -#~ msgid "_Reconnect" -#~ msgstr "_Reconectar" +#~ msgid "01/24" +#~ msgstr "01/24" -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "informaciones o más graves\n" -#~ "advertencias o más graves\n" -#~ "errores sólo\n" -#~ "ninguno" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Cliente de Reproducción de Música de Gnome\n" +#~ msgid "MPD's Streaming server" +#~ msgstr "Servidor de Streaming de MPD" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Tratando de ejecutar gmpc con una versión de libmpd errónea." +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "Gmpc se encuentra actualmente conectado a una versión de MPD inferior a " -#~ "0.12.0. \n" -#~ "Esto podría funcionar, pero ya no está soportado." +#~ msgid "--config=" +#~ msgstr "--config=" -#~ msgid "Connected to mpd" -#~ msgstr "Conectado a mpd" +#~ msgid "--version" +#~ msgstr "--versión" -#~ msgid "Plugins" -#~ msgstr "Plugins" +#~ msgid " Total time: " +#~ msgstr " Tiempo total: " -#~ msgid "Plugins:" -#~ msgstr "Plugins:" +#~ msgid "View" +#~ msgstr "Ver" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Fallo al contactar la url: '%s'" +#~ msgid "Artist info:" +#~ msgstr "Información del Artista:" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Fallo al procesar vinculo de la lista de reproduccion" +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Fecha: " +#~ msgstr[1] "Fechas: " -#~ msgid "Gnome Music Player Client" -#~ msgstr "Cliente de Reproducción de Música de Gnome" +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Género: " +#~ msgstr[1] "Géneros: " -#~ msgid "And" -#~ msgstr "Y" +#~ msgid "Find Artist:" +#~ msgstr "Encontrar Artista:" -#~ msgid "Or" -#~ msgstr "O" +#~ msgid "kbit/sec" +#~ msgstr "kbit/seg" -#~ msgid "Search" -#~ msgstr "Buscar" +#~ msgid "Album info:" +#~ msgstr "Información del Álbum" -#~ msgid "Search in current _play queue" -#~ msgstr "Buscar en la cola de _reproduccion actual" +#~ msgid "Show Current Song" +#~ msgstr "Mostrar la Canción Actual" -#~ msgid "Artist:" -#~ msgstr "Artista:" +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" -#~ msgid "Songs:" -#~ msgstr "Canciones:" +#~ msgid "--help" +#~ msgstr "--help" -#~ msgid "PlayTime:" -#~ msgstr "Tiempo de Reproducción:" +#~ msgid "--replace" +#~ msgstr "--replace" -#~ msgid "Genre:" -#~ msgstr "Género:" +#~ msgid "--quit" +#~ msgstr "--quit" -#~ msgid "Date:" -#~ msgstr "Fecha:" +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" -#~ msgid "Collection" -#~ msgstr "Collección" +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" -#~ msgid "Album:" -#~ msgstr "Álbum:" +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" -#~ msgid "Track:" -#~ msgstr "Pista:" +#~ msgid "Fetching..." +#~ msgstr "Descargando..." -#~ msgid "Composer:" -#~ msgstr "Compositor:" +#~ msgid "Bitrate" +#~ msgstr "Tasa de bits:" -#~ msgid "Performer:" -#~ msgstr "Intérprete:" +#~ msgid "Collection" +#~ msgstr "Colección" -#~ msgid "Extension:" -#~ msgstr "Extensión:" +#~ msgid "Songs with same title" +#~ msgstr "Canciones con el mismo titulo" -#~ msgid "Lyric:" -#~ msgstr "Letra:" +#~ msgid "Links" +#~ msgstr "Enlaces" -#~ msgid "Links" -#~ msgstr "Enlaces" +#~ msgid "Tracks" +#~ msgstr "Pistas" -#~ msgid "Artist info:" -#~ msgstr "Información del Artista:" +#~ msgid "Similar Artists" +#~ msgstr "Artistas similares" -#~ msgid "Albums:" -#~ msgstr "Álbumes:" +#~ msgid "Albums" +#~ msgstr "Álbumes" -#~ msgid "Similar Artists:" -#~ msgstr "Artistas Similares:" +#~ msgid "Song Markup" +#~ msgstr "Marcado de la cancion" -#~ msgid "Album info:" -#~ msgstr "Información del Álbum:" +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Solo se muestran los primeros %i resultados, por favor refine su búsqueda" -#~ msgid "Songs:" -#~ msgstr "Canciones:" +#~ msgid "Edit _Browser Markup" +#~ msgstr "Editar_marcado del Navegador" -#~ msgid "Tracks:" -#~ msgstr "Pistas:" +#~ msgid "Sing or Swing you want" +#~ msgstr "Canta y baila que quieras" -#~ msgid "Directory:" -#~ msgstr "Directorio:" +#~ msgid "The kernel jazz" +#~ msgstr "El jazz del nucleo" -#~ msgid "New accelerator..." -#~ msgstr "Acelerador nuevo…" +#~ msgid "Orientation" +#~ msgstr "Orientación" -#~ msgid "Accelerator key" -#~ msgstr "Tecla aceleradora" +#~ msgid "The orientation of the tray." +#~ msgstr "La orientación del área de notificación." -#~ msgid "Accelerator modifiers" -#~ msgstr "Modificadores del acelerador" +#~ msgid "Jonny Singer" +#~ msgstr "Juan Cantante" -#~ msgid "Accelerator keycode" -#~ msgstr "Código de tecla del acelerador" +#~ msgid "Audio format" +#~ msgstr "Formato de audio" -#~ msgid "Accel Mode" -#~ msgstr "Modo de acceleración" +#~ msgid "Invalid search" +#~ msgstr "Búsqueda inválida" -#~ msgid "The type of accelerator." -#~ msgstr "El tipo de acelerador." +#~ msgid "kHz" +#~ msgstr "kHz" -#~ msgid "Title:" -#~ msgstr "Título:" +#~ msgid "channels" +#~ msgstr "canales" -#~ msgid "Duration:" -#~ msgstr "Duración:" +#~ msgid "bits" +#~ msgstr "bits" #, c-format #~ msgid "" -#~ "Trying to run gmpc compiled against libmpd version '%s' with version libmpd " -#~ "'%s'" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" #~ msgstr "" -#~ "Intentando de arrancar gmpc compilado con la versión libmpd '%s' con la " -#~ "versión libmpd '%s'" +#~ "Gnome Music Player Client\n" +#~ "Opciones:\n" +#~ "\t--start-hidden\t\tIniciar oculto\n" +#~ "\t--help\t\t\tEste mensaje de ayuda.\n" +#~ "\t--debug-level=\tHace que gmpc muestre información de depuración.\n" +#~ "\t\t\t\tNivel:\n" +#~ "\t\t\t\t\t0 Sin salida\n" +#~ "\t\t\t\t\t1 Mensajes de error\n" +#~ "\t\t\t\t\t2 Errores + Avisos\n" +#~ "\t\t\t\t\t3 Todos los mensajes\n" +#~ "\t--version\t\tMostrar versión y revisión git\n" +#~ "\t--config=\t\tAsignar ruta del archivo de configuración, por defecto " +#~ "es ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tLimpia el archivo de portadas\n" +#~ "\t--disable-plugins\tNo cargar ningún plugin\n" +#~ "\t--replace\t\tReemplaza la sesión en ejecución por la actual.\n" +#~ "\t--quit\t\t\tSalir de la sesión en ejecución de gmpc. Sólo funciona si la " +#~ "opción para tener múltiples instancias está desactivada.\n" + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "segundo" +#~ msgstr[1] "segundos" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Información de errores" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Consumo" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Comando Facil de Ayuda" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Modo unitario" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Herramientas" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Mostrar versión de programa y revisión" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Terminar el gmpc en ejecución" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Reemplazar el gmpc en ejecución" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "No cargar los complementos" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Cargar un archivo de configuración alternativo" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Asignar nivel de depuración" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Iniciar gmpc minimizado en la bandeja" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Eliminar todos los fallos de la caché de metadatos" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "Mostrar eventos de redibujado en GTK+" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Mostrar diálogo con información de errores" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "Mostrar todas las salidas de un cierto dominio de registro" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Ha ocurrido un error durante la operación" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "El/Los siguiente(s) errore(s) ocurrieron:" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Mostrar entrada de órdenes sencillas" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "activar" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "deshabilitado" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Parar después de la canción actual: El uso del servidor MPD es antiguo y no " +"es soportado por este." + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Parar después de la canción actual: No tiene permisos suficientes." + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "La reproducción se parará al terminar la canción actual." + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Repetir la canción actual: El servidor MPD usado es viejo y no soporta esto." + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Repetir la canción actual: No tiene suficientes permisos." + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "La canción actual se repetirá siempre." + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" +"Actualizar base de datos: El servidor MPD usado es viejo y no soporta esto." + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Actualizar base de datos: No tiene suficientes permisos." + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pausar" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "pausar reproducción" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "canción siguiente" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "canción anterior" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "detener reproducción" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Aleatorio (activado|desactivado)" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Repetir (activado|desactivado)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volumen (+-)" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "crossfade" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Apagar)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Establecer Crossfade " + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "salida" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Habilitar|Deshabilitar)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "salida X habilitar o deshabilitar" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Reproducir " + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Añadir " + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "reemplazar" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Reemplazar" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "buscar" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Buscar en la canción actual" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "detener después de la canción actual" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Detener reproducción después de la canción actual" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "repetir canción actula" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Repetir la canción actual" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "actualizar la base de datos" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Actualizar la base de datos" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"¡No se pudo cargar el archivo de descripción de la interfaz!\n" +"Reinstale gmpc\n" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Modo sencillo: %s" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "Consumo: %s" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Error al cargar el plugin" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "el plugin no tiene nombre" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "falta configurar el plugin o habilitar la función" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "la estructura para examinar el plugin es incorrecta" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "la estructura de metadatos del plugin es incorrecta" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "el api del plugin get_image es obsoleta " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "el api del plugin get_uris es obsoleta " + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "la estructura de las preferencias del plugin es incorrecta" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Error al crear la instancia del plugin" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Error al forzar símbolo en el plugin" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "El Plugin %s tiene una versión de api equivocada: %i" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "El Plugin %s tiene una estructura equivocada: %s" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Error al abrir el archivo local" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "El esquema Uri no es soportado" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Directorio de Música:" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "Ajustes del proxy" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "Utilizar autenticación" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Nombre de usuario:" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "Para desactivar una tecla, edítela y presione 'backspace'" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "cambiar cola de reproducción" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Cambiar a la cola de reproducción" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Limpiar cola de reproducción" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Cortar la canción actual" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" +"Cortar la lista de reproducción por lo que sólo contiene la canción actual" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Parece que no hay música en la base de datos.\n" +"Para añadir música, copie la música al music_directory como se " +"especifica en el archivo de configuración de mpd.\n" +"Después actualice la base de datos. (Servidor->Actualizar Base de Datos)" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "cambiar búsqueda" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "Cambiar al buscador" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "explorar base de datos" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Buscar en la base de datos " + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "explorar lista de reproducción" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Explorar lista de reproducción" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Listas de reproducción" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "Selector de metadatos" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "Obtener Letras" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "Puntuación:" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Lista de actualizaciones desde internet" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "Buscar %s en %s" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "Gmpc Easy Command" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "Ayuda de Easy Command" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "Comando" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "Uso" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" +"Las siguientes órdenes pueden usarse en la ventana de easy command.\n" +"Esta ventana puede abrirse presionando Ctrl+espacio." + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "Ayuda" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Obtener una lista de las órdenes disponibles" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "Dir" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "Proveedor" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "Tipo de archivo" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Tamaño" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "anchoxalto" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "Carátula" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Letra" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "Información insuficiente para almacenar/obtener estos metadatos" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "Foto de artista" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "Carátula" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Letras de canciones" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Información del álbum" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Biografía del artista" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "(menos)" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Ruta" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Escogido" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "Artista Similar" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "show current song" +#~ msgstr "mostrar canción actual" + +#~ msgid "Show the current album information" +#~ msgstr "Mostrar información del álbum actual" + +#~ msgid "show current artist" +#~ msgstr "mostrar artista actual" + +#~ msgid "Show the current songs information" +#~ msgstr "Mostrar información de la canción actual" + +#~ msgid "show current album" +#~ msgstr "mostrar álbum actual" + +#~ msgid "Switch to the metadata browser" +#~ msgstr "Cambiar al explorador de metadatos" + +#~ msgid "Show the current artist information" +#~ msgstr "Muestra información del artista actual" + +#~ msgid "switch metadata browser" +#~ msgstr "cambiar navegador de metadatos" + +#~ msgid "plugin with same name allready exists" +#~ msgstr "existe un plugin con el mismo nombre" + +#~ msgid "plug == NULL" +#~ msgstr "plug == NULL" + +#~ msgid "Failed to store metadata file in" +#~ msgstr "Error al almacenar en el archivo de metadato" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/fi.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/fi.po --- gmpc-0.18.0/po/fi.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/fi.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,574 +7,466 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 20:29+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-20 22:56+0000\n" "Last-Translator: Ilari Oras \n" "Language-Team: Finnish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Gnome-edustaohjelma MPD-palvelulle" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnomen musiikkisoitinasiakas" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Apua" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "päivitetään MPDn tietokannat" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Hiljennä" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Seuraava" -#: ../glade/playlist3.glade.h:5 -msgid "Play/Pause" -msgstr "" - #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Edellinen" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiilit" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Satunnainen" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Toista" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Näytä viesti" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Pysäytä" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Vieraile nettisivulla" -#: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Yhdistä" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Ohjaus" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Katkaise yhteys" -#: ../glade/playlist3.glade.h:17 -msgid "_Expand Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Kokoruutu" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Siirry" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "O_hje" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musiikki" -#: ../glade/playlist3.glade.h:22 -msgid "_Option" -msgstr "" - -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Lähetä salasana" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Palvelin" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Näytä artistin kuva" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Näytä" -#: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" -msgstr "" +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "Välityspalvelin" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "Virheviesti" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "päivä" +msgstr[1] "päivää" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "tunti" +msgstr[1] "tuntia" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuutti" +msgstr[1] "minuuttia" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "ToistaPysäytä" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "Kelaa eteenpäin" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "Kelaa taaksepäin" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "Nosta ikkuna" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "Piilota ikkuna" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "Kovemmalle" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "Hiljemmalle" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "Vaihda äänettömälle" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimedianäppäimet" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "Toiminto" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "Pikavalinta" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Käytössä" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versio" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" msgstr "" +"Launchpad Contributions:\n" +" Ilari Oras https://launchpad.net/~ilarioras\n" +"\n" +"Launchpad Contributions:\n" +" Ilari Oras https://launchpad.net/~ilarioras\n" +"\n" +"Launchpad Contributions:\n" +" Ilari Oras https://launchpad.net/~ilarioras\n" +"\n" +"Launchpad Contributions:\n" +" Ilari Oras https://launchpad.net/~ilarioras\n" +"\n" +"Launchpad Contributions:\n" +" Ilari Oras https://launchpad.net/~ilarioras" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "Portti:" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "HTTP-välityspalvelin:" + +#~ msgid "_Server" +#~ msgstr "_Palvelin" + +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Helmi 2006" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" msgstr "" -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "Toista/Pysäytä" -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Helmi 2006" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "Pa_lvelin" -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/gmpc_easy_download.c:385 -msgid "Proxy" -msgstr "Välityspalvelin" +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "_Valinta" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Työkalut" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Aseta vianetsintätaso" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:444 -msgid "quit" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:445 +#: ../src/main.c:438 +msgid "quit" +msgstr "lopeta" + +#: ../src/main.c:439 msgid "Quit gmpc" -msgstr "" +msgstr "Lopeta gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" -msgstr "" +msgstr "piilota" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" -msgstr "" +msgstr "Piilota gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "" - -#: ../src/main.c:1301 -msgid "Error Message" -msgstr "Virheviesti" - -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versio" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Versio" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Sovellusalusta" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Ikkunat" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Verkkosivu" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "X istunnon hallinta" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Käytössä" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Pois käytöstä" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimedianäppäimet" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Debug ajastin" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 -msgid "day" -msgid_plural "days" -msgstr[0] "päivä" -msgstr[1] "päivää" - -#: ../src/misc.c:59 -msgid "hour" -msgid_plural "hours" -msgstr[0] "tunti" -msgstr[1] "tuntia" - -#: ../src/misc.c:63 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "minuutti" -msgstr[1] "minuuttia" - -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" -#: ../src/mm-keys.c:73 -msgid "PlayPause" -msgstr "ToistaPysäytä" - -#. * MM_STOP -#: ../src/mm-keys.c:77 -msgid "Fast Forward" -msgstr "Kelaa eteenpäin" - -#. * MM_FASTFORWARD -#: ../src/mm-keys.c:78 -msgid "Fast Backward" -msgstr "Kelaa taaksepäin" - -#. * MM_RANDOM -#: ../src/mm-keys.c:81 -msgid "Raise window" -msgstr "Nosta ikkuna" - -#. * MM_RAISE -#: ../src/mm-keys.c:82 -msgid "Hide window" -msgstr "Piilota ikkuna" - #. * MM_HIDE #: ../src/mm-keys.c:83 msgid "Toggle window" msgstr "" -#. * MM_TOGGLE_HIDDEN -#: ../src/mm-keys.c:84 -msgid "Volume Up" -msgstr "Kovemmalle" - -#. * MM_VOLUME_UP -#: ../src/mm-keys.c:85 -msgid "Volume Down" -msgstr "Hiljemmalle" - #. * MM_VOLUME_DOWN #: ../src/mm-keys.c:86 msgid "Show song" msgstr "" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "Vaihda äänettömälle" - #. * MM_TOGGLE_MUTE #: ../src/mm-keys.c:88 msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +474,7 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +482,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,413 +493,669 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 -msgid "Action" -msgstr "Toiminto" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" -#: ../src/mm-keys.c:726 -msgid "Shortcut" -msgstr "Pikavalinta" +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:321 +msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:325 +msgid "output" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1737 #, c-format -msgid "Random: %s" +msgid "Single mode: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "" -#: ../src/preferences.c:333 +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" msgstr "" -"Launchpad Contributions:\n" -" Ilari Oras https://launchpad.net/~ilarioras\n" -"\n" -"Launchpad Contributions:\n" -" Ilari Oras https://launchpad.net/~ilarioras\n" -"\n" -"Launchpad Contributions:\n" -" Ilari Oras https://launchpad.net/~ilarioras\n" -"\n" -"Launchpad Contributions:\n" -" Ilari Oras https://launchpad.net/~ilarioras" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1034,32 +1182,32 @@ msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 -msgid "Port:" -msgstr "Portti:" - -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1116,38 +1264,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1198,10 +1338,14 @@ msgstr "" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1209,10 +1353,6 @@ msgid "Proxy settings" msgstr "" -#: ../glade/preferences-proxy.ui.h:2 -msgid "HTTP Proxy:" -msgstr "HTTP-välityspalvelin:" - #: ../glade/preferences-proxy.ui.h:5 msgid "Use a proxy for internet connectivity" msgstr "" @@ -1225,6 +1365,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1255,82 +1399,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1338,7 +1489,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1346,626 +1497,657 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/fr.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/fr.po --- gmpc-0.18.0/po/fr.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/fr.po 2009-09-21 11:15:59.000000000 +0100 @@ -8,340 +8,189 @@ msgstr "" "Project-Id-Version: gmpc 0.15.5.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 20:08+0000\n" -"Last-Translator: Qball Cow \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-14 00:18+0000\n" +"Last-Translator: Mathieu Pasquet \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Une interface gnome pour le démon mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Client de lecture de musique GNOME (gmpc)" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Obtenir de l'aide" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Mise à jour de la base de données de MPD en cours." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Muet" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Suivant" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Lecture/Pause" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Précédent" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profils" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aléatoire" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Répéter" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Afficher les messages" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stop" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Visitez le site web" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Réduire l'_interface" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Connecter" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Contrôles" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Déconnecter" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Agrandir l'interface" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Plein écran" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Aller à" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Aide" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musique" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Option" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Envoyer le mot de passe" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Serveur" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Afficher l'image de l'artiste" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Interface" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Gestionnaire de liste de lecture" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/chemin/vers/le_fichier.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Sing or Swing you want" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 fev 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Serveur de flux de MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--niveau-debug" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--jouer-caché" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--nettoyer-base-pochettes" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--desactiver-greffons" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "-remplacer" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quitter" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-ancienne_bdd" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--débogage-mises_à_jour" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--aide" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tDémarrer caché.\n" -"\t--help\t\t\tAfficher ce message d'aide.\n" -"\t--debug-level=\tAfficher des messages de deboguage\n" -"\t\t\t\tNiveau:\n" -"\t\t\t\t\t0 Pas de sortie\n" -"\t\t\t\t\t1 Messages d'erreur\n" -"\t\t\t\t\t2 Messages d'erreur et d'attention\n" -"\t\t\t\t\t3 Tous les messages\n" -"\t--version\t\tAffiche la version et la révision git\n" -"\t--config=\t\tConfigure le chemin d'accès au fichier de " -"configuration, ~/.gmpc/gmpc.cfg par défaut\n" -"\t--clean-cover-db\tNettoyage de la base de données de pochettes.\n" -"\t--disable-plugins\tNe pas charger de greffons.\n" -"\t--replace\t\tRemplacer l'instance déjà lancée par la nouvelle\n" -"\t--quit\t\t\tQuitter l'instance déjà lancée. Ne fonctionne que si les " -"instances multiples sont désactivées\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "quitter" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "quitter gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "Masquer" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Iconifier gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "Afficher" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Afficher gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "Afficher notification" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Afficher notification depuis l'icône" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Le chargement du système de configuration a échoué." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Impossible de charger le fichier log de debuggage" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Échec de configuration de libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC n'a pas toutes les permissions requises sur le serveur mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -350,144 +199,37 @@ "Impossible de configurer le mot de passe sur: '%s'\n" "Veuillez réessayer" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Entrez le mot de passe pour : '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "code d'erreur" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Permission insuffisante pour vous connecter à mpd. Vérifiez le mot de passe." -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Les versions de MPD antérieures à la 0.13.0 ne sont pas supportées" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Connecté à mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Déconnecté de mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Une erreur est survenue pendant l'opération" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Le(s) erreur(s) suivante(s) est/sont apparue(s) :" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Message d'erreur" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Version" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Révision" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "version de Libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "version de GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "version de Libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Plateforme" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OS X" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Site Web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Options activées" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Gestion des session X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Activé" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Désactivé" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Support NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Touches multimédia" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "icône de notification de Libegg" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Bibliothèque libsexy du système" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "librairie d'intégration du logiciel à l'environnement Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Utiliser le dossier ~/.config/" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Mode maintenance" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -495,15 +237,11 @@ "Un nouveau greffon de méta-données a été ajouté, gmpc a purgé du cache " "toutes les requêtes échouées" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Gestionnaire de méta-données" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Temps total : " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "jour" @@ -515,19 +253,13 @@ msgstr[0] "heure" msgstr[1] "heures" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minute" msgstr[1] "minutes" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "seconde" -msgstr[1] "secondes" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Échec lors de l'exécution de" @@ -580,12 +312,7 @@ msgid "Toggle Mute" msgstr "Activer / Désactiver le mode muet" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -593,7 +320,7 @@ "Impossible de configurer les touches multimédias suivantes:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -603,7 +330,7 @@ "Assurez vous que votre gestionnaire de fenêtres (ou un autre programme) " "n'utilise pas cette touche, redémarrez ensuite GMPC." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -616,7 +343,11 @@ "Veuillez vérifier de nouveau dans les préférences et vous assurer que les " "paramètres sont bien corrects." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Touches multimédia" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -627,7 +358,7 @@ "\n" "%s est déjà attribuée à %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -644,196 +375,169 @@ "Assurez vous que le gestionnaire de fenêtres (ou un autre programme) " "n'utilise pas cette touche, redémarrez ensuite GMPC." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Action" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Raccourci" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Off" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "Lecture" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "Lecture" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "Pause" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "Pause" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "Suivant" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "Titre suivant" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "précédent" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "Titre précédent" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "Arrêter" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "Arrêter" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "Lecture aléatoire" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "Mode aléatoire (activé|désactivé)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "Répéter" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Répeter (activé|désactivé)" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "Volume" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Volume " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "Volume \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Augmenter le volume" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "volume" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Baisse le volume" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "Muet" -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "Ajouter" -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "Remplacer" -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" - -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Paramètres du serveur" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Connexion" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Connexion en cours" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Tout cet album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Tout cet artiste" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Tout ce genre" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Tout le répertoire" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Ajouter" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Evaluer" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Mise à jour de la base de données de MPD en cours" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MDP met à jour sa base de donnée" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "Mise à jour de la base de donnée de MPD terminée" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Connecté" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Non connecté" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Connecté à" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Déconnecté" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" @@ -841,176 +545,184 @@ "Le chargement de l'interface a échoué\n" "Réinstaller Gmpc\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Répéter : %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "On" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Off" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Aléatoire : %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Mise à jour de la base de donnée MPD à : %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD a signalé l'erreur suivante" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "ajouté(e)" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "nom d'hôte changé en :" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Mettre à jour la base de données" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Informations" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Par" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Depuis" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Arrêté" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interface" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Attention" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Critique" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Temps" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Message" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Le chargement d'un ou plusieurs modules a échoué, veuillez consulter aide-" ">messages pour plus d'informations" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Greffons" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Greffons :" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Activé" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nom" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Fonction" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Version" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Factice" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Extension du navigateur" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Fournisseur des métadonnées" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Fournisseur des métadonnées et extension du navigateur" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Divers" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Inconnu" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Rechercher :" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "%i %s ajouté" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "flux" msgstr[1] "flux" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Ajouter 1 flux" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Entrez une URL" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Liste de _lecture" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Notification" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1018,24 +730,24 @@ "C'est la première fois que vous lancez gmpc\n" "L'assistant va vous aider à connecter gmpc au démon mpd" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Bienvenue sur GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Configuration de la connexion" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "GMPC est prêt à l'utilisation." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Terminé" @@ -1156,13 +868,38 @@ "Launchpad Contributions:\n" " Anthony Guéchoum https://launchpad.net/~athael\n" " Athmane MOKRAOUI (ButterflyOfFire) https://launchpad.net/~butterflyoffire\n" -" BOUTRY Arnaud https://launchpad.net/~aboutry\n" +" Bastien Leblanc https://launchpad.net/~bass000\n" +" Clément Lorteau https://launchpad.net/~northern-lights\n" +" Dismantr https://launchpad.net/~dismantr\n" +" Djalil Oulmane https://launchpad.net/~djahlil\n" +" François FERRANDIS https://launchpad.net/~banana.boy\n" +" Johan Serre https://launchpad.net/~serre-johan\n" +" LordPhoenix https://launchpad.net/~lorphoenix\n" +" Maijin https://launchpad.net/~maijin-live\n" +" Maxime Petazzoni https://launchpad.net/~maxime-petazzoni\n" +" Mohaa https://launchpad.net/~mohaalighieri\n" +" Pierre Rudloff https://launchpad.net/~tael67\n" +" Pierre-Yves Luyten https://launchpad.net/~pyluyten\n" +" QCJN https://launchpad.net/~qcjn\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Raphaël Rigo https://launchpad.net/~devel-gmpc\n" +"\n" +"Launchpad Contributions:\n" +" Anthony Guéchoum https://launchpad.net/~athael\n" +" Bastien Leblanc https://launchpad.net/~bass000\n" +" ButterflyOfFire https://launchpad.net/~butterflyoffire\n" " Clément Lorteau https://launchpad.net/~northern-lights\n" " Dismantr https://launchpad.net/~dismantr\n" " Djalil Oulmane https://launchpad.net/~djahlil\n" +" François FERRANDIS https://launchpad.net/~banana.boy\n" " Johan Serre https://launchpad.net/~serre-johan\n" +" LordPhoenix https://launchpad.net/~lorphoenix\n" +" Maijin https://launchpad.net/~maijin-live\n" +" Mathieu Pasquet https://launchpad.net/~mathieui\n" " Maxime Petazzoni https://launchpad.net/~maxime-petazzoni\n" " Mohaa https://launchpad.net/~mohaalighieri\n" +" Pierre Rudloff https://launchpad.net/~tael67\n" +" Pierre-Yves Luyten https://launchpad.net/~pyluyten\n" " QCJN https://launchpad.net/~qcjn\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" " Raphaël Rigo https://launchpad.net/~devel-gmpc" @@ -1191,33 +928,33 @@ msgid "Host:" msgstr "Hôte :" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nom :" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Mot de passe :" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port :" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Délai d'expiration :" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "Connexion _automatique" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Utiliser l'authentification" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1274,40 +1011,32 @@ msgstr "Liste de lecture :" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Affichage des chansons :" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centrer le nom de la chanson jouée" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Editer l'affichage de l'e_xplorateur" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Masquer à la fermeture" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" "Enregistrer la position et la taille de la fenêtre entre les sessions" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" "Afficher des boutons au lieu d'une liste déroulante dans la vue compacte" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Afficher la bulle d'aide de la liste de chansons" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Arrêt en quitant" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Styliser les pochettes d'albums" @@ -1359,11 +1088,11 @@ msgid "Position:" msgstr "Position :" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Afficher" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Délai d'expiration :" @@ -1420,61 +1149,51 @@ msgid "name:" msgstr "nom :" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "élément" msgstr[1] "éléments" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Estimation)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "Vers liste de lecture" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "Effacer liste d'écoute" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Liste de lecture" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Êtes vous sûr de vouloir effacer la liste de lecture ?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "Votre mpd a un 'addid' disfonctionnel, coller ne fonctionnera pas." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Rogner" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Aléatoire" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Ajouter une URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1483,29 +1202,26 @@ "La liste de lecture \"%s\" existe déjà\n" "Enregistrer par dessus ?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Impossible de sauvegarder le fichier de la liste de lecture." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Liste de lecture" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Navigateur de fichiers" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Répertoires" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Répertoire '%s' ajouté récursivement" @@ -1513,1269 +1229,1315 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Remplacer" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Mettre à jour" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Liste de lecture chargée" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Ajouté" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "morceau" msgstr[1] "morceaux" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "répertoire" msgstr[1] "répertoires" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "liste de lecture" msgstr[1] "listes de lecture" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Êtes vous sûr de vouloir vider la liste de lecture sélectionnée ?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Interroger" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Base de données" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Liste de lecture" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Recherche" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Recheche échouée" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Tout ajouter" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "autre recherche" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "Vers panneau de recherches" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "Recherche base de données" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "Recherche liste d'écoute" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "Explorateur de recherches" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Indisponible" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Éditeur de liste de lecture" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Récupération en cours..." +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favoris" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Voir" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nouvelle liste de lecture" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artiste" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Renommer la liste de lecture" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Chansons" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Renommer" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Durée de lecture" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Ajouter à la liste de lecture" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Genre" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Titre En cours ajouté aux Favoris" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Date" +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Ajouter Titre En cours aux Favoris" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Collection" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Navigateur par tag" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titre" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Réinitialiser le navigateur" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Durée" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "Informations serveur" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "Serveur" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Piste" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "Temps de service" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Compositeur :" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Interprête" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Répertoire" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Extension" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Evaluer" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Débit" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "n/a" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "format Audio" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Paroles" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Morceaux ayant le même titre" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Morceaux similaires" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Recherche invalide" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Seuls les %i premiers résultats sont affichés, Veuillez affiner votre " -"recherche." - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Rechercher l'artiste :" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Genre: " -msgstr[1] "Genres: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Date: " -msgstr[1] "Dates: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Informations sur l'artiste :" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Informations sur l'artiste" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Albums" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Artites similaires" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Informations sur l'album :" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Information sur l'album" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Artiste" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Pistes" - -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Informations" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Afficher la chanson actuelle" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "canaux" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "Vers Panneau d'informations" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "Vers Panneau d'informations" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "Montrer le titre en cours" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Informations du titre en cours" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "Montrer Artiste en cours" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Informations Artiste en cours" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "Montrer Album en cours" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Informations Alblum en cours" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Éditeur de liste de lecture" - -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "Favoris" - -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nouvelle liste de lecture" - -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Renommer la liste de lecture" - -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Renommer" - -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Ajouter à la liste de lecture" - -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." -msgstr "Titre En cours ajouté aux Favoris" - -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" -msgstr "Ajouter Titre En cours aux Favoris" - -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Navigateur par tag" - -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Réinitialiser le navigateur" - -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" -msgstr "Informations serveur" - -#: ../src/browsers/server-information.c:324 -msgid "Server" -msgstr "Serveur" - -#: ../src/browsers/server-information.c:333 -msgid "Uptime" -msgstr "Temps de service" - -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "Temps de lecture effectif" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "Temps de lecture total" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "Nombre d'artistes" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "Nombre d'albums" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "Nombre de morceaux" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "Prise en charge des URL" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Catégories de tags" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Statistiques métainformations" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Configuration" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Orientation de la barre." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "Balisage" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artiste" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titre" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Fichier" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Genre" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Piste" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Compositeur :" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Interprête" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Date" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Durée" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Disque" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Commentaire" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Identifiant de l'icone" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Position" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "Artist de l'album" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Extension" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Répertoire" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Outils" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Coller d'abord" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Coller après" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Changer les colonnes" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Profil ajouté" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Profil supprimé" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Mettre à jour" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Sélectionner un fichier" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Erreur lors de l'ouverture du fichier :" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "à cause de problèmes d'encodage." -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Récupération des paroles" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Récupération des informations de l'artiste" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Récupération des informations sur l'album" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Non disponible" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Sélectionner un fichier" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Document texte" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Tout" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Images" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "n/a" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Chargement en cours" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Evaluation" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "Mettre à liste depuis internet" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Liens" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "artiste" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "album" - -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "Chercher %s sur %s" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Taille" -#~ msgid "An Error Occured" -#~ msgstr "Une erreur est survenue" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Morceaux similaires" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Indisponible" -#~ msgid "Name:" -#~ msgstr "Nom :" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Informations" -#~ msgid "Sort by:" -#~ msgstr "Trier par :" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Chansons" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Les navigateurs par tag configurés ne seront " -#~ "affichés qu'avec mpd version 0.12 ou supérieure." +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Artiste" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Icône de la zone de notification\n" -#~ "Coin supérieur gauche\n" -#~ "Coin supérieur droit\n" -#~ "Coin inférieur gauche\n" -#~ "Coin inférieur droit" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Evaluer" -#~ msgid "Error Dialog" -#~ msgstr "Boîte de dialogue d'erreur" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Paroles" -#~ msgid "Error msg" -#~ msgstr "Message d'erreur" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Durée de lecture" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Aucun\n" -#~ "Artiste\n" -#~ "Album\n" -#~ "Titre\n" -#~ "Piste\n" -#~ "Nom\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Compositeur\n" -#~ "Interprête\n" -#~ "Commentaire\n" -#~ "Disque" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Information sur l'album" -#~ msgid "_Reconnect" -#~ msgstr "_Reconnecter" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informations sur l'artiste" -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "les informations et supérieur\n" -#~ "les warnings et supérieur\n" -#~ "les erreurs\n" -#~ "aucun message" +#~ msgid "Song Markup" +#~ msgstr "Affichage des chansons :" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Music Player Client\n" +#~ msgid "Edit _Browser Markup" +#~ msgstr "Editer l'affichage de l'e_xplorateur" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Exécution de Gmpc avec une mauvaise version de libmpd" +#~ msgid "_Server" +#~ msgstr "_Serveur" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "GMPC est actuellement connecté à mpd version inférieur a 0.12.0.\n" -#~ "Ca pourrait marcher, mais ce n'est plus suivi." +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/chemin/vers/le_fichier.mp3" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 fev 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Serveur de flux de MPD" + +#~ msgid " Total time: " +#~ msgstr " Temps total : " + +#~ msgid "View" +#~ msgstr "Voir" + +#~ msgid "Find Artist:" +#~ msgstr "Rechercher l'artiste :" + +#~ msgid "Artist info:" +#~ msgstr "Informations sur l'artiste :" -#~ msgid "Connected to mpd" -#~ msgstr "Connecté à mpd" +#~ msgid "Album info:" +#~ msgstr "Informations sur l'album :" -#~ msgid "Plugins" -#~ msgstr "Greffons" +#~ msgid "Show Current Song" +#~ msgstr "Afficher la chanson actuelle" -#~ msgid "Plugins:" -#~ msgstr "Greffons :" +#~ msgid "The orientation of the tray." +#~ msgstr "Orientation de la barre." #, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Impossible de contacter l'url: '%s'" +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Seuls les %i premiers résultats sont affichés, Veuillez affiner votre " +#~ "recherche." -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Impossible de lire le lien de la liste de lecture" +#~ msgid "--quit" +#~ msgstr "--quitter" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" -#~ msgid "And" -#~ msgstr "Et" +#~ msgid "--clean-cover-db" +#~ msgstr "--nettoyer-base-pochettes" -#~ msgid "Or" -#~ msgstr "Ou" +#~ msgid "--config=" +#~ msgstr "--config=" -#~ msgid "Search" -#~ msgstr "Recherche" +#~ msgid "--version" +#~ msgstr "--version" -#~ msgid "Search in current _play queue" -#~ msgstr "Cherche dans la liste de lecture en cours." +#~ msgid "--help" +#~ msgstr "--aide" -#~ msgid "Artist:" -#~ msgstr "Artiste :" +#~ msgid "--replace" +#~ msgstr "-remplacer" -#~ msgid "Songs:" -#~ msgstr "Chansons :" +#~ msgid "--disable-plugins" +#~ msgstr "--desactiver-greffons" -#~ msgid "Genre:" -#~ msgstr "Genre :" +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Date: " +#~ msgstr[1] "Dates: " -#~ msgid "Date:" -#~ msgstr "Date :" +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Genre: " +#~ msgstr[1] "Genres: " -#~ msgid "Collection" -#~ msgstr "Collection" +#~ msgid "--start-hidden" +#~ msgstr "--jouer-caché" -#~ msgid "Album:" -#~ msgstr "Album :" +#~ msgid "Bitrate" +#~ msgstr "Débit" -#~ msgid "Track:" -#~ msgstr "Piste :" +#~ msgid "Collection" +#~ msgstr "Collection" -#~ msgid "Composer:" -#~ msgstr "Compositeur :" +#~ msgid "Fetching..." +#~ msgstr "Récupération en cours..." -#~ msgid "Performer:" -#~ msgstr "Interprête :" +#~ msgid "Songs with same title" +#~ msgstr "Morceaux ayant le même titre" -#~ msgid "Dirname:" -#~ msgstr "Nom du répertoire :" +#~ msgid "Links" +#~ msgstr "Liens" -#~ msgid "Extension:" -#~ msgstr "Extension :" +#~ msgid "Tracks" +#~ msgstr "Pistes" -#~ msgid "Lyric:" -#~ msgstr "Paroles :" +#~ msgid "Similar Artists" +#~ msgstr "Artites similaires" -#~ msgid "Links" -#~ msgstr "Liens" +#~ msgid "Albums" +#~ msgstr "Albums" -#~ msgid "Artist info:" -#~ msgstr "Informations sur l'artiste :" +#~ msgid "Orientation" +#~ msgstr "Configuration" -#~ msgid "Albums:" -#~ msgstr "Albums :" +#~ msgid "--import-old-db" +#~ msgstr "--import-ancienne_bdd" -#~ msgid "Similar Artists:" -#~ msgstr "Artistes similaires :" +#~ msgid "--debug-updates" +#~ msgstr "--débogage-mises_à_jour" -#~ msgid "Album info:" -#~ msgstr "Informations sur l'album :" +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" -#~ msgid "Songs:" -#~ msgstr "Chansons :" +#~ msgid "Sing or Swing you want" +#~ msgstr "Sing or Swing you want" -#~ msgid "Tracks:" -#~ msgstr "Pistes :" +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" -#~ msgid "Directory:" -#~ msgstr "Répertoire :" +#~ msgid "kHz" +#~ msgstr "kHz" -#~ msgid "New accelerator..." -#~ msgstr "Nouveau raccourci..." +#~ msgid "bits" +#~ msgstr "bits" -#~ msgid "Accelerator key" -#~ msgstr "Touche de raccourci" +#~ msgid "Audio format" +#~ msgstr "format Audio" -#~ msgid "Accelerator modifiers" -#~ msgstr "Modificateurs de raccourcis clavier" +#~ msgid "channels" +#~ msgstr "canaux" -#~ msgid "Accelerator keycode" -#~ msgstr "Code de la touche du raccourci clavier" +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tDémarrer caché.\n" +#~ "\t--help\t\t\tAfficher ce message d'aide.\n" +#~ "\t--debug-level=\tAfficher des messages de deboguage\n" +#~ "\t\t\t\tNiveau:\n" +#~ "\t\t\t\t\t0 Pas de sortie\n" +#~ "\t\t\t\t\t1 Messages d'erreur\n" +#~ "\t\t\t\t\t2 Messages d'erreur et d'attention\n" +#~ "\t\t\t\t\t3 Tous les messages\n" +#~ "\t--version\t\tAffiche la version et la révision git\n" +#~ "\t--config=\t\tConfigure le chemin d'accès au fichier de " +#~ "configuration, ~/.gmpc/gmpc.cfg par défaut\n" +#~ "\t--clean-cover-db\tNettoyage de la base de données de pochettes.\n" +#~ "\t--disable-plugins\tNe pas charger de greffons.\n" +#~ "\t--replace\t\tRemplacer l'instance déjà lancée par la nouvelle\n" +#~ "\t--quit\t\t\tQuitter l'instance déjà lancée. Ne fonctionne que si les " +#~ "instances multiples sont désactivées\n" + +#~ msgid "Invalid search" +#~ msgstr "Recherche invalide" + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "seconde" +#~ msgstr[1] "secondes" + +#~ msgid "switch metadata browser" +#~ msgstr "Vers Panneau d'informations" + +#~ msgid "Switch to the metadata browser" +#~ msgstr "Vers Panneau d'informations" + +#~ msgid "Show the current album information" +#~ msgstr "Informations Alblum en cours" + +#~ msgid "show current artist" +#~ msgstr "Montrer Artiste en cours" + +#~ msgid "Show the current songs information" +#~ msgstr "Informations du titre en cours" + +#~ msgid "show current album" +#~ msgstr "Montrer Album en cours" + +#~ msgid "Show the current artist information" +#~ msgstr "Informations Artiste en cours" + +#~ msgid "show current song" +#~ msgstr "Montrer le titre en cours" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informations sur le bug" -#~ msgid "Accel Mode" -#~ msgstr "Mode du raccourci clavier" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Consommer" -#~ msgid "The type of accelerator." -#~ msgstr "Le type du raccourci clavier." +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Aide commandes simples" -#~ msgid "Title:" -#~ msgstr "Titre:" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" -#~ msgid "Duration:" -#~ msgstr "Durée:" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "mode single" -#~ msgid "Center opened folder" -#~ msgstr "Centrer le répertoire ouvert" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Outils" -#~ msgid "_Edit Playlist Markup" -#~ msgstr "_Editer l'affichage de la liste de lecture" +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" -#~ msgid "gmpc" -#~ msgstr "gmpc" +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" -#~ msgid "Not Playing" -#~ msgstr "Arrêté" +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Ferme le gmpc lancé" -#~ msgid "N/A" -#~ msgstr "n/a" +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Remplace le gmpc lancé" -#~ msgid "Metadata" -#~ msgstr "Méta-informations" +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Ne charge pas les plugins" -#~ msgid "Current Playlist" -#~ msgstr "Liste de lecture actuelle" +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Charge un fichier de configuration alternatif" -#~ msgid "Add to Queue" -#~ msgstr "Ajouter à la file d'attente" +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Règle le niveau de déboggage" -#~ msgid "Database Search" -#~ msgstr "Recherche dans la base de données" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Lance gmpc en mode iconifié" -#~ msgid "Playlist Search" -#~ msgstr "" -#~ "Recherche dans la liste de lecture" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" -#~ msgid "Advanced" -#~ msgstr "Avancé" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" -#~ msgid "The current playlist name" -#~ msgstr "Nom de la liste de lecture actuelle" +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Affiche des informations sur les bugs" -#~ msgid "Size" -#~ msgstr "Taille" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" -#~ msgid "Size of the image" -#~ msgstr "Taille de l'image" +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Une erreur s'est produite au cours de l'opération" -#~ msgid "Draw a border around the image" -#~ msgstr "Dessiner une bordure autour de l'image" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "L'erreur suivante(s) a eu lieu:" -#~ msgid "Draw a shadow under the image" -#~ msgstr "Dessiner une ombre sous l'image" +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" -#~ msgid "Artist Browser" -#~ msgstr "Navigateur par artiste" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Affiche la boite de dialogue \"simple commande\"." -#~ msgid "Paused" -#~ msgstr "En pause" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "activer" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "désactiver" -#~ msgid "Filename" -#~ msgstr "Nom de fichier" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "Length" -#~ msgstr "Durée" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" -#~ msgid "Pos" -#~ msgstr "Position" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "Format" -#~ msgstr "Format" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" -#~ msgid "Filename:" -#~ msgstr "Nom de fichier :" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Arrêter après le titre actuel: Le serveur MPD est trop vieux et ne supporte " +"pas ceci." -#~ msgid "Length:" -#~ msgstr "Longueur :" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Arrêter après le titre actuel: Vous n'avez pas assez de permissions" -#~ msgid "Path:" -#~ msgstr "Chemin :" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "La lecture sera arrêtée après le titre actuel" -#~ msgid "_Next" -#~ msgstr "Suiva_nt" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Répéter le titre actuel: Le serveur MPD est trop vieux et ne supporte pas " +"ceci." -#~ msgid "_Previous" -#~ msgstr "_Précédent" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Répéter le titre actuel: Vous n'avez pas assez de permissions" -#~ msgid "Add Location" -#~ msgstr "Ajouter un emplacement" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Le titre actuel sera répété indéfiniment" -#~ msgid "Url:" -#~ msgstr "Url :" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" +"Mise à jour de la base de données : le serveur MPD utilisé est trop vieux et " +"ne supporte pas cela." -#~ msgid "Playlist interface:" -#~ msgstr "Interface de la liste de lecture :" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" +"Mettre à jour la base de données : Vous n'avez pas assez de privilèges" -#~ msgid "+" -#~ msgstr "+" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" -#~ msgid "-" -#~ msgstr "-" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" -#~ msgid "Type of the image, like artist art" -#~ msgstr "Type de l'image (pochette par exemple)" +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" -#~ msgid "Pl_ay/Pause" -#~ msgstr "L_ecture/Pause" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" -#~ msgid "_Stop" -#~ msgstr "_Stop" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volume (+-)" -#~ msgid "*" -#~ msgstr "*" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "Fondu Enchainé" -#~ msgid "" -#~ "Enter a local or remote stream or " -#~ "playlist" -#~ msgstr "" -#~ "Entrer un flux local ou distant ou une liste de " -#~ "lecture" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Off)" -#~ msgid "You can drop a link or file directly from a browser on this window." -#~ msgstr "" -#~ "Vous pouvez déposer un lien ou un fichier directement depuis un navigateur " -#~ "dans cette fenêtre" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Définir le Fondu Enchainé " -#~ msgid "Add Online Stream list" -#~ msgstr "Ajouter une liste flux publique" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "sortie" -#~ msgid "Append selection to the playlist " -#~ msgstr "Ajouter la sélection à la liste de lecture " +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Activer|Désactiver)" -#~ msgid "Browse by:" -#~ msgstr "Parcourir par:" +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "Sortie X activer ou désactiver" -#~ msgid "Close the window " -#~ msgstr "Fermer la fenêtre " +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Lire " -#~ msgid "Do a server side search" -#~ msgstr "Faire une recherche côté serveur" +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Ajoutter " -#~ msgid "Enter search query " -#~ msgstr "Entrer la requête de recherche " +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Remplacer " -#~ msgid "" -#~ "Filename\n" -#~ "Artist\n" -#~ "Search Results" -#~ msgstr "" -#~ "Nom du fichier\n" -#~ "Artiste\n" -#~ "Résultats de la recherche" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "rechercher" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "rechercher dans la chanson actuelle" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "Arrêter après le titre actuel" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Arrêter la lecture après le titre actuel" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "répéter le titre actuel" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Répéter le titre actuel" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "mettre à jour la base de données" -#~ msgid "Replace playlist with selection " -#~ msgstr "Remplacer la liste de lecture par la sélection " +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Mettre à jour la base de données" -#~ msgid "Song Browser" -#~ msgstr "Navigateur de chansons" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Mode Single: %s" -#~ msgid "" -#~ "for artists\n" -#~ "for albums\n" -#~ "for song title\n" -#~ "for filename" -#~ msgstr "" -#~ "pour les artistes\n" -#~ "pour les albums\n" -#~ "pour le titre de la chanson\n" -#~ "pour le nom du fichier" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "Consommer: %s" -#~ msgid "Configure gmpc" -#~ msgstr "Configurer gmpc" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" -#~ msgid "Next " -#~ msgstr "Suivant " +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" -#~ msgid "Play " -#~ msgstr "Lecture " +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" -#~ msgid "Playlist

" -#~ msgstr "Liste de lecture

" +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" -#~ msgid "Previous " -#~ msgstr "Précédent " +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Impossible de charger le plugin" -#~ msgid "Stop " -#~ msgstr "Stop " +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "Le plugin n'a pas de nom" -#~ msgid "Toggle Repeat or " -#~ msgstr "Basculer le mode Répétition ou " +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" -#~ msgid "Toggle random or " -#~ msgstr "Basculer le mode aléatoire ou " +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "Le plugin n'a pas de fonction set/get active" -#~ msgid "" -#~ "A frontend for the music player daemon from:\n" -#~ "www.musicpd.org" -#~ msgstr "" -#~ "Une interface pour le démon music player de:\n" -#~ "www.musicpd.org" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "La structure du navigateur du plugin est incorrecte" -#~ msgid "Edit Pla_yer Markup" -#~ msgstr "Editer l'affichage du _lecteur" +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "la structure des metadata du plugin est incorrecte" -#~ msgid "Hide Player to tray on startup" -#~ msgstr "Minimiser le lecteur au démarrage" +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "L'api get_image du plugin est déprécié " -#~ msgid "No valid UTF-8. Please check your locale" -#~ msgstr "Pas d'UTF-8 valide. Veuillez vérifier vos locales" +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "L'api get_uris du plugin est déprécié " -#~ msgid "GMPC - Stopped" -#~ msgstr "GMPC - Arrêté" +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "la structure des préférences du plugin est incorrecte" -#~ msgid "Seek to %02i:%02i/%02i:%02i" -#~ msgstr "Aller à la position %02i:%02i/%02i:%02i" +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Impossible de créer l'instance du plugin" -#~ msgid "Seek to -%02i:%02i/%02i:%02i" -#~ msgstr "Aller à la position -%02i:%02i/%02i:%02i" +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Impossible de construire le symbole pour le plugin" -#~ msgid "Seek to %3.1f%%" -#~ msgstr "Aller à la position %3,1f%%" +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "Le plugin %s a une mauvaise version d'API : %i" -#~ msgid "Couldnt initialize GUI. Please check installation\n" -#~ msgstr "" -#~ "Impossible d'initialiser l'IUG. Veuillez vérifier votre installation\n" +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" -#~ msgid "GMPC - Connected" -#~ msgstr "GMPC - Connecté" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Échec à l'ouverture du fichier local" -#~ msgid "gmpc - Disconnected" -#~ msgstr "gmpc - Déconnecté" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "Type d'uri non supporté" -#~ msgid "To Album or Not To Album" -#~ msgstr "Album ou ne pas album" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" -#~ msgid "Am I a Visible Title" -#~ msgstr "Suis-je un titre visible" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" -#~ msgid "Custom Stream Browser:" -#~ msgstr "Explorateur de flux personnels :" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" -#~ msgid "" -#~ "You need gnome-vfs support compiled in to enable " -#~ "this option" -#~ msgstr "" -#~ "Vous devez avoir le support gnome-vfs d'installé " -#~ "pour activer cette option" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" -#~ msgid "" -#~ "You need to be connected in order to see the " -#~ "statistics" -#~ msgstr "" -#~ "La connexion doit être établie pour voir les " -#~ "statistiques" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" -#~ msgid "At the notification area icon" -#~ msgstr "Au niveau de l'icône de notification" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#~ msgid "Lower Left Corner" -#~ msgstr "Coin en bas à gauche" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" -#~ msgid "Lower Right Corner" -#~ msgstr "Coin en bas à droite" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" -#~ msgid "Server s_tats" -#~ msgstr "S_tatistiques du serveur" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" -#~ msgid "Ta_g Browsers" -#~ msgstr "Navi_gateur par tag" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" -#~ msgid "Upper Left Corner" -#~ msgstr "Coin en haut à gauche" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#~ msgid "Upper Right Corner" -#~ msgstr "Coin en haut à droite" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#~ msgid "_About" -#~ msgstr "_À propos" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" -#~ msgid "_Edit" -#~ msgstr "_Editer" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" -#~ msgid "" -#~ "for artists\n" -#~ "for albums\n" -#~ "for song title\n" -#~ "for filename\n" -#~ "all (slow)\n" -#~ "In Playlist" -#~ msgstr "" -#~ "pour les artistes\n" -#~ "pour les albums\n" -#~ "pour le titre de la chanson\n" -#~ "pour le nom du fichier\n" -#~ "tous (lent)\n" -#~ "Dans la liste de lecture" - -#~ msgid "Failed to read the file." -#~ msgstr "La lecture du fichier a echoué" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Répertoire de Musique" -#~ msgid "Failed to open file." -#~ msgstr "L'ouverture du fichier a echoué" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" -#~ msgid "Found playlist file" -#~ msgstr "Liste de lecture trouvée" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" +"Pour désactiver un raccourci clavier, éditez-le et appuyez sur 'retour " +"arrière'" -#~ msgid "Unkown file found." -#~ msgstr "Fichier inconnu trouvé." +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "Voir la liste de lecture" -#~ msgid "" -#~ "Failed to grab fileinfo.\n" -#~ "Add anyway?" -#~ msgstr "" -#~ "Impossible d'obtenir les informations sur le fichier.\n" -#~ "Ajouter quand même ?" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Ne garder que la chanson courante" -#~ msgid "Invalid link format" -#~ msgstr "Format du lien non valide" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "Réduit la playlist à la chanson en cours" -#~ msgid "Fade In" -#~ msgstr "Ouverture en fondu" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Il semble que vous n'ayez pas de musique dans votre base de données.\n" +"Pour ajouter de la musique, copiez là dans votre " +"répertoire_de_musique comme spécifié dans le fichier de configuration " +"mpd.\n" +"Puis, mettez à jour votre base de données. (Serveur->Mettre à jour la base " +"de données)" -#~ msgid "Album:" -#~ msgstr "Album:" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Rechercher dans la base de données" -#~ msgid "Title:" -#~ msgstr "Titre :" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Rechercher dans la liste de lecture " -#~ msgid "Track:" -#~ msgstr "Piste :" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Listes de lecture" -#~ msgid "" -#~ "The new formatting will take place, when the " -#~ "playlist,song browser or/and display is reloaded" -#~ msgstr "" -#~ "Le nouvel affichage sera pris en compte lorsque la " -#~ "liste de lecture, le navigateur de chansons ou/et l'affichage est " -#~ "rechargé" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "Sélecteur de méta-données" -#~ msgid "Last updated:" -#~ msgstr "Dernière mise à jour:" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "Téléchargement des paroles" -#~ msgid "Search for songs from this artist in the current playlist" -#~ msgstr "" -#~ "Chercher des chansons de cette artiste dans la liste de lecture courante" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#~ msgid "Search for songs with this title in the current playlist" -#~ msgstr "" -#~ "Chercher des chansons ayant ce titre dans la liste de lecture courante" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#~ msgid "Show State" -#~ msgstr "Afficher l'état" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Song display:" -#~ msgstr "Affichage des chansons:" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "This format is used in the main display, tray-icon tooltip" -#~ msgstr "" -#~ "Ce format sera utilisé pour l'affichage principal, l'infobulle de l'icône " -#~ "miniaturisée" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "Commande" -#~ msgid "This format is used in the playlist" -#~ msgstr "Ce format est utilisé dans la liste de lecture" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "Utilisation" -#~ msgid "This format is used in the song browser" -#~ msgstr "Ce format est utilisé dans le navigateur de chanson" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "_Display" -#~ msgstr "_Afficher" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "Aide" -#~ msgid "_Prev" -#~ msgstr "_Préc" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Obtenir une liste des commandes disponibles" -#~ msgid "gmpc - Preferences" -#~ msgstr "gmpc - Préférences" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "Uri" -#~ msgid "set the default value" -#~ msgstr "spécifier la valeur par défaut" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "Fournisseur" -#~ msgid "" -#~ "Add a stream. (you can drop a link directly from your browser on the button)" -#~ msgstr "" -#~ "Ajouter un flux. (vous pouvez glisser un lien directement depuis votre " -#~ "navigateur sur le bouton)" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "Type de fichier" -#~ msgid "Close this window " -#~ msgstr "Fermer la fenêtre " +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "wxh" -#~ msgid "Opens a browser window that allows you to add songs and playlists" -#~ msgstr "" -#~ "Ouvre une fenêtre de navigation qui permet d'ajouter des chansons et des " -#~ "listes de lecture" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "Pochette" -#~ msgid "Removes the selected songs. " -#~ msgstr "Supprimer les chansons sélectionnées " +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Parole" -#~ msgid "Saves the current playlist." -#~ msgstr "Enregistrer la liste de lecture courante" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "Pas assez d'information pour stocker/atteindre ces méta-données" -#~ msgid "Search the playlist (supports * and ?) " -#~ msgstr "" -#~ "Chercher dans la liste de lecture (* et ? peuvent être utilisés) " +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "Show detailed information about the selected song " -#~ msgstr "" -#~ "Afficher des informations détaillées à propos de la chanson sélectionnée " -#~ "" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "" -#~ "GMPC - Connection Error. Please check youre settings in the preferences menu" -#~ msgstr "" -#~ "GMPC - Erreur de connexion. Veuillez vérifier vos paramètres dans le menu " -#~ "préférences" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Paroles de la chanson" -#~ msgid "gmpc - Failed to connect, please check the connection settings." -#~ msgstr "" -#~ "gmpc - La connexion a echoué, Veuillez vérifier les paramètres de connexion." +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Informations de l'album" -#~ msgid "You don't have enough permission to access mpd." -#~ msgstr "Vous n'avez pas les permissions suffisantes pour accéder à mpd" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Biographie de l'artiste" -#~ msgid "Failed to grab fileinfo." -#~ msgstr "" -#~ "La lecture des informations sur le fichier a " -#~ "echoué." +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Filters the playlist to match the string entered in the search box." -#~ msgstr "" -#~ "Filtrer la liste de lecture en concordance avec la chaîne entrée dans la " -#~ "boîte de recherche" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "GMPC allready running, quitting" -#~ msgstr "GMPC est déjà lancé. Une nouvelle instance ne peut être ouverte." +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Chemin" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Favori" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#~ msgid "Unique" -#~ msgstr "Unique" +#~ msgid "plugin with same name allready exists" +#~ msgstr "un plugin du même nom existe déjà" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/gl.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/gl.po --- gmpc-0.18.0/po/gl.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/gl.po 2009-09-21 11:15:59.000000000 +0100 @@ -8,323 +8,122 @@ msgstr "" "Project-Id-Version: gmpc SVN\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 14:53+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:57+0000\n" "Last-Translator: Qball Cow \n" "Language-Team: Galician\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Um cliente para o escritório gnome do mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 -msgid "Getting help" -msgstr "" - -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "A base de dados do MPD está a se actualizar." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 -msgid "Mute" -msgstr "" - #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Seguinte" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Reproduzir/Parar" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Anterior" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Perfiles" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aleatório" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Repetiçom" -#: ../glade/playlist3.glade.h:10 -msgid "Show Messages" -msgstr "" - #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Parar" -#: ../glade/playlist3.glade.h:12 -msgid "Visit website" -msgstr "" - -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Colapsar a interface" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Conectar" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Controlo" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Desconectar" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Expandir a interface" -#: ../glade/playlist3.glade.h:18 -msgid "_Fullscreen" -msgstr "" - -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Ir" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Ajuda" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Música" -#: ../glade/playlist3.glade.h:22 -msgid "_Option" -msgstr "" - -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Enviar palavra-chave" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Mostrar a imagem do artista" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Ver" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Gestor de listas de reproduçom" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/rota/ao/ficheiro.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Sing or Swing you want" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Servidor de streaming do MPD" - -#: ../src/gmpc_easy_download.c:385 -msgid "Proxy" -msgstr "" - -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 -msgid "Failed to load the configuration system." -msgstr "" - -#: ../src/main.c:525 -msgid "Failed to load debug-log file." -msgstr "" - -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Erro ao configurar libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" "O GMPC nom tem as suficiêntes permissões para aceder ao servidor mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -333,2057 +132,2102 @@ "Nom se puido estabelecer a palavra-chave em: '%s'\n" "Por favor, tenta-o de novo." -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Introduz a palavra-chave para: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 -msgid "error code" -msgstr "" - -#: ../src/main.c:1126 -msgid "Insufficient permission to connect to mpd. Check password" -msgstr "" - -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Ocorreu um erro durante a operaçom" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Ocorreu/Ocorrerom o(s) seguinte(s) erro(s):" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Mensagem de erro" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." msgstr "" +"\n" +"Assegura-te de que o gestor de janelas (ou outras aplicações) nom assignarom " +"esa tecla a alguma outra funçom,depois reinicia o gmpc." -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "Acçom" -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "Atalho" -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Inactivo" -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "Conexom" -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "Conectado" -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "Sem conexom" -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "Conectado a" -#: ../src/main.c:1374 -msgid "Website" -msgstr "" +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "Desconectado" -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "Activo" -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "Extensões:" -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 +#: ../src/preferences.c:331 msgid "Enabled" msgstr "Activado" -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Deshabilitado" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "Nome" -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" +#: ../src/preferences.c:336 +msgid "Function" +msgstr "Funçom" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Tempo total: " +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "Vazio" -#: ../src/misc.c:55 -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "Fornecedor dos metadatos" -#: ../src/misc.c:59 -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "Misc." -#: ../src/misc.c:63 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "Engadida %i %s" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "1 stream engadido" -#: ../src/misc.c:269 -msgid "Failed to execute" -msgstr "" +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "Introduzir umha URL" -#: ../src/mm-keys.c:73 -msgid "PlayPause" -msgstr "" +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "L_ista" -#. * MM_STOP -#: ../src/mm-keys.c:77 -msgid "Fast Forward" -msgstr "" - -#. * MM_FASTFORWARD -#: ../src/mm-keys.c:78 -msgid "Fast Backward" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" msgstr "" +"Johám-Luís Miguéns Vila \n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" +" Qball Cow https://launchpad.net/~qball-qballcow" -#. * MM_RANDOM -#: ../src/mm-keys.c:81 -msgid "Raise window" -msgstr "" +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "Introduz a tua palavra-chave para: ''" -#. * MM_RAISE -#: ../src/mm-keys.c:82 -msgid "Hide window" -msgstr "" +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "Palavra-chave" -#. * MM_HIDE -#: ../src/mm-keys.c:83 -msgid "Toggle window" -msgstr "" +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "_Guardar palavra-chave" -#. * MM_TOGGLE_HIDDEN -#: ../src/mm-keys.c:84 -msgid "Volume Up" -msgstr "" +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "Con_ectar-se" -#. * MM_VOLUME_UP -#: ../src/mm-keys.c:85 -msgid "Volume Down" -msgstr "" +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "Host:" -#. * MM_VOLUME_DOWN -#: ../src/mm-keys.c:86 -msgid "Show song" -msgstr "" +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "Nome:" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "" +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "Palavra-chave:" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "Porto:" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "Tempo de espera (s):" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "Conect_ar automaticamente" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "_Utilizar autenticaçom" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "localhost" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "Activar campo:" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "Exemplo:" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "Regra de formato:" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "Á_lbum" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "Editar o formato da cançom" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "Pis_ta" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "_Artista" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "_Data" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "Nome do _stream" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "_Título" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "exemplo" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "Principal:" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "Lista:" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "Centrar a cançom a se ouvir" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "Agochar ao fechar" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "Guardar a posiçom e o tamanho da janela para próximas sessões" -#: ../src/mm-keys.c:366 +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "Extensões activas:" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "Esvaecimento:" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "Dispositivos de saída:" + +#: ../glade/preferences-server.ui.h:3 msgid "" -"Could not grab the following multimedia keys:\n" -"\n" +"You need to be connected\n" +"in order to change these settings" msgstr "" +"Cumpre que estejas conectado\n" +"para mudar estas configurações" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "Activar esvaecimento" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "duraçom do esvaecimento (s):" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "Icona da área de notificaçom" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "Janela emergente" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "Activar" -#: ../src/mm-keys.c:381 +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "Posiçom:" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "Tempo de espera:" + +#: ../glade/preferences.ui.h:1 msgid "" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." +"Plugins\n" +"None Selected" msgstr "" -"\n" -"Assegura-te de que o gestor de janelas (ou outras aplicações) nom assignarom " -"esa tecla a alguma outra funçom,depois reinicia o gmpc." +"Extensões\n" +"Nengumha seleccionada" -#: ../src/mm-keys.c:388 -msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "gmpc - Configuraçom" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." msgstr "" +"A lista de reproduçom já existe." + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "Guardar a lista" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "nome:" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "(Estimaçom)" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Seguro que ques limpar a lista de reproduçom?" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "Engadir URL" -#: ../src/mm-keys.c:628 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" +"Playlist \"%s\" already exists\n" +"Overwrite?" msgstr "" +"A lista \"%s\" já existe\n" +"Sobreescrever?" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "Navegador de ficheiros" -#: ../src/mm-keys.c:657 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format -msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." +msgid "Added folder '%s' recursively" +msgstr "Engadido o cartafol '%s' recursivamente" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "Reemprazar" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "Actualizar" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "Lista carregada" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "Engadida" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "Seguro que ques limpar a lista seleccionada?" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "Procurar" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "Marca" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artista" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Álbum" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Título" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Estilo" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Pista" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Compositor" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Executante" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disco" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Comentário" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Descarregar de novo" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Tamanho" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Navegador de metadatos" + +#~ msgid "Song Markup" +#~ msgstr "Marca da cançom" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Editar as marcas do na_vegador" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/rota/ao/ficheiro.mp3" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Sing or Swing you want" + +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Servidor de streaming do MPD" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid " Total time: " +#~ msgstr " Tempo total: " + +#~ msgid "The orientation of the tray." +#~ msgstr "A orientaçom da icona de notificaçom." + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" msgstr "" -#: ../src/mm-keys.c:704 -msgid "Action" -msgstr "Acçom" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" -#: ../src/mm-keys.c:726 -msgid "Shortcut" -msgstr "Atalho" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" msgstr "" -#: ../src/mpdinteraction.c:159 -msgid "start playback" +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause" +#: ../glade/playlist3.glade.h:27 +msgid "_Option" msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next" +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next song" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "prev" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "previous song" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "random" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#: ../src/mpdinteraction.c:166 -msgid "repeat" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/main.c:438 +msgid "quit" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/main.c:439 +msgid "Quit gmpc" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/main.c:440 +msgid "hide" msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/main.c:441 +msgid "Hide gmpc" msgstr "" -#: ../src/mpdinteraction.c:175 -msgid "Play " +#: ../src/main.c:442 +msgid "show" msgstr "" -#: ../src/mpdinteraction.c:176 -msgid "add" +#: ../src/main.c:443 +msgid "Show gmpc" msgstr "" -#: ../src/mpdinteraction.c:176 -msgid "Add " +#: ../src/main.c:444 +msgid "show notification" msgstr "" -#: ../src/mpdinteraction.c:177 -msgid "replace" +#: ../src/main.c:445 +msgid "Show trayicon notification" msgstr "" -#: ../src/mpdinteraction.c:177 -msgid "Replace " +#: ../src/main.c:499 +msgid "Failed to load the configuration system." msgstr "" -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" +#: ../src/main.c:518 +msgid "Failed to load debug-log file." msgstr "" -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "Conexom" - -#: ../src/mpdinteraction.c:312 -msgid "Connecting" +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" msgstr "" -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" +#: ../src/main.c:1236 +msgid "Connected to mpd" msgstr "" -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" +#: ../src/main.c:1238 +msgid "Disconnected from mpd" msgstr "" -#. Create sub menu -#. Add -#: ../src/mpdinteraction.c:1329 -msgid "Add more" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/playlist3.c:604 -msgid "MPD database is updating" +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" msgstr "" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" +#: ../src/metadata.c:1390 +msgid "Metadata Handler" msgstr "" -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "Conectado" +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "Sem conexom" +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "GMPC" +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "Conectado a" +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" -#: ../src/playlist3.c:807 -msgid "Disconnected" -msgstr "Desconectado" +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" msgstr "" -#: ../src/playlist3.c:1647 -#, c-format -msgid "Repeat: %s" +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "On" -msgstr "Activo" +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Inactivo" +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "" -#: ../src/playlist3.c:1660 -#, c-format -msgid "Random: %s" +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" msgstr "" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" msgstr "" -#: ../src/playlist3.c:1716 -msgid "MPD Reported the following error" +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 -msgid "Profile" +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" msgstr "" -#: ../src/playlist3.c:1839 -msgid "added" +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" msgstr "" -#: ../src/playlist3.c:1846 -msgid "changed hostname to:" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" msgstr "" -#. Update DB -#: ../src/playlist3.c:1953 -msgid "Update Database" +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" msgstr "" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/playlist3.c:2042 -msgid "By" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" msgstr "" -#: ../src/playlist3.c:2049 -msgid "From" +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" msgstr "" -#: ../src/playlist3.c:2121 -msgid "Not Playing" +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/playlist3.c:2246 -msgid "Interface" +#: ../src/mpdinteraction.c:91 +msgid "enable" msgstr "" -#: ../src/playlist3-messages.c:35 -msgid "Info" +#: ../src/mpdinteraction.c:94 +msgid "disable" msgstr "" -#: ../src/playlist3-messages.c:36 -msgid "Warning" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#: ../src/playlist3-messages.c:37 -msgid "Critical" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#: ../src/playlist3-messages.c:228 -msgid "Time" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#: ../src/playlist3-messages.c:230 -msgid "Message" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#: ../src/plugin.c:216 +#: ../src/mpdinteraction.c:268 msgid "" -"One or more plugins failed to load, see help->messages for more information" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#: ../src/preferences.c:155 -msgid "Plugins:" -msgstr "Extensões:" - -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 -msgid "Name" -msgstr "Nome" - -#: ../src/preferences.c:312 -msgid "Function" -msgstr "Funçom" - -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "Vazio" - -#: ../src/preferences.c:336 -msgid "Browser Extension" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#: ../src/preferences.c:339 -msgid "Metadata Provider" -msgstr "Fornecedor dos metadatos" - -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/preferences.c:345 -msgid "Misc." -msgstr "Misc." - -#: ../src/preferences.c:350 -msgid "Unknown" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Procurar:" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -#, c-format -msgid "Added %i %s" -msgstr "Engadida %i %s" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -msgid "stream" -msgid_plural "streams" -msgstr[0] "" -msgstr[1] "" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 -msgid "Added 1 stream" -msgstr "1 stream engadido" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" -#. * -#. * Setup the label -#. -#: ../src/url_fetcher.c:240 -msgid "Enter an url" -msgstr "Introduzir umha URL" +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" -#: ../src/tray-icon2.c:136 -msgid "Pla_ylist" -msgstr "L_ista" +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" -#: ../src/tray-icon2.c:865 -msgid "Notification" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" msgstr "" -#. * -#. * Append an introduction page -#. -#: ../src/setup-assistant.c:114 -msgid "" -"It is the first time you have launched gmpc.\n" -"This assistant will help you connect gmpc to your mpd daemon." +#: ../src/mpdinteraction.c:309 +msgid "next" msgstr "" -#: ../src/setup-assistant.c:116 -msgid "Welcome to GMPC" +#: ../src/mpdinteraction.c:309 +msgid "next song" msgstr "" -#: ../src/setup-assistant.c:135 -msgid "Setup connection" +#: ../src/mpdinteraction.c:310 +msgid "prev" msgstr "" -#. * -#. * End -#. -#: ../src/setup-assistant.c:144 -msgid "" -"Gmpc is now ready for use.\n" -"Enjoy using gmpc." +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" msgstr "" -#: ../src/setup-assistant.c:146 -msgid "Finish" +#: ../src/mpdinteraction.c:311 +msgid "stop playback" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/mpdinteraction.c:313 +msgid "random" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" msgstr "" -"Johám-Luís Miguéns Vila \n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Johám-Luís Miguéns Vila https://launchpad.net/~galiza-ceive\n" -" Qball Cow https://launchpad.net/~qball-qballcow" -#: ../glade/password-dialog.ui.h:1 -msgid "Enter your password for: ''" -msgstr "Introduz a tua palavra-chave para: ''" +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" -#: ../glade/password-dialog.ui.h:2 -msgid "Password" -msgstr "Palavra-chave" +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" -#: ../glade/password-dialog.ui.h:3 -msgid "_Save password" -msgstr "_Guardar palavra-chave" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" -#: ../glade/preferences-connection.ui.h:1 -msgid "Profile:" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" msgstr "" -#: ../glade/preferences-connection.ui.h:2 -msgid "Conn_ect" -msgstr "Con_ectar-se" +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" -#: ../glade/preferences-connection.ui.h:3 -msgid "Host:" -msgstr "Host:" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 -msgid "Name:" -msgstr "Nome:" +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 -msgid "Password:" -msgstr "Palavra-chave:" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 -msgid "Port:" -msgstr "Porto:" +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" -#: ../glade/preferences-connection.ui.h:7 -msgid "Timeout (s):" -msgstr "Tempo de espera (s):" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" -#: ../glade/preferences-connection.ui.h:8 -msgid "_Autoconnect" -msgstr "Conect_ar automaticamente" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" -#: ../glade/preferences-connection.ui.h:10 -msgid "_Use Authentication" -msgstr "_Utilizar autenticaçom" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" -#: ../glade/preferences-connection.ui.h:11 -msgid "localhost" -msgstr "localhost" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "Activar campo:" +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:2 -msgid "Example:" -msgstr "Exemplo:" +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" -msgstr "Regra de formato:" +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:4 -msgid "A_lbum" -msgstr "Á_lbum" +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:5 -msgid "Edit Song Formatting" -msgstr "Editar o formato da cançom" +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:6 -msgid "T_rack" -msgstr "Pis_ta" +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:7 -msgid "_Artist" -msgstr "_Artista" +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:8 -msgid "_Date" -msgstr "_Data" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:9 -msgid "_Stream name" -msgstr "Nome do _stream" +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:10 -msgid "_Title" -msgstr "_Título" +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:11 -msgid "example" -msgstr "exemplo" +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "Principal:" +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" -#: ../glade/preferences-playlist.ui.h:2 -msgid "Playlist:" -msgstr "Lista:" +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" -#: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Marca da cançom" +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" -#: ../glade/preferences-playlist.ui.h:4 -msgid "Center playing song" -msgstr "Centrar a cançom a se ouvir" +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Editar as marcas do na_vegador" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" -#: ../glade/preferences-playlist.ui.h:6 -msgid "Hide on close" -msgstr "Agochar ao fechar" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" -#: ../glade/preferences-playlist.ui.h:7 -msgid "Save position and size between sessions" -msgstr "Guardar a posiçom e o tamanho da janela para próximas sessões" +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 -msgid "Stop playing on exit" +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" msgstr "" -#: ../glade/preferences-plugins.ui.h:1 -msgid "Loaded Plugins:" -msgstr "Extensões activas:" +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" -#: ../glade/preferences-server.ui.h:1 -msgid "Crossfade:" -msgstr "Esvaecimento:" +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" -#: ../glade/preferences-server.ui.h:2 -msgid "Output Devices:" -msgstr "Dispositivos de saída:" +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" -#: ../glade/preferences-server.ui.h:3 +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:887 msgid "" -"You need to be connected\n" -"in order to change these settings" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" msgstr "" -"Cumpre que estejas conectado\n" -"para mudar estas configurações" -#: ../glade/preferences-server.ui.h:5 -msgid "Enable crossfade" -msgstr "Activar esvaecimento" +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" -#: ../glade/preferences-server.ui.h:6 -msgid "fade time (s):" -msgstr "duraçom do esvaecimento (s):" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" -#: ../glade/preferences-trayicon.ui.h:1 -msgid "Inline messages" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" msgstr "" -#: ../glade/preferences-trayicon.ui.h:2 -msgid "Notification Area Icon" -msgstr "Icona da área de notificaçom" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" -#: ../glade/preferences-trayicon.ui.h:3 -msgid "PopUp" -msgstr "Janela emergente" +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" -#: ../glade/preferences-trayicon.ui.h:4 -msgid "Enable" -msgstr "Activar" +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" -#: ../glade/preferences-trayicon.ui.h:5 -msgid "Position:" -msgstr "Posiçom:" +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" msgstr "" -#: ../glade/preferences-trayicon.ui.h:7 -msgid "Timeout:" -msgstr "Tempo de espera:" +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" msgstr "" -#: ../glade/preferences-proxy.ui.h:2 -msgid "HTTP Proxy:" +#: ../src/playlist3.c:2190 +msgid "By" msgstr "" -#: ../glade/preferences-proxy.ui.h:5 -msgid "Use a proxy for internet connectivity" +#: ../src/playlist3.c:2196 +msgid "From" msgstr "" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" +#: ../src/playlist3.c:2267 +msgid "Not Playing" msgstr "" -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" +#: ../src/playlist3.c:2381 +msgid "Interface" msgstr "" -#: ../glade/preferences.ui.h:1 -msgid "" -"Plugins\n" -"None Selected" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -"Extensões\n" -"Nengumha seleccionada" -#: ../glade/preferences.ui.h:3 -msgid "gmpc - Configuration" -msgstr "gmpc - Configuraçom" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" -#: ../glade/playlist-message-window.ui.h:1 -msgid "Messages" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#: ../glade/playlist-save-dialog.ui.h:1 -msgid "" -msgstr "" +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" -#: ../glade/playlist-save-dialog.ui.h:2 -msgid "Playlist already exists." +#: ../src/playlist3-messages.c:26 +msgid "Info" msgstr "" -"A lista de reproduçom já existe." -#: ../glade/playlist-save-dialog.ui.h:3 -msgid "Save Playlist" -msgstr "Guardar a lista" +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" -#: ../glade/playlist-save-dialog.ui.h:4 -msgid "name:" -msgstr "nome:" +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 -msgid "item" -msgid_plural "items" -msgstr[0] "" -msgstr[1] "" +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 -msgid "(Estimation)" -msgstr "(Estimaçom)" +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" +#: ../src/plugin.c:60 +msgid "plugin has no name" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" -msgstr "Seguro que ques limpar a lista de reproduçom?" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" msgstr "" -#. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 -msgid "Crop" +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " msgstr "" -#. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 -msgid "Shuffle" +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 -msgid "Add URL" -msgstr "Engadir URL" +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 -#, c-format -msgid "" -"Playlist \"%s\" already exists\n" -"Overwrite?" +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" msgstr "" -"A lista \"%s\" já existe\n" -"Sobreescrever?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 -msgid "Failed to save the playlist file." +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 -msgid "File Browser" -msgstr "Navegador de ficheiros" +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 -msgid "Directories" +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/plugin.c:292 msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" +"One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 -#, c-format -msgid "Added folder '%s' recursively" -msgstr "Engadido o cartafol '%s' recursivamente" +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" -#. add the replace widget -#. replace the replace widget -#. add the replace widget -#. Play button -#. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 -msgid "Replace" -msgstr "Reemprazar" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" -#. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 -msgid "Update" -msgstr "Actualizar" +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 -msgid "Loaded playlist" -msgstr "Lista carregada" +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 -msgid "Added" -msgstr "Engadida" +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 -msgid "song" -msgid_plural "songs" +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 -msgid "directory" -msgid_plural "directories" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1035 -msgid "playlist" -msgid_plural "playlists" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 -msgid "Are you sure you want to clear the selected playlist?" -msgstr "Seguro que ques limpar a lista seleccionada?" +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" +#: ../src/setup-assistant.c:132 +msgid "Setup connection" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 -msgid "Search" -msgstr "Procurar" +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" +#: ../src/setup-assistant.c:143 +msgid "Finish" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" msgstr "" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artista" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Estilo" +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Título" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Álbum" +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Pista" +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Compositor" +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Executante" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Navegador de metadatos" +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 +#: ../src/browsers/playlist3-playlist-editor.c:451 msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "A orientaçom da icona de notificaçom." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Marca" - -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" #: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disco" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Comentário" +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Descarregar de novo" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "Ocorreu um erro" - -#~ msgid "Name:" -#~ msgstr "Nome:" - -#~ msgid "Sort by:" -#~ msgstr "Ordenar por:" - -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Os navegadores de etiquetas configurados só serám " -#~ "\"\n" -#~ "mostrados a partires da versom 0.12 do gmpc" - -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Na icona de notificaçom\n" -#~ "Canto superior esquerdo\n" -#~ "Canto superior direito\n" -#~ "Canto inferior esquerdo\n" -#~ "Canto inferior direito" - -#~ msgid "Error Dialog" -#~ msgstr "Janela de erro" - -#~ msgid "Error msg" -#~ msgstr "Mensagem de erro" - -#~ msgid "_Reconnect" -#~ msgstr "_Reconectar" - -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Estás a tentar executar o gmpc com a versom incorrecta de libmpd." - -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "O gmpc está actualmente conectado a um mpd com versom anterior à 0.12.0.\n" -#~ "Pode funcionar mais já nom está suportado." - -#~ msgid "" -#~ "A new metadata plugin was added, gmpc will now purge all missing metadata " -#~ "from the cache" -#~ msgstr "" -#~ "Foi engadida umha nova extensom para os metadatos, o gmpc purgará agora\n" -#~ "os metadatos inexistentes da caché" - -#~ msgid "Plugins" -#~ msgstr "Extensões" - -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Nom se puido ligar à URL: '%s'" - -#~ msgid "Genre:" -#~ msgstr "Estilo:" - -#~ msgid "Date:" -#~ msgstr "Data:" - -#~ msgid "Album:" -#~ msgstr "Álbum:" - -#~ msgid "Track:" -#~ msgstr "Pista:" - -#~ msgid "Composer:" -#~ msgstr "Compositor:" - -#~ msgid "Performer:" -#~ msgstr "Executante:" - -#~ msgid "Dirname:" -#~ msgstr "Cartafol:" - -#~ msgid "Tracks:" -#~ msgstr "Pistas:" - -#~ msgid "Directory:" -#~ msgstr "Cartafol:" - -#~ msgid "New accelerator..." -#~ msgstr "Novo atalho..." - -#~ msgid "Accelerator key" -#~ msgstr "Tecla de acesso rápido" - -#~ msgid "Accelerator modifiers" -#~ msgstr "Modificadores da tecla de acesso rápido" - -#~ msgid "Accelerator keycode" -#~ msgstr "Código (keycode) da tecla de acesso rápido" - -#~ msgid "Accel Mode" -#~ msgstr "Modo de acesso rápido" - -#~ msgid "The type of accelerator." -#~ msgstr "O tipo de tecla de acesso rápido." - -#~ msgid "Center opened folder" -#~ msgstr "Centrar o cartafol aberto" - -#~ msgid "_Edit Playlist Markup" -#~ msgstr "_Editar a marca da lista" - -#~ msgid "gmpc" -#~ msgstr "gmpc" - -#~ msgid "Not Playing" -#~ msgstr "Sem reproduçom" - -#~ msgid "N/A" -#~ msgstr "N/D" - -#~ msgid "Current Playlist" -#~ msgstr "Lista actual" - -#~ msgid "Playlist Search" -#~ msgstr "Procurar na lista" - -#~ msgid "Loading Cover Icon" -#~ msgstr "Icona ao carregar a portada" - -#~ msgid "No Cover Icon" -#~ msgstr "Sem icona de portada" - -#~ msgid "Size" -#~ msgstr "Tamanho" - -#~ msgid "Size of the image" -#~ msgstr "Tamanho da imagem" - -#~ msgid "HideOnNA" -#~ msgstr "AgocharSeND" - -#~ msgid "DrawBorder" -#~ msgstr "Debuxar perfil" - -#~ msgid "Draw a border around the image" -#~ msgstr "Debuxar um perfil ao redor da imagem" - -#~ msgid "DrawShadow" -#~ msgstr "Debuxar sombra" - -#~ msgid "Draw a shadow under the image" -#~ msgstr "Debuxar umha sombra debaixo da imagem" - -#~ msgid "Length" -#~ msgstr "Duraçom" - -#~ msgid "Pos" -#~ msgstr "Posiçom" - -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "As mudanças activarám-se ao reconectar" - -#~ msgid "Configure tag browsers" -#~ msgstr "Configurar o navegador de etiquetas" - -#~ msgid "Format" -#~ msgstr "Formato" - -#~ msgid "Comment:" -#~ msgstr "Comentário:" - -#~ msgid "Disc:" -#~ msgstr "Disco:" - -#~ msgid "Filename:" -#~ msgstr "Nome do ficheiro:" - -#~ msgid "Length:" -#~ msgstr "Duraçom:" - -#~ msgid "Path:" -#~ msgstr "Rota:" - -#~ msgid "A_lbum text" -#~ msgstr "Texto do á_lbum" - -#~ msgid "A_rtist Art" -#~ msgstr "Imagem do a_rtista" - -#~ msgid "Ar_tist Text" -#~ msgstr "Texto do ar_tista" - -#~ msgid "Refetch Artist Art" -#~ msgstr "Descarregar de novo a imagem do artista" - -#~ msgid "Refetch cover art" -#~ msgstr "Descarregar de novo a portada" - -#~ msgid "Select A File" -#~ msgstr "Seleccionar um ficheiro" - -#~ msgid "gmpc - song info" -#~ msgstr "gmpc - informaçom da cançom" - -#~ msgid "The following error occured: %i:'%s'" -#~ msgstr "Ocorreu o seguinte erro: %i:'%s'" - -#~ msgid "days" -#~ msgstr "dias" - -#~ msgid "hours" -#~ msgstr "horas" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "minutes" -#~ msgstr "minutos" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "streams" -#~ msgstr "streams" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Browse Artists" -#~ msgstr "Navegador por artista" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "albums" -#~ msgstr "álbumes" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "Browse Filesystem" -#~ msgstr "Navegador de ficheiros" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "playlists" -#~ msgstr "listas" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Genres: " -#~ msgstr "Estilos:" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "Dates: " -#~ msgstr "Datas: " +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Save Album Text" -#~ msgstr "Guardar texto do álbum" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Save Artist Text" -#~ msgstr "Guardar texto do artista" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "Working...." -#~ msgstr "A trabalhar..." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#~ msgid "Save Lyric" -#~ msgstr "Guardar as letras" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "%s:" -#~ msgstr "%s:" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "lyric" -#~ msgstr "letras" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "No %s found" -#~ msgstr "Nom se atopou %s" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#~ msgid "Added a song" -#~ msgstr "Umha cançom engadida" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#~ msgid "_Next" -#~ msgstr "_Seguinte" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "_Previous" -#~ msgstr "_Anterior" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Search in playlist" -#~ msgstr "Procurar na lista" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" -#~ msgid "Statistics:" -#~ msgstr "Estatísticas:" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "Albums:" -#~ msgstr "Álbumes:" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" -#~ msgid "Artists:" -#~ msgstr "Artistas:" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Uptime:" -#~ msgstr "Tempo activo:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Edit Cover Art" -#~ msgstr "Editar a portada" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Enable Covert Art" -#~ msgstr "Activar as portadas" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Remove Image" -#~ msgstr "Eliminar a imagem" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Add Location" -#~ msgstr "Engadir localizaçom" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Url:" -#~ msgstr "Url:" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" -#~ msgid "%i %s %02i %s %02i %s" -#~ msgstr "%i %s %02i %s %02i %s" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "+" -#~ msgstr "+" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "-" -#~ msgstr "-" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Stock icon to use when loading a cover" -#~ msgstr "Icona por defeito para utilizar ao se carregar a portada" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "Stock icon to use when no cover is present" -#~ msgstr "Icona por defeito quando nom há portada" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Type of the image, like artist art" -#~ msgstr "Tipo da imagem, como imagem de artista" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Pl_ay/Pause" -#~ msgstr "Reproduzir/P_arar\"" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" -#~ msgid "_Stop" -#~ msgstr "_Parar" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "*" -#~ msgstr "*" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "" -#~ "Enter a local or remote stream or " -#~ "playlist" -#~ msgstr "" -#~ "Introduz um stream local ou remoto ou umha lista " -#~ "de reproduçom\"" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "You can drop a link or file directly from a browser on this window." -#~ msgstr "" -#~ "Podes arrastar um enlace ou ficheiro directamente dende un navegador nesta " -#~ "janela." +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" -#~ msgid "Add Online Stream list" -#~ msgstr "Engadir umha lista de streaming online" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" -#~ msgid "A mpdObj to check on" -#~ msgstr "Um mpdObj para provar" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" -#~ msgid "Clear cover art cache" -#~ msgstr "Eliminar a caché das portadas" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "Cover Art Manager" -#~ msgstr "Gestor de portadas" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "Cover Art Viewer" -#~ msgstr "Vissualizador de portadas" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "" -#~ "Gmpc doesn't fetch the cover art itself.\n" -#~ "To fetch covers it uses providers plugins.\n" -#~ "These plugins fetch the cover image and stores them locally.\n" -#~ "You can download provider plugins: http://cms.qballcow.nl/" -#~ msgstr "" -#~ "O Gmpc nom descarga as portadas de seu.\n" -#~ "Para obter as portadas emprega extensões.\n" -#~ "Estas extensões procuram as portadas e guardam-nas no teu computador.\n" -#~ "Podes descarregar extensões: http://cms.qballcow.nl/" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Query Providers" -#~ msgstr "Consultar fornecedores" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/he.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/he.po --- gmpc-0.18.0/po/he.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/he.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,153 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 15:21+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:57+0000\n" "Last-Translator: Yaron \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "מנשק GNOME עבור סוכן ה־mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "לקוח נגן המוסיקה של GNOME" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "קבלת עזרה" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "מסד נתוני ה־MPD מתעדכן." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "השתק" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "הבא" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "נגן/השהה" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "הקודם" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "פרופילים" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "אקראי" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "חזרה" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "הצגת הודעות" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "עצור" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "בקר באתר הבית" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_צמצום המנשק" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "ה_תחבר" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_בקרה" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "הת_נתק" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "ה_רחבת המנשק" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_מסך מלא" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_עבור" -#: ../glade/playlist3.glade.h:20 -msgid "_Help" -msgstr "" - -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_מוסיקה" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_אפשרות" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_שלח סיסמה" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_שרת" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "הצג את _תמונת האמן" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_תצוגה" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - מנהל רשימות ההשמעה" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "הזמר זמריר" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "אתה מעוניין בשיר או בריקוד" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "ג'אז הליבה" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 בפברואר 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "שרת התזרים של MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "מתווך" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "כשל בטעינת מערכת התצורה." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "כשל בטעינת קובץ רישום ניפוי השגיאות." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "כשל בהגדרת libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "ל־GMPC אין די הרשאות בשרת ה־mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,157 +162,34 @@ "כשל בהגדרת הסיסמה עבור: '%s'\n" "אנא נסה שוב" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "אנא הזן את סיסמתך עבור: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "קוד שגיאה" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "ההרשאות להתחברות אל ה־mpd אינן מספקות. בדוק את הסיסמה" -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "ארעה שגיאה במהלך הפעולה" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "השגיאות הבאות ארעו:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "הודעת שגיאה" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "גירסה" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "מהדורה" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "אתר אינטרנט" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "מופעל" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "מקשי מולטימדיה" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "נוסף תוסף נתוני מטא חדש, gmpc הסירה את כל הפניות שנכשלו מהמטמון" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "מטפל בנתוני מטא" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " זמן כולל: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "יום" @@ -493,19 +201,13 @@ msgstr[0] "שעה" msgstr[1] "שעות" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "דקה" msgstr[1] "דקות" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "כשל בהפעלה" @@ -558,12 +260,7 @@ msgid "Toggle Mute" msgstr "החלפת השתקה" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -571,7 +268,7 @@ "לא ניתן ללכוד את מקשי המולטימדיה הבאים:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -581,7 +278,7 @@ "וודא כי מנהל החלונות שלך (או יישומים אחרים) לא איגדו את המקש הזה לטובת " "פונקציות אחרות, ואז הפעל את gmpc מחדש." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -593,15 +290,11 @@ "זוהו כמה מקשי מולטימדיה כפולים, והם בוטלו. אנא בקשר שוב בהעדפות כדי לוודא " "שהגדרותיך נכונות כעת." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "מקשי מולטימדיה" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -618,369 +311,243 @@ "וודא כי מנהל החלונות שלך (או יישומים אחרים) לא איגדו את המקש הזה לטובת " "פונקציות אחרות, ואז הפעל את gmpc מחדש." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "פעולה" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "קיצור־דרך" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "מופסק" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "הגדרות השרת" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "חיבור" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "מתחבר" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "הכול מהאלבום" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "הכול מהזמר" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "הכול מהסגנון" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "הכול מאותה התיקייה" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "הוסף עוד" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "מסד הנתונים של MPD מתעדכן" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "מחובר" -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "מחובר" - -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "לא מחובר" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "מחובר אל" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "מנותק" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "חזרה: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "פעיל" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "מופסק" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "אקראי: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD דיווח על השגיאה הבאה" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "פרופיל" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "נוסף" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "שם המארח שונה ל־:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "עדכון מסד הנתונים" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "על ידי" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "מ" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "לא מנגן" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "מנשק" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "מידע" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "אזהרה" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "קריטי" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "זמן" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "הודעה" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "נכשלה הפעלת אחד או יותר התוספים שלך, עיין ב\"עזרה->הודעות למידע נוסף" -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" -msgstr "" - -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "תוספים:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "מופעל" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "שם" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "פונקציה" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "גירסה" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "דמה" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "הרחבת דפדפן" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "ספק נתוני מטא" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "ספק נתוני מטא והרחבת דפדפן" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "שונות" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "לא ידוע" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "חיפוש:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "נוסף %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "תזרים" msgstr[1] "תזרימים" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "נוסף תזרים 1" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "הזן כתובת" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "ר_שימת השמעה" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "דיווחים" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -988,18 +555,18 @@ "זוהי הפעם הראשונה בה הפעלת את gmpc.\n" "תוכנית עזר זו תסייע לך לחבר את ה־gmpc שלך לסוכן ה־mpd." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "ברוך הבא ל־GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "הגדרת חיבור" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1007,7 +574,7 @@ "Gmpc מוכן לשימוש כעת.\n" "תהנה מהשימוש ב־gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "סיים" @@ -1043,6 +610,9 @@ " Yaron https://launchpad.net/~sh-yaron\n" "\n" "Launchpad Contributions:\n" +" Yaron https://launchpad.net/~sh-yaron\n" +"\n" +"Launchpad Contributions:\n" " Yaron https://launchpad.net/~sh-yaron" #: ../glade/password-dialog.ui.h:1 @@ -1069,33 +639,33 @@ msgid "Host:" msgstr "מארח:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "שם:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "סיסמה:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "פתחה:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "תפוגה (ש'):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "ה_תחברות אוטומטית" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "השתמש ב_אימות" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1152,38 +722,26 @@ msgstr "רשימת השמעה:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "סימון שירים" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "מרכז את השיר המתנגן" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "עריכת _תגיות העיון" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "הסתר עם הסגירה" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "שמור את המיקום והגודל בין ההפעלות" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "הצג תיאורים ברשימת השירים" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "הפסק לנגן עם היציאה" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "סגנן את עטיפות האלבומים" @@ -1235,18 +793,14 @@ msgid "Position:" msgstr "מיקום:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "הצג מידת חומרה" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "תפוגה:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "מתווך HTTP:" @@ -1255,14 +809,6 @@ msgid "Use a proxy for internet connectivity" msgstr "השתמש במתווך להתקשרות אינטרנט" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1295,61 +841,42 @@ msgid "name:" msgstr "שם:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "פריט" msgstr[1] "פריטים" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(הערכה)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "תור הנגינה" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "האם אתה בטוח שברצונך לנקות את רשימת ההשמעה?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "ל־mpd שלך יש 'addid' פגום, ההדבקה תכשל." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "חיתוך" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "מעורב" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "הוספת כתובת" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1358,29 +885,26 @@ "רשימת ההשמעה \"%s\" כבר קיימת\n" "לשכתב?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "כשל בשמירת קובץ רשימת ההשמעה." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "תור הנגינה" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "סייר הקבצים" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "תיקיות" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "התיקייה '%s' נוספה ברקורסיביות" @@ -1388,752 +912,1341 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "החלף" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "עדכן" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "רשימת ההשמעה שנטענה" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "נוסף" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "שיר" msgstr[1] "שירים" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "תיקייה" msgstr[1] "תיקיות" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "רשימת השמעה" msgstr[1] "רשימות השמעה" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "האם אתה בטוח שברצונך לרוקן את רשימת ההשמעה הנבחרת?" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "חיפוש" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "הדבקה לפני" -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "הדבקה אחרי" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 -msgid "Search" -msgstr "חיפוש" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "עריכת הטורים" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "לא זמין" -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" +#~ msgid "Song Markup" +#~ msgstr "סימון שירים" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" +#~ msgid "Edit _Browser Markup" +#~ msgstr "עריכת _תגיות העיון" -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" +#~ msgid "Jonny Singer" +#~ msgstr "הזמר זמריר" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +#~ msgid "Sing or Swing you want" +#~ msgstr "אתה מעוניין בשיר או בריקוד" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#~ msgid "The kernel jazz" +#~ msgstr "ג'אז הליבה" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#~ msgid "_Server" +#~ msgstr "_שרת" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "לא זמין" +#~ msgid "2 Feb 2006" +#~ msgstr "2 בפברואר 2006" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "מאחזר..." +#~ msgid "MPD's Streaming server" +#~ msgstr "שרת התזרים של MPD" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "הצג" +#~ msgid "--version" +#~ msgstr "--version" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "" +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "" +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#~ msgid "--replace" +#~ msgstr "--replace" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "" +#~ msgid "--quit" +#~ msgstr "--quit" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid " Total time: " +#~ msgstr " זמן כולל: " + +#~ msgid "View" +#~ msgstr "הצג" + +#~ msgid "Fetching..." +#~ msgstr "מאחזר..." + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#: ../glade/playlist3.glade.h:25 +msgid "_Help" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/main.c:438 +msgid "quit" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#: ../src/main.c:440 +msgid "hide" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/main.c:441 +msgid "Hide gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/main.c:442 +msgid "show" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/main.c:443 +msgid "Show gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/main.c:444 +msgid "show notification" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/main.c:445 +msgid "Show trayicon notification" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/main.c:1236 +msgid "Connected to mpd" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/main.c:1238 +msgid "Disconnected from mpd" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/mpdinteraction.c:91 +msgid "enable" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/mpdinteraction.c:94 +msgid "disable" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/mpdinteraction.c:307 +msgid "start playback" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/mpdinteraction.c:308 +msgid "pause" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/mpdinteraction.c:309 +msgid "next" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/mpdinteraction.c:309 +msgid "next song" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/mpdinteraction.c:310 +msgid "prev" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/mpdinteraction.c:310 +msgid "previous song" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" +#. disc #: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" msgstr "" +#. Comment #: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" msgstr "" #: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +msgid "Icon Id" msgstr "" #: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +msgid "Position" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "הדבקה לפני" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "הדבקה אחרי" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "עריכת הטורים" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "An Error Occured" -#~ msgstr "ארעה שגיאה" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Name:" -#~ msgstr "שם:" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "סידור לפי:" - -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "תגיות העיון המוגדרות יוצגו רק עם mpd גירסה 0.12 " -#~ "ומעלה." - -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "באזור הדיווחים יופיע הסמל\n" -#~ "בפינה השמאלית העליונה\n" -#~ "בפינה הימנית העליונה\n" -#~ "בפינה השמאלית התחתונה\n" -#~ "בפינה הימנית התחתונה" - -#~ msgid "Error Dialog" -#~ msgstr "חלונית שגיאה" - -#~ msgid "Error msg" -#~ msgstr "הודעת שגיאה" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "ללא\n" -#~ "אמן\n" -#~ "אלבום\n" -#~ "כותרת\n" -#~ "רצועה\n" -#~ "שם\n" -#~ "סגנון\n" -#~ "תאריך\n" -#~ "מחבר\n" -#~ "מבצע\n" -#~ "הערה\n" -#~ "תקליטור" - -#~ msgid "_Reconnect" -#~ msgstr "התחבר מ_חדש" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "מידע ומעלה\n" -#~ "אזהרה ומעלה\n" -#~ "שגיאה\n" -#~ "ללא" - -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "לקוח נגן המוסיקה של GNOME\n" - -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "מנסה להריץ את gmpc עם גירסה שגויה של libmpd" - -#~ msgid "Connected to mpd" -#~ msgstr "מחובר ל־mpd" - -#~ msgid "Plugins" -#~ msgstr "תוספים" - -#~ msgid "Plugins:" -#~ msgstr "תוספים:" - -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "כשל ביצירת קשר עם הכתובת: '%s'" - -#~ msgid "Failed to parse the playlist link" -#~ msgstr "כשל בניתוח הקישור אל רשימת ההשמעה" - -#~ msgid "Gnome Music Player Client" -#~ msgstr "לקוח נגן המוסיקה של GNOME" - -#~ msgid "And" -#~ msgstr "וגם" - -#~ msgid "Or" -#~ msgstr "או" - -#~ msgid "Search" -#~ msgstr "חיפוש" - -#~ msgid "Search in current _play queue" -#~ msgstr "חפש בתור ה_נגינה הנוכחי" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "Artist:" -#~ msgstr "אמן:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "שירים:" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "PlayTime:" -#~ msgstr "משך הנגינה:" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/hi.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/hi.po --- gmpc-0.18.0/po/hi.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/hi.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" "PO-Revision-Date: 2009-02-03 17:00+0000\n" "Last-Translator: DarkAce \n" "Language-Team: Hindi \n" @@ -15,471 +15,195 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "आवाज़ बंद" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "अगला" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "चलाएं/रोकें" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "पिछला" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "बंद करें" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "वेबसाइट देखें" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_जाएँ" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_मदद" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--बाहर निकलें" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--मदद" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "विंडोस" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "मॅक ओएसएक्स" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*निक्स" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "वेबसाइट" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr "" - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "" @@ -491,19 +215,13 @@ msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -556,25 +274,20 @@ msgid "Toggle Mute" msgstr "" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +295,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +307,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,392 +318,298 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "बंद" -#: ../src/mpdinteraction.c:159 -msgid "start playback" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause" +#: ../src/mpdinteraction.c:385 +msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next" +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next song" +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "prev" +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "previous song" +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop" +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "random" +#: ../src/playlist3.c:632 +msgid "MPD database is updating" msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" msgstr "" -#: ../src/mpdinteraction.c:166 -msgid "repeat" +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" msgstr "" -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" +#: ../src/playlist3.c:793 +msgid "Connected" msgstr "" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "जीएमपीसी" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/playlist3.c:815 +msgid "Connected to" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/playlist3.c:820 +msgid "Disconnected" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "दुबारा:%s" -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "चालू" -#: ../src/mpdinteraction.c:175 -msgid "Play " +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/mpdinteraction.c:176 -msgid "add" +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/mpdinteraction.c:176 -msgid "Add " +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" msgstr "" -#: ../src/mpdinteraction.c:177 -msgid "replace" +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" msgstr "" -#: ../src/mpdinteraction.c:177 -msgid "Replace " +#: ../src/playlist3.c:1957 +msgid "added" msgstr "" -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" msgstr "" -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "" - -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "" - -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" -msgstr "" - -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" -msgstr "" - -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" -msgstr "" - -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" -msgstr "" - -#. Create sub menu -#. Add -#: ../src/mpdinteraction.c:1329 -msgid "Add more" -msgstr "" - -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 -msgid "MPD database is updating" -msgstr "" - -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "" - -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "" - -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "जीएमपीसी" - -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "" - -#: ../src/playlist3.c:807 -msgid "Disconnected" -msgstr "" - -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 -#, c-format -msgid "Repeat: %s" -msgstr "दुबारा:%s" - -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "On" -msgstr "चालू" - -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "बंद" - -#: ../src/playlist3.c:1660 -#, c-format -msgid "Random: %s" -msgstr "" - -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 -msgid "MPD Reported the following error" -msgstr "" - -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 -msgid "Profile" -msgstr "" - -#: ../src/playlist3.c:1839 -msgid "added" -msgstr "" - -#: ../src/playlist3.c:1846 -msgid "changed hostname to:" -msgstr "" - -#. Update DB -#: ../src/playlist3.c:1953 -msgid "Update Database" +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "ख़तरा" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "समय" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "नाम" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "उपयोग" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" @@ -994,12 +617,6 @@ msgid "Copyright 2003-2007 Qball Cow" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" -msgstr "" -"Launchpad Contributions:\n" -" DarkAce https://launchpad.net/~darkace" - #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" msgstr "" @@ -1024,33 +641,33 @@ msgid "Host:" msgstr "" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1107,38 +724,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1188,11 +797,11 @@ msgid "Position:" msgstr "" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1246,90 +855,68 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1337,626 +924,1209 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "सभी" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "छवि" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 msgid "Metadata Browser" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/main.c:438 +msgid "quit" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/main.c:439 +msgid "Quit gmpc" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/main.c:440 +msgid "hide" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/main.c:441 +msgid "Hide gmpc" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/main.c:442 +msgid "show" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/main.c:443 +msgid "Show gmpc" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/main.c:444 +msgid "show notification" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/main.c:445 +msgid "Show trayicon notification" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/mpdinteraction.c:91 +msgid "enable" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/mpdinteraction.c:94 +msgid "disable" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/mpdinteraction.c:307 +msgid "start playback" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/mpdinteraction.c:308 +msgid "pause" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#: ../src/mpdinteraction.c:309 +msgid "next" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/mpdinteraction.c:309 +msgid "next song" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/mpdinteraction.c:310 +msgid "prev" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/mpdinteraction.c:310 +msgid "previous song" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "सभी" +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "छवि" +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/mpdinteraction.c:313 +msgid "random" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" DarkAce https://launchpad.net/~darkace" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/hu.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/hu.po --- gmpc-0.18.0/po/hu.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/hu.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,323 +7,158 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-28 14:04+0000\n" -"Last-Translator: Norbert Illes \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:58+0000\n" +"Last-Translator: Polesz \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Gnome felület az mpd démonhoz" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" -msgstr "Gnome Zenelejátszó Kliens" +msgstr "Gnome zenelejátszókliens" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Segítségkérés" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD adatbázis frissítve." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Elnémítás" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Következő" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Lejátszás/Szünet" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Előző" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profilok" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Véletlenszerű" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Ismétlés" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Üzenetek mutatása" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Leállítás" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Weblap meglátogatása" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Interfész ö_sszecsukása" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "Kap_csolódás" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Vezérlés" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Kapcsolat bontása" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "Interfész _kibővítése" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Teljes képernyő" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Ugrás" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Súgó" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Zene" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opció" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "Jel_szó küldése" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Kiszolgáló" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "Előadó képének mutatá_sa" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Nézet" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Lejátszólista Kezelő" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/út/vonal/fájl_neve.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Sing or Swing you want" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "MPD Streaming szerver" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Nem sikerült betölteni a konfigurációs rendszert." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Nem tudtam betölteni a debug-load fájlt." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Nem tudtam beállítani a libmpd-t" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" "A GMPC nem rendelkezik az mpd szerveren a szükséges jogosultságokkal." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -332,157 +167,28 @@ "Nem tudtam beállítani a jelszót a '%s' helyen\n" "Kérem próbálja újra" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Kérem írja be a jelszavát a '%s' helyhez" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "Hibakód" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Nincs jogosultságod az mpd-hez csatlakozni. Ellenőrizd a jelszót." -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "A működés közben hiba lépett fel" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "A következő hibák léptek fel:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Hibaüzenet" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Verzió" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revízió" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd verzió" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ verzió" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "GTK+ verzió" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Weblap" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Engedélyezve" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Letiltva" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS támogatás" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimédia billentyűk" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Metaadat kezelő" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Teljes idő: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "nap" @@ -494,19 +200,13 @@ msgstr[0] "óra" msgstr[1] "óra" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "perc" msgstr[1] "perc" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Nem tudtam végrehajtani" @@ -559,12 +259,7 @@ msgid "Toggle Mute" msgstr "Némítás" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -572,7 +267,7 @@ "Nem tudtam érzékelni a következő multimédia gombokat:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -583,7 +278,7 @@ "foglalta-e már le ezt a billentyűt valami más funkcióhoz, majd indítsa újra " "a gmpc-t." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -595,15 +290,11 @@ "Néhány helyen kétszer lett hozzárendelve egy multimédia gomb, ezeket " "letiltottam. Kérem ellenőrizze újra a beállításokat, és javítsa ki a hibát." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimédia billentyűk" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -620,371 +311,249 @@ "Ellenőrizze, hogy az ablakkezelője (vagy valamilyen egyéb alkalmazás) nem " "használja-e már ezt a billentyűt valami másra, majd indítsa újra a gmpc-t." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Művelet" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Gyorsbillentyű" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Ki" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Szerverbeállítások" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Kapcsolat" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Csatlakozás" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Minden az albumról" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Minden az előadótól" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Minden a műfajból" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Minden a könyvtárból" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Továbbiak hozzáadása" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Az MPD adatbázisa frissül" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Kapcsolódva" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Nincs kapcsolat" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Kapcsolódva ehhez:" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Bontva" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Ismétlés: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Be" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Ki" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Véletlenszerű: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "Az MPD a következő hibát jelezte" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "hozzáadva" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "hostname megváltozott erre:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Adatbázis frissítése" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Szerző" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "erről az albumról:" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Nincs lejátszás" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Felület" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Infó" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Figyelmeztetés" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritikus" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Idő" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Üzenet" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Egy vagy több bővítményt nem lehetett betölteni, a segítség->üzenetek " "pontban több információt találsz" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Bővítmények" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Bővítmények:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Engedélyezve" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Név" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funkció" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Verzió" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Üres" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Böngészőkiegészítés" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Metaadatszolgáltató" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Metaadatszolgáltató és böngészőkiegészítés" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Egyéb" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Ismeretlen" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Keresés:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "%i %s hozzáadva" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "folyam" msgstr[1] "folyam" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "1 folyam hozzáadva" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Írjon be egy url-t" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Leját_szólista" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Értesítés" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -992,18 +561,18 @@ "Első alkalommal indítod a gmpc-t.\n" "Ez a segéd végigvezet az mpd démonhoz való kapcoslódás lépésein." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Üdvözöllek a GMPC-ben" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Kapcsolat beállítása" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1011,7 +580,7 @@ "A Gmpc használatra kész.\n" "Kellemes zenehallgatást!" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Befejezés" @@ -1082,6 +651,12 @@ " Dösi https://launchpad.net/~erdosib\n" " Norbert Illes https://launchpad.net/~illesnorbi-deactivatedaccount\n" " Polesz https://launchpad.net/~polesz-nedudu\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Dösi https://launchpad.net/~erdosib\n" +" Norbert Illes https://launchpad.net/~illesnorbi-deactivatedaccount\n" +" Polesz https://launchpad.net/~polesz-nedudu\n" " Qball Cow https://launchpad.net/~qball-qballcow" #: ../glade/password-dialog.ui.h:1 @@ -1108,33 +683,33 @@ msgid "Host:" msgstr "Kiszolgáló:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Név:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Jelszó:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Várakozási idő (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Automatikus csatlakozás" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "A_zonosítás használata" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "sajátgép" @@ -1148,7 +723,7 @@ #: ../glade/preferences-esf-dialog.ui.h:3 msgid "Format Rule:" -msgstr "Formátum szabály:" +msgstr "" #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" @@ -1156,7 +731,7 @@ #: ../glade/preferences-esf-dialog.ui.h:5 msgid "Edit Song Formatting" -msgstr "Dal formátum szerkesztése" +msgstr "" #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" @@ -1191,38 +766,26 @@ msgstr "Lejátszólista:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Dal megjelelölése" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" -msgstr "Jelenleg lejátszott dal középen" - -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "_Böngészőben való megjelenítés szerkesztése" +msgstr "Jelenleg játszott dal középen" -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Elrejtés bezáráskor" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Pozíció és méret mentése" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Lejátszólista gyorstipp mutatása" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Lejátszás megállítása kilépéskor" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Lemezborítók dekorálása" @@ -1274,18 +837,14 @@ msgid "Position:" msgstr "Pozíció:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Súlyosság mutatása" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Várakozási idő:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP Proxy:" @@ -1294,14 +853,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Proxy használata az internet kapcsolathoz" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1334,61 +885,35 @@ msgid "name:" msgstr "név:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "tétel" msgstr[1] "tétel" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Becslés)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Lejátszási sor" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Biztosan törölni kívánja a lejátszólistát?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Levágás" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Kevert" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "URL hozzáadása" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1397,29 +922,26 @@ "A \"%s\" lejátszólista már létezik.\n" "Felülírja?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Nem tudtam menteni a lejátszólista fájlt." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Lejátszási sor" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Fájlböngésző" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Könyvtárak" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "A '%s' könyvtárt rekurzívan hozzáadtam" @@ -1427,841 +949,1397 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Csere" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Frissítés" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Betöltött lejátszólista" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Hozzáadva" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "dal" msgstr[1] "dal" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "könyvtár" msgstr[1] "könyvtár" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "lejátszólista" msgstr[1] "lejátszólista" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Biztos törölni kívánja a kiválasztott lejátszólistát?" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Keresés" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Lejátszólista szerkesztő" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Új lejátszólista" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Lejátszólista átnevezése" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Nem elérhető" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Átnevezés" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Letöltés..." +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Hozzáadás a lejátszólistához" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Nézet" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Címke alapú böngésző" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Jelölés" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Előadó" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Dalok" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Cím" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Fájl" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Műfaj" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Dátum" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Szám" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Szerző" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Cím" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Előadó" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Dátum" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Időtartam" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Lemez" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Szám" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Megjegyzés" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Szerző" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Ikon azonosító" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Előadó" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Pozíció" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Könyvtár" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "Extension" msgstr "Bővítmény" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitsűrűség" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Könyvtár" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Beszúrás elé" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Audio formátum" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Beszúrás utána" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Oszlopok szerkesztése" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Hozzáadott profil" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Törölt profil" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Ismételt letöltés" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Csak az első %i találatot mutatom, kérem pontosítsa a keresési kifejezést" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Válassz egy fájlt" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Előadó keresése:" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Nem tudtam megnyitni a fájlt:" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Műfaj:" -msgstr[1] "Műfajok:" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "kódolási problémák miatt" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Dátum:" -msgstr[1] "Dátumok:" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Előadó-információ letöltése" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Előadó infó:" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Album-információ letöltése" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Nem elérhető" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Válassz egy fájlt" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Szöveges dokumentum" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Mind" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Képek" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Nem elérhető" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Metaadat-böngésző" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Dalok" + +#~ msgid "_Server" +#~ msgstr "_Kiszolgáló" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/út/vonal/fájl_neve.mp3" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "Song Markup" +#~ msgstr "Dal megjelelölése" + +#~ msgid "MPD's Streaming server" +#~ msgstr "MPD Streaming szerver" + +#~ msgid " Total time: " +#~ msgstr " Teljes idő: " + +#~ msgid "Album info:" +#~ msgstr "Album infó:" + +#~ msgid "Show Current Song" +#~ msgstr "Aktuális szám mutatása" + +#~ msgid "Artist info:" +#~ msgstr "Előadó infó:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Dátum:" +#~ msgstr[1] "Dátumok:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Műfaj:" +#~ msgstr[1] "Műfajok:" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Csak az első %i találatot mutatom, kérem pontosítsa a keresési kifejezést" + +#~ msgid "Find Artist:" +#~ msgstr "Előadó keresése:" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "View" +#~ msgstr "Nézet" + +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Sing or Swing you want" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "_Böngészőben való megjelenítés szerkesztése" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "Fetching..." +#~ msgstr "Letöltés..." + +#~ msgid "Bitrate" +#~ msgstr "Bitsűrűség" + +#~ msgid "Audio format" +#~ msgstr "Audio formátum" + +#~ msgid "Albums" +#~ msgstr "Albumok" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "Links" +#~ msgstr "Linkek" + +#~ msgid "Similar Artists" +#~ msgstr "Hasonló előadók" + +#~ msgid "channels" +#~ msgstr "Csatornák" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "A 0.13.0 előtti MPD verziók nem támogatottak" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "Kapcsolódtam az mpd-hez" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "Bontottam a kapcsolatot az MPD-vel" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Albumok" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Hasonló előadók" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Album infó:" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Metaadat-böngésző" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Aktuális szám mutatása" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "Csatornák" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Lejátszólista szerkesztő" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Új lejátszólista" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Lejátszólista átnevezése" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Átnevezés" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Hozzáadás a lejátszólistához" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Címke alapú böngésző" - -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Szerver" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" -msgstr "" +msgstr "Összes lejátszási idő" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" -msgstr "" +msgstr "Előadók száma" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" -msgstr "" +msgstr "Albumok száma" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" -msgstr "" +msgstr "Dalok száma" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" -msgstr "" +msgstr "URL kezelők" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" -msgstr "" +msgstr "Címke típusok" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" -msgstr "" - -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "" - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Jelölés" - -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Fájl" - -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Lemez" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Megjegyzés" - -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Ikon azonosító" - -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Pozíció" +msgstr "Címke statisztika" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Beszúrás elé" - -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Beszúrás utána" - -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Oszlopok szerkesztése" - -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Hozzáadott profil" - -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Törölt profil" - -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Ismételt letöltés" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Válassz egy fájlt" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Nem tudtam megnyitni a fájlt:" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "kódolási problémák miatt" - -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Dalszöveg letöltése" - -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Előadó-információ letöltése" - -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Album-információ letöltése" - -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Nem elérhető" - -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Válassz egy fájlt" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Szöveges dokumentum" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Mind" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Képek" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "nem ismert" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Linkek" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "Hiba történt" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Name:" -#~ msgstr "Név:" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "Rendezési sorrend:" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "A beállított címkeböngészők csak az mpd 0.12-es vagy " -#~ "újabb verzióinál jelennek meg." +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Az értesítési ikon területen\n" -#~ "Balra fent\n" -#~ "Jobbra fent\n" -#~ "Balra lent\n" -#~ "Jobbra lent" - -#~ msgid "Error Dialog" -#~ msgstr "Hibaablak" - -#~ msgid "Error msg" -#~ msgstr "Hibaüzenet" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Nincs\n" -#~ "Előadó\n" -#~ "Album\n" -#~ "Cím\n" -#~ "Sáv\n" -#~ "Név\n" -#~ "Műfaj\n" -#~ "Dátum\n" -#~ "Zeneszerző\n" -#~ "Előadó\n" -#~ "Megjegyzés\n" -#~ "Lemez" - -#~ msgid "_Reconnect" -#~ msgstr "Ú_jracsatlakozás" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "információ és komolyabb\n" -#~ "figyelmeztetés és komolyabb\n" -#~ "hiba\n" -#~ "semmi" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Zenelejátszó Kliens\n" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "A gmpc-t rossz libmpd verzióval próbálta futtatni." +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "A gmpc éppen 0.12.0-ás verziónál régebbi mpd-hez kapcsolódik.\n" -#~ "Ez működhet, de már nem támogatott." +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Connected to mpd" -#~ msgstr "Kapcsolódtam az mpd-hez" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "Plugins" -#~ msgstr "Bővítmények" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Plugins:" -#~ msgstr "Bővítmények:" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Nem lehetett a '%s' url-hez csatlakozni" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Nem tudtam értelmezni a lejátszólista hivatkozást" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#~ msgid "And" -#~ msgstr "És" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "Or" -#~ msgstr "Vagy" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "Search" -#~ msgstr "Keresés" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "Search in current _play queue" -#~ msgstr "Keresls az aktuális lejátszólistában" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#~ msgid "Artist:" -#~ msgstr "Előadó:" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "Dalok:" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "PlayTime:" -#~ msgstr "Lejátszási idő:" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Genre:" -#~ msgstr "Műfaj:" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Hasonló dalok" -#~ msgid "Date:" -#~ msgstr "Dátum:" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "Collection" -#~ msgstr "Gyűjtemény" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Album:" -#~ msgstr "Album:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Track:" -#~ msgstr "Szám:" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Composer:" -#~ msgstr "Szerző:" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Performer:" -#~ msgstr "Előadó:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Dirname:" -#~ msgstr "Könyvtár:" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Extension:" -#~ msgstr "Kiterjesztés:" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "Lyric:" -#~ msgstr "Dalszöveg:" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "Links" -#~ msgstr "Linkek" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Artist info:" -#~ msgstr "Előadó infó:" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "Albums:" -#~ msgstr "Albumok:" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Similar Artists:" -#~ msgstr "Hasonló előadók:" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Album info:" -#~ msgstr "Album infó:" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Dalszöveg" -#~ msgid "Songs:" -#~ msgstr "Dalok:" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "Tracks:" -#~ msgstr "Számok:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "Directory:" -#~ msgstr "Könyvtár:" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "New accelerator..." -#~ msgstr "Új gyorsbillentyű…" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" -#~ msgid "Accelerator key" -#~ msgstr "Gyorsbillentyű" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Album információ" -#~ msgid "Accelerator modifiers" -#~ msgstr "Gyorsbillentyű-módosítók" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Előadó információ" -#~ msgid "Accelerator keycode" -#~ msgstr "Gyorsbillentyű billentyűkódja" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "Accel Mode" -#~ msgstr "Gyorsítómód" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "The type of accelerator." -#~ msgstr "A gyorsbillentyű típusa." +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Title:" -#~ msgstr "Cím:" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Duration:" -#~ msgstr "Időtartam:" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#~ msgid "Similar Songs:" -#~ msgstr "span weight=\"bold\">Hasonló számok:" +#~ msgid "Songs with same title" +#~ msgstr "Azonos című dalok" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/hy.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/hy.po --- gmpc-0.18.0/po/hy.po 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/po/hy.po 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2136 @@ +# Armenian translation for gmpc +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the gmpc package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gmpc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:58+0000\n" +"Last-Translator: Qball Cow \n" +"Language-Team: Armenian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "" + +#. * MM_PLAYPAUSE +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 +msgid "Next" +msgstr "Հաջորդը" + +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "" + +#. * MM_NEXT +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 +msgid "Previous" +msgstr "Նախորդը" + +#: ../glade/playlist3.glade.h:10 +msgid "Profiles" +msgstr "Պրոֆիլներ" + +#. * MM_REPEAT +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 +msgid "Random" +msgstr "" + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "Կրկնել" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "Դադարեցնել" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" +msgstr "" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "" + +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "Անջատում" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "" + +#: ../glade/playlist3.glade.h:25 +msgid "_Help" +msgstr "" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "" + +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "" + +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1094 +#, c-format +msgid "Please enter your password for: '%s'" +msgstr "" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" + +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" + +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "" + +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "" + +#: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Vardan https://launchpad.net/~vardangevorgyan\n" +"\n" +"Launchpad Contributions:\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Vardan https://launchpad.net/~vardangevorgyan" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 +#, c-format +msgid "" +"Playlist \"%s\" already exists\n" +"Overwrite?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/id.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/id.po --- gmpc-0.18.0/po/id.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/id.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,185 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-18 12:34+0000\n" -"Last-Translator: Arief Setiadi Wibowo \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:58+0000\n" +"Last-Translator: Qball Cow \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Gnome frontend untuk mpd daemon" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Mendapatkan Bantuan" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Basisdata MPD sedang diperbaharui" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Tanpa Suara" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Berikutnya" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Putar/Tahan" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Sebelumnya" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profil-profil" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Acak" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Berulang" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Tampilkan Pesan" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Berhenti" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Kunjungi situs" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Tutup Antarmuka" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Sambung" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kendali" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Putus" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Buka Antarmuka" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Layar Penuh" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Buka" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Bantuan" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Pilihan" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Kirim Kata Sandi" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 -msgid "_Show Artist Image" -msgstr "" - -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Tampilkan" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Pengatur Daftar Musik" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Bernyanyi atau Bergoyang sesukamu" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "server MPD Streaming" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--tingkatan-debug=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versi" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "keluar" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Keluar dari gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "sembunyikan" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Sembunyikan gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "perlihatkan" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Perlihatkan gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "Perlihatkan notifikasi" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Perlihatkan notifikasi trayicon" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Gagal membaca konfigurasi sistem" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Gagal membaca file debug-log" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Gagal mengatur libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "Ijin akses dari GMPC ke mpd sever tidak mencukupi" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,160 +194,37 @@ "Gagal mengubah kata sandi : '%s'\n" "Harap diulang lagi" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Harap masukkan kata sandi untuk: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "kode kesalahan" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Ijin tidak mencukupi untuk menyambungkan diri dengan mpd. Cek kata sandi" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD versi sebelum 0.13.0 tidak didukung" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Terhubung ke mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Terputus dari mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Kesalahan terjadi selama operasi" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Kesalahan berikut ini terjadi:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Pesan Kesalahan" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Tagline" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versi" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revisi" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Versi libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Versi GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Versi libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Platform" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Situs Web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Pilihan difungsikan" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Manajemen sesi X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Difungsikan" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Tidak Berfungsi" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Dukungan NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Kunci Multimedia" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Libegg's trayicon" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "System libsexy" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "library integrasi Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Gunakan ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Pewaktuan debug" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" -"Metadata plugin baru sudah ditambahkan, gmpc sudah menghapus semua kegagalan " -"dari tembolok" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Waktu Total " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "hari" @@ -494,17 +234,12 @@ msgid_plural "hours" msgstr[0] "jam" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "menit" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "detik" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Gagal dieksekusi" @@ -532,11 +267,6 @@ msgid "Hide window" msgstr "Sembunyikan window" -#. * MM_HIDE -#: ../src/mm-keys.c:83 -msgid "Toggle window" -msgstr "" - #. * MM_TOGGLE_HIDDEN #: ../src/mm-keys.c:84 msgid "Volume Up" @@ -552,438 +282,832 @@ msgid "Show song" msgstr "Tampilkan lagu" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "" - -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 -msgid "" -"Could not grab the following multimedia keys:\n" -"\n" -msgstr "" - -#: ../src/mm-keys.c:381 -msgid "" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" - -#: ../src/mm-keys.c:388 -msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." -msgstr "" - -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" - -#: ../src/mm-keys.c:657 -#, c-format -msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Kunci Multimedia" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Tindakan" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Pintasan" #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "mainkan" -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "Tunda" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "berikutnya" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "lagu berikutnya" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "sebelumnya" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "lagu sebelumnya" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "berhenti" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "acak" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "Acak (ya|tidak)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "berulang" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Berulang (ya|tidak)" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "volume" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Volume " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "volume \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Naikkan volume" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "volume -" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Turunkan volume" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "mute" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "tambah" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "Tambah " -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "ganti" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "Ganti " -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Pengaturan Server" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Koneksi" -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "Menghubungkan" +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Difungsikan" -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" -msgstr "Semua dari album" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versi" -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" -msgstr "Semua dari artis" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +" Sri Ariyani https://launchpad.net/~sri-ariyani\n" +"\n" +"Launchpad Contributions:\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +" Sri Ariyani https://launchpad.net/~sri-ariyani\n" +"\n" +"Launchpad Contributions:\n" +" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +" Sri Ariyani https://launchpad.net/~sri-ariyani\n" +"\n" +"Launchpad Contributions:\n" +" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +" Sri Ariyani https://launchpad.net/~sri-ariyani" -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" -msgstr "Semua dari genre" +#~ msgid "_Server" +#~ msgstr "_Server" -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" -msgstr "Semua dari direktori yang sama" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" -#. Create sub menu -#. Add -#: ../src/mpdinteraction.c:1329 -msgid "Add more" -msgstr "Tambah lagi" +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "Tetapkan Rating" +#~ msgid "Sing or Swing you want" +#~ msgstr "Bernyanyi atau Bergoyang sesukamu" -#: ../src/playlist3.c:604 -msgid "MPD database is updating" -msgstr "" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" +#~ msgid "MPD's Streaming server" +#~ msgstr "server MPD Streaming" -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "Terhubung" +#~ msgid "--version" +#~ msgstr "--versi" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "Tidak Terhubung" +#~ msgid "--config=" +#~ msgstr "--config=" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "GMPC" +#~ msgid " Total time: " +#~ msgstr " Waktu Total " -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "Terhubung ke" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "detik" -#: ../src/playlist3.c:807 +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informasi Kutu" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "Tampilkan Gambar Arti_S" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "Perala_Tan" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" +"Metadata plugin baru sudah ditambahkan, gmpc sudah menghapus semua kegagalan " +"dari tembolok" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "Kendali metadata" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Off" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "Tunda" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "mute" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Putar " + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "mencari" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "Menghubungkan" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "Semua dari album" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "Semua dari artis" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "Semua dari genre" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "Semua dari direktori yang sama" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "Tambah lagi" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "Tetapkan Rating" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "Basisdata MPD sedang diperbarui" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "MPD sedang memperbarui basisdatanya" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "MPD telah selesai memperbarui basisdatanya" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "Terhubung" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "Tidak Terhubung" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "Terhubung ke" + +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Putus hubungan" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Ulangi: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "On" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Off" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Acak: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1737 #, c-format -msgid "MPD Database refreshed at: %c" +msgid "Single mode: %s" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "Basisdata MPD disegarkan setelah: %c" + +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "ditambahkan" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "ubah nama host menjadi:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Perbarui Basis Data" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Informasi" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Oleh" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Dari" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Tidak Dimainkan" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Antarmuka" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Informasi" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Peringatan" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritis" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Waktu" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Pesan" -#: ../src/plugin.c:216 +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Satu atau lebih plugin gagal di muat, lihat bantuan->pesan untuk informasi " "lebih lanjut" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Plugin" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Plugin:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nama" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Fungsi" -#: ../src/preferences.c:333 +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Lain-lain" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Tidak Dikenali" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Cari:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Alamat %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Masukkan url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Notifikasi" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Selamat datang di GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Atur koneksi" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -991,32 +1115,77 @@ "Gmpc telah siap digunakan.\n" "Selamat menggunakan gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Selesai" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + #: ../glade/aboutdialog.ui.h:1 msgid "Copyright 2003-2007 Qball Cow" msgstr "Copyright 2003-2007 Qball Cow" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" -msgstr "" -"Launchpad Contributions:\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian\n" -" Sri Ariyani https://launchpad.net/~sri-ariyani\n" -"\n" -"Launchpad Contributions:\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian\n" -" Sri Ariyani https://launchpad.net/~sri-ariyani\n" -"\n" -"Launchpad Contributions:\n" -" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian\n" -" Sri Ariyani https://launchpad.net/~sri-ariyani" - #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" msgstr "" @@ -1027,7 +1196,7 @@ #: ../glade/password-dialog.ui.h:3 msgid "_Save password" -msgstr "" +msgstr "_Simpan Sandi" #: ../glade/preferences-connection.ui.h:1 msgid "Profile:" @@ -1042,32 +1211,36 @@ msgstr "Host:" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nama:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Kata Sandi:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" -msgstr "" +msgstr "G_Unakan otentifikasi" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1124,40 +1297,32 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Sembunyikan ketika ditutup." -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" -msgstr "" +msgstr "Berhenti memutar ketika keluar" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" -msgstr "" +msgstr "Dandani sampul album" #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" @@ -1206,13 +1371,17 @@ msgstr "Posisi" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 -msgid "Timeout:" +msgid "Show severity" msgstr "" +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "Waktu habis:" + #: ../glade/preferences-proxy.ui.h:1 msgid "Proxy settings" msgstr "" @@ -1233,6 +1402,10 @@ msgid "Username:" msgstr "Nama pengguna:" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1243,7 +1416,7 @@ #: ../glade/preferences.ui.h:3 msgid "gmpc - Configuration" -msgstr "" +msgstr "gmpc - Konfigurasi" #: ../glade/playlist-message-window.ui.h:1 msgid "Messages" @@ -1265,81 +1438,88 @@ msgid "name:" msgstr "nama:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "item" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Estimation)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Potong" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Acak" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Menambah URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Perambah Berkas" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Direktori" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1347,7 +1527,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1355,623 +1535,746 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Ganti dengan" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Pembaruan" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Ditambahkan" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "lagu" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" -msgid_plural "directories" -msgstr[0] "direktori" - -#: ../src/browsers/playlist3-file-browser.c:1035 -msgid "playlist" -msgid_plural "playlists" -msgstr[0] "playlist" - -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 -msgid "Are you sure you want to clear the selected playlist?" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "Query" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "Basis Data" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "Playlist" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 -msgid "Search" -msgstr "Cari" - -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "cari basis data" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "Cari basis data " - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "cari playlist" - -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "Cari playlist " - -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Tidak tersedia" - -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Mengambil..." - -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Tampilan" - -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artis" - -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Lagu" - -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Aliran" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Tanggal" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Koleksi" - -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Judul" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Durasi" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Trek" - -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Pengarang" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Direktori" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Ekstensi" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Rating" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitrate" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "n/a" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Format audio" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Lirik" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Lagu dengan judul yang sama" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Lagu yang mirip" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Informasi album" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Album artist" +msgid_plural "directories" +msgstr[0] "direktori" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Track" +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "playlist" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "Query" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "Basis Data" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Playlist" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "Cari" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "kanal" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "Pencarian gagal" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "Tambahkan semua" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "cari basis data" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Cari basis data " -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "cari playlist" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Cari playlist " -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "Editor playlist" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" msgstr "Favorit" -#: ../src/browsers/playlist3-playlist-editor.c:467 +#: ../src/browsers/playlist3-playlist-editor.c:451 msgid "New playlist" msgstr "Playlist baru" -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "Ubah Nama Playlist" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "Ubah Nama" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "Tambahkan ke playlist" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "Informasi Server" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Server" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" -msgstr "" +msgstr "Waktu Permainan" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" -msgstr "" +msgstr "Total Waktu Permainan" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "Jumlah artis" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "Jumlah album" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "Jumlah lagu" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Type tag" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Statistik tag" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Orientasi" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Orientasi dari tray." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artis" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Judul" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Berkas" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Aliran" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Trek" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Pengarang" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Tanggal" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Durasi" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Disk" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Komentar" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Id ikon" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Posisi" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Ekstensi" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Direktori" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Peralatan" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" -msgstr "" +msgstr "Sunting Kolom" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Tambahkan profil" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Buang profil" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Pilih berkas" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Gagal membuka berkas:" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Tidak Tersedia" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Pilih Berkas" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Dokumen Teks" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Semua" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Citra" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "n/a" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Memuat" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Rating:" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Taut" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "artis" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "album" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "Mencari %s di %s" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Lagu yang mirip" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Tidak tersedia" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Lagu" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Album artist" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Rating" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Lirik" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Waktu putar" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informasi album" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informasi artis" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "View" +#~ msgstr "Tampilan" + +#~ msgid "Fetching..." +#~ msgstr "Mengambil..." + +#~ msgid "Collection" +#~ msgstr "Koleksi" + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Audio format" +#~ msgstr "Format audio" + +#~ msgid "Songs with same title" +#~ msgstr "Lagu dengan judul yang sama" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "bits" +#~ msgstr "bits" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "channels" +#~ msgstr "kanal" + +#~ msgid "Tracks" +#~ msgstr "Track" + +#~ msgid "Orientation" +#~ msgstr "Orientasi" + +#~ msgid "The orientation of the tray." +#~ msgstr "Orientasi dari tray." + +#~ msgid "Links" +#~ msgstr "Taut" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Aliran: " + +#~ msgid "Find Artist:" +#~ msgstr "Temukan Artis" + +#~ msgid "Artist info:" +#~ msgstr "Info Artis:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Tanggal: " + +#~ msgid "Similar Artists" +#~ msgstr "Artis Yang Sama" + +#~ msgid "Albums" +#~ msgstr "Album" + +#~ msgid "Album info:" +#~ msgstr "Info album:" + +#~ msgid "Show Current Song" +#~ msgstr "Tampilkan Lagu Sekarang" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/it.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/it.po --- gmpc-0.18.0/po/it.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/it.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,157 @@ msgstr "" "Project-Id-Version: gmpc 0.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-17 13:00+0000\n" -"Last-Translator: Nikopol \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-08-04 21:28+0000\n" +"Last-Translator: Andrea Carratta \n" "Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=iso-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Un'interfaccia per gnome del demone mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Ottenere aiuto" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Database MPD in aggiornamento." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Muto" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Successivo" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Play/Pausa" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Precedente" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profili" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Casuale" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Ripeti" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Mostra messaggi" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stop" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Visita il sito" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Restringi interfaccia" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Connetti" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Controllo" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Disconnetti" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Espandi interfaccia" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Schermo intero" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Vai" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Aiuto" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musica" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opzione" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Invia password" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Mostra immagine artista" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Visualizza" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Gestore playlist" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/percorso/per/nome_file.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Sing or swing you want" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Server per lo streaming di MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-updates" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Fallito di caricare le configurazioni di sistema" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Caricamento fallito del file debug-log" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Configurazione fallita di libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC non ha permessi sufficienti sul server mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,157 +166,36 @@ "Fallita impostazione della password su: '%s'\n" "Per favore ritenta" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Per favore inserisci la tua password per: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "Codice d'errore" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Permessi insufficienti per connettere a mpd. Verificare password" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Le versioni precedenti di MPD 0.13.0 non sono supportate" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Connesso a mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Disconnesso da mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Si verificato un errore durante l'operazione" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Si sono verificati i seguenti errori:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Messaggio d'errore" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versione" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revisione" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Sito web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Abilitato" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Disabilitato" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Tasti multimediali" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Tempo totale: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "giorno" @@ -493,19 +207,13 @@ msgstr[0] "ora" msgstr[1] "ore" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minuti" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Esecuzione fallita" @@ -558,12 +266,7 @@ msgid "Toggle Mute" msgstr "Attiva/disattiva muto" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -571,7 +274,7 @@ "Impossibile acquisire i seguenti tasti multimediali:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -581,7 +284,7 @@ "Assicurati che il tuo window manager (o altre applicazioni) non abbiano gi " "associato questo tasto a qualche altra funzione, quindi riavvia gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -594,15 +297,11 @@ "multimediali. Per favore ricontrolla le preferenze e assicurati che adesso " "le tue impostazioni siano corrette." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Tasti multimediali" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -619,371 +318,262 @@ "Assicurati che il tuo window manager (o altre applicazioni) non abbiano gi " "associato questo tasto a qualche altra funzione, quindi riavia gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Azione" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Scorciatoia" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Spento" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Impostazioni del server" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Connessione" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "In connessione" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Tutto dall'album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Tutto dell'artista" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Tutto del genere" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Tutto dalla stessa cartella" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Aggiungi altro" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Database MPD in aggiornamento" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD sta aggiornando il suo database" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD ha finito di aggiornare il suo database" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Connesso" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Non Connesso" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Connesso a" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Disconnesso" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Ripeti: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Acceso" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Spento" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Casuale: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Database MPD aggiornato al: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD ha riscontrato il seguente errore" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profilo" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "aggiunto" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Hostname cambiato in:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Aggiorna il database" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Di" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Da" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Non in riproduzione" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interfaccia" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Avvertenza" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Critico" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Tempo" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Messaggio" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Fallito di caricare uno o pi plugin, vedi aiuto->messaggi per ulteriori " "informazioni" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Plugin" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Plugins:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Abilitato" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nome" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funzione" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versione" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Fittizio" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Estensione per il browser" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Fornitore di metadati" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Fornitore di metadati e estensione per il browser" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Vari" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Sconosciuto" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Trova:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Aggiunto %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "flusso" msgstr[1] "flussi" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Aggiunto 1 flusso" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Inserisci un url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Pla_ylist" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Notifica" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -991,18 +581,18 @@ " la prima volta che apri gmpc.\n" "Questo assistente ti aiuter a connettere gmpc al tuo demone mpd." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Benvenuto su GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Impostazione connessione" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1010,7 +600,7 @@ "Gmpc ora pronto all'uso.\n" "Divertiti ad usare gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Fatto" @@ -1082,6 +672,16 @@ " Corrado Gizzi https://launchpad.net/~corradogizzi\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" " Simona Diatto https://launchpad.net/~simona-diatto\n" +" Simone Oberti https://launchpad.net/~simone-obo\n" +"\n" +"Launchpad Contributions:\n" +" Andrea Carratta https://launchpad.net/~innoland\n" +" Ardaking https://launchpad.net/~ardaking\n" +" Corrado Gizzi https://launchpad.net/~corradogizzi\n" +" Elfo404 https://launchpad.net/~elfo\n" +" Nikopol https://launchpad.net/~aegnor-isilra\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Simona D. https://launchpad.net/~simona-diatto\n" " Simone Oberti https://launchpad.net/~simone-obo" #: ../glade/password-dialog.ui.h:1 @@ -1108,33 +708,33 @@ msgid "Host:" msgstr "Host:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nome:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Password:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Porta:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Timeout (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "Connessione _automatica" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Usa autenticazione" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1191,41 +791,25 @@ msgstr "Playlist:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Marcatura canzone:" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centra la canzone in riproduzione" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Modifica _browser della marcatura" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Nascondi alla chiusura" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Salva posizione e dimensione tra le sessioni" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Mostra pulsanti invece del menu a discesa" -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Ferma la riproduzione all'uscita" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "" - #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" msgstr "Plugins caricati:" @@ -1274,18 +858,14 @@ msgid "Position:" msgstr "Posizione:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Mostra la gravit" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Timeout:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "Proxy HTTP:" @@ -1294,14 +874,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Usa un proxy per la connessione a internet" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1334,61 +906,35 @@ msgid "name:" msgstr "Nome:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "oggetto" msgstr[1] "oggetti" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Stima)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Coda di riproduzione" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Sei sicuro di voler ripulire la playlist?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Taglia" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Mischia" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Aggiungi URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1397,29 +943,26 @@ "La playlist\"%s\" esiste gi\n" "Sovrascrivere?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Salvataggio playlist fallito" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Coda di riproduzione" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Browser dei files" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Cartelle" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Aggiunta la cartella '%s' ricorsivamente" @@ -1427,881 +970,1383 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Rimpiazza" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Aggiorna" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Playlist caricata" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Aggiunto" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "canzone" msgstr[1] "canzoni" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "cartella" msgstr[1] "cartelle" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "playlist" msgstr[1] "playlists" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Sei sicuro di voler ripulire la playlist selezionata?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Query" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Cerca" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Editor della playlist" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nuova playlist" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Rinomina la playlist" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Rinomina" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Non disponibile" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Aggiungi alla playlist" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Recupero..." +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Browser delle etichette" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Visualizza" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Resetta il browser" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Contrassegno" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Artista" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Canzoni" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Tempo di riproduzione" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titolo" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "File" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Genere" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Data" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Traccia" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Collezione" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Compositore" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titolo" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Esecutore" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Data" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Durata" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disco" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Traccia" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Commento" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Compositore" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Id dell'icona" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Esecutore" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Posizione" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Cartella" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "Extension" msgstr "Estensione" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Cartella" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitrate" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Strumenti" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Incolla prima" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Incolla dopo" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Testi" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Modifica colonne" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Canzoni con lo stesso titolo" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Aggiunto profilo" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Canzoni simili" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Rimosso profilo" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Riottieni" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Solo il primo %i risultato visualizzato, prego ridefinisci la tua ricerca" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Seleziona file" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Trova artista:" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Fallita apertura file:" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Genere: " -msgstr[1] "Generi: " +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "a causa di questioni di codifica" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Data: " -msgstr[1] "Date: " +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Recupero le info dell'artista" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Info artista:" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Recupero le info dell'album" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Informazioni artista" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Non disponibile" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Album" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Seleziona file" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Artisti simili" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Documento di testo" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Info album:" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Tutto" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Informazioni album" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Immagini" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Caricamento" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Canzoni simili" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Non disponibile" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Browser dei metadati" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Canzoni" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Testi" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Tempo di riproduzione" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informazioni album" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informazioni artista" + +#~ msgid "Song Markup" +#~ msgstr "Marcatura canzone:" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Modifica _browser della marcatura" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/percorso/per/nome_file.mp3" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Sing or swing you want" + +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Server per lo streaming di MPD" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid " Total time: " +#~ msgstr " Tempo totale: " + +#~ msgid "View" +#~ msgstr "Visualizza" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "Find Artist:" +#~ msgstr "Trova artista:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Genere: " +#~ msgstr[1] "Generi: " + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Data: " +#~ msgstr[1] "Date: " + +#~ msgid "Artist info:" +#~ msgstr "Info artista:" + +#~ msgid "Album info:" +#~ msgstr "Info album:" + +#~ msgid "Show Current Song" +#~ msgstr "Mostra la canzone corrente" + +#~ msgid "Similar Artists" +#~ msgstr "Artisti simili" + +#~ msgid "Songs with same title" +#~ msgstr "Canzoni con lo stesso titolo" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Solo il primo %i risultato visualizzato, prego ridefinisci la tua ricerca" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "Collection" +#~ msgstr "Collezione" + +#~ msgid "Fetching..." +#~ msgstr "Recupero..." + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Links" +#~ msgstr "Collegamenti" + +#~ msgid "Tracks" +#~ msgstr "Tracce" + +#~ msgid "Albums" +#~ msgstr "Album" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informazione Bug" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "S_trumenti" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Mostra versione programma e revisione" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Non caricare i plugin" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Carica il file di configurazione alternaivo" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Esegui gmpc nascosto nella tray bar" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Mostra informazioni bug in una finestra" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "esci" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Esci da gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "nascondi" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Nascondi gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "mostra" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Mostra gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "mostra notifiche" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Mostra notifiche dalla trayicon" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Un errore si presentato durante l'operazione" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "abilita" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "disabilita" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Ripeti la canzone corrente: Non hai i permessi sufficienti" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "La canzone corrente sar ripetuta all'infinito" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Update database: Non hai i permessi sufficienti" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "play" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pause" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "successivo" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "canzone successiva" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "precedente" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "canzone precedente" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "stop" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "casuale" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Casuale (on|off)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "ripeti" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Ripeti (on|off)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "volume" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volume (+-)" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "muto" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Tracce" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Browser dei metadati" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Mostra la canzone corrente" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Editor della playlist" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nuova playlist" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Rinomina la playlist" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Rinomina" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Aggiungi alla playlist" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Browser delle etichette" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Resetta il browser" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "Ricerca fallita" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "Cerca playlist" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Cerca playlist " + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favoriti" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Aggiungi la canzone corrente nella lista dei preferiti" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Aggiungi la canzone corrente nella lista dei preferiti" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" -msgstr "" +msgstr "Numero di artisti" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" -msgstr "" +msgstr "Numero di albums" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Contrassegno" - -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "File" - -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disco" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Commento" - -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Id dell'icona" - -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Posizione" - -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" -msgstr "Strumenti" - -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Incolla prima" - -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Incolla dopo" - -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Modifica colonne" - -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Aggiunto profilo" - -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Rimosso profilo" - -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Riottieni" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Seleziona file" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Fallita apertura file:" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "a causa di questioni di codifica" - -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Recupero il testo" - -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Recupero le info dell'artista" - -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Recupero le info dell'album" - -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Non disponibile" - -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Seleziona file" - -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Documento di testo" - -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Tutto" - -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Immagini" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Caricamento" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "Non disonibile" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Collegamenti" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" +msgstr "Aggiorna lista da Internet" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "Si verificato un errore" - -#~ msgid "Name:" -#~ msgstr "Nome:" - -#~ msgid "Sort by:" -#~ msgstr "Ordina per:" - -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "I browser di etichetta configurati saranno visibili " -#~ "solo con una versione di mpd pari o superiore alla 0.12." - -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "All'icona nell'area di notifica\n" -#~ "Angolo sinistro in alto\n" -#~ "Angolo destro in alto\n" -#~ "Angolo sinistro in basso\n" -#~ "Angolo destro in basso" - -#~ msgid "Error Dialog" -#~ msgstr "Dialogo di errore" - -#~ msgid "Error msg" -#~ msgstr "Messaggio di errore" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Nessuno\n" -#~ "Artista\n" -#~ "Album\n" -#~ "Titolo\n" -#~ "Traccia\n" -#~ "Nome\n" -#~ "Genere\n" -#~ "Data\n" -#~ "Compositore\n" -#~ "Esecutore\n" -#~ "Commento\n" -#~ "Disco" - -#~ msgid "_Reconnect" -#~ msgstr "_Riconnetti" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "Informazione e oltre\n" -#~ "Avvertenza e oltre\n" -#~ "Errore\n" -#~ "Nessuno" - -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Music Player Client\n" - -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Tentativo di eseguire gmpc con un'errata versione di libmpd." - -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "Gmp attualmente connesso ad una versione di mpd inferiore alla 0.12.0.\n" -#~ "Potrebbe funzionare, ma non pi supportata." - -#~ msgid "Connected to mpd" -#~ msgstr "Connesso a mpd" - -#~ msgid "" -#~ "A new metadata plugin was added, gmpc will now purge all missing metadata " -#~ "from the cache" -#~ msgstr "" -#~ "Un nuovo plugin per i metadati stato aggiunto, gmpc rilascer dalla cache " -#~ "tutti i metadati mancanti" - -#~ msgid "Plugins" -#~ msgstr "Plugins" - -#~ msgid "Plugins:" -#~ msgstr "Plugins:" - -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Fallito contatto con l'url: '%s'" - -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Fallita analisi del collegamento della playlist" - -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" - -#~ msgid "And" -#~ msgstr "E" - -#~ msgid "Or" -#~ msgstr "O" - -#~ msgid "Search in current _play queue" -#~ msgstr "Cerca nella coda di _riproduzione corrente" - -#~ msgid "Artist:" -#~ msgstr "Artista:" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "Canzoni:" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "Genre:" -#~ msgstr "Genere:" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "Date:" -#~ msgstr "Data:" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Collection" -#~ msgstr "Collezione" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "Album:" -#~ msgstr "Album:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "Track:" -#~ msgstr "Traccia:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Ottieni una lista dei comandi disponibili" -#~ msgid "Composer:" -#~ msgstr "Compositore:" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Performer:" -#~ msgstr "Esecutore:" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "Dirname:" -#~ msgstr "Nome Cartella:" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Extension:" -#~ msgstr "Estensione:" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#~ msgid "Lyric:" -#~ msgstr "Testo:" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Links" -#~ msgstr "Collegamenti" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "Artist info:" -#~ msgstr "Info artista:" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Testo" -#~ msgid "Albums:" -#~ msgstr "Album:" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "Similar Artists:" -#~ msgstr "Artisti simili:" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "Album info:" -#~ msgstr "Info album:" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "Canzoni:" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Testi Canzone" -#~ msgid "Tracks:" -#~ msgstr "Tracce:" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Informazioni sull'album" -#~ msgid "Directory:" -#~ msgstr "Cartella:" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Biografia dell'artista" -#~ msgid "New accelerator..." -#~ msgstr "Nuovo acceleratore..." +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Accelerator key" -#~ msgstr "Tasto acceleratore" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "Accelerator modifiers" -#~ msgstr "Modificatori acceleratore" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Accelerator keycode" -#~ msgstr "Codicetasto acceleratore" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Accel Mode" -#~ msgstr "Modalit Accel" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "The type of accelerator." -#~ msgstr "Il tipo di acceleratore." +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Center opened folder" -#~ msgstr "Centra la cartella aperta" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "In ascolto" -#~ msgid "_Edit Playlist Markup" -#~ msgstr "_Modifica marcatura playlist" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "gmpc" -#~ msgstr "gmpc" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "Cerca canzoni con un titolo simile" -#~ msgid "Not Playing" -#~ msgstr "Non in riproduzione" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "MPD Server" -#~ msgstr "Server MPD" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "MPD Version" -#~ msgstr "Versione MPD" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "N/A" -#~ msgstr "N/D" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Favorito" -#~ msgid "Metadata" -#~ msgstr "Metadati" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Current Playlist" -#~ msgstr "Playlist corrente" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "Add to Queue" -#~ msgstr "Aggiungi alla coda" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "Database Search" -#~ msgstr "Ricerca database" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Playlist Search" -#~ msgstr "Ricerca playlist" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "Artisti simili" -#~ msgid "+" -#~ msgstr "+" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "-" -#~ msgstr "-" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "Artisti simili" -#~ msgid "Requested" -#~ msgstr "Richiesto" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "Canzoni simili" -#~ msgid "Processing" -#~ msgstr "In elaborazione" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "Links" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/jv.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/jv.po --- gmpc-0.18.0/po/jv.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/jv.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,479 +7,339 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-18 06:08+0000\n" -"Last-Translator: Arief Setiadi Wibowo \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:59+0000\n" +"Last-Translator: Qball Cow \n" "Language-Team: Javanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 0;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../data/gmpc.desktop.in.h:1 -msgid "A gnome frontend for the mpd daemon" -msgstr "" - -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Musik Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 -msgid "Getting help" -msgstr "Golek pitulungan" - -#: ../glade/playlist3.glade.h:2 -msgid "MPD database is updating." -msgstr "" - -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Meneng" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Terus" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Mulai/Nyegat" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Terusane" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profil" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Acak" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +"\n" +"Launchpad Contributions:\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +"\n" +"Launchpad Contributions:\n" +" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian\n" +"\n" +"Launchpad Contributions:\n" +" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Rahman Yusri Aftian https://launchpad.net/~aftian" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "Golek pitulungan" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Munculke pesen" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Mandeg" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "kirim _Sandi" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "" -#: ../glade/playlist3.glade.h:26 -msgid "_View" -msgstr "" - -#: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" -msgstr "" - -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" +#: ../glade/playlist3.glade.h:31 +msgid "_View" msgstr "" -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versi" +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "metu" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Metu gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "delikke" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Delikke gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "munculke" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Munculke gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "" @@ -491,19 +351,13 @@ msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -561,20 +415,20 @@ msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +436,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +448,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,411 +459,686 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:321 +msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:325 +msgid "output" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1737 #, c-format -msgid "Random: %s" +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 -msgid "Info" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/playlist3-messages.c:36 -msgid "Warning" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#: ../src/playlist3-messages.c:37 -msgid "Critical" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#: ../src/playlist3-messages.c:228 -msgid "Time" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" msgstr "" -"Launchpad Contributions:\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian\n" -"\n" -"Launchpad Contributions:\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian\n" -"\n" -"Launchpad Contributions:\n" -" Arief Setiadi Wibowo https://launchpad.net/~q-thrynx\n" -" Rahman Yusri Aftian https://launchpad.net/~aftian" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1032,32 +1165,36 @@ msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1114,38 +1251,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1196,10 +1325,14 @@ msgstr "" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1223,6 +1356,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1253,82 +1390,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1336,7 +1480,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1344,626 +1488,672 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" msgstr "" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "--version" +#~ msgstr "--versi" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/lv.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/lv.po --- gmpc-0.18.0/po/lv.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/lv.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,479 +7,342 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 16:05+0000\n" -"Last-Translator: Kristaps \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-14 08:45+0000\n" +"Last-Translator: Edgars \n" "Language-Team: Latvian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../data/gmpc.desktop.in.h:1 -msgid "A gnome frontend for the mpd daemon" -msgstr "" - -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 -msgid "Gnome Music Player Client" -msgstr "" - -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Palīdzības saņemšana" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD datubāze atjaunojas." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Apklusināt" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Nākamais" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Atskaņot/pauzēt" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Iepriekšējais" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profili" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Nejaušs" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Atkārtot" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Parādīt Ziņojumus" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Pārtraukt" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Apmeklēt mājaslapu" -#: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:14 -msgid "_Connect" -msgstr "" - -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kontrole" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Atvienot" -#: ../glade/playlist3.glade.h:17 -msgid "_Expand Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Pa visu ekrānu" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Iet" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Palīdzība" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Mūzika" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Iespējas" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Sūtīt Paroli" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Serveris" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Parādīt Izpildītāja Attēlu" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Skats" -#: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Kristaps https://launchpad.net/~retail\n" +"\n" +"Launchpad Contributions:\n" +" Kristaps https://launchpad.net/~retail\n" +"\n" +"Launchpad Contributions:\n" +" Kristaps https://launchpad.net/~retail\n" +"\n" +"Launchpad Contributions:\n" +" Kristaps https://launchpad.net/~retail\n" +"\n" +"Launchpad Contributions:\n" +" Kristaps https://launchpad.net/~retail" + +#~ msgid "_Server" +#~ msgstr "_Serveris" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" msgstr "" -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" msgstr "" -#: ../src/edit_markup.c:43 -msgid "01/24" +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" msgstr "" -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "" @@ -491,19 +354,13 @@ msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -561,20 +418,20 @@ msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +439,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +451,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,413 +462,686 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:321 +msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1737 #, c-format -msgid "Random: %s" +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 -msgid "" -"One or more plugins failed to load, see help->messages for more information" +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" +#: ../src/plugin.c:60 +msgid "plugin has no name" msgstr "" -#: ../src/preferences.c:155 -msgid "Plugins:" +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 -msgid "Name" +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" msgstr "" -#: ../src/preferences.c:312 -msgid "Function" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" msgstr "" -#: ../src/preferences.c:333 -msgid "Dummy" +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" msgstr "" #: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" msgstr "" -"Launchpad Contributions:\n" -" Kristaps https://launchpad.net/~retail\n" -"\n" -"Launchpad Contributions:\n" -" Kristaps https://launchpad.net/~retail\n" -"\n" -"Launchpad Contributions:\n" -" Kristaps https://launchpad.net/~retail\n" -"\n" -"Launchpad Contributions:\n" -" Kristaps https://launchpad.net/~retail" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1034,32 +1168,36 @@ msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1116,38 +1254,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1198,10 +1328,14 @@ msgstr "" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1225,6 +1359,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1255,82 +1393,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1338,7 +1483,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1346,626 +1491,657 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/Makefile.in.in /tmp/zoMIw2cTYT/gmpc-0.19.0/po/Makefile.in.in --- gmpc-0.18.0/po/Makefile.in.in 2009-01-01 10:38:29.000000000 +0000 +++ gmpc-0.19.0/po/Makefile.in.in 2009-09-21 11:15:59.000000000 +0100 @@ -21,7 +21,7 @@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ -SHELL = /bin/sh +SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ @@ -56,7 +56,7 @@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) -USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep ^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep ^$$lang$$`"; then printf "$$lang "; fi; done; fi) +USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep '^$$lang$$' $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep '^$$lang$$'`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ml.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ml.po --- gmpc-0.18.0/po/ml.po 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/po/ml.po 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2139 @@ +# Malayalam translation for gmpc +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the gmpc package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gmpc\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:59+0000\n" +"Last-Translator: Qball Cow \n" +"Language-Team: Malayalam \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "നിശബ്ദമാക്കുക" + +#. * MM_PLAYPAUSE +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 +msgid "Next" +msgstr "അടുത്തത്" + +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "പ്രവര്‍ത്തിപ്പിക്കുക/താല്‍കാലികമായി നിര്‍ത്തുക" + +#. * MM_NEXT +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 +msgid "Previous" +msgstr "മുന്‍പത്തേത്" + +#: ../glade/playlist3.glade.h:10 +msgid "Profiles" +msgstr "പ്രൊഫൈലുകള്‍" + +#. * MM_REPEAT +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 +msgid "Random" +msgstr "ക്രമമല്ലാതെ" + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "ആവര്‍ത്തിക്കുക" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "സന്ദേശങ്ങള്‍ കാണിക്കുക" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "നിര്‍ത്തുക" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "വെബ്‌സൈറ്റ് സന്ദര്‍ശിക്കുക" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" +msgstr "" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "_നിയന്ത്രണം" + +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "_വിഛേദിക്കുക" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "_പോകുക" + +#: ../glade/playlist3.glade.h:25 +msgid "_Help" +msgstr "_സഹായം" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "" + +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "‌_ഐച്ഛീകം" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "_രഹസ്യവാക്ക് അയക്കുക" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "_ഗായകന്റെ ചിത്രം കാണിക്കുക" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_ഉപകരണങ്ങള്‍" + +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "_കാഴ്ച" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "" + +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "പ്രോക്സി" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1094 +#, c-format +msgid "Please enter your password for: '%s'" +msgstr "" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" + +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" + +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "" + +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "" + +#: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Junaid https://launchpad.net/~junaidpv\n" +"\n" +"Launchpad Contributions:\n" +" Junaid https://launchpad.net/~junaidpv\n" +" Qball Cow https://launchpad.net/~qball-qballcow" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 +#, c-format +msgid "" +"Playlist \"%s\" already exists\n" +"Overwrite?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "_Server" +#~ msgstr "_സെര്‍വര്‍" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ms.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ms.po --- gmpc-0.18.0/po/ms.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/ms.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,339 +7,189 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 18:33+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 15:59+0000\n" "Last-Translator: Qball Cow \n" "Language-Team: Malay \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Frontend gnome untuk daemon mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Klien Pemain Musik Gnome" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Mendapatkan bantuan" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Database MPD sedang dikemaskini." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Senyapkan" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Seterusnya" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Main/Berhenti untuk Sejenak" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Sebelumnya" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profil" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Rambang" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Ulang balik" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Tunjukkan Mesej" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Berhenti" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Lawati laman web" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Collapse Interface" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Sambung" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kawalan" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Putus" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Besarkan Interface" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Skrinpenuh" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Pergi" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Bantuan" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muzik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opsyen" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Hantar Kata Laluan" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Tunjuk Imej Artis" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Lihat" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Pengurus Senarai Main" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Nanyi atau Ayunan yang anda hendak" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "Jazz kernel" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "server aliran MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-updates" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Klien Pemain Muzik Gnome\n" -"Opsyen:\n" -"\t--start-hidden\t\tMula secara tersembunyi\n" -"\t--help\t\t\tMesej membantu ini.\n" -"\t--debug-level=\tJadikan gmpc paparkan informasi debug.\n" -"\t\t\t\tTingkat:\n" -"\t\t\t\t\t0 Tiada Output\n" -"\t\t\t\t\t1 Mesej Kesalahan\n" -"\t\t\t\t\t2 Mesej Kesalahan + Amaran\n" -"\t\t\t\t\t3 Semua Mesej\n" -"\t--version\t\tPaparkan versi dan revisi git\n" -"\t--config=\t\tTetapkan laluan fail config, asal ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tBersihkan fail cover.\n" -"\t--disable-plugins\tJangan muat apa-apa plugins.\n" -"\t--replace\t\tGantikan sesi yang sedang dijalankan dengan yang ini\n" -"\t--quit\t\t\tHentikan sesi gmpc yang sedang berjalan. Hanya befungsi jika " -"multiple-instances ditidak bolehkan.\n" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "hentikan" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Hentikan gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "sembunyikan" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Sembunyikan gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "tunjukkan" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Tunjukkan gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "tunjukkan notifikasi" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Tunjukkan notifikasi bagi ikon dulang" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Gagal memuat sistem konfigurasi." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Gagal memuat fail debug-log." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Gagal memasang libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC tidak mempunyai kebenaran mencukupi pada pelayan mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -348,144 +198,37 @@ "Gagal menetapkan kata laluan pada: '%s'\n" "Sila cuba semula" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Sila masukkan kata laluan anda untuk: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "kod kesalahan" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "kebenaran tidak mencukupi untuk menyambung ke mpd. Periksa kata laluan" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Versi MPD sebelum 0.13.0 tidak disokong" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Disambungkan ke mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Sambungan ke mpd dibatalkan" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Kesalahan muncul ketika operasi" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Kesalahan berikut telah jadi:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Mesej Kesalahan" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Garisan Label" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versi" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Semakan" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Versi libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Versi GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Versi libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Platform" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Tetingkap" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Laman web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Opsyen dibolehkan" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Pengurusan sesi X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Dibolehkan" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Tidak dibolehkan" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Penyokongan NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Kunci-kunci Multimedia" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Dulang ikon libegg" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "sistem libsexy" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "librari penggabungan Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "guna ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Masa debug" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Mod Pemelihara" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -493,15 +236,11 @@ "Plugin metadata baru telah ditambah, gmpc telah keluarkan semua gagalan yang " "berkenaan daripada memori" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Pengurus Metadata" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Masa keseluruhan: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "hari" @@ -513,19 +252,13 @@ msgstr[0] "jam" msgstr[1] "jam" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minit" msgstr[1] "minit" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "saat" -msgstr[1] "saat" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Gagal menjalankan" @@ -583,7 +316,7 @@ msgid "Show easy command entry" msgstr "Tunjukkan entri arahan senang" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -591,7 +324,7 @@ "Tidak dapat mengambil kunci-kunci multimedia berikut:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -601,7 +334,7 @@ "Pastikan pengurus window anda (atau aplikasi lain) belum mengguna kunci ini " "untuk fungsi lain, selepasa itu mulakan balik gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -614,7 +347,11 @@ "Sila melawat balik ke tetapan dan memastikan tetapan anda sekarang adalah " "betul." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Kunci-kunci Multimedia" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -625,7 +362,7 @@ "\n" "%s sudah dipeta kepada %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -642,196 +379,181 @@ "Pastikan pengurus window anda (atau aplikasi lain) belum mengguna kunci ini " "untuk fungsi lain, selepasa itu mulakan balik gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Tindakan" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Jalan pintas" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Padam" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "main" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "mulakan main balik" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "berhenti untuk sejenak" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "hentikan main balik untuk sejenak" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "seterusnya" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "lagu seterusnya" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "sebelum ini" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "sebelum lagu ini" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "henti" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "hentikan main balik" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "rambang" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "rambang (buka|tutup)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "semula" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Semula (buka|tutup)" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "kekuatan bunyi" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Bunyi " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "bunyi \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Naikkan kekuatan bunyi" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "bunyi -" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Kurangkan kekuatan bunyi" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "senyapkans" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "Main " -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "tambah" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "Tambah " -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "gantikan" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "Gantikan " -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Tetapan Pelayan" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Sambungan" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Disambungkan" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Semua dari album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Semua dari artis" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Semua dari aliran" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Semuar dari direktori sama" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Tambah lebih" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Tetapkan Pangkat" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "database MPD sedang dikemaskini" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD sedang mengemaskini database ia" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD sudah habis mengemaskini database ia" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Tersambung" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Tidak disambung" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Disambungkan ke" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Diputuskan" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" @@ -839,176 +561,184 @@ "Gagal membuka fail deskripsi interface!\n" "Sila pasang balik gmpc\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Ulangi: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Buka" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Padam" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Rambang: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Database MPD diperbaharui pada: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD melaporkan kesalahan berikut" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "telah ditambah" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "telah menukarkan nama hos kepada:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Kemaskini Database" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Informasi" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Oleh" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Daripada" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Tidak Memainkan" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interface" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Amaran" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritikal" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Masa" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Mesej" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Satu atau lebih plugin telah gagal dimuat, lihat help->messages untuk " "maklumat lanjut." -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Plugin" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Plugin:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Dibolehkan" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nama" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Fungsi" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versi" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Patung" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Tambahan bagi Pelayar Web" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Pembekal Metadata" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Pembekal Metadata dan Tambahan bagi Pelayar Web" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Lain-lain." -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Tidak Diketahui" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Cari:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Telah Menambah %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "aliran" msgstr[1] "aliran" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Telah menambahkan satu aliran" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Masukkan satu url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Pla_ylist" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Pemberitahuan" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1016,18 +746,18 @@ "Ini kali pertama anda melancarkan gmpc.\n" "Pembantu ini akan menolong anda menyambung gmpc daemon mpd anda." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Selamat Datang ke GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Sediakan sambungan" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1035,7 +765,7 @@ "Gmpc sudah sedia untuk digunakan.\n" "Nikmati mengguna gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Tamat" @@ -1051,6 +781,10 @@ "\n" "Launchpad Contributions:\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" +" myromance123 https://launchpad.net/~linkinpark-neon\n" +"\n" +"Launchpad Contributions:\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" " myromance123 https://launchpad.net/~linkinpark-neon" #: ../glade/password-dialog.ui.h:1 @@ -1077,33 +811,33 @@ msgid "Host:" msgstr "Hos:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nama:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Kata Laluan:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Diluar Masa (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Sambung secara automatik" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Guna Pengesahan" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "hos setempat" @@ -1160,38 +894,30 @@ msgstr "Senarai Memain:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Markup Lagu" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Pusat main lagu" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Edit _Pelayar Web Markup" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Sembunyikan apabila ditutup" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Simpan posisi dan saiz diantara sesi" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Tunjukkan butang daripada menu didalam paparan roboh" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "Tunjukkan tip peralatan senarai lagu" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Berhenti bermain apabila keluar" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Gayakan permukaan album" @@ -1243,11 +969,11 @@ msgid "Position:" msgstr "Posisi:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Tunjukkan keterukan" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Hadmasa tamat:" @@ -1303,61 +1029,55 @@ msgid "name:" msgstr "nama:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "barang" msgstr[1] "barang" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Jangkaan)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "tukar barisan main" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "Tukarkan kepada barisan main" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "Jernihkan barisan main" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Baris Gilir Main" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Adakah anda pasti ingin menjernihkan senarai main?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "mpd anda mempunyai 'addid' yang rosak, menampal akan gagal." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Potong" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Mengocok" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Tambah URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1366,33 +1086,26 @@ "Senarai main \"%s\" sudah wujud\n" "Gantikan ia?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Gagal menyimpan fail senarai main." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Baris Gilir Main" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Pelayar Fail" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Direktori" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" -"Nampaknya anda tidak mempunyai muzik didalam database anda.\n" -"Untuk menambah muzik, salin muzik ke music_directory anda seperti " -"ditentukan didalam fail config mpd anda..\n" -"Selepas itu kemaskini database anda. (Server->Update Database)" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Telah menambahkan folder '%s' secara mengulang" @@ -1400,627 +1113,1278 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Gantikan" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Kemaskini" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Senarai main telah dimuat" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Ditambah" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "lagu" msgstr[1] "lagu" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "direktori" msgstr[1] "direktori" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "senarai main" msgstr[1] "senarai main" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Adakah anda pasti ingin menjernihkan senarai main yang dipilih?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Pertanyaan" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Database" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Senarai main" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Carian" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Carian gagal" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Tambah semua" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "tukarkan carian" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "Tukar kepada pelayar carian" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "geladah database" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "Geladah database " -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "geladah senarai main" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "Geladah senarai main " -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "Pelayar Carian" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Tiada" - -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Mendapat..." - -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Lihat" - -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artis" - -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Lagu" - -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Masa Main" - -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Genre" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Tarikh" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Koleksi" - -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Tajuk" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Jangka masa" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Track" - -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Penggubah" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Pelaku" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Direktori" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Tokokan" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Nilaian" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Kadar bit" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "Tiada" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Format audio" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Lirik" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Lagu dengan tajuk sama" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Lagu serupa" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Carian yang tidak sah" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Hanya hasil %i pertama ditunjukkan, sila meneliti carian pertanyaan anda" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Cari Artis:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Genre: " -msgstr[1] "Genre: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Tarikh: " -msgstr[1] "Tarikh: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Info Artis:" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Informasi mengenai Artis" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Artis serupa" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Info Album:" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Informasi mengenai Album" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Artis album" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Tracks" - -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Pelayar Metadata" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Tunjukkan Lagu Sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/saat" - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bit" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "saluran" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "tukarkan pelayar metadata" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "Tukar kepada pelayar metadata" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "tunjukkan lagu sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Tunjukkan informasi bagi lagu sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "tunjukkan arits sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Tunjukkan informasi mengenai artis sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "tunjukkan album sekarang" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Tunjukkan informasi mengenai album sekarang" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "Pengedit Senarai Main" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" msgstr "Kegemaran" -#: ../src/browsers/playlist3-playlist-editor.c:467 +#: ../src/browsers/playlist3-playlist-editor.c:451 msgid "New playlist" msgstr "Senarai main Baru" -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "Namakan kembali Senarai-main" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "Namakan semula" #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "Tambahkan kepada senarai main" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "Telah menambahkan lagu yang sedang bermain kepada senarai kegemaran." #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "Tambah lagu sekarang kepada kegemaran" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "Pelayar berdasarkan label" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "Mulakan balik pelayar" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "Maklumat Pelayan" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Pelayan" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "Masa berjalan" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "Masa Bermain" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "Masa Bermain Seluruhan" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "Bilangan artis" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "Bilangan album" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "Bilangan lagu" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "Pengurus URL" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "Jenis Label" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "Statistik label" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Orientasi" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Orientasi bagi dulang." - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "Tandakan" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artis" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" + #: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Tajuk" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" msgstr "Fail" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Genre" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Track" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Penggubah" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Pelaku" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Tarikh" + #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Jangka masa" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Cakera" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Komen" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Id Ikon" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Posisi" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "AlbumArtis" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Tokokan" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Direktori" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Peralatan" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Tampal sebelum" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Tampal selepas" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Edit Ruangan" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Telah menambahkan profil" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Telah membuang profil" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Mengambil semula" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Pilih fail" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "Gagal membuka fail:" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "disebabkan isu encoding" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Mendapatkan Lirik" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Mendapatkan Info Artis" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Mendapatkan Info Album" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Tidak Ada" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Pilih Fail" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Dokumen Teks" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Semua" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Imej" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "Tiada" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "Memuat" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Penilaian:" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "Kemaskini fail daripada internet" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Link" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "artis" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "album" - -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "Periksa %s pada %s" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Lagu serupa" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Tiada" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Pelayar Metadata" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Lagu" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Artis album" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Nilaian" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Lirik" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Masa Main" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informasi mengenai Album" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informasi mengenai Artis" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Nanyi atau Ayunan yang anda hendak" + +#~ msgid "The kernel jazz" +#~ msgstr "Jazz kernel" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "server aliran MPD" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Klien Pemain Muzik Gnome\n" +#~ "Opsyen:\n" +#~ "\t--start-hidden\t\tMula secara tersembunyi\n" +#~ "\t--help\t\t\tMesej membantu ini.\n" +#~ "\t--debug-level=\tJadikan gmpc paparkan informasi debug.\n" +#~ "\t\t\t\tTingkat:\n" +#~ "\t\t\t\t\t0 Tiada Output\n" +#~ "\t\t\t\t\t1 Mesej Kesalahan\n" +#~ "\t\t\t\t\t2 Mesej Kesalahan + Amaran\n" +#~ "\t\t\t\t\t3 Semua Mesej\n" +#~ "\t--version\t\tPaparkan versi dan revisi git\n" +#~ "\t--config=\t\tTetapkan laluan fail config, asal ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tBersihkan fail cover.\n" +#~ "\t--disable-plugins\tJangan muat apa-apa plugins.\n" +#~ "\t--replace\t\tGantikan sesi yang sedang dijalankan dengan yang ini\n" +#~ "\t--quit\t\t\tHentikan sesi gmpc yang sedang berjalan. Hanya befungsi jika " +#~ "multiple-instances ditidak bolehkan.\n" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" + +#~ msgid " Total time: " +#~ msgstr " Masa keseluruhan: " + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "saat" +#~ msgstr[1] "saat" + +#~ msgid "Song Markup" +#~ msgstr "Markup Lagu" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Edit _Pelayar Web Markup" + +#~ msgid "View" +#~ msgstr "Lihat" + +#~ msgid "Fetching..." +#~ msgstr "Mendapat..." + +#~ msgid "Collection" +#~ msgstr "Koleksi" + +#~ msgid "Bitrate" +#~ msgstr "Kadar bit" + +#~ msgid "Songs with same title" +#~ msgstr "Lagu dengan tajuk sama" + +#~ msgid "Audio format" +#~ msgstr "Format audio" + +#~ msgid "Invalid search" +#~ msgstr "Carian yang tidak sah" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Tarikh: " +#~ msgstr[1] "Tarikh: " + +#~ msgid "Artist info:" +#~ msgstr "Info Artis:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Genre: " +#~ msgstr[1] "Genre: " + +#~ msgid "Find Artist:" +#~ msgstr "Cari Artis:" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Hanya hasil %i pertama ditunjukkan, sila meneliti carian pertanyaan anda" + +#~ msgid "Similar Artists" +#~ msgstr "Artis serupa" + +#~ msgid "Albums" +#~ msgstr "Album" + +#~ msgid "Album info:" +#~ msgstr "Info Album:" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/saat" + +#~ msgid "switch metadata browser" +#~ msgstr "tukarkan pelayar metadata" + +#~ msgid "channels" +#~ msgstr "saluran" + +#~ msgid "bits" +#~ msgstr "bit" + +#~ msgid "Tracks" +#~ msgstr "Tracks" + +#~ msgid "Show Current Song" +#~ msgstr "Tunjukkan Lagu Sekarang" + +#~ msgid "Show the current album information" +#~ msgstr "Tunjukkan informasi mengenai album sekarang" + +#~ msgid "show current artist" +#~ msgstr "tunjukkan arits sekarang" + +#~ msgid "Show the current songs information" +#~ msgstr "Tunjukkan informasi bagi lagu sekarang" + +#~ msgid "show current album" +#~ msgstr "tunjukkan album sekarang" + +#~ msgid "Show the current artist information" +#~ msgstr "Tunjukkan informasi mengenai artis sekarang" + +#~ msgid "Switch to the metadata browser" +#~ msgstr "Tukar kepada pelayar metadata" + +#~ msgid "show current song" +#~ msgstr "tunjukkan lagu sekarang" + +#~ msgid "Orientation" +#~ msgstr "Orientasi" + +#~ msgid "The orientation of the tray." +#~ msgstr "Orientasi bagi dulang." + +#~ msgid "Links" +#~ msgstr "Link" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Nampaknya anda tidak mempunyai muzik didalam database anda.\n" +"Untuk menambah muzik, salin muzik ke music_directory anda seperti " +"ditentukan didalam fail config mpd anda..\n" +"Selepas itu kemaskini database anda. (Server->Update Database)" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/nb.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/nb.po --- gmpc-0.18.0/po/nb.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/nb.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,149 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 19:16+0000\n" -"Last-Translator: Aleks K \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:00+0000\n" +"Last-Translator: Qball Cow \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "En gnome frontende for mpd nissen" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome musikkavspiller klient" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Få hjelp" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD database oppdateres" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Demp" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Neste" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Spill av/Pause" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Forrige" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiler" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Tilfeldig" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Gjenta" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Vis melding" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stopp" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Besøk web siden" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Kollapse Grensesnitt" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Tilkoble" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kontroll" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Frakoble" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Utvid Grensesnitt" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Fullskjerm" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_G" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Hjelp" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musikk" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Valg" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Send Passord" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Tjener" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Vis Artist Bilde" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Vis" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Spilleliste Hndterer" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/sti/til/fil_navn.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Per Spellemann" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "B b lille lam" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "Rock" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2. Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "MPD's strm tjener" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-niv=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versjon" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--konfigurasjon=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-usynelig" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--rengjr-album-database" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--deaktiver-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--erstatt" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--importer-gammel-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-oppdateringer" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--hjelp" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 -msgid "Failed to load the configuration system." -msgstr "" - -#: ../src/main.c:525 -msgid "Failed to load debug-log file." -msgstr "" - -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Klarte ikke sette opp libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC har ikke de riktige rettighetene for denne mpd tjeneren" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,157 +158,28 @@ "Klarte ikke sette opp passord p: '%s'\n" "Vennligst prv igjen" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Vennligst fyll inn passord for: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "feilkode" -#: ../src/main.c:1126 -msgid "Insufficient permission to connect to mpd. Check password" -msgstr "" - -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Koblet til mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "frakoblet fra mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "En feil oppstod mens operasjonen ble utfrt" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Den flgende feil(ene) oppstod:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Feil Melding" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Taglinje" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versjon" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revisjon" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd versjon" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ Versjon" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl versjon" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Plattform" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Vinduer" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Nettside" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Instillinger tilgjengelig" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Aktivert" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Deaktivert" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS Support" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimedia knapper" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Mac intigrasjonsbibeliotek" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Bruk ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Debug Timing" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "Vedlikeholds mode" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Total tid: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "dag" @@ -493,19 +191,13 @@ msgstr[0] "time" msgstr[1] "timer" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minutt" msgstr[1] "minutter" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Feilet å kjøre" @@ -533,11 +225,6 @@ msgid "Hide window" msgstr "Skjul vinduet" -#. * MM_HIDE -#: ../src/mm-keys.c:83 -msgid "Toggle window" -msgstr "" - #. * MM_TOGGLE_HIDDEN #: ../src/mm-keys.c:84 msgid "Volume Up" @@ -558,12 +245,7 @@ msgid "Toggle Mute" msgstr "Volum Kontroll" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -571,7 +253,7 @@ "Kunne ikke laste fram multimedia tastene:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -581,7 +263,7 @@ "Forsikre deg om at din vindusbehandler (eller andre applikasjoner) ikke " "allerede har bundet denne tasten for en annen funksjon, restart dermed gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -594,15 +276,11 @@ "Vennligst g gjennom innstillingene og forsikre deg om at dine instillinger " "er riktige." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimedia knapper" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -619,370 +297,232 @@ "Forsikre deg om at din vindusbehandler (eller andre applikasjoner) ikke " "allerede har bundet denne tasten for en annen funksjon, restart dermed gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Aksjon" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Snarvei" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Av" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Server instillinger" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Tilkobling" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Kobler til" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Alle fra albumet" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Alle fra artisten" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Alle fra sjangeren" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Alle fra samme mappe" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Legg til flere" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "Tilkoblet" -#: ../src/playlist3.c:604 -msgid "MPD database is updating" -msgstr "" +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "Ikke tilkoblet" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "Tilkoblet" - -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "Ikke tilkoblet" - -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Koblet til" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Frakoblet" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Gjenta: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "P" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Av" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Tilfeldig: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 -msgid "MPD Reported the following error" -msgstr "" - -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "lagt til" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Endret tjenernavn til:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Oppdater Database" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Av" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Fra" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Spiller ikke" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Grensesnitt" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Info" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Advarsel" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritisk" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Tid" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Melding" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "En eller flere plugins feilet å lade, se hjelp->melling for mer informasjon" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Plugins" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Tillegg:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Aktivert" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Navn" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funksjoner" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versjon" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Idiot" -#: ../src/preferences.c:336 -msgid "Browser Extension" -msgstr "" - -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Metadata Utgiver" -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" -msgstr "" - -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Misc." -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Ukjent" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Finn:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Legg til %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "Stream" msgstr[1] "Streams" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Legg til en strm" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Fyll inn enn lenke" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Spille_liste" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Påminnelse" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -990,24 +530,11 @@ "Dette er første gang du kjører gmpc.\n" "Denne aplikasjonen vil hjelpe koble til gmpc til din mpd djevel." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Velkommen til GMPC" -#: ../src/setup-assistant.c:135 -msgid "Setup connection" -msgstr "" - -#. * -#. * End -#. -#: ../src/setup-assistant.c:144 -msgid "" -"Gmpc is now ready for use.\n" -"Enjoy using gmpc." -msgstr "" - -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Fullfør" @@ -1060,7 +587,14 @@ " joki https://launchpad.net/~kyler2k\n" "\n" "Launchpad Contributions:\n" -" Aleks K https://launchpad.net/~uteligger1\n" +" Aleksander Kolaas https://launchpad.net/~uteligger1\n" +" Kenneth Langdalen https://launchpad.net/~spam-klnetworks\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" joki https://launchpad.net/~kyler2k\n" +"\n" +"Launchpad Contributions:\n" +" Aleksander Kolaas https://launchpad.net/~uteligger1\n" +" Kenneth Langdalen https://launchpad.net/~spam-klnetworks\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" " joki https://launchpad.net/~kyler2k" @@ -1088,33 +622,33 @@ msgid "Host:" msgstr "Tjener:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Navn:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Passord:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Pause (r):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Automatisk tilkoble" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Bruk Autentifisering" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1171,41 +705,17 @@ msgstr "Spilleliste:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Sang Markering" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Sentrer avspillte sang" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Rediger _Utforsker Markering" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Gjem ved lukking" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Lagre posisjon for strrelsen mellom sesjonene" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 -msgid "Stop playing on exit" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "" - #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" msgstr "Lastede Tillegg:" @@ -1234,10 +744,6 @@ msgid "fade time (s):" msgstr "overgangs tid (er):" -#: ../glade/preferences-trayicon.ui.h:1 -msgid "Inline messages" -msgstr "" - #: ../glade/preferences-trayicon.ui.h:2 msgid "Notification Area Icon" msgstr "Pminnelses Omrde Ikon" @@ -1254,18 +760,10 @@ msgid "Position:" msgstr "Posisjon:" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Pause:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP Proxy:" @@ -1274,14 +772,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Bru proxy for internett tilkobling" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1314,61 +804,35 @@ msgid "name:" msgstr "navn:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "element" msgstr[1] "elementer" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Beregning)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Spill av kø" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Er du sikker p at du vil tmme spillelisten" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Crop" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Bland" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Legg til URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1377,29 +841,26 @@ "Spilleliste \"%s\" eksisterer allerede\n" "Overskrive?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Feilet å lagre Spill listen" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Spill av kø" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Fil Utforsker" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Kataloger" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Legg til mappe '%s' rekursivt" @@ -1407,981 +868,1474 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Erstatte" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Oppdatere" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Lastet spilleliste" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Lagt til" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "sang" msgstr[1] "Sanger" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "katalog" msgstr[1] "Kataloger" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "spilleliste" msgstr[1] "spillelister" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Er du sikker p om du vil renske den valgte spillelisten" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Søk" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Ny spilleliste" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Ikke tilgjengelig" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Gi Spilleliste nytt navn" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Henter..." +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Gi nytt navn" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Vis" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Legg til p spilleliste" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Markering" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Artist" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Sanger" - -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Spilletid" - -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Sjanger" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "dato" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Samling" - -#: ../src/browsers/playlist3-metadata-browser.c:897 #: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Tittel" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 msgid "Album" msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:925 +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Tittel" + +#. Genre #: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Sjanger" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 msgid "Track" msgstr "Spor" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 +#: ../src/gob/gmpc-mpddata-treeview.gob:77 msgid "Composer" msgstr "Composer" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 msgid "Performer" msgstr "Fremfrer" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Katalog" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "dato" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disk" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Kommentar" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 msgid "Extension" msgstr "Utvidelse" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Katalog" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitrate" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Rediger kolloner" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "n/a" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Hent p nytt" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Lyd format" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Velg en fil" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Lyrikk" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Klarte ikke pne en fil" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "p grunn av kodelesnings problemer" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Henter Artist Info" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Henter Album Info" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Ikke Tilgjengelig" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Velg en Fil" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Tekst Dokument" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Alle" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Bilder" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "n/a" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Sanger med samme tittel" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Strrelse" -#: ../src/browsers/playlist3-metadata-browser.c:1138 +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 msgid "Similar songs" msgstr "Lignende sanger" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Ugjyldig søk" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Ikke tilgjengelig" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Metadata Utforsker" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Sanger" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Lyrikk" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Spilletid" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Album informasjon" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Artist informasjon" + +#~ msgid "Song Markup" +#~ msgstr "Sang Markering" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Rediger _Utforsker Markering" + +#~ msgid "_Server" +#~ msgstr "_Tjener" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/sti/til/fil_navn.mp3" + +#~ msgid "Jonny Singer" +#~ msgstr "Per Spellemann" + +#~ msgid "Sing or Swing you want" +#~ msgstr "B b lille lam" + +#~ msgid "The kernel jazz" +#~ msgstr "Rock" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2. Feb 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "MPD's strm tjener" + +#~ msgid "--version" +#~ msgstr "--versjon" + +#~ msgid "--config=" +#~ msgstr "--konfigurasjon=" + +#~ msgid "--clean-cover-db" +#~ msgstr "--rengjr-album-database" + +#~ msgid "--help" +#~ msgstr "--hjelp" + +#~ msgid " Total time: " +#~ msgstr " Total tid: " + +#~ msgid "Artist info:" +#~ msgstr "Artist info:" + +#~ msgid "Album info:" +#~ msgstr "Album info:" + +#~ msgid "--disable-plugins" +#~ msgstr "--deaktiver-plugins" + +#~ msgid "--replace" +#~ msgstr "--erstatt" + +#~ msgid "--start-hidden" +#~ msgstr "--start-usynelig" + +#~ msgid "--import-old-db" +#~ msgstr "--importer-gammel-db" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-oppdateringer" + +#~ msgid "Collection" +#~ msgstr "Samling" + +#~ msgid "Fetching..." +#~ msgstr "Henter..." + +#~ msgid "View" +#~ msgstr "Vis" + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Songs with same title" +#~ msgstr "Sanger med samme tittel" + +#~ msgid "Audio format" +#~ msgstr "Lyd format" + +#~ msgid "Invalid search" +#~ msgstr "Ugjyldig søk" + +#~ msgid "Links" +#~ msgstr "Linker" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Dato: " +#~ msgstr[1] "Datoer: " + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Bare det første %i resultatet er synelig, Venligst endre på Søket ditt" + +#~ msgid "bits" +#~ msgstr "bits" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sek" + +#~ msgid "channels" +#~ msgstr "kanaler" + +#~ msgid "Tracks" +#~ msgstr "Oppgaver" + +#~ msgid "Similar Artists" +#~ msgstr "Lignende Artister" + +#~ msgid "Albums" +#~ msgstr "Albumer" + +#~ msgid "Show Current Song" +#~ msgstr "Vis den aktuelle sangen" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "avslutt" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Avslutt gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "skjul" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Skjul gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "vis" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Vis gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pause" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "neste" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "neste sang" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "stop" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "volum" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -"Bare det første %i resultatet er synelig, Venligst endre på Søket ditt" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Dato: " -msgstr[1] "Datoer: " +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Artist info:" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Brukernavn:" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Artist informasjon" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Albumer" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Lignende Artister" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Album info:" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Album informasjon" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Oppgaver" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Metadata Utforsker" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Vis den aktuelle sangen" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sek" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "kHz" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "Database" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "bits" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Spilleliste" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "kanaler" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" -msgstr "" - -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Ny spilleliste" - -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Gi Spilleliste nytt navn" - -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Gi nytt navn" +msgstr "Favoritter" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Legg til p spilleliste" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "" - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Markering" - -#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:73 msgid "File" -msgstr "" +msgstr "Fil" #: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disk" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Kommentar" +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Varighet" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Rediger kolloner" - -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Hent p nytt" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Velg en fil" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Klarte ikke pne en fil" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "p grunn av kodelesnings problemer" - -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Henter tekst" - -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Henter Artist Info" - -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Henter Album Info" - -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Ikke Tilgjengelig" - -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Velg en Fil" - -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Tekst Dokument" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Alle" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Bilder" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Linker" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "En Feil Oppstod" - -#~ msgid "Name:" -#~ msgstr "Navn:" - -#~ msgid "Sort by:" -#~ msgstr "Sortert etter:" - -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "De konfigurerte Informasjons utforskerne vil kun " -#~ "komme fram med mpd versjon 0.12 eller nyere." - -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Ved pminnelses omrde ikon\n" -#~ "vre Venstre Hjrne\n" -#~ "vre Hyre Hjrne\n" -#~ "Nedre Venstre Hjrne\n" -#~ "Nedre Hyre Hjrne" - -#~ msgid "Error Dialog" -#~ msgstr "Feil Dialog" - -#~ msgid "Error msg" -#~ msgstr "Feilmelding" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Ingen\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Tittel\n" -#~ "Spor\n" -#~ "Navn\n" -#~ "Sjanger\n" -#~ "Dato\n" -#~ "Komponist\n" -#~ "Opptredende\n" -#~ "Kommentar\n" -#~ "Disk" - -#~ msgid "_Reconnect" -#~ msgstr "_Koble til p nytt" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "Informasjon og opp\n" -#~ "Advarsel og opp\n" -#~ "feil\n" -#~ "ingen" - -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Prver kjre gmpc med en feil libmpd versjon." - -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "Gmpc er p dette tidspunktet koblet til en mpd versjon lavere enn 0.12.0\n" -#~ "Dette vil kansje fungere, men er ikke lenger offisielt stttet" - -#~ msgid "" -#~ "A new metadata plugin was added, gmpc will now purge all missing metadata " -#~ "from the cache" -#~ msgstr "" -#~ "Et ny metadata tillegg har blitt lagt til, gmpc vil n fylle ut alle " -#~ "manglende metadata fra lageret" - -#~ msgid "Plugins" -#~ msgstr "Tillegg" - -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Klarte ikke kontakte lenke: '%s'" - -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" - -#~ msgid "And" -#~ msgstr "Og" - -#~ msgid "Or" -#~ msgstr "Eller" - -#~ msgid "Artist:" -#~ msgstr "Artist:" - -#~ msgid "Genre:" -#~ msgstr "Sjanger:" - -#~ msgid "Date:" -#~ msgstr "Dato:" - -#~ msgid "Collection" -#~ msgstr "Samling" - -#~ msgid "Album:" -#~ msgstr "Album" - -#~ msgid "Track:" -#~ msgstr "Spor:" - -#~ msgid "Composer:" -#~ msgstr "Komponist:" - -#~ msgid "Performer:" -#~ msgstr "Fremfrer:" - -#~ msgid "Dirname:" -#~ msgstr "Dirname:" - -#~ msgid "Lyric:" -#~ msgstr "Tekst:" - -#~ msgid "Artist info:" -#~ msgstr "Artist info:" - -#~ msgid "Album info:" -#~ msgstr "Album info:" - -#~ msgid "Tracks:" -#~ msgstr "Sporene:" - -#~ msgid "Directory:" -#~ msgstr "Mapper:" - -#~ msgid "New accelerator..." -#~ msgstr "Ny akkselerasjon..." - -#~ msgid "Accelerator key" -#~ msgstr "Akkselerasjons tast" - -#~ msgid "Accelerator modifiers" -#~ msgstr "Akkselerasjon" - -#~ msgid "Accelerator keycode" -#~ msgstr "Akkselerasjons nkkelkode" - -#~ msgid "Accel Mode" -#~ msgstr "Akkselerasjons Modus" - -#~ msgid "The type of accelerator." -#~ msgstr "En slags type akkselerasjon." - -#~ msgid "Center opened folder" -#~ msgstr "Sentrer pnede mapper" - -#~ msgid "_Edit Playlist Markup" -#~ msgstr "_Rediger Spilleliste Markering" - -#~ msgid "gmpc" -#~ msgstr "gmpc" - -#~ msgid "Not Playing" -#~ msgstr "Spiller ikke" - -#~ msgid "N/A" -#~ msgstr "N/A" - -#~ msgid "Current Playlist" -#~ msgstr "Nvrende spilleliste" - -#~ msgid "Database Search" -#~ msgstr "Database Sk" - -#~ msgid "Playlist Search" -#~ msgstr "Spilleliste Sk" - -#~ msgid "The current playlist name" -#~ msgstr "Nvrende spilleliste navn" - -#~ msgid "Loading Cover Icon" -#~ msgstr "Laster Album Kunst" - -#~ msgid "No Cover Icon" -#~ msgstr "Ingen Album Ikon" - -#~ msgid "Size" -#~ msgstr "Strrelse" - -#~ msgid "Size of the image" -#~ msgstr "Strrelse p bilde" - -#~ msgid "HideOnNA" -#~ msgstr "SkjulPNA" - -#~ msgid "DrawBorder" -#~ msgstr "TegnGrense" - -#~ msgid "Draw a border around the image" -#~ msgstr "Tegn en grense rundt bildet" - -#~ msgid "DrawShadow" -#~ msgstr "TegnSkygge" - -#~ msgid "Draw a shadow under the image" -#~ msgstr "Tegn en skygge under bildet" - -#~ msgid "Filename" -#~ msgstr "Filnavn" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Length" -#~ msgstr "Lengde" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "Pos" -#~ msgstr "Pos" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "Forandringene blir sltt p etter ha koblet til p " -#~ "nytt" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Configure tag browsers" -#~ msgstr "Konfigurere merke utforsker" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "Format" -#~ msgstr "Format" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "Comment:" -#~ msgstr "Kommentar:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "Disc:" -#~ msgstr "Disk:" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Filename:" -#~ msgstr "Filnavn:" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "Length:" -#~ msgstr "Lengde:" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Path:" -#~ msgstr "Sti:" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "A_lbum text" -#~ msgstr "A_lbum tekst" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "A_rtist Art" -#~ msgstr "A-rtist Kunst" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#~ msgid "Ar_tist Text" -#~ msgstr "Ar_tist Tekst" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "Refetch Artist Art" -#~ msgstr "Hent Album Kunst" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "Refetch cover art" -#~ msgstr "Hent Album Kunst" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "Select A File" -#~ msgstr "Velg En Fil" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#~ msgid "_Lyric" -#~ msgstr "_Tekst" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#~ msgid "gmpc - song info" -#~ msgstr "gmpc - sang info" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "The following error occured: %i:'%s'" -#~ msgstr "Flgende feil oppstid: %i:'%s'" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "days" -#~ msgstr "dager" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "hours" -#~ msgstr "timer" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "minutes" -#~ msgstr "minutter" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "streams" -#~ msgstr "strmmer" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Browse Artists" -#~ msgstr "Utforsk Artist" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "albums" -#~ msgstr "albums" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Browse Filesystem" -#~ msgstr "Utforsk Filsystemet" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "playlists" -#~ msgstr "spillelister" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "Album Info:" -#~ msgstr "Album Info:" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "Album Info:" -#~ msgstr "Album Info:" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Album tracks:" -#~ msgstr "Album sporene:" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "Genres: " -#~ msgstr "Sjangere: " +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Dates: " -#~ msgstr "Datoer: " +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "+" -#~ msgstr "+" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "-" -#~ msgstr "-" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "Stock icon to use when loading a cover" -#~ msgstr "Stock ikon til bruke nr album lastes" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Stock icon to use when no cover is present" -#~ msgstr "Stock ikon til bruk nr ingen album er lastet" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "Type of the image, like artist art" -#~ msgstr "Type bilde, slik som artist kunst" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "A mpdObj to check on" -#~ msgstr "Et mpdObj til sjekke p" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Show an 'up row" -#~ msgstr "Vis en verste rad" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Has Up" -#~ msgstr "Har opp" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#~ msgid "Unique" -#~ msgstr "Unik" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "sekund" +#~ msgstr[1] "sekunder" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ne.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ne.po --- gmpc-0.18.0/po/ne.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/ne.po 2009-09-21 11:15:59.000000000 +0100 @@ -6,504 +6,203 @@ msgid "" msgstr "" "Project-Id-Version: gmpc\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-14 18:51+0000\n" -"Last-Translator: sarojdhakal \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:01+0000\n" +"Last-Translator: Qball Cow \n" "Language-Team: Nepali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "सहायता प्राप्ति" -#: ../glade/playlist3.glade.h:2 -msgid "MPD database is updating." -msgstr "MPD डाटाबेस अध्यावधीक हुदैछ" - -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "मौन" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "अर्को॒" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "बजाउनुहोस् / रोक्नुहोस्" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "पहिलेको॒" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "प्रोफाईलहरु" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "जथाभावी" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "दोहो-याउनु" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "सन्देशहरु देखाउनुहोस्" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "रोक्नुहोस" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "वेभसाइट अवलोकन गर्नुहोस्" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_अन्तर मोहडा भंग गर्नुहोस्" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_जडान गर्नुहोस्" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_ नियन्त्रण" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_जडान विच्छेद गर्नुस" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "॒॒_अन्तरमोहडा बढाउनुहोस्" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_पूरा पर्दा" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_जानुहोस्" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_सहायता" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_संगीत" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_विकल्प" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_प्रवेशशव्द पठाउनुहोस्" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "॒_सर्भर" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "॒_कलाकारको तस्विर देखाउनुहोस्" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_दृष्टि" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc- बजाउने सुची व्यवस्थापक" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "०१/२४" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "२ फेब २००६" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "MPDको स्ट्रिमिङ्ग सर्भर" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "प्रोक्सी" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-updates" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "बन्द गर्नुहोस्" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "gmpc बन्द गर्नुहोस्" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "लुकाउनुहोस्" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "gmpc लुकाउनुहोस्" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "देखाउनुहोस्" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "gmpc देखाउनुहोस्" -#: ../src/main.c:450 -msgid "show notification" -msgstr "जानकारी देखाउनुहोस्" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "ट्रेयआइकन जानकारी देखाउनुहोस" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 -#, c-format -msgid "Please enter your password for: '%s'" -msgstr "'%s' को लागि आफ्नो प्रवेशशव्द प्रविष्ठ गर्नुहोस" - -#: ../src/main.c:1116 ../src/main.c:1137 -msgid "error code" -msgstr "त्रुटी कोड" - -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "mpd सगँ जडान भयो" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "mpd सगँ जडान टुट्यो" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "कार्यगर्दैगर्दा त्रुटी भयो" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "निम्न त्रुटी(हरू) उत्पन्न भएका छन् :" - -#: ../src/main.c:1301 -msgid "Error Message" -msgstr "त्रुटी सन्देश" - -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "पुच्छ्रे लाइन" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "संस्करण" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "पुनरावलोकन" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "libmpd संस्करण" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ संस्करण" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "libxurl संस्करण" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "प्लाटफर्म" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "विन्डोज" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "म्याक osX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "वेभसाइट" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "विकल्प सक्षम तुल्याइएको छ" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "X सत्र व्यवस्थापक" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "सक्रिय" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "निस्क्रिय" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS समर्थन" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " कुल :समय " - -#: ../src/misc.c:55 -msgid "day" -msgid_plural "days" -msgstr[0] "दिन" -msgstr[1] "दिनहरू" - -#: ../src/misc.c:59 -msgid "hour" -msgid_plural "hours" -msgstr[0] "घण्टा" -msgstr[1] "घण्टाहरू" - -#: ../src/misc.c:63 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "मिनेट" -msgstr[1] "मिनेटहरू" - -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "सेकेन्ड" -msgstr[1] "सेकेन्डहरू" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -526,55 +225,30 @@ msgid "Raise window" msgstr "" -#. * MM_RAISE -#: ../src/mm-keys.c:82 -msgid "Hide window" -msgstr "संझ्याल लुकाउनुहोस्" - #. * MM_HIDE #: ../src/mm-keys.c:83 msgid "Toggle window" msgstr "" -#. * MM_TOGGLE_HIDDEN -#: ../src/mm-keys.c:84 -msgid "Volume Up" -msgstr "आवाज बढाउनुहोस्" - -#. * MM_VOLUME_UP -#: ../src/mm-keys.c:85 -msgid "Volume Down" -msgstr "आवाज घटाउनुहोस्" - -#. * MM_VOLUME_DOWN -#: ../src/mm-keys.c:86 -msgid "Show song" -msgstr "गीत देखाउनुहोस्" - -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "मौन टोगल" - #. * MM_TOGGLE_MUTE #: ../src/mm-keys.c:88 msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +256,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +268,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,392 +279,376 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "" -#: ../src/preferences.c:333 +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" @@ -1002,6 +664,10 @@ "\n" "Launchpad Contributions:\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" +" sarojdhakal https://launchpad.net/~lotusnagarkot\n" +"\n" +"Launchpad Contributions:\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" " sarojdhakal https://launchpad.net/~lotusnagarkot" #: ../glade/password-dialog.ui.h:1 @@ -1028,33 +694,33 @@ msgid "Host:" msgstr "" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1111,38 +777,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1192,11 +850,11 @@ msgid "Position:" msgstr "" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1250,90 +908,81 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1341,626 +990,1210 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" msgstr "" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 #: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre #: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 +#: ../src/gob/gmpc-mpddata-treeview.gob:77 msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 #: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 msgid "Extension" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 msgid "n/a" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 msgid "Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#~ msgid "_Server" +#~ msgstr "॒_सर्भर" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "01/24" +#~ msgstr "०१/२४" + +#~ msgid "2 Feb 2006" +#~ msgstr "२ फेब २००६" + +#~ msgid "MPD's Streaming server" +#~ msgstr "MPDको स्ट्रिमिङ्ग सर्भर" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "MPD डाटाबेस अध्यावधीक हुदैछ" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "जानकारी देखाउनुहोस्" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "ट्रेयआइकन जानकारी देखाउनुहोस" + +#: ../src/main.c:1094 #, c-format -msgid "Only the first %i result displayed, please refine your search query" +msgid "Please enter your password for: '%s'" +msgstr "'%s' को लागि आफ्नो प्रवेशशव्द प्रविष्ठ गर्नुहोस" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "त्रुटी कोड" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "mpd सगँ जडान भयो" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "mpd सगँ जडान टुट्यो" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "त्रुटी सन्देश" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "दिन" +msgstr[1] "दिनहरू" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "घण्टा" +msgstr[1] "घण्टाहरू" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "मिनेट" +msgstr[1] "मिनेटहरू" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "संझ्याल लुकाउनुहोस्" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "आवाज बढाउनुहोस्" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "आवाज घटाउनुहोस्" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "गीत देखाउनुहोस्" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "मौन टोगल" + +#: ../src/mpdinteraction.c:91 +msgid "enable" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/mpdinteraction.c:94 +msgid "disable" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/mpdinteraction.c:316 +msgid "single" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/mpdinteraction.c:317 +msgid "consume" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/mpdinteraction.c:325 +msgid "output" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/mpdinteraction.c:348 +msgid "update database" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/mpdinteraction.c:350 +msgid "Update the database" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/plugin.c:60 +msgid "plugin has no name" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "सक्रिय" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "संस्करण" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "फाइल छान्नुहोस्" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" msgstr "फाइल खोल्न सकिएन:" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "इन्कोडिङ्गको समस्याको कारणले गर्दा" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "रचना खोजेर ल्याउदै" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "कलाकार जानकारी खोजेर ल्याउदै" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "सङ्ग्रह जानकारी खोजेर ल्याउदै" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "उपलब्ध छैन" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "फाइल छान्नुहोस्" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "पाठ कागजात" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "सबै" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "तस्विरहरू" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "लोडगर्दै" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "स्तर निर्धारण :" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "सुची इन्टरनेटबाट अद्यावधी गर्नुहोस्" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "लिङ्कहरु" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "कलाकार" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "सङ्ग्रह" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "खोज्दै %s लाई %s मा" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid " Total time: " +#~ msgstr " कुल :समय " + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "सेकेन्ड" +#~ msgstr[1] "सेकेन्डहरू" + +#~ msgid "Links" +#~ msgstr "लिङ्कहरु" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/nl.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/nl.po --- gmpc-0.18.0/po/nl.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/nl.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,121 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 23:32+0000\n" -"Last-Translator: Qball Cow \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-16 10:37+0000\n" +"Last-Translator: Yentl \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Een gnome front-end voor de Music Player Daemon" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 -msgid "Getting help" -msgstr "" - -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD database wordt geupdate." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 -msgid "Mute" -msgstr "" - #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Volgende" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Speel/Pauzeer" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Vorige" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiel" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Willekeurig" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Herhalen" -#: ../glade/playlist3.glade.h:10 -msgid "Show Messages" -msgstr "" - #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stop" -#: ../glade/playlist3.glade.h:12 -msgid "Visit website" -msgstr "" - -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Vouw beeld _samen" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "Ver_binden" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "Bedie_ning" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "Verb_reek verbinding" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "Breid beeld _uit" -#: ../glade/playlist3.glade.h:18 -msgid "_Fullscreen" -msgstr "" - -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Ga naar" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Hulp" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muziek" -#: ../glade/playlist3.glade.h:22 -msgid "_Option" -msgstr "" - -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Stuur wachtwoord" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Toon artiestenafbeelding" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "Beel_d" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Afspeellijst Manager" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/pad/naar/bestandsnaam.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Zing en dans wat je wil" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "De kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "24-01" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "MPD's Streaming server" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 -msgid "Failed to load the configuration system." -msgstr "" - -#: ../src/main.c:525 -msgid "Failed to load debug-log file." -msgstr "" - -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Niet ingeslaagd om libmpd in te stellen" -#: ../src/main.c:1059 -msgid "GMPC has insufficient permissions on the mpd server." -msgstr "" - -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,2017 +130,2123 @@ "Kon geen wachtwoord veranderen op: '%s'\n" "Probeer opnieuw" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Voer het wachtwoord in voor: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "Fout code" -#: ../src/main.c:1126 -msgid "Insufficient permission to connect to mpd. Check password" -msgstr "" - -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "Vooruitspoelen" -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "Achteruitspoelen" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Fout tijdens uitvoeren" +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "Venster verbergen" -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Do volgende fouten traden op:" +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "Volume omhoog" -#: ../src/main.c:1301 -msgid "Error Message" -msgstr "" +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "Volume omlaag" -#: ../src/main.c:1355 -msgid "Tagline" +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." msgstr "" +"\n" +"Kijk of andere programma's deze toets niet al hebben gebonden aan een of " +"andere functie, herstart Gmpc daarna." -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimediatoetsen" -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "Actie" -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "Sneltoets" -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Uit" -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "Server-instellingen" -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "Verbinding" -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "Alles van album" -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "Alles van artiest" -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "Alles van genre" -#: ../src/main.c:1374 -msgid "Website" -msgstr "" +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "Alles uit dezelfde map" -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "Voeg meer toe" -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "Niet verbonden" -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Ingeschakeld" +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Uitgeschakeld" +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "Verbonden met" -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "Niet verbonden" -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimediatoetsen" +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "Herhalen: %s" -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "Aan" -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "Willekeurig: %s" -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "toegevoegd" -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "Hostnaam veranderd naar:" -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "Database bijwerken" -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "Door" -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "Niet aan het afspelen" -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "Waarschuwing" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Totale afspeeltijd: " +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "Kritiek" -#: ../src/misc.c:55 -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "Plugins:" -#: ../src/misc.c:59 -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Ingeschakeld" -#: ../src/misc.c:63 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "Naam" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:336 +msgid "Function" +msgstr "Functie" -#: ../src/misc.c:269 -msgid "Failed to execute" -msgstr "" +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "Dummy" -#: ../src/mm-keys.c:73 -msgid "PlayPause" -msgstr "" +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "Metadataleverancier" -#. * MM_STOP -#: ../src/mm-keys.c:77 -msgid "Fast Forward" -msgstr "Vooruitspoelen" +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "Toegevoegd %i %s" -#. * MM_FASTFORWARD -#: ../src/mm-keys.c:78 -msgid "Fast Backward" -msgstr "Achteruitspoelen" +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "Voer een url in" -#. * MM_RANDOM -#: ../src/mm-keys.c:81 -msgid "Raise window" -msgstr "" +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "_Afspeellijst" -#. * MM_RAISE -#: ../src/mm-keys.c:82 -msgid "Hide window" -msgstr "Venster verbergen" +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "Copyright 2003-2007 Qball Cow" -#. * MM_HIDE -#: ../src/mm-keys.c:83 -msgid "Toggle window" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" msgstr "" +"EneNL\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" PjotrAmslap https://launchpad.net/~pieterpalsma\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Yentl https://launchpad.net/~yentlvt" -#. * MM_TOGGLE_HIDDEN -#: ../src/mm-keys.c:84 -msgid "Volume Up" -msgstr "Volume omhoog" +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "Voer uw wachtwoord voor '' in" -#. * MM_VOLUME_UP -#: ../src/mm-keys.c:85 -msgid "Volume Down" -msgstr "Volume omlaag" +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "Wachtwoord" -#. * MM_VOLUME_DOWN -#: ../src/mm-keys.c:86 -msgid "Show song" -msgstr "" +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "_Sla wachtwoord op" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "" +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "_Verbind" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "Host:" -#: ../src/mm-keys.c:366 -msgid "" -"Could not grab the following multimedia keys:\n" -"\n" -msgstr "" +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "Naam:" -#: ../src/mm-keys.c:381 -msgid "" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" -"\n" -"Kijk of andere programma's deze toets niet al hebben gebonden aan een of " -"andere functie, herstart Gmpc daarna." +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "Wachtwoord:" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "Poort:" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "Onderbreking (s):" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "Automatisch verbinden" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "Gebr_uik verificatie" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "localhost" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "Schakel veld in:" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "Voorbeeld:" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "A_lbum" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "Bewerk nummer opmaak" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "T_rack" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "_Artiest" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "_Datum" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "_Naam stream" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "_Titel" -#: ../src/mm-keys.c:388 +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "voorbeeld" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "Spring naar huidig afgespeelde nummer" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "Verbergen in plaats van sluiten" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "Onthoud positie en grootte tussen sessies" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "Style albumhoezen" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "Gelade plug-ins:" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "Overvloeiing:" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "Output apparaten:" + +#: ../glade/preferences-server.ui.h:3 msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." +"You need to be connected\n" +"in order to change these settings" msgstr "" +"U moet verbonden zijn om\n" +"deze instellingen aan te kunnen passen" -#: ../src/mm-keys.c:628 -#, c-format +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "Schakel overvloeiing in" + +# fade time -> Fade time? +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "Overvloeitijd (s)" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "Mededelingengebiedsicoon" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "Pop-up" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "Inschakelen" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "Positie" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "Tijd:" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "HTTP Proxy:" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "Gebruik een proxy voor internet verbinding" + +#: ../glade/preferences.ui.h:1 msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" +"Plugins\n" +"None Selected" msgstr "" +"Plug-ins\n" +"Geen geselecteerd" -#: ../src/mm-keys.c:657 +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "gmpc - Configuratie" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "Afspeellijst bestaat al." + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "Afspeellijsto opslaan" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "Naam:" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "(Schatting)" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Weet u zeker dat u de afspeellijst wil legen?" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "Uitknippen" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "Willekeurig" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "URL toevoegen" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." +"Playlist \"%s\" already exists\n" +"Overwrite?" msgstr "" +"Afspeellijst \"%s\" bestaat al\n" +"Overschrijven?" -#: ../src/mm-keys.c:704 -msgid "Action" -msgstr "Actie" +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "Bestandsbrowser" -#: ../src/mm-keys.c:726 -msgid "Shortcut" -msgstr "Sneltoets" +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "Bijwerken" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "Toegevoegd" -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "Weet u zeker dat u de gekozen afspeellijst wil legen?" -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "Zoeken" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "Opmaak" -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artiest" -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titel" -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Genre" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Track" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Componist" -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disc" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Commentaar" -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Kolommen bewerken" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Profiel verwijderd" -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Opnieuw halen" -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "vanwege encoderingsproblemen" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Album info ophalen" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Niet beschikbaar" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Tekstdocument" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Alles" -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Grootte" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Metadatabrowser" -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" +#~ msgid "Song Markup" +#~ msgstr "Nummer opmaak" -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" +#~ msgid "Edit _Browser Markup" +#~ msgstr "Bewerk _browser opmaak" -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/pad/naar/bestandsnaam.mp3" -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" +#~ msgid " Total time: " +#~ msgstr " Totale afspeeltijd: " -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" +#~ msgid "Sing or Swing you want" +#~ msgstr "Zing en dans wat je wil" -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#~ msgid "The kernel jazz" +#~ msgstr "De kernel jazz" -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" -msgstr "Server-instellingen" +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "Verbinding" +#~ msgid "01/24" +#~ msgstr "24-01" -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "" +#~ msgid "_Server" +#~ msgstr "_Server" -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" -msgstr "Alles van album" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" -msgstr "Alles van artiest" +#~ msgid "MPD's Streaming server" +#~ msgstr "MPD's Streaming server" -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" -msgstr "Alles van genre" +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" -msgstr "Alles uit dezelfde map" +#~ msgid "Show Current Song" +#~ msgstr "Laat huidige nummer zien" -#. Create sub menu -#. Add -#: ../src/mpdinteraction.c:1329 -msgid "Add more" -msgstr "Voeg meer toe" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Bug informatie" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/playlist3.c:604 -msgid "MPD database is updating" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "Hulp zoeken" -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "Dempen" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/playlist3.c:780 -msgid "Connected" +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "Berichten weergeven" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "Niet verbonden" +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "Website bezoeken" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "GMPC" +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "_Volledig Scherm" -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "Verbonden met" +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "_Optie" -#: ../src/playlist3.c:807 -msgid "Disconnected" -msgstr "Niet verbonden" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Gereedschap" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/playlist3.c:1647 -#, c-format -msgid "Repeat: %s" -msgstr "Herhalen: %s" +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Programma's versie en revisie weergeven" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "On" -msgstr "Aan" +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Verlaat de huidige gmpc" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Uit" +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Vervangt de huidige gmpc" -#: ../src/playlist3.c:1660 -#, c-format -msgid "Random: %s" -msgstr "Willekeurig: %s" +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Plug-ins niet laden" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Alternatief configuratiebestand laden" -#: ../src/playlist3.c:1716 -msgid "MPD Reported the following error" -msgstr "" +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Debugniveau instellen" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 -msgid "Profile" -msgstr "" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Start gmpc verborgen in systeembalk" -#: ../src/playlist3.c:1839 -msgid "added" -msgstr "toegevoegd" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" -#: ../src/playlist3.c:1846 -msgid "changed hostname to:" -msgstr "Hostnaam veranderd naar:" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" -#. Update DB -#: ../src/playlist3.c:1953 -msgid "Update Database" -msgstr "Database bijwerken" +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Bug informatie dialoog weergeven" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/playlist3.c:2042 -msgid "By" -msgstr "Door" +#: ../src/main.c:438 +msgid "quit" +msgstr "afsluiten" -#: ../src/playlist3.c:2049 -msgid "From" -msgstr "" +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Verlaat gmpc" -#: ../src/playlist3.c:2121 -msgid "Not Playing" -msgstr "Niet aan het afspelen" +#: ../src/main.c:440 +msgid "hide" +msgstr "verberg" -#: ../src/playlist3.c:2246 -msgid "Interface" -msgstr "" +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Verberg gmpc" -#: ../src/playlist3-messages.c:35 -msgid "Info" -msgstr "" +#: ../src/main.c:442 +msgid "show" +msgstr "tonen" -#: ../src/playlist3-messages.c:36 -msgid "Warning" -msgstr "Waarschuwing" +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Toon gmpc" -#: ../src/playlist3-messages.c:37 -msgid "Critical" -msgstr "Kritiek" +#: ../src/main.c:444 +msgid "show notification" +msgstr "Notificatie weergeven" -#: ../src/playlist3-messages.c:228 -msgid "Time" -msgstr "" +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Trayicoon-notificatie weergeven" -#: ../src/playlist3-messages.c:230 -msgid "Message" -msgstr "" +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "Kan het configuratiesysteem niet laden." -#: ../src/plugin.c:216 -msgid "" -"One or more plugins failed to load, see help->messages for more information" -msgstr "" +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "Kan het debug-log bestand niet laden." -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" -msgstr "" +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "GMPC heeft onvoldoende rechten op de mpd server." -#: ../src/preferences.c:155 -msgid "Plugins:" -msgstr "Plugins:" +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "Onvoldoende rechten om te verbinden met mpd. Controleer wachtwoord" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 -msgid "Name" -msgstr "Naam" +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "MPD versies voor 0.13.0 worden niet ondersteund" -#: ../src/preferences.c:312 -msgid "Function" -msgstr "Functie" +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "Verbindt met mpd" -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "Dummy" +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "Verbinding verbroken met mpd" -#: ../src/preferences.c:336 -msgid "Browser Extension" -msgstr "" +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Fout opgetreden tijdens operatie" -#: ../src/preferences.c:339 -msgid "Metadata Provider" -msgstr "Metadataleverancier" +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "De volgende fout(en) kwamen voor:" -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "Foutmelding" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" msgstr "" -#: ../src/preferences.c:345 -msgid "Misc." +#: ../src/metadata.c:1390 +msgid "Metadata Handler" msgstr "" -#: ../src/preferences.c:350 -msgid "Unknown" +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -# find -> search? -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Zoeken" +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "dag" +msgstr[1] "dagen" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -#, c-format -msgid "Added %i %s" -msgstr "Toegevoegd %i %s" +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "uur" +msgstr[1] "uren" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -msgid "stream" -msgid_plural "streams" -msgstr[0] "" -msgstr[1] "" +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuut" +msgstr[1] "minuten" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 -msgid "Added 1 stream" -msgstr "" +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "Kan niet uitvoeren" -#. * -#. * Setup the label -#. -#: ../src/url_fetcher.c:240 -msgid "Enter an url" -msgstr "Voer een url in" +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "SpeelPauzeer" -#: ../src/tray-icon2.c:136 -msgid "Pla_ylist" -msgstr "_Afspeellijst" +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "Venster naar de voorgrond halen" -#: ../src/tray-icon2.c:865 -msgid "Notification" -msgstr "" +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "Wisselen tussen venster" -#. * -#. * Append an introduction page -#. -#: ../src/setup-assistant.c:114 -msgid "" -"It is the first time you have launched gmpc.\n" -"This assistant will help you connect gmpc to your mpd daemon." -msgstr "" +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "Liedje weergeven" -#: ../src/setup-assistant.c:116 -msgid "Welcome to GMPC" -msgstr "" +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "Dempen aan/uit" -#: ../src/setup-assistant.c:135 -msgid "Setup connection" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" msgstr "" -#. * -#. * End -#. -#: ../src/setup-assistant.c:144 +#: ../src/mm-keys.c:367 msgid "" -"Gmpc is now ready for use.\n" -"Enjoy using gmpc." -msgstr "" - -#: ../src/setup-assistant.c:146 -msgid "Finish" +"Could not grab the following multimedia keys:\n" +"\n" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" -msgstr "Copyright 2003-2007 Qball Cow" - -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" -msgstr "" -"EneNL\n" -"\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" +"Dubbele instellingen van toets(en) gedetecteerd\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +"sommige multimediatoetsen werden dubbel ingesteld en werden uitgeschakeld. " +"Ga aub terug naar de instellingen en zorg ervoor dat de instellingen nu " +"correct zijn." + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +"%s is already mapped to %s" +msgstr "" +"Dubbele instellingen van toets gedetecteerd\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +"%s is reeds ingesteld als %s" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\t%s: %s\n" "\n" -"Launchpad Contributions:\n" -" PjotrAmslap https://launchpad.net/~pieterpalsma\n" -" Qball Cow https://launchpad.net/~qball-qballcow" - -#: ../glade/password-dialog.ui.h:1 -msgid "Enter your password for: ''" -msgstr "Voer uw wachtwoord voor '' in" - -#: ../glade/password-dialog.ui.h:2 -msgid "Password" -msgstr "Wachtwoord" - -#: ../glade/password-dialog.ui.h:3 -msgid "_Save password" -msgstr "_Sla wachtwoord op" - -#: ../glade/preferences-connection.ui.h:1 -msgid "Profile:" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." msgstr "" -#: ../glade/preferences-connection.ui.h:2 -msgid "Conn_ect" -msgstr "_Verbind" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "inschakelen" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "uitschakelen" -#: ../glade/preferences-connection.ui.h:3 -msgid "Host:" -msgstr "Host:" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 -msgid "Name:" -msgstr "Naam:" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 -msgid "Password:" -msgstr "Wachtwoord:" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 -msgid "Port:" -msgstr "Poort:" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" -#: ../glade/preferences-connection.ui.h:7 -msgid "Timeout (s):" -msgstr "Onderbreking (s):" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Stop na huidig liedje: De gebruikte MPD server is te oud en ondersteunt dit " +"niet." -#: ../glade/preferences-connection.ui.h:8 -msgid "_Autoconnect" -msgstr "Automatisch verbinden" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Stop na huidig liedje: Je hebt onvoldoende rechten." -#: ../glade/preferences-connection.ui.h:10 -msgid "_Use Authentication" -msgstr "Gebr_uik verificatie" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Afspelen zal stoppen na het momenteel spelend liedje." -#: ../glade/preferences-connection.ui.h:11 -msgid "localhost" -msgstr "localhost" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Herhaal huidig liedje: De gebruikte MPD server is te oud en ondersteunt dit " +"niet." -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "Schakel veld in:" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Herhaal huidig liedje: Je hebt onvoldoende rechten." -#: ../glade/preferences-esf-dialog.ui.h:2 -msgid "Example:" -msgstr "Voorbeeld:" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Het huidige liedje zal altijd worden herhaald." -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" +"Database updaten: De gebruikte MPD server is te oud en ondersteunt dit niet." -#: ../glade/preferences-esf-dialog.ui.h:4 -msgid "A_lbum" -msgstr "A_lbum" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Database updaten: Je hebt onvoldoende rechten." -#: ../glade/preferences-esf-dialog.ui.h:5 -msgid "Edit Song Formatting" -msgstr "Bewerk nummer opmaak" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "afspelen" -#: ../glade/preferences-esf-dialog.ui.h:6 -msgid "T_rack" -msgstr "T_rack" +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "afspelen starten" -#: ../glade/preferences-esf-dialog.ui.h:7 -msgid "_Artist" -msgstr "_Artiest" +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pauzeren" -#: ../glade/preferences-esf-dialog.ui.h:8 -msgid "_Date" -msgstr "_Datum" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "afspelen pauzeren" -#: ../glade/preferences-esf-dialog.ui.h:9 -msgid "_Stream name" -msgstr "_Naam stream" +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "volgende" -#: ../glade/preferences-esf-dialog.ui.h:10 -msgid "_Title" -msgstr "_Titel" +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "volgend liedje" -#: ../glade/preferences-esf-dialog.ui.h:11 -msgid "example" -msgstr "voorbeeld" +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "vorig" -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "" +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "vorig liedje" -#: ../glade/preferences-playlist.ui.h:2 -msgid "Playlist:" -msgstr "" +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "stop" -#: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Nummer opmaak" +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "afspelen stoppen" -#: ../glade/preferences-playlist.ui.h:4 -msgid "Center playing song" -msgstr "Spring naar huidig afgespeelde nummer" +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "willekeurig" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Bewerk _browser opmaak" +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Willekeurig (aan|uit)" -#: ../glade/preferences-playlist.ui.h:6 -msgid "Hide on close" -msgstr "Verbergen in plaats van sluiten" +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "herhaal" -#: ../glade/preferences-playlist.ui.h:7 -msgid "Save position and size between sessions" -msgstr "Onthoud positie en grootte tussen sessies" +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Herhaal (aan|uit)" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" +#: ../src/mpdinteraction.c:316 +msgid "single" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 -msgid "Stop playing on exit" +#: ../src/mpdinteraction.c:317 +msgid "consume" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "Style albumhoezen" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" -#: ../glade/preferences-plugins.ui.h:1 -msgid "Loaded Plugins:" -msgstr "Gelade plug-ins:" +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "volume" -#: ../glade/preferences-server.ui.h:1 -msgid "Crossfade:" -msgstr "Overvloeiing:" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volume (+-)" -#: ../glade/preferences-server.ui.h:2 -msgid "Output Devices:" -msgstr "Output apparaten:" +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "dempen" -#: ../glade/preferences-server.ui.h:3 -msgid "" -"You need to be connected\n" -"in order to change these settings" -msgstr "" -"U moet verbonden zijn om\n" -"deze instellingen aan te kunnen passen" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "crossfade" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Uit)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Crossfade " + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "uitvoer" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Inschakelen|uitschakelen)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "uitvoer X inschakelen of uitschakelen" -#: ../glade/preferences-server.ui.h:5 -msgid "Enable crossfade" -msgstr "Schakel overvloeiing in" +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Speel " -# fade time -> Fade time? -#: ../glade/preferences-server.ui.h:6 -msgid "fade time (s):" -msgstr "Overvloeitijd (s)" +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "voeg toe" -#: ../glade/preferences-trayicon.ui.h:1 -msgid "Inline messages" +#: ../src/mpdinteraction.c:329 +msgid "Add " msgstr "" -#: ../glade/preferences-trayicon.ui.h:2 -msgid "Notification Area Icon" -msgstr "Mededelingengebiedsicoon" - -#: ../glade/preferences-trayicon.ui.h:3 -msgid "PopUp" -msgstr "Pop-up" - -#: ../glade/preferences-trayicon.ui.h:4 -msgid "Enable" -msgstr "Inschakelen" - -#: ../glade/preferences-trayicon.ui.h:5 -msgid "Position:" -msgstr "Positie" +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "vervang" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Vervang " -#: ../glade/preferences-trayicon.ui.h:7 -msgid "Timeout:" -msgstr "Tijd:" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "zoeken" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Zoeken in het huidige liedje" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "stop na het huidige liedje" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "stop het spelen na het huidige liedje" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "herhaal huidig liedje" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Herhaal het huidig liedje" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "Database updaten" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "De database updaten" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "Bezig verbinding te maken" -#: ../glade/preferences-proxy.ui.h:2 -msgid "HTTP Proxy:" -msgstr "HTTP Proxy:" +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "Waardering Instellen" -#: ../glade/preferences-proxy.ui.h:5 -msgid "Use a proxy for internet connectivity" -msgstr "Gebruik een proxy voor internet verbinding" +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "MPD database is aan het updaten" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "MPD is zijn database aan het updaten" -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "MPD heeft zijn database geupdate" -#: ../glade/preferences.ui.h:1 +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "Verbonden" + +#: ../src/playlist3.c:887 msgid "" -"Plugins\n" -"None Selected" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" msgstr "" -"Plug-ins\n" -"Geen geselecteerd" +"Kon het interfacebeschrijvingsbestand niet openen!\n" +"Herinstalleer gmpc aub\n" -#: ../glade/preferences.ui.h:3 -msgid "gmpc - Configuration" -msgstr "gmpc - Configuratie" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" -#: ../glade/playlist-message-window.ui.h:1 -msgid "Messages" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../glade/playlist-save-dialog.ui.h:1 -msgid "" -msgstr "" +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "MPD databese vernieuwd op: %c" -#: ../glade/playlist-save-dialog.ui.h:2 -msgid "Playlist already exists." -msgstr "Afspeellijst bestaat al." +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "MPD geeft de volgende foutmelding" -#: ../glade/playlist-save-dialog.ui.h:3 -msgid "Save Playlist" -msgstr "Afspeellijsto opslaan" +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "Profiel" -#: ../glade/playlist-save-dialog.ui.h:4 -msgid "name:" -msgstr "Naam:" +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "Informatie" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 -msgid "item" -msgid_plural "items" -msgstr[0] "" -msgstr[1] "" +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "Van" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 -msgid "(Estimation)" -msgstr "(Schatting)" +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "Interface" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" -msgstr "Weet u zeker dat u de afspeellijst wil legen?" +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "Info" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "Tijd" -#. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 -msgid "Crop" -msgstr "Uitknippen" +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "Bericht" -#. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 -msgid "Shuffle" -msgstr "Willekeurig" +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Kan plugin niet laden" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 -msgid "Add URL" -msgstr "URL toevoegen" +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "Plugin heeft geen naam" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 -#, c-format -msgid "" -"Playlist \"%s\" already exists\n" -"Overwrite?" +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" msgstr "" -"Afspeellijst \"%s\" bestaat al\n" -"Overschrijven?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 -msgid "Failed to save the playlist file." -msgstr "" +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "plugin mist set/get enable functie" -#: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 -msgid "File Browser" -msgstr "Bestandsbrowser" +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "plugin browser structuur is incorrect" -#: ../src/browsers/playlist3-file-browser.c:179 -msgid "Directories" -msgstr "" +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "plugin metadata structuur is incorrect" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "plugin get_image api is verouderd " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "plugin get_uris api is verouderd " + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "plugin voorkeur structuur is incorrect" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Kan de plugin instantie niet creëren" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/plugin.c:256 #, c-format -msgid "Added folder '%s' recursively" +msgid "Plugin %s has wrong api version: %i" +msgstr "Plugin %s heeft verkeerde api versie: %i" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" msgstr "" -#. add the replace widget -#. replace the replace widget -#. add the replace widget -#. Play button -#. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 -msgid "Replace" +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" msgstr "" +"één of meerdere plugins konden niet geladen worden, zie help->berichten voor " +"meer informatie" -#. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 -msgid "Update" -msgstr "Bijwerken" +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "Plugins" -#: ../src/browsers/playlist3-file-browser.c:758 -msgid "Loaded playlist" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versie" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "Browser extentie" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 -msgid "Added" -msgstr "Toegevoegd" +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "Diversen" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 -msgid "song" -msgid_plural "songs" -msgstr[0] "" -msgstr[1] "" +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "Onbekend" -#: ../src/browsers/playlist3-file-browser.c:1033 -msgid "directory" -msgid_plural "directories" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "stream" +msgstr[1] "streams" -#: ../src/browsers/playlist3-file-browser.c:1035 -msgid "playlist" -msgid_plural "playlists" -msgstr[0] "" -msgstr[1] "" +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "1 stream toegevoegd" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 -msgid "Are you sure you want to clear the selected playlist?" -msgstr "Weet u zeker dat u de gekozen afspeellijst wil legen?" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Kon lokaal bestand niet openen" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "Uri schema wordt niet ondersteund" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "Melding" -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." msgstr "" +"Dit is de eerste keer dat je gmpc laad.\n" +"Deze assistent zal je helpen met het verbinden van gmpc met jouw mpd daemon." -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 -msgid "Search" -msgstr "Zoeken" +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "Welkom bij GMPC" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "Connectie opzetten" -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." msgstr "" +"Gmpc is nu klaar voor gebruik.\n" +"Geniet van gmpc." -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "Voltooien" -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" msgstr "" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Artiest" - -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Genre" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titel" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Track" +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "Profiel:" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Componist" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Muziekmap:" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "" +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "Afspeellijst:" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "Songlist werkbalktips weergeven" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "" +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "Afspelen stoppen bij afsluiten" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "Proxy instellingen" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "Authenticatie gebruiken" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Gebruikersnaam:" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "Berichten" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "item" +msgstr[1] "items" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "Wissel wachtrij" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Wissel naar wachtrij" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Wachtrij leegmaken" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Huidig liedje inkorten" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "Kort de afspeellijst in zodat ze enkel het huidige liedje bevat" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "Jouw mpd heeft een beschadigde 'addid', plakken zal mislukken." -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "Kan de afspeellijst niet opslaan naar bestand." -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Wachtrij" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "Mappen" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" +"Het lijkt erop dat er geen muziek is in jouw database.\n" +"Om muziek toe te voegen, kopieer de muziek naar music_directory zoals " +"opgegeven in jouw mpd configuratie bestand.\n" +"Update dan de database (Server->Update Database)" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Metadatabrowser" +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Laat huidige nummer zien" +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 +#: ../src/browsers/playlist3-playlist-editor.c:451 msgid "New playlist" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" msgstr "" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" msgstr "" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Opmaak" - -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" #: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disc" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Commentaar" +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Kolommen bewerken" - -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Profiel verwijderd" - -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Opnieuw halen" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "vanwege encoderingsproblemen" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Album info ophalen" - -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Niet beschikbaar" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Tekstdocument" - -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Alles" - -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 msgid "Loading" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 +#: ../src/vala/gmpc-song-links.c:151 msgid "Update list from internet" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "" - -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/vala/gmpc-song-links.c:629 #, c-format msgid "Lookup %s on %s" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "Er trad een fout op" - -#~ msgid "Sort by:" -#~ msgstr "Sorteer op:" - -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "De geconfigureerde tagbrowser zal alleen worden " -#~ "gebruikt met Mpd versie 0.12 of hoger." - -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Bij het mededelingengebiedsicoon\n" -#~ "Linkerboven hoek\n" -#~ "Rechterboven hoek\n" -#~ "Linkeronder hoek\n" -#~ "Rechteronder hoek" - -#~ msgid "Error Dialog" -#~ msgstr "Foutdialoog" - -#~ msgid "Error msg" -#~ msgstr "Foutbericht" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Geen\n" -#~ "Artiest\n" -#~ "Album\n" -#~ "Titel\n" -#~ "Nummer\n" -#~ "Naam\n" -#~ "Genre\n" -#~ "Datum\n" -#~ "Composer\n" -#~ "Uitvoerende\n" -#~ "Commentaar\n" -#~ "Disc" - -#~ msgid "_Reconnect" -#~ msgstr "_Herverbinden" - -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Probeer gmpc uit te voeren met een verkeerde versie van libmpd" - -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "Gmpc is momenteel verbonden met een versie van Mpd onder de 0.12.0.\n" -#~ "Misschien werkt het, maar het wordt niet meer ondersteund." - -#~ msgid "" -#~ "A new metadata plugin was added, gmpc will now purge all missing metadata " -#~ "from the cache" -#~ msgstr "" -#~ "Een nieuwe metadata plug-in was toegevoegd, gmpc zal nu alle missende " -#~ "metadata van het cache leegmaken" - -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Kon geen contact krijgen met: '%s'" - -#~ msgid "And" -#~ msgstr "En" - -#~ msgid "Or" -#~ msgstr "Of" - -#~ msgid "Genre:" -#~ msgstr "Genre:" - -#~ msgid "Date:" -#~ msgstr "Datum:" - -#~ msgid "Album:" -#~ msgstr "Album:" - -#~ msgid "Track:" -#~ msgstr "Track:" - -#~ msgid "Composer:" -#~ msgstr "Componist:" - -#~ msgid "Dirname:" -#~ msgstr "Foldernaam:" - -#~ msgid "Tracks:" -#~ msgstr "Tracks:" - -#~ msgid "Directory:" -#~ msgstr "Folder:" - -#~ msgid "New accelerator..." -#~ msgstr "Nieuwe sneltoets..." - -#~ msgid "Accelerator key" -#~ msgstr "Sneltoets" - -#~ msgid "Accelerator modifiers" -#~ msgstr "Sneltoets-optietoetsen" - -#~ msgid "Accelerator keycode" -#~ msgstr "Sneltoets-waarde" - -#~ msgid "Accel Mode" -#~ msgstr "Sneltoetsmodus" - -#~ msgid "The type of accelerator." -#~ msgstr "Het soort sneltoets." - -#~ msgid "Center opened folder" -#~ msgstr "Spring naar geopende folder" - -#~ msgid "_Edit Playlist Markup" -#~ msgstr "Bewerk _afspeellijst opmaak" - -#~ msgid "gmpc" -#~ msgstr "gmpc" - -#~ msgid "Not Playing" -#~ msgstr "Speelt niets af" - -#~ msgid "N/A" -#~ msgstr "n.v.t." - -#~ msgid "Current Playlist" -#~ msgstr "Huidige afspeellijst" - -#~ msgid "Size" -#~ msgstr "Grootte" - -#~ msgid "Size of the image" -#~ msgstr "Grootte van de afbeelding" - -#~ msgid "Draw a border around the image" -#~ msgstr "Teken een rand om de afbeelding heen" - -#~ msgid "Draw a shadow under the image" -#~ msgstr "Teken een schaduw onder de afbeelding" - -#~ msgid "Length" -#~ msgstr "Duur" - -#~ msgid "Pos" -#~ msgstr "Pos" - -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "Pas nadat u herverbonden heeft, worden veranderingen " -#~ "toegpast" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#~ msgid "Format" -#~ msgstr "Opmaak" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#~ msgid "Comment:" -#~ msgstr "Commentaar:" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#~ msgid "Disc:" -#~ msgstr "Disc:" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#~ msgid "Filename:" -#~ msgstr "Bestandsnaam:" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#~ msgid "Length:" -#~ msgstr "Duur:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#~ msgid "A_lbum text" -#~ msgstr "Al_bum-text" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" -#~ msgid "A_rtist Art" -#~ msgstr "A_rtist-art" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" -#~ msgid "Ar_tist Text" -#~ msgstr "Ar_tist-text" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" -#~ msgid "Refetch Artist Art" -#~ msgstr "Opnieuw artist-art halen" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#~ msgid "Refetch cover art" -#~ msgstr "Opnieuw cover-art halen" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Select A File" -#~ msgstr "Kies een bestand" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "gmpc - song info" -#~ msgstr "gmpc - track informatie" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#~ msgid "days" -#~ msgstr "dagen" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "hours" -#~ msgstr "uren" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "minutes" -#~ msgstr "minuten" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#~ msgid "Browse Artists" -#~ msgstr "Artiesten doorbladeren" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" -#~ msgid "albums" -#~ msgstr "Albums" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#~ msgid "Browse Filesystem" -#~ msgstr "Bestandssysteem doorbladeren" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "Working...." -#~ msgstr "Werkt..." +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Save Lyric" -#~ msgstr "Songtekst opslaan" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" -#~ msgid "_Next" -#~ msgstr "Vo_lgende" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "_Previous" -#~ msgstr "Vo_rige" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" -#~ msgid "Search in playlist" -#~ msgstr "Zoeken in afspeellijst" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Statistics:" -#~ msgstr "Statistieken:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Albums:" -#~ msgstr "Albums:" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Artists:" -#~ msgstr "Artiesten:" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Uptime:" -#~ msgstr "Uptime:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Edit Cover Art" -#~ msgstr "Bewerk cover-art" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Enable Covert Art" -#~ msgstr "Schakel cover-art in" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" -#~ msgid "Remove Image" -#~ msgstr "Verwijder afbeelding" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "Add Location" -#~ msgstr "Voeg locatie toe" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" -#~ msgid "Url:" -#~ msgstr "URL:" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "%i %s %02i %s %02i %s" -#~ msgstr "%i %s %02i %s %02i %s" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" -#~ msgid "Playlist interface:" -#~ msgstr "Afspeellijst interface:" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Type of the image, like artist art" -#~ msgstr "Afbeeldingssoort, zoals artist art" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Pl_ay/Pause" -#~ msgstr "Sp_eel/Pauzeer" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" -#~ msgid "_Stop" -#~ msgstr "_Stop" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "" -#~ "Enter a local or remote stream or " -#~ "playlist" -#~ msgstr "" -#~ "Voer een lokale of niet-lokale stream of " -#~ "afspeellijst in" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "You can drop a link or file directly from a browser on this window." -#~ msgstr "" -#~ "U kunt een link of bestand vanuit een browser direct naar dit venster slepen," +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Add Online Stream list" -#~ msgstr "Voeg Online Stream lijst toe" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" -#~ msgid "Clear cover art cache" -#~ msgstr "Wis cover-art cache" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" -#~ msgid "Cover Art Manager" -#~ msgstr "Cover-art beheer" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" -#~ msgid "Cover Art Viewer" -#~ msgstr "Cover-art bekijken" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "" -#~ "Gmpc doesn't fetch the cover art itself.\n" -#~ "To fetch covers it uses providers plugins.\n" -#~ "These plugins fetch the cover image and stores them locally.\n" -#~ "You can download provider plugins: http://cms.qballcow.nl/" -#~ msgstr "" -#~ "Gmpc haalt covert art niet zelf.\n" -#~ "Dat laat het over aan plug-ins.\n" -#~ "Deze plug-ins halen de coverafbeeldingen en slaan die op.\n" -#~ "U kunt plug-ins downloaden op: http://cms.qballcow.nl/" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "" -#~ "GMPC requires threading support.\n" -#~ "quiting.." -#~ msgstr "" -#~ "GMPC heeft threading support nodig.\n" -#~ "Sluit af..." +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Status Icon" -#~ msgstr "Status icoon" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Show Column Headers" -#~ msgstr "Toon kolomheaders" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/pl.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/pl.po --- gmpc-0.18.0/po/pl.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/pl.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,324 +7,159 @@ msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-14 00:01+0000\n" -"Last-Translator: Mateusz Szyper \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-06-10 01:51+0000\n" +"Last-Translator: mazdac \n" "Language-Team: pl_PL \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" "X-Poedit-Country: Poland\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" -msgstr "Nakładka środowiska GNOME na demona mpd" +msgstr "Nakładka środowiska GNOME na serwer MPD" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Client" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Potrzebujesz pomocy?" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." -msgstr "Baza danych MPD jest uaktualniana." +msgstr "Baza danych MPD jest aktualizowana." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Wycisz" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Następny" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Odtwarzaj/Wstrzymaj" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Poprzedni" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profile" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Losuj" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Powtarzaj" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Dziennik zdarzeń" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Zatrzymaj" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Odwiedź stronę domową" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Zwiń interfejs" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Połącz" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Sterowanie" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Rozłącz" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Rozwiń nterfejs" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Pełny ekran" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Idź" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Pomoc" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muzyka" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opcje" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Wyślij hasło" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Serwer" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" -msgstr "_Pokaż obraz wykonawcy" +msgstr "_Wyświetl obraz wykonawcy" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Widok" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "GMPC - menedżer list odtwarzania" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/ścieżka/do/nazwa_pliku.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Śpiewaj lub tańcz, jak chcesz" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Lut 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Serwer strumieniujący mpd." - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Serwer pośredniczący" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Nie można załadować systemu konfiguracji" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Nie można wczytać pliku logowania odpluskwiania." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Nie można ustawić libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." -msgstr "GMPC ma niewystarczające prawa dostępu do demona mpd." +msgstr "GMPC ma niewystarczające prawa dostępu do serwera MPD." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -333,143 +168,28 @@ "Nie można ustawić hasła dla: '%s'\n" "Spróbuj ponownie." -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Wprowadź hasło dla: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "kod błędu" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" -msgstr "Niewystarczające prawa do połączenia z demonem mpd. Sprawdź hasło." +msgstr "Niewystarczające prawa do połączenia z serwerem MPD. Sprawdź hasło." -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" -msgstr "Wersje MPD starsze niż 0.13.0 nie są obsługiwane." - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Napotkano błąd podczas wykonywania operacji" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Napotkano następujące błędy:" +msgstr "Wersje MPD starsze od 0.13.0 nie są obsługiwane." -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Wiadomość o błędzie" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Wersja" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Rewizja" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "wersja Libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "wersja GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "wersja Libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Strona WWW" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Opcje włączone" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Zarządzanie sesją X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Włączone" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Wyłączone" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Wspieranie NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Klawisze multimedialne" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Ikona Libegg w trayu." - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -477,15 +197,11 @@ "Dodano nową wtyczkę metadanych, GMPC oczyścił pamięć podręczną ze wszystkich " "brakujących wpisów" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Operator metadanych" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " całkowity czas: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "dzień" @@ -499,20 +215,14 @@ msgstr[1] "godziny" msgstr[2] "godzin" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Nie można wykonać" @@ -558,19 +268,14 @@ #. * MM_VOLUME_DOWN #: ../src/mm-keys.c:86 msgid "Show song" -msgstr "Pokaż utwór" +msgstr "Wyświetl utwór" #. * MM_SHOW_NOTIFICATION #: ../src/mm-keys.c:87 msgid "Toggle Mute" msgstr "Przełącz wyciszenie" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -578,7 +283,7 @@ "Nie można przechwycić następujących klawiszy multimedialnych:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -588,7 +293,7 @@ "Upewnij się czy twój menadżer okien (lub inny program) nie ma już " "przypisanego tego klawisza do innej funkcji, potem zrestartuj GMPC." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -600,15 +305,11 @@ "Wykryto duplikaty przypisania klawiszy multimedialnych, zablokowano je. " "Przejdź do Preferencji i upewnij się czy twoje ustawienia są teraz poprawne." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Klawisze multimedialne" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -625,391 +326,265 @@ "Upewnij się czy twój menadżer okien (lub inny program) nie ma już " "przypisanego tego klawisza do innej funkcji, potem zrestartuj GMPC." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Akcja" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Skrót" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Wyłącz" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Ustawienia serwera" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Połączenie" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Łączenie" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "z albumu" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "tego wykonawcy" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "z gatunku" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "z tego samego katalogu" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Dodaj więcej" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" -msgstr "Baza danych mpd jest uaktualniana" - -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" +msgstr "Baza danych MPD jest aktualizowana." -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Połączony" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Niepołączony" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Połączony z" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Rozłączony" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Powtarzaj: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Włączone" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Wyłącz" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Losuj: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" -msgstr "Mpd zwrócił następujący błąd" +msgstr "MPD zwrócił następujący błąd" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "dodano" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "zmieniona host na:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" -msgstr "Zaktualizuj bazę danych" +msgstr "Aktualizuj bazę danych" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "przez" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "od" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Nie odtwarza" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interfejs" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Informacje" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Ostrzeżenie" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Krytyczny" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Czas" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Wiadomość" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Nie powiodło sie ładowanie jednej lub wielu wtyczek. Więcej informacji: " "Pomoc->Dziennik zdarzeń." -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" -msgstr "" - -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Wtyczki:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Włączone" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nazwa" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funkcja" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Wersja" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Sztuczny" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Rozszerzenie przeglądarki" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Dostawca metadanych" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Dostawcy metadanych i rozszerzenie przeglądarki" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Inne." -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Nieznany" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Szukaj:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Dodano %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "strumień" msgstr[1] "strumienie" msgstr[2] "strumieni" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Dodano 1 strumień" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Wprowadź url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Bieżąca lista odtwarzania" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Powiadamianie" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" "Po raz pierwszy uruchomiono GMPC.\n" -"Ten kreator pomoże Ci połączyć GMPC z demonem mpd." +"Ten kreator pomoże Ci połączyć GMPC z serwerem MPD." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Witaj w GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Ustawienia połączenia" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1017,7 +592,7 @@ "GMPC jest gotowy do użytku.\n" "Miłego użytkowania." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Zakończ" @@ -1073,6 +648,11 @@ "Launchpad Contributions:\n" " Mateusz Szyper https://launchpad.net/~mateyko5\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" +" mazdac https://launchpad.net/~mazdac\n" +"\n" +"Launchpad Contributions:\n" +" Mateusz Szyper https://launchpad.net/~mateyko\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" " mazdac https://launchpad.net/~mazdac" #: ../glade/password-dialog.ui.h:1 @@ -1099,33 +679,33 @@ msgid "Host:" msgstr "Komputer:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nazwa:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Hasło:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Limit czasu odpowiedzi (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Autopołączenie" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Użyj uwierzytelniania" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1182,38 +762,26 @@ msgstr "Lista odtwarzania:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Schemat dla utworów" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centruj odtwarzany utwór" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Modyfikuj _schemat przeglądarki znaczników" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Ukryj przy wyjściu" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Zachowaj położenie i rozmiar pomiędzy uruchomieniami" -#: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" -msgstr "Pokaż podpowiedzi listy odtwarzania" +msgstr "Wyświetl podpowiedzi listy odtwarzania" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Zatrzymaj odtwarzanie przy wyjściu" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Stylizuj okładki albumów" @@ -1265,18 +833,14 @@ msgid "Position:" msgstr "Położenie:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" -msgstr "Pokaż tylko" +msgstr "Wyświetl tylko" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Czas wyświetlania:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "Serwer pośredniczący HTTP" @@ -1285,14 +849,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Użyj serwera pośredniczącego do komunikacji z internetem" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1325,63 +881,45 @@ msgid "name:" msgstr "nazwa:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "pozycja" msgstr[1] "pozycje" msgstr[2] "pozycji" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Pozostało)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Bieżąca lista odtwarzania" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Czy jesteś pewny, że chcesz wyczyścic listę odtwarzania?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" -"Twój demon mpd nie odbsługuje poprawnie 'addid', wklejanie nie powiedzie się." +"Twój serwer MPD nie odbsługuje poprawnie 'addid', wklejanie nie powiedzie " +"się." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Wytnij" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Tasuj" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Dodaj URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1390,29 +928,26 @@ "Lista odwtarzania \"%s\" już istnieje\n" "Zastąpić?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Zapisywanie listy odtwarzania do pliku nie powiodło się." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Bieżąca lista odtwarzania" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Przeglądarka plików" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Katalogi" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Dodano katalog '%s\" rekursywnie" @@ -1420,1092 +955,1504 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Zastąp" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" -msgstr "Uaktualnij" +msgstr "Aktualizuj" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "Wczytana lista odtwarzania" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Dodano" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "utwór" msgstr[1] "utwory" msgstr[2] "utworów" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "katalog" msgstr[1] "katalogi" msgstr[2] "katalogów" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "lista odtwarzania" msgstr[1] "listy odtwarzania" msgstr[2] "list odtwarzania" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Jesteś pewny że chcesz wyczyścić zaznaczoną listę odtwarzania?" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Szukaj" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Eytor list odtwarzania" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nowa lista odtwarzania" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Zmień nazwę listy odtwarzania" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Niedostępne" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Zmień nazwę" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Pobieranie..." +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Dodaj do listy odtwarzania" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Przeglądaj" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Przeglądarka znaczników" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Schemat" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Wykonawca" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Tytuł" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Plik" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Gatunek" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Rocznik" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Numer ścieżki" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Kompozytor" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Tytuł" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Przygotowujący" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Rocznik" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Czas trwania" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Płyta" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Numer ścieżki" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Komentarz" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Kompozytor" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Id ikony" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Przygotowujący" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Położenie" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Katalog" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "Extension" msgstr "Rozszerzenie" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Katalog" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Wklej przed" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Wklej za" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Modyfikuj kolumny" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Dodano profil" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Usunięto profil" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Pobierz ponownie" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Wybierz plik" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "Wyświetlon tylko %i pierwszych wyników, sprecyzuj swoje zapytanie" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Nie można otworzyć pliku:" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Znajdź wykonawcę:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Gatunek:" -msgstr[1] "Gatunki:" -msgstr[2] "Gatunków:" - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Rocznik: " -msgstr[1] "Roczniki: " -msgstr[2] "Roczników: " +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "przez problemy z kodowaniem" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Informacje o wykonawcy:" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Pobieranie informacji o wykonawcy" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Pobieranie informacji o albumie" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Niedostępne" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Wybierz plik" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "informacje o albumie:" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Dokument tekstowy" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Wszystko" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Obrazy" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Rozmiar" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Niedostępne" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 +#: ../src/vala/gmpc-metadata-browser2.c:2124 msgid "Metadata Browser" msgstr "Przeglądarka metadanych" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Pokaż aktualny utwór" +#~ msgid "Song Markup" +#~ msgstr "Schemat dla utworów" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sek" +#~ msgid "_Server" +#~ msgstr "_Serwer" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/ścieżka/do/nazwa_pliku.mp3" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "" +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "" +#~ msgid "Sing or Swing you want" +#~ msgstr "Śpiewaj lub tańcz, jak chcesz" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Lut 2006" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#~ msgid "--version" +#~ msgstr "--version" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "View" +#~ msgstr "Przeglądaj" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#~ msgid "kbit/sec" +#~ msgstr "kbit/sek" + +#~ msgid "Find Artist:" +#~ msgstr "Znajdź wykonawcę:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Gatunek:" +#~ msgstr[1] "Gatunki:" +#~ msgstr[2] "Gatunków:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Rocznik: " +#~ msgstr[1] "Roczniki: " +#~ msgstr[2] "Roczników: " + +#~ msgid "Artist info:" +#~ msgstr "Informacje o wykonawcy:" + +#~ msgid "Album info:" +#~ msgstr "informacje o albumie:" + +#~ msgid "The orientation of the tray." +#~ msgstr "Położenie obszaru powiadamiania" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Modyfikuj _schemat przeglądarki znaczników" + +#~ msgid " Total time: " +#~ msgstr " całkowity czas: " + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "Wyświetlon tylko %i pierwszych wyników, sprecyzuj swoje zapytanie" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "Fetching..." +#~ msgstr "Pobieranie..." + +#~ msgid "MPD's Streaming server" +#~ msgstr "Serwer strumieniujący MPD." + +#~ msgid "Show Current Song" +#~ msgstr "Wyświetl bieżący utwór" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informacje o błędach" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Pomoc do Łatwych Poleceń" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Eytor list odtwarzania" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Narzędzia" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Nowa lista odtwarzania" +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Wyświetl wersję i rewizję programu" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Zmień nazwę listy odtwarzania" +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Zakończ uruchomiony GMPC" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Zmień nazwę" +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Zastąp ucuhomiony GMPC" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Dodaj do listy odtwarzania" +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Nie wczytuj wtyczek" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." -msgstr "" +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Wczytaj alternatywny plik konfiguracji" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" -msgstr "" +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Ustaw poziom odpluskiwania" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Przeglądarka znaczników" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Uruchom GMPC ukryty w obszarze powiadamiania" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Usuń wszystkie błędne wyniki z pamięci podręcznej metadanych" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" -msgstr "" +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Wyświetl okno dialogowe informacji o błędzie" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/main.c:438 +msgid "quit" +msgstr "zakończ" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Zamknij GMPC" + +#: ../src/main.c:440 +msgid "hide" +msgstr "ukryj" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Ukryj GMPC" + +#: ../src/main.c:442 +msgid "show" +msgstr "wyświetl" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Wyświetl GMPC" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "wyświetl powiadomienie" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Wyświetl powiadomienie ikony obszaru powiadomień" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "Podłączony do MPD" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "Odłączony od MPD" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Podczas operacji wystąpił błąd" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Wystąpiły następujące błędy:" + +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Wyświel wpis łatwych poleceń" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" msgstr "" +"Wykryto wielokrotne przypisania\n" +"\n" +"%s jest już przypisany do %s" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "włącz" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "wyłącz" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" +"Zatrzymaj po bieżącym utworze: Używany serwer MPD jest zbyt stary i nie " +"obsługuje tej funkcji" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Zatrzymaj po tym utworze: Masz niewystarczająće uprawnienia" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Odtwarzanie zostanie zatrzymane po bieżąco odtwarzanym utworze" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" +"Powtórz ten utwór: Używany serwer MPD jest zbyt stary i nie obsługuje tej " +"funkcji" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Powtórz ten utwór: Masz niewystarczające uprawnienia" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Bieżąco odtwarzany utwór będzie powtarzany w nieskończoność" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" +"Aktualizuj bazę danych: Używany serwer MPD jest zbyt stary i nie obsługuje " +"tej funkcji" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Położenie obszaru powiadamiania" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Aktualizuj bazę danych: Masz niewystarczające uprawnienia" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Schemat" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "odtwarzaj" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Plik" +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "rozpocznij odtwarzanie" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Płyta" +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pauzuj" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Komentarz" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "pauzuj odtwarzanie" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Id ikony" +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "następny" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Położenie" +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "następny utwór" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "poprzedni" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "poprzedni utwór" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "zatrzymaj" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "zatrzymaj odtwarzanie" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "losuj" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Losowanie (wł|wył)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "powtarzaj" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Powtarzanie (wł|wył)" + +#: ../src/mpdinteraction.c:316 +msgid "single" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Wklej przed" +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Wklej za" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Modyfikuj kolumny" +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "głośność" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Dodano profil" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Głośność (+-)" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Usunięto profil" +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "wycisz" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Pobierz ponownie" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "przejście" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Wył)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Ustaw przejście " + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "wyjście" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Włączone|Wyłączone)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "wyjście X włączone lub wyłączone" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Wybierz plik" +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Odtwarzaj " -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Nie można otworzyć pliku:" +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "dodaj" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "przez problemy z kodowaniem" +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Dodaj " -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Pobieranie tekstu utworu" +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "zastąp" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Pobieranie informacji o wykonawcy" +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Zastąp " -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Pobieranie informacji o albumie" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "przeskocz" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Przeskocz wewnątrz bieżącego utworu" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "zatrzymaj po bieżąco odtwarzanym utworze" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Zatrzymaj odtwarzanie po bieżąco odtwarzanym utworze" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "powtarzaj bieżący" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Powtarzaj bieżący utwór" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "aktualizuj bazę danych" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Zktualizuj bazę danyc" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Niedostępne" +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "Ustaw ocenę" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Wybierz plik" +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "MPD aktualizuje swoją bazę danych" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Dokument tekstowy" +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "MPD zaktualizował swoją bazę danych" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Wszystko" +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"Otworzenie pliku opisu interfejsu nie powiodło się!\n" +"Proszę przeinstalować GMPC\n" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Obrazy" +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "Baza danych MPD odświeżona: %c" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "Informacje" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Ładowanie wtyczek nie powiodło się" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "wtyczka nie ma nazwy" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "brak funkcji włączania set/get we wtyczce" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "struktura przeglądarki wtyczki jest nieprawidłowa" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "struktura metadanych wtyczki jest nieprawidłowa" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "funkcja get_image api wtyczek jest przestarzała " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "funckcja get_uris api wtyczek jest przestarzała " + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "Struktura ustawień wtyczki jest nieprawidłowa" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Utworzenie instancji wtyczki nie powiodło się" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Przypisanie symbolu do wtyczki nie powiodło się" + +#: ../src/plugin.c:256 #, c-format -msgid "Lookup %s on %s" +msgid "Plugin %s has wrong api version: %i" +msgstr "Wtyczka %s ma złą wersję api: %i" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "Wtyczka %s ma złą strukturę: %s" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "Wtyczki" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Otworzenie lokalnego pliku nie powiodło się" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "Schemat Uri nieobsługiwany" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" -#~ msgid "An Error Occured" -#~ msgstr "Napotkano błąd" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" -#~ msgid "Name:" -#~ msgstr "Nazwa:" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "Sortuj według:" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Skonfigurowana przeglądarka znaczników będzie " -#~ "działać tylko z mpd w wersji 0.12 lub wyższej" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Nad ikoną w obszarze powiadamiania\n" -#~ "Górny lewy róg\n" -#~ "Górny prawy róg\n" -#~ "Dolny lewy róg\n" -#~ "Dolny prawy róg" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" -#~ msgid "Error Dialog" -#~ msgstr "Dialog o błędzie" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" -#~ msgid "Error msg" -#~ msgstr "Wiadomość o błędzie" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Brak\n" -#~ "Wykonawca\n" -#~ "Album\n" -#~ "Tytuł\n" -#~ "Numer ścieżki\n" -#~ "Nazwa\n" -#~ "Gatunek\n" -#~ "Rocznik\n" -#~ "Kompozytor\n" -#~ "Przygotowujący\n" -#~ "Komentarz\n" -#~ "Płyta" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" -#~ msgid "_Reconnect" -#~ msgstr "Połącz p_onownie" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "informacje i ważniejsze\n" -#~ "ostrzeżenia i ważniejsze\n" -#~ "błędy\n" -#~ "wyłącz" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Music Player Client\n" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Próbujesz uruchomić GMPC ze złą wersją libmpd." +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" -#~ msgid "Failed to load the configuration system" -#~ msgstr "Nie można załadować systemu konfiguracji" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Katalog muzyki:" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "" -#~ "GMPC jest połączony z demonem mpd w wersji niższej niż 0.12.0\n" -#~ "Taka konfiguracja może funkcjonować, ale nie jest już wspierana." +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "Wyświetl przyciski zamiast rozwijanego menu w widoku zwiniętym" -#~ msgid "Connected to mpd" -#~ msgstr "Połączono z mpd" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" -#~ msgid "" -#~ "A new metadata plugin was added, gmpc will now purge all missing metadata " -#~ "from the cache" -#~ msgstr "" -#~ "Dodano nową wtyczkę metadancyh, GMPC oczyści pamięć podręczną ze wszystkich " -#~ "brakujących metadanych" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "Ustawienia pośrednika" -#~ msgid "Plugins" -#~ msgstr "Wtyczki" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "Użyj uwierzytelniania" -#~ msgid "Plugins:" -#~ msgstr "Wtyczki:" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Nazwa użytkownika:" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Nie można podłączyć się do url: '%s'" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "Aby wyłączyć przypisanie klawisza, wyedytuj je i wciśnij 'backspace'" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Nie można przetworzyć linku listy odtwarzania" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "przełącz kolejkę odtwarzania" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Przełącz do kolejki odtwarzania" -#~ msgid "And" -#~ msgstr "i" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Oczyść kolejkę odtwarzania" -#~ msgid "Or" -#~ msgstr "lub" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Wytnij bieżący utwór" -#~ msgid "Search" -#~ msgstr "Szukaj" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "Wytnij listę odwarzania aby zawierała jedynie bieżący utwór." -#~ msgid "Search in current _play queue" -#~ msgstr "Szukaj w bieżącej liście odtwarzania" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Wygląda na to, że nie masz muzyki w swojej bazie danych.\n" +"Aby dodać muzykę, skopiuj lub przenieś ją do katalogu music_directory " +"który ustawiłeś w pliku konfiguracyjnym MPD.Potem zaktualizuj bazę danych. " +"(Serwer->Aktualizuj bazę danych)" -#~ msgid "Artist:" -#~ msgstr "Wykonawca:" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "Zapytanie" -#~ msgid "Songs:" -#~ msgstr "Utwory:" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "Baza danych" -#~ msgid "PlayTime:" -#~ msgstr "Czas odtwarzania:" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Lista odtwarzania" -#~ msgid "Genre:" -#~ msgstr "Gatunek:" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "Wyszukiwanie nie powiodło się" -#~ msgid "Date:" -#~ msgstr "Rocznik:" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "Dodaj wszystko" -#~ msgid "Collection" -#~ msgstr "Kolekcja" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "przełącz wyszukiwanie" -#~ msgid "Album:" -#~ msgstr "Album:" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "Przełącz do przeglądarki wyszukiwań" -#~ msgid "Track:" -#~ msgstr "Numer:" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "przeszukaj bazę danych" -#~ msgid "Composer:" -#~ msgstr "Kompozytor:" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Przeszukaj bazę danych " -#~ msgid "Performer:" -#~ msgstr "Przygotowujący:" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "przeszukaj listę odtwarzania" -#~ msgid "Dirname:" -#~ msgstr "Nazwa katalogu:" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Przeszukaj listę odtwarzania " -#~ msgid "Extension:" -#~ msgstr "Rozszerzenia:" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "Przeglądarka wyszukiwań" -#~ msgid "Lyric:" -#~ msgstr "Tekst utworu:" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Ulubione" -#~ msgid "Links" -#~ msgstr "Linki" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Listy odtwarzania" -#~ msgid "Artist info:" -#~ msgstr "Informacje o wykonawcy:" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Odtwarzany utwór został dodany do listy ulubionych" -#~ msgid "Albums:" -#~ msgstr "Albumy:" +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Dodaj bieżący utwór do ulubionych" -#~ msgid "Similar Artists:" -#~ msgstr "Podobni wykonawcy:" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Wyzeruj przeglądarkę" -#~ msgid "Album info:" -#~ msgstr "Informacje o albumie:" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "Informacje o serwerze" -#~ msgid "Songs:" -#~ msgstr "Utwory:" +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "Serwer" -#~ msgid "Tracks:" -#~ msgstr "Ścieżek:" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "Całkowity czas pracy" -#~ msgid "Directory:" -#~ msgstr "Katalog:" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "Czas odtwarzania" -#~ msgid "New accelerator..." -#~ msgstr "Nowy skrót..." +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "Całkowity czas odtwarzania" -#~ msgid "Accelerator key" -#~ msgstr "Klawisz skrótu" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "Liczba artystów" -#~ msgid "Accelerator modifiers" -#~ msgstr "Modyfikatory skrótu" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "Liczba albumów" -#~ msgid "Accelerator keycode" -#~ msgstr "Kod klawisza skrótu" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "Liczba utworów" -#~ msgid "Accel Mode" -#~ msgstr "Tryb skrótu" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "Pomocnicy URL" -#~ msgid "The type of accelerator." -#~ msgstr "Typ skrótu." +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "Typy znaczników" -#~ msgid "Title:" -#~ msgstr "Tytuł:" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "Statystyki znaczników" -#~ msgid "Duration:" -#~ msgstr "Czas trwania:" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "WykonawcaAlbumu" -#~ msgid "Center opened folder" -#~ msgstr "Centruj otwarty katalog" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Narzędzia" -#~ msgid "_Edit Playlist Markup" -#~ msgstr "Modyfikuj sch_emat listy odtwarzania" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "Przełącznik metadanych" -#~ msgid "gmpc" -#~ msgstr "GMPC" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "Pobieranie słów" -#~ msgid "Not Playing" -#~ msgstr "Bezczynny" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#~ msgid "MPD Server" -#~ msgstr "Serwer mpd" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "nd" -#~ msgid "MPD Version" -#~ msgstr "Wersja mpd" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Ładowanie" -#~ msgid "N/A" -#~ msgstr "N/D" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "Oceny:" -#~ msgid "Metadata" -#~ msgstr "Metadane" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Aktualizuj listę przez internet" -#~ msgid "Current Playlist" -#~ msgstr "Bieżąca lista odtwarzania" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#~ msgid "Add to Queue" -#~ msgstr "Dodaj do kolejki" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "Wyszukaj %s na %s" -#~ msgid "Database Search" -#~ msgstr "Szukaj w bazie danych" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "Łatwe Polecenia GMPC" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "Pomoc do Łatwych Poleceń" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "Polecenie" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "Uzycie" -#~ msgid "Playlist Search" -#~ msgstr "" -#~ "Szukaj w liście odtwarzania" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" +"Następujące polecenia mogą zostać użyte w oknie Łatwych Poleceń.\n" +"Okno Łatwych Poleceń może zostać otworzone kombinacją klawiszy ctrl-spacja" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "Pomoc" -#~ msgid "Advanced" -#~ msgstr "Zaawansowane" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Pobierz listę dostępnych poleceń" -#~ msgid "Loading Cover Icon" -#~ msgstr "Ładowanie ikony okładki" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "Uri" -#~ msgid "No Cover Icon" -#~ msgstr "Brak ikony okładki" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "Dostawca" -#~ msgid "Size" -#~ msgstr "Rozmiar" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "Typ pliku" -#~ msgid "Size of the image" -#~ msgstr "Wymiary obrazu" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "SZERxWYS" -#~ msgid "Hide the image when not available" -#~ msgstr "Ukryj obraz jeżeli niedostępny" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "Okładka" -#~ msgid "DrawBorder" -#~ msgstr "Rysuj obwódkę" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Słowa" -#~ msgid "Draw a border around the image" -#~ msgstr "Rysuj obwódkę wokół obrazu" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "Niewystarczająca ilość informacji do pobrania metadanych" -#~ msgid "DrawShadow" -#~ msgstr "Rysuj cień" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "Obrazy wykonawcy" -#~ msgid "Draw a shadow under the image" -#~ msgstr "Rysuj cień pod obrazem" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "Obrazy albumu" -#~ msgid "Artist Browser" -#~ msgstr "Przeglądarka wykonawców" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Słowa utworu" -#~ msgid "Paused" -#~ msgstr "Wstrzymany" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Informacje o albumie" -#~ msgid "Filename" -#~ msgstr "Nazwa pliku:" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Biografia wykonawcy" -#~ msgid "Length" -#~ msgstr "Długość" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Pos" -#~ msgstr "Bież.poz." +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Podobne utwory" -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "Zmiany zostaną wprowadzone po ponownym podłączeniu " -#~ "do demona MPD" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "Configure tag browsers" -#~ msgstr "Konfiguruj przedlądarkę znaczników" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Format" -#~ msgstr "Format" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Comment:" -#~ msgstr "Komentarz:" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Disc:" -#~ msgstr "Płyta:" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Filename:" -#~ msgstr "Nazwa pliku:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "Length:" -#~ msgstr "Długość:" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Path:" -#~ msgstr "Ścieżka:" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Utwory" -#~ msgid "A_lbum text" -#~ msgstr "Tekst a_lbumu" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "A_rtist Art" -#~ msgstr "Ob_raz wykonawcy" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Wykonawca albumu" -#~ msgid "Ar_tist Text" -#~ msgstr "Teks_t wykonawcy" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Refetch Artist Art" -#~ msgstr "Pobierz ponownie obraz wykonawcy" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Ścieżka" -#~ msgid "Refetch cover art" -#~ msgstr "Pobierz ponownie okładkę" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Ulubiony" -#~ msgid "Select A File" -#~ msgstr "Wybierz plik" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Ocenianie" -#~ msgid "_Lyric" -#~ msgstr "Słowa _piosenki" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Słowa" -#~ msgid "gmpc - song info" -#~ msgstr "GMPC - informacje o utworze" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "The following error occured: %i:'%s'" -#~ msgstr "Napotkano następujący błąd: %i:'%s'" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "days" -#~ msgstr "dni" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "hours" -#~ msgstr "godzin" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Czas odtwarzania" -#~ msgid "minutes" -#~ msgstr "minut" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informacje o albumie" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informacje o wykonawcy" -#~ msgid "Song _Information" -#~ msgstr "Informacje o utworze" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "streams" -#~ msgstr "srumienie" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "Browse Artists" -#~ msgstr "Przeglądaj wykonawców" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "albums" -#~ msgstr "albumy" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Browse Filesystem" -#~ msgstr "Przeglądaj pliki" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#~ msgid "playlists" -#~ msgstr "listy odtwarzania" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "sekunda" +#~ msgstr[1] "sekundy" +#~ msgstr[2] "sekund" -#~ msgid "Album Info:" -#~ msgstr "informacje o albumie:" +#~ msgid "plug == NULL" +#~ msgstr "plug == NULL" -#~ msgid "Album Info:" -#~ msgstr "Informacje o albumie:" +#~ msgid "plugin with same name allready exists" +#~ msgstr "wtyczka z taką samą nazwą już istnieje" -#~ msgid "Album tracks:" -#~ msgstr "Ścieżki albumu:" +#~ msgid "Collection" +#~ msgstr "Kolekcja" -#~ msgid "Genres: " -#~ msgstr "Gatunki:" +#~ msgid "Bitrate" +#~ msgstr "Gęstość bitowa" -#~ msgid "Save Album Text" -#~ msgstr "Zapisz tekst albumu" +#~ msgid "Audio format" +#~ msgstr "Format audio" -#~ msgid "Save Artist Text" -#~ msgstr "Zapisz tekst wykonawcy" +#~ msgid "Songs with same title" +#~ msgstr "Utwory o tym samym tytule" -#~ msgid "Working...." -#~ msgstr "Pracuję...." +#~ msgid "Invalid search" +#~ msgstr "Wyszukiwanie nie powiodło się" -#~ msgid "Save Lyric" -#~ msgstr "Zapisz słowa piosenki" +#~ msgid "Albums" +#~ msgstr "Albumy" -#~ msgid "lyric" -#~ msgstr "słowa piosenki" +#~ msgid "Similar Artists" +#~ msgstr "Podobni wykonawcy" -#~ msgid "No %s found" -#~ msgstr "Nie znaleziono %s" +#~ msgid "Tracks" +#~ msgstr "Ścieżki" -#~ msgid "Added a song" -#~ msgstr "Dodano utwór" +#~ msgid "kHz" +#~ msgstr "kHz" -#~ msgid "_Next" -#~ msgstr "Następny" +#~ msgid "bits" +#~ msgstr "bitów" -#~ msgid "_Previous" -#~ msgstr "Poprzedni" +#~ msgid "channels" +#~ msgstr "kanałów" -#~ msgid "+" -#~ msgstr "+" +#~ msgid "switch metadata browser" +#~ msgstr "przełącz przeglądarkę metadanych" -#~ msgid "-" -#~ msgstr "-" +#~ msgid "Switch to the metadata browser" +#~ msgstr "Przełącz do przeklądarki metadanych" -#~ msgid "Stock icon to use when loading a cover" -#~ msgstr "Domyślna ikona podczas ładowania okładki" +#~ msgid "show current song" +#~ msgstr "wyświetl bieżący utwór" -#~ msgid "Stock icon to use when no cover is present" -#~ msgstr "Domyślna ikona gdy brak okładki" +#~ msgid "Show the current songs information" +#~ msgstr "Wyśeietl informacje o bieżącym utworze" -#~ msgid "Type of the image, like artist art" -#~ msgstr "Typ obrazu, jak obraz wykonawcy" +#~ msgid "show current artist" +#~ msgstr "wyświetl bieżącego wykonawcę" -#~ msgid "Pl_ay/Pause" -#~ msgstr "Odtarzaj/Pauzuj" +#~ msgid "Show the current artist information" +#~ msgstr "Wyświetl informacjie o biężącym wykonawcy" -#~ msgid "_Stop" -#~ msgstr "Zatrzymaj" +#~ msgid "show current album" +#~ msgstr "wyświetl bieżący album" -#~ msgid "A mpdObj to check on" -#~ msgstr "mpdObj do sprawdzenia" +#~ msgid "Show the current album information" +#~ msgstr "Wyświetl informacje o biężącym albumie" -#~ msgid "Requested" -#~ msgstr "Żądań" +#~ msgid "Orientation" +#~ msgstr "Położenie" -#~ msgid "Processing" -#~ msgstr "Przetworzonych" +#~ msgid "Failed to store metadata file in" +#~ msgstr "Nie powiodło się zapisywanie pliku metadanych w" -#~ msgid "Show an 'up row" -#~ msgstr "Pokaż górny wiersz" +#~ msgid "Links" +#~ msgstr "Łącza" -#~ msgid "Similar Songs:" -#~ msgstr "Podobne utwory:" +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Gnome Music Player Client\n" +#~ "Opcje:\n" +#~ "\t--start-hidden\t\tUruchom ukryty\n" +#~ "\t--help\t\t\tWyświetl ten komunikat.\n" +#~ "\t--debug-level=\tKaż GMPC wyświetlać informacje do odpluskwiania\n" +#~ "\t\t\t\tPoziomy:\n" +#~ "\t\t\t\t\t0 Nic nie wyświetlaj\n" +#~ "\t\t\t\t\t1 Tylko błędy\n" +#~ "\t\t\t\t\t2 Błędy i ostrzeżenia\n" +#~ "\t\t\t\t\t3 Wszystko\n" +#~ "\t--version\t\tWyświetl wersję i rewizję git\n" +#~ "\t--config=\t\tUstaw ścieżkę do pliku konfiguracyjnego, domyślnie " +#~ "~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tOczyść bazę danych okładek\n" +#~ "\t--disable-plugins\tNie ładuj wtyczek\n" +#~ "\t--replace\t\tZastąp uruchomioną instancję\n" +#~ "\t--quit\t\t\tZakończ uruchomioną instancję. Działa tylko gdy obsługa wielu " +#~ "instancji jest wyłączona.\n" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/POTFILES.in /tmp/zoMIw2cTYT/gmpc-0.19.0/po/POTFILES.in --- gmpc-0.18.0/po/POTFILES.in 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/POTFILES.in 2009-09-21 11:15:59.000000000 +0100 @@ -3,7 +3,6 @@ data/gmpc.desktop.in glade/playlist3.glade src/config1.c -src/edit_markup.c src/gmpc_easy_download.c src/main.c src/metadata.c @@ -14,11 +13,12 @@ src/playlist3-messages.c src/plugin.c src/preferences.c -src/sm.c -src/TreeSearchWidget.c -src/url_fetcher.c +src/url-fetcher.c src/tray-icon2.c src/setup-assistant.c +src/bug-information.c +src/smclient/eggdesktopfile.c +src/smclient/eggsmclient.c # Ui files [type: gettext/glade]glade/aboutdialog.ui @@ -30,6 +30,7 @@ [type: gettext/glade]glade/preferences-server.ui [type: gettext/glade]glade/preferences-trayicon.ui [type: gettext/glade]glade/preferences-proxy.ui +[type: gettext/glade]glade/preferences-mmkeys.ui [type: gettext/glade]glade/preferences.ui [type: gettext/glade]glade/playlist-message-window.ui [type: gettext/glade]glade/playlist-save-dialog.ui @@ -39,33 +40,32 @@ src/browsers/playlist3-current-playlist-browser.c src/browsers/playlist3-file-browser.c src/browsers/playlist3-find2-browser.c -src/browsers/playlist3-metadata-browser.c src/browsers/playlist3-playlist-editor.c src/browsers/playlist3-tag2-browser.c src/browsers/server-information.c + # Egg files src/egg/eggcolumnmodel.c src/egg/eggcolumnchooserdialog.c -src/egg/eggtrayicon.c # Gob files -src/gob/gmpc-mpddata-model.gob -src/gob/gmpc-mpddata-model-sort.gob -src/gob/gmpc-mpddata-treeview.gob -src/gob/gmpc-profiles.gob -src/gob/gmpc-meta-text-view.gob -src/gob/gmpc-metaimage.gob -src/gob/gmpc-clicklabel.gob -src/gob/gmpc-connection.gob -src/gob/gmpc-clicklabel.gob -src/gob/gmpc-meta-watcher.gob -src/gob/gmpc-stats-label.gob - -#? -src/qlib/qasyncqueue.c +src/gmpc-mpddata-model.gob +src/gmpc-mpddata-model-sort.gob +src/gmpc-mpddata-treeview.gob +src/gmpc-profiles.gob +src/gmpc-meta-text-view.gob +src/gmpc-metaimage.gob +src/gmpc-clicklabel.gob +src/gmpc-clicklabel.gob +src/gmpc-meta-watcher.gob +src/gmpc-stats-label.gob # Vala src/vala/gmpc_menu_item_rating.c src/vala/gmpc-song-links.c +src/vala/gmpc-easy-command.c +src/vala/gmpc-test-plugin.c +src/vala/gmpc-favorites.c +src/vala/gmpc-metadata-browser2.c diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/POTFILES.skip /tmp/zoMIw2cTYT/gmpc-0.19.0/po/POTFILES.skip --- gmpc-0.18.0/po/POTFILES.skip 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/POTFILES.skip 2009-09-21 11:15:59.000000000 +0100 @@ -1,10 +1,10 @@ -src/gob/gmpc-metaimage.c -src/gob/gmpc-mpddata-model-sort.c -src/gob/gmpc-mpddata-model.c -src/gob/gmpc-mpddata-treeview.c -src/gob/gmpc-meta-text-view.c -src/gob/gmpc-mpddata-model-sort.c -src/gob/gmpc-clicklabel.c -src/gob/gmpc-meta-watcher.c -src/gob/gmpc-profiles.c -src/gob/gmpc-stats-label.c +src/gmpc-metaimage.c +src/gmpc-mpddata-model-sort.c +src/gmpc-mpddata-model.c +src/gmpc-mpddata-treeview.c +src/gmpc-meta-text-view.c +src/gmpc-mpddata-model-sort.c +src/gmpc-clicklabel.c +src/gmpc-meta-watcher.c +src/gmpc-profiles.c +src/gmpc-stats-label.c diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/pt_BR.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/pt_BR.po --- gmpc-0.18.0/po/pt_BR.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/pt_BR.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,131 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-14 00:27+0000\n" -"Last-Translator: Kim Ribeiro \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-06-22 11:53+0000\n" +"Last-Translator: Thiago Negri \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Reprodutor multimídia para Gnome que usa o MPlayer" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 -msgid "Gnome Music Player Client" -msgstr "" - -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Obtendo ajuda" -#: ../glade/playlist3.glade.h:2 -msgid "MPD database is updating." -msgstr "" - -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Sem som" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Próxima" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Tocar/Pausar" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Anterior" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Perfis" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aleatório" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Repetir" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Mostrar mensagens" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Parar" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" -msgstr "Visite o sitio" - -#: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" -msgstr "" +msgstr "Visite o website" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Conectar" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Controle" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Desconectar" -#: ../glade/playlist3.glade.h:17 -msgid "_Expand Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Tela cheia" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Vai" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Ajuda" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Música" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opção" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" -msgstr "_Enviar senha" - -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Servidor" +msgstr "_Enviar Senha" -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Mostrar imagem do artista" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Visualização" -#: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" -msgstr "" - -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/caminho/para/nome_arquivo.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "O jazz do cerne" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Fev 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versão" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--configurar=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--ocultar-inicio" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--desabilita-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--substitui" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--sai" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--importa-dados-antigos" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--ajuda" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "O carregamento da configuração do sistema falhou." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "O carregamento do arquivo de log das correções falhou." -#: ../src/main.c:674 -msgid "Failed to setup libmpd" -msgstr "" - -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "O GMPC tem permissões insuficientes no servidor mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,268 +140,590 @@ "Falha ao definir senha em: '%s'\n" "Queira tentar novamente." -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Favor digitar sua senha para: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "código do erro" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Permissão insuficiente para conectar ao mpd. Confira a senha" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Versões MPD anteriores a 0.13.0 não são suportadas" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Conectado a mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Desconectado de mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Ocorreu um erro durante a operação" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Ocorreu o seguinte erro:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Mensagem de Erro" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Subtítulo" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Chaves Multimídia" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Habilitado" #. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 msgid "Version" msgstr "Versão" -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revisão" +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "Copyright 2003-2007 Qball Cow" -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Versão Libmpd" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" A. Gabriel https://launchpad.net/~andriusgabriel\n" +" Augusta Carla Klug https://launchpad.net/~augusta-klug\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +"\n" +"Launchpad Contributions:\n" +" Andrius Gabriel da Luz https://launchpad.net/~andriusgabriel\n" +" Augusta Carla Klug https://launchpad.net/~augusta-klug\n" +" Enrico Nicoletto https://launchpad.net/~liverig\n" +" Kim Ribeiro https://launchpad.net/~kimribeiro\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Thiago Negri https://launchpad.net/~evohunz" -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Versão GTK+" +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "Senha" -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Versão Libcurl" +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "_Guardar senha" -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Plataforma" +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "Perfil:" -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Janelas" +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "Conectar" -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "Hospedeiro" -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "Nome:" -#: ../src/main.c:1374 -msgid "Website" -msgstr "Sítio" +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "Rotulo:" -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Opções habilitadas" +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "Limite de tempo:" -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "_Usar autenticação" -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Habilitado" +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "hospedeiro local" -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Desabilitado" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Suporte NLS" +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "Habilita campo:" -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Chaves de Multimidia" +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "Exemplo:" -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "Álbum" -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Sistema libsexy" +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "Faixa" -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "_Artista" -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "_Data" -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "_Nome do fluxo" -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "_Título" -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "exemplo" -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "Principal:" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr "" +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "Lista:" -#: ../src/misc.c:55 -msgid "day" -msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "Ocultar quando fecha" -#: ../src/misc.c:59 -msgid "hour" -msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "Gravar a posição e tamanho entre as sessões" -#: ../src/misc.c:63 -msgid "minute" -msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "Mostrar dicas para lista de canções" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "Para de tocar ao sair" -#: ../src/misc.c:269 -msgid "Failed to execute" +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "Estilizar as capas de albuns" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "Plugins em uso:" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "Transição gradual:" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "Dispositivos de saida:" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" +"Você precisa estar conectado para poder mudar essas " +"escolhas" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "tempo de atenuação" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "Icone da área de notificação" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "Pop-up" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "Habilitar" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "Posição:" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "Mostrar o grau de rigor" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "Tempo limite:" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "Proxy HTTP:" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "Use um proxy para conectividade com internet" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "gmpc - Configuração" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "Mensagens" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" +"A lista de reprodução já existe." + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "Salvar lista de reprodução" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "nome:" + +#~ msgid "_Server" +#~ msgstr "_Servidor" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/caminho/para/nome_arquivo.mp3" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Fev 2006" + +#~ msgid "--disable-plugins" +#~ msgstr "--desabilita-plugins" + +#~ msgid "--replace" +#~ msgstr "--substitui" + +#~ msgid "--start-hidden" +#~ msgstr "--ocultar-inicio" + +#~ msgid "--config=" +#~ msgstr "--configurar=" + +#~ msgid "--version" +#~ msgstr "--versão" + +#~ msgid "--import-old-db" +#~ msgstr "--importa-dados-antigos" + +#~ msgid "--help" +#~ msgstr "--ajuda" + +#~ msgid "--quit" +#~ msgstr "--sai" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "Reprodutor Multimídia do GNOME" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informações de bug" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "Os dados MPD estão atualizando." + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Modo único" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "_Comprimir Interface" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "_Expandir Interface" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "Ferramen_tas" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "gmpc - Gerenciador de lista de reprodução" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Exibir versão e revisão do programa" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Fecha o gmpc que está executando" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Substitui o gmpc que está executando" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Não carregar os plugins" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Carregar arquivo de configuração alternativo" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Define o nível de depuração" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Iniciar gmpc escondido na bandeja" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Remover todas as tentativas mal sucedidas para o cache de dados meta" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "Exibir eventos atualizados no GTK+" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Exibir janela com informações de bug" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "Exibir toda a saída de um certo domínio de log" + +#: ../src/main.c:438 +msgid "quit" +msgstr "sair" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Fechar gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "esconder" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Esconder gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "exibir" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Exibir gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "exibir notificação" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Exibir notificação do ícone de bandeja" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "A configuração libmpd falhou." + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Erro ocorrido durante a operação" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Os seguintes erros ocorreram:" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" +"Um novo plugin de dados meta for adicionado, gmpc limpou todas tentativas " +"mal sucedidas do cache" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "Manipulador de Dados Meta" + +#: ../src/misc.c:39 +msgid "Total time" msgstr "" +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "dia" +msgstr[1] "dias" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "Erro ao executar" + #: ../src/mm-keys.c:73 msgid "PlayPause" -msgstr "" +msgstr "TocarParar" #. * MM_STOP #: ../src/mm-keys.c:77 msgid "Fast Forward" -msgstr "" +msgstr "Passar para Frente" #. * MM_FASTFORWARD #: ../src/mm-keys.c:78 msgid "Fast Backward" -msgstr "" +msgstr "Passar para Trás" #. * MM_RANDOM #: ../src/mm-keys.c:81 msgid "Raise window" -msgstr "" +msgstr "Levantar janela" #. * MM_RAISE #: ../src/mm-keys.c:82 msgid "Hide window" -msgstr "" +msgstr "Esconder janela" #. * MM_HIDE #: ../src/mm-keys.c:83 msgid "Toggle window" -msgstr "" +msgstr "Alternar janela" #. * MM_TOGGLE_HIDDEN #: ../src/mm-keys.c:84 msgid "Volume Up" -msgstr "" +msgstr "Aumentar Volume" #. * MM_VOLUME_UP #: ../src/mm-keys.c:85 msgid "Volume Down" -msgstr "" +msgstr "Diminuir Volume" #. * MM_VOLUME_DOWN #: ../src/mm-keys.c:86 msgid "Show song" -msgstr "" +msgstr "Exibir canção" #. * MM_SHOW_NOTIFICATION #: ../src/mm-keys.c:87 msgid "Toggle Mute" -msgstr "" +msgstr "Alternar Mudo" #. * MM_TOGGLE_MUTE #: ../src/mm-keys.c:88 msgid "Show easy command entry" -msgstr "" +msgstr "Exibir entrada de comandos fácil" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" +"Impossível pegar as seguintes chaves multimídias:\n" +"\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" +"\n" +"Certifique-se que seu gerenciador de janelas ou outros aplicativos não " +"pegaram esta chave para alguma outra função e então reinicie o gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" "Some duplicate multimedia key mappings were detected, and disabled. Please " "revisit the preferences and ensure your settings are now correct." msgstr "" +"Mapeamento duplicado foi detectado\n" +"\n" +"Alguns mapeamentos de chaves multimídias foram encontrados como duplicados e " +"foram desabilitados. Por favor, revise suas preferências e certifique-se que " +"suas preferências estão corretas." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" "\n" "%s is already mapped to %s" msgstr "" +"Mapeamento duplicado foi encontrado\n" +"\n" +"%s já está mapeado para %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -602,637 +733,744 @@ "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" +"Não foi possivel pegar chave multimídia:\n" +"\n" +"\t%s: %s\n" +"\n" +"Certifique-se que seu gerenciador de janelas ou outros aplicativos não " +"pegaram esta chave para alguma outra função e então reinice o gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" -msgstr "" +msgstr "Ação" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" +msgstr "Atalho" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "habilitar" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "desabilitar" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Desligado" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Parar depois da canção atual: O servidor MPD utilizado é muito antigo e não " +"suporta esta opção." + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" +"Parar depois da canção atual: Você não possui permissões suficientes." + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Reprodução irá parar após a canção atual." + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Repetir canção atual: O servidor MPD utilizado é muito antigo e não suporta " +"esta opção." + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Repetir canção atual: Você não possui permissões suficientes." + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "A canção atual será repetida eternamente." + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" +"Atualizar banco de dados: O servidor MPD é muito antigo e não suporta esta " +"opção." + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Atualizar banco de dados: Você não possui permissões suficientes." #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" -msgstr "" +msgstr "tocar" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" -msgstr "" +msgstr "iniciar reprodução" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" -msgstr "" +msgstr "parar" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" -msgstr "" +msgstr "interromper reprodução" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" -msgstr "" +msgstr "próxima" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" -msgstr "" +msgstr "próxima canção" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" -msgstr "" +msgstr "anterior" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" -msgstr "" +msgstr "canção anterior" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" -msgstr "" +msgstr "parar" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" -msgstr "" +msgstr "interromper reprodução" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" -msgstr "" +msgstr "aleatório" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" -msgstr "" +msgstr "Aleatório (ligado|desligado)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" -msgstr "" +msgstr "repetir" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" -msgstr "" +msgstr "Repetir (ligado|desligado)" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" +#: ../src/mpdinteraction.c:316 +msgid "single" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:317 +msgid "consume" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "volume" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volume (+-)" -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" -msgstr "" +msgstr "mudo" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "Desvanecer cruzado" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Off)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Definir de desvanecer cruzado" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "saída" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Enable|Disable)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "saída X habilitada ou desabilitada" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " -msgstr "" +msgstr "Tocar " -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" -msgstr "" +msgstr "adicionar" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " -msgstr "" +msgstr "Adicionar " -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" -msgstr "" +msgstr "substituir" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " -msgstr "" +msgstr "Substituir " -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "procurar" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Procurar dentro da canção atual" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "parar após a canção atual" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Interromper reprodução após a canção atual" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "repetir canção atual" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Repetir a canção atual" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "atualizar banco de dados" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Atualizar o banco de dados" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" -msgstr "" +msgstr "Preferências do Servidor" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" -msgstr "" +msgstr "Conexão" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" -msgstr "" +msgstr "Conectando" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" -msgstr "" +msgstr "Todas do álbum" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" -msgstr "" +msgstr "Todas do artista" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" -msgstr "" +msgstr "Todas do gênero" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" -msgstr "" +msgstr "Todas do mesmo diretório" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" -msgstr "" +msgstr "Adicionar mais" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" -msgstr "" +msgstr "Definir Classificação" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" -msgstr "" +msgstr "Banco de dados MPD está atualizando" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" -msgstr "" +msgstr "MPD está atualizando seu banco de dados" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" -msgstr "" +msgstr "MPD terminou de atualizar seu banco de dados" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" -msgstr "" +msgstr "Conectado" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" -msgstr "" +msgstr "Desconectado" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" -msgstr "" +msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" -msgstr "" +msgstr "Conectado em" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" -msgstr "" +msgstr "Disconectado" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" +"Erro ao abrir arquivo de descrição da interface!\n" +"Por favor, reinstale o gmpc\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" -msgstr "" +msgstr "Repetir: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" -msgstr "" - -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "" +msgstr "Ligado" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" +msgstr "Aleatório: %s" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Modo único: %s" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" -msgstr "" +msgstr "Banco de dados MPD atualizado em: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" -msgstr "" +msgstr "MPD reportou o seguinte erro" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" -msgstr "" +msgstr "Perfil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" -msgstr "" +msgstr "adicionado" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" -msgstr "" +msgstr "nome do servidor alterado para:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" -msgstr "" +msgstr "Atualizar Banco de Dados" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" -msgstr "" +msgstr "Informação" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" -msgstr "" +msgstr "Por" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" -msgstr "" +msgstr "De" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" -msgstr "" +msgstr "Parado" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" +msgstr "Interface" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/playlist3-messages.c:35 -msgid "Info" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#: ../src/playlist3-messages.c:36 -msgid "Warning" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#: ../src/playlist3-messages.c:37 -msgid "Critical" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "Informação" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "Alerta" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "Crítico" + +#: ../src/playlist3-messages.c:251 msgid "Time" -msgstr "" +msgstr "Tempo" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" -msgstr "" +msgstr "Mensagem" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Falha ao carregar o plugin" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "plugin não possui nome" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "plugin não possui função set/get habilitada" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "estrutura de navegador do pluing está incorreta" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "estrutura de dados meta do plugin está incorreta" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "api get_image do plugin está depreciada " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "api get_uris do plugin está depreciada " + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "estrutura de preferências do plugin está incorreta" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Falhou ao criar instância do plugin" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Falhou ao vincular simbolo no plugin" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "Plugin %s possui uma versão da api errada: %i" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "Plugin %s possui uma estrutura de plugin incorreta: %s" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" +"Um ou mais plugins falharam ao carregar, veja ajuda -> mensagens para mais " +"informações" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" -msgstr "" +msgstr "Plugins" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" -msgstr "" +msgstr "Plugins:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" -msgstr "" +msgstr "Nome" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" -msgstr "" +msgstr "Função" -#: ../src/preferences.c:333 +#: ../src/preferences.c:367 msgid "Dummy" -msgstr "" +msgstr "Manequim" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" -msgstr "" +msgstr "Extensão do Navegador" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" -msgstr "" +msgstr "Provedor de Dados Meta" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" -msgstr "" +msgstr "Provedor de Dados Meta e Extensão do Navegador" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." -msgstr "" +msgstr "Misc." -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" -msgstr "" - -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" +msgstr "Desconhecido" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" -msgstr "" +msgstr "Adicionado %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fluxo" +msgstr[1] "fluxos" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" -msgstr "" +msgstr "Adicionado 1 fluxo" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Falha ao abrir arquivo local" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "Esquema Uri não suportado" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" -msgstr "" +msgstr "Entre com uma url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" -msgstr "" +msgstr "Notificação" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" +"Esta é a primeira vez que você lançou o gmpc.\n" +"Este assistente irá ajudá-lo a conectar o gmpc ao seu serviço mpd." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" -msgstr "" +msgstr "Bem vindo ao GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" -msgstr "" +msgstr "Configurar conexão" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" +"Gmpc está pronto para usar.\n" +"Aproveite!" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" +msgstr "Terminar" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" -msgstr "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro\n" -"\n" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro\n" -"\n" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro\n" -"\n" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro\n" -"\n" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro\n" -"\n" -"Launchpad Contributions:\n" -" Enrico Nicoletto https://launchpad.net/~liverig\n" -" Kim Ribeiro https://launchpad.net/~kimribeiro" -#: ../glade/password-dialog.ui.h:1 -msgid "Enter your password for: ''" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../glade/password-dialog.ui.h:2 -msgid "Password" -msgstr "Senha" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" -#: ../glade/password-dialog.ui.h:3 -msgid "_Save password" -msgstr "_Guardar senha" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" -#: ../glade/preferences-connection.ui.h:1 -msgid "Profile:" -msgstr "Perfil:" +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" -#: ../glade/preferences-connection.ui.h:2 -msgid "Conn_ect" -msgstr "Conectar" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" -#: ../glade/preferences-connection.ui.h:3 -msgid "Host:" -msgstr "Hospedeiro" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 -msgid "Name:" -msgstr "Nome:" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 -msgid "Password:" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 -msgid "Port:" -msgstr "Rotulo:" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" -#: ../glade/preferences-connection.ui.h:7 -msgid "Timeout (s):" -msgstr "Limite de tempo:" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" -#: ../glade/preferences-connection.ui.h:8 -msgid "_Autoconnect" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -#: ../glade/preferences-connection.ui.h:10 -msgid "_Use Authentication" -msgstr "_Usar autenticação" +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "Entre com sua senha para: ''" -#: ../glade/preferences-connection.ui.h:11 -msgid "localhost" -msgstr "hospedeiro local" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "Habilita campo:" +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:2 -msgid "Example:" -msgstr "Exemplo:" +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" #: ../glade/preferences-esf-dialog.ui.h:3 msgid "Format Rule:" msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:4 -msgid "A_lbum" -msgstr "Álbum" - #: ../glade/preferences-esf-dialog.ui.h:5 msgid "Edit Song Formatting" msgstr "" -#: ../glade/preferences-esf-dialog.ui.h:6 -msgid "T_rack" -msgstr "Faixa" - -#: ../glade/preferences-esf-dialog.ui.h:7 -msgid "_Artist" -msgstr "_Artista" - -#: ../glade/preferences-esf-dialog.ui.h:8 -msgid "_Date" -msgstr "_Data" - -#: ../glade/preferences-esf-dialog.ui.h:9 -msgid "_Stream name" -msgstr "_Nome do fluxo" - -#: ../glade/preferences-esf-dialog.ui.h:10 -msgid "_Title" -msgstr "_Título" - -#: ../glade/preferences-esf-dialog.ui.h:11 -msgid "example" -msgstr "exemplo" - -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "Principal:" - -#: ../glade/preferences-playlist.ui.h:2 -msgid "Playlist:" -msgstr "Lista:" - #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - #: ../glade/preferences-playlist.ui.h:6 -msgid "Hide on close" -msgstr "Ocultar quando fecha" - -#: ../glade/preferences-playlist.ui.h:7 -msgid "Save position and size between sessions" -msgstr "Gravar a posição e tamanho entre as sessões" - -#: ../glade/preferences-playlist.ui.h:8 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "Mostrar dicas para lista de canções" - -#: ../glade/preferences-playlist.ui.h:10 -msgid "Stop playing on exit" -msgstr "Para de tocar ao sair" - -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "Estilizar as capas de albuns" - -#: ../glade/preferences-plugins.ui.h:1 -msgid "Loaded Plugins:" -msgstr "Plugins em uso:" - -#: ../glade/preferences-server.ui.h:1 -msgid "Crossfade:" -msgstr "Transição gradual:" - -#: ../glade/preferences-server.ui.h:2 -msgid "Output Devices:" -msgstr "Dispositivos de saida:" - -#: ../glade/preferences-server.ui.h:3 -msgid "" -"You need to be connected\n" -"in order to change these settings" -msgstr "" -"Você precisa estar conectado para poder mudar essas " -"escolhas" - #: ../glade/preferences-server.ui.h:5 msgid "Enable crossfade" msgstr "" -#: ../glade/preferences-server.ui.h:6 -msgid "fade time (s):" -msgstr "tempo de atenuação" - #: ../glade/preferences-trayicon.ui.h:1 msgid "Inline messages" msgstr "" -#: ../glade/preferences-trayicon.ui.h:2 -msgid "Notification Area Icon" -msgstr "Icone da área de notificação" - -#: ../glade/preferences-trayicon.ui.h:3 -msgid "PopUp" -msgstr "Pop-up" - -#: ../glade/preferences-trayicon.ui.h:4 -msgid "Enable" -msgstr "Habilitar" - -#: ../glade/preferences-trayicon.ui.h:5 -msgid "Position:" -msgstr "Posição:" - #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "Mostrar o grau de rigor" - -#: ../glade/preferences-trayicon.ui.h:7 -msgid "Timeout:" -msgstr "Tempo limite:" +msgid "Show on song change" +msgstr "" #: ../glade/preferences-proxy.ui.h:1 msgid "Proxy settings" msgstr "" -#: ../glade/preferences-proxy.ui.h:2 -msgid "HTTP Proxy:" -msgstr "Proxy HTTP:" - -#: ../glade/preferences-proxy.ui.h:5 -msgid "Use a proxy for internet connectivity" -msgstr "Use um proxy para conectividade com internet" - #: ../glade/preferences-proxy.ui.h:6 msgid "Use authentication" msgstr "" @@ -1241,113 +1479,99 @@ msgid "Username:" msgstr "" -#: ../glade/preferences.ui.h:1 -msgid "" -"Plugins\n" -"None Selected" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" -#: ../glade/preferences.ui.h:3 -msgid "gmpc - Configuration" -msgstr "gmpc - Configuração" - -#: ../glade/playlist-message-window.ui.h:1 -msgid "Messages" -msgstr "Mensagens" - -#: ../glade/playlist-save-dialog.ui.h:1 -msgid "" -msgstr "" - -#: ../glade/playlist-save-dialog.ui.h:2 -msgid "Playlist already exists." -msgstr "" -"A lista de reprodução já existe." - -#: ../glade/playlist-save-dialog.ui.h:3 -msgid "Save Playlist" -msgstr "Salvar lista de reprodução" - -#: ../glade/playlist-save-dialog.ui.h:4 -msgid "name:" -msgstr "nome:" +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1355,7 +1579,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1363,645 +1587,657 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Name:" -#~ msgstr "Nome:" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "No ícone da área de notificação\n" -#~ "Canto esquerdo (acima) \n" -#~ "Canto direito (acima)\n" -#~ "Canto esquerdo (abaixo)\n" -#~ "Canto direito (abaixo)" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/pt.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/pt.po --- gmpc-0.18.0/po/pt.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/pt.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,519 +7,406 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-14 00:52+0000\n" -"Last-Translator: Qball Cow \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:09+0000\n" +"Last-Translator: Diogo Lavareda \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../data/gmpc.desktop.in.h:1 -msgid "A gnome frontend for the mpd daemon" -msgstr "" - -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 -msgid "Gnome Music Player Client" -msgstr "" - -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Obter ajuda" -#: ../glade/playlist3.glade.h:2 -msgid "MPD database is updating." -msgstr "" - -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Mudo" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Seguinte" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Tocar/Pausa" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Anterior" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Perfis" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aleatório" -#. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 -msgid "Repeat" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" msgstr "" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +"\n" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" nitrofurano https://launchpad.net/~nitrofurano-3t\n" +"\n" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" nitrofurano https://launchpad.net/~nitrofurano-3t\n" +"\n" +"Launchpad Contributions:\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" nitrofurano https://launchpad.net/~nitrofurano-3t\n" +"\n" +"Launchpad Contributions:\n" +" Diogo Lavareda https://launchpad.net/~diogolavareda\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" nitrofurano https://launchpad.net/~nitrofurano-3t\n" +"\n" +"Launchpad Contributions:\n" +" Diogo Lavareda https://launchpad.net/~diogolavareda\n" +" Pulsar https://launchpad.net/~gamma-pulsar\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" nitrofurano https://launchpad.net/~nitrofurano-3t" -#: ../glade/playlist3.glade.h:10 -msgid "Show Messages" +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "Activar Campo:" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "Examplo:" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" msgstr "" -#. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 -msgid "Stop" +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "Cliente Reprodutor de Musica Gnome" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informação de erro" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" msgstr "" -#: ../glade/playlist3.glade.h:12 -msgid "Visit website" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "A base de dados MPD está a actualizar." + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "Repetir" + #: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" +msgid "Se_rver" msgstr "" #: ../glade/playlist3.glade.h:14 -msgid "_Connect" -msgstr "" +msgid "Show Messages" +msgstr "Mostrar Mensagens" #: ../glade/playlist3.glade.h:15 -msgid "_Control" +msgid "Single mode" msgstr "" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 -msgid "_Disconnect" -msgstr "" +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "Para" #: ../glade/playlist3.glade.h:17 -msgid "_Expand Interface" -msgstr "" +msgid "Visit website" +msgstr "Visitar Website" #: ../glade/playlist3.glade.h:18 -msgid "_Fullscreen" +msgid "_Collapse Interface" msgstr "" #: ../glade/playlist3.glade.h:19 -msgid "_Go" -msgstr "" +msgid "_Connect" +msgstr "_Ligar" #: ../glade/playlist3.glade.h:20 -msgid "_Help" +msgid "_Control" msgstr "" -#: ../glade/playlist3.glade.h:21 -msgid "_Music" -msgstr "" +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "_Desligar" #: ../glade/playlist3.glade.h:22 -msgid "_Option" -msgstr "" +msgid "_Expand Interface" +msgstr "_Expandir Interface" #: ../glade/playlist3.glade.h:23 -msgid "_Send Password" -msgstr "" +msgid "_Fullscreen" +msgstr "_Ecrã completo" #: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "" +msgid "_Go" +msgstr "_Ir" #: ../glade/playlist3.glade.h:25 -msgid "_Show Artist Image" -msgstr "" +msgid "_Help" +msgstr "_Ajuda" #: ../glade/playlist3.glade.h:26 -msgid "_View" -msgstr "" +msgid "_Music" +msgstr "_Musica" #: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" -msgstr "" - -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" +msgid "_Option" +msgstr "_Opções" -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "_Enviar Senha" -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "_Mostrar imagem do artista" -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Ferramentas" -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "" +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "_Ver" -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "gmpc - Gestor de Listas de Reprodução" -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" -msgstr "" +msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" -msgstr "" +msgstr "Fechar" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" -msgstr "" +msgstr "Fechar gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" -msgstr "" +msgstr "esconder" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" -msgstr "" +msgstr "Esconder gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" -msgstr "" +msgstr "mostrar" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" -msgstr "" +msgstr "mostrar notificação" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." -msgstr "" +msgstr "O carregamento das configurações do sistema falhou." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" -msgstr "" +msgstr "A configuração do libmpd falhou" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." -msgstr "" +msgstr "O GMPC tem permissões insuficientes no servidor mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" +"Falha ao defenir senha no: '%s'\n" +"Por favor tente novamente" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" -msgstr "" +msgstr "Por favor insira a sua senha para: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" -msgstr "" +msgstr "erro de código" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" -msgstr "" +msgstr "Permissões insuficientes para ligar ao mpd. Verifique a senha" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" -msgstr "" +msgstr "Versões do MPD inferiores a 0.13.0 não são suportadas" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" -msgstr "" +msgstr "Ligado ao mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" -msgstr "" +msgstr "Desligado do mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "" +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Ocurreram erros durante a operação" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Ocorreram os seguintes erros:" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" -msgstr "" - -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" +msgstr "Mensagem de erro" -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dia" +msgstr[1] "dias" #: ../src/misc.c:59 msgid "hour" msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hora" +msgstr[1] "horas" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "minuto" +msgstr[1] "minutos" -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" -msgstr "" +msgstr "Falhou ao executar" #: ../src/mm-keys.c:73 msgid "PlayPause" -msgstr "" +msgstr "Reproduzir/Parar" #. * MM_STOP #: ../src/mm-keys.c:77 msgid "Fast Forward" -msgstr "" +msgstr "Para a frente rápido" #. * MM_FASTFORWARD #: ../src/mm-keys.c:78 msgid "Fast Backward" -msgstr "" +msgstr "Para trás rápido" #. * MM_RANDOM #: ../src/mm-keys.c:81 @@ -529,7 +416,7 @@ #. * MM_RAISE #: ../src/mm-keys.c:82 msgid "Hide window" -msgstr "" +msgstr "Esconder janela" #. * MM_HIDE #: ../src/mm-keys.c:83 @@ -539,17 +426,17 @@ #. * MM_TOGGLE_HIDDEN #: ../src/mm-keys.c:84 msgid "Volume Up" -msgstr "" +msgstr "Aumentar Volume" #. * MM_VOLUME_UP #: ../src/mm-keys.c:85 msgid "Volume Down" -msgstr "" +msgstr "Baixar Volume" #. * MM_VOLUME_DOWN #: ../src/mm-keys.c:86 msgid "Show song" -msgstr "" +msgstr "Mostrar musica" #. * MM_SHOW_NOTIFICATION #: ../src/mm-keys.c:87 @@ -561,20 +448,20 @@ msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +469,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Teclas multimédia" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +481,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,502 +492,756 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" -msgstr "" +msgstr "Acção" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" +msgstr "Atalho" + +#: ../src/mpdinteraction.c:91 +msgid "enable" msgstr "" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" +#: ../src/mpdinteraction.c:94 +msgid "disable" msgstr "" -#: ../src/mpdinteraction.c:159 -msgid "start playback" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Desligado" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." msgstr "" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." msgstr "" -#: ../src/mpdinteraction.c:161 -msgid "next song" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "prev" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." msgstr "" -#: ../src/mpdinteraction.c:162 -msgid "previous song" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." msgstr "" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "random" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." msgstr "" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." msgstr "" -#: ../src/mpdinteraction.c:166 -msgid "repeat" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "reproduzir" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pausa" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "proximo" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "proxima musica" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "anterior" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "musica anterior" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "parar" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "parar reprodução" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "alearório" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Aleatório (lig.|desl.)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "repetir" + +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" +msgstr "Repetir (lig.|desl.)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" msgstr "" #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" +msgstr "volume" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "silêcio" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:325 +msgid "output" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" -msgstr "" +msgstr "adicionar" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" -msgstr "" +msgstr "substituir" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" msgstr "" -#: ../src/mpdinteraction.c:211 -msgid "Connection" +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" msgstr "" -#: ../src/mpdinteraction.c:312 -msgid "Connecting" +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" msgstr "" +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "Definições do Servidor" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "Ligação" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "A ligar" + #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" -msgstr "" +msgstr "Tudo do album" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" -msgstr "" +msgstr "Tudo do artista" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" -msgstr "" +msgstr "Tudo do género" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" -msgstr "" +msgstr "Tudo da mesma pasta" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" -msgstr "" +msgstr "Adicionar mais" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" -msgstr "" +msgstr "Definir classificação" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" -msgstr "" +msgstr "A base de dados MPD está a actualizar" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" -msgstr "" +msgstr "O MPD está a actualizar a base de dados" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" -msgstr "" +msgstr "O MPD acabou de actualizar a sua base de dados" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" -msgstr "" +msgstr "Ligado" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" -msgstr "" +msgstr "Não ligado" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" -msgstr "" +msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" -msgstr "" +msgstr "Ligado a" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" -msgstr "" +msgstr "Desligado" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" -msgstr "" +msgstr "Repetir: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" -msgstr "" +msgstr "Ligado" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "Aleatório: %s" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1750 #, c-format -msgid "Random: %s" +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" -msgstr "" +msgstr "Base de dados MPD actualizada em: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" -msgstr "" +msgstr "O MPC reportou o seguinte erro" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" -msgstr "" +msgstr "Perfil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" -msgstr "" +msgstr "adicionado" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" -msgstr "" +msgstr "Actualizar Base de dados" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" -msgstr "" +msgstr "Informação" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" -msgstr "" +msgstr "Por" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" -msgstr "" +msgstr "De" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" -msgstr "" +msgstr "Não está a Reproduzir" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" +msgstr "Interface" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/playlist3-messages.c:35 -msgid "Info" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "Informação" + +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" -msgstr "" +msgstr "Critico" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" -msgstr "" +msgstr "Tempo" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" +msgstr "Mensagem" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" msgstr "" -#: ../src/plugin.c:216 +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" +"Um ou mais \"plugins\" falharam ao carregar, veja na ajuda -> mensagens para " +"mais informação" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" -msgstr "" +msgstr "Plugins" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" -msgstr "" +msgstr "Plugins:" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Activo" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" -msgstr "" +msgstr "Nome" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" -msgstr "" +msgstr "Função" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versão" -#: ../src/preferences.c:333 +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" -msgstr "" +msgstr "Procurar extensão" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" -msgstr "" - -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" +msgstr "Desconhecido" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" -msgstr "" +msgstr "Adicionado %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" -msgstr "" +msgstr "Introduza um URL" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" -msgstr "" +msgstr "Lis_ta de reprodução" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" -msgstr "" +msgstr "Notificação" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" -msgstr "" +msgstr "Benvindo ao GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" -msgstr "" +msgstr "Configurar ligação" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" +"O Gmpc está agora prepatado para usar.\n" +"Aprecie o gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" +msgstr "Acabar" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" nitrofurano https://launchpad.net/~nitrofurano-3t\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" nitrofurano https://launchpad.net/~nitrofurano-3t\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" nitrofurano https://launchpad.net/~nitrofurano-3t\n" -"\n" -"Launchpad Contributions:\n" -" Pulsar https://launchpad.net/~gamma-pulsar\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -" nitrofurano https://launchpad.net/~nitrofurano-3t" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "Copyright 2003-2007 Qball Cow" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" -msgstr "" +msgstr "Introduza a sua senha para: ''" #: ../glade/password-dialog.ui.h:2 msgid "Password" -msgstr "" +msgstr "Senha" #: ../glade/password-dialog.ui.h:3 msgid "_Save password" -msgstr "" +msgstr "_Guardar senha" #: ../glade/preferences-connection.ui.h:1 msgid "Profile:" -msgstr "" +msgstr "Perfil:" #: ../glade/preferences-connection.ui.h:2 msgid "Conn_ect" -msgstr "" +msgstr "Liga_r" #: ../glade/preferences-connection.ui.h:3 msgid "Host:" msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 -msgid "Name:" +msgid "Music Directory:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "Nome:" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" -msgstr "" +msgstr "Senha:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" -msgstr "" +msgstr "Porta:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" -msgstr "" +msgstr "_Auto-conectar" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" -msgstr "" +msgstr "_Usar Autenticação" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" -msgstr "" - -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "Activar Campo:" - -#: ../glade/preferences-esf-dialog.ui.h:2 -msgid "Example:" -msgstr "Examplo:" - -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" +msgstr "localhost" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" msgstr "" #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" -msgstr "" +msgstr "A_lbum" #: ../glade/preferences-esf-dialog.ui.h:5 msgid "Edit Song Formatting" @@ -1104,15 +1249,15 @@ #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" -msgstr "" +msgstr "F_aixa" #: ../glade/preferences-esf-dialog.ui.h:7 msgid "_Artist" -msgstr "" +msgstr "_Artista" #: ../glade/preferences-esf-dialog.ui.h:8 msgid "_Date" -msgstr "" +msgstr "_Data" #: ../glade/preferences-esf-dialog.ui.h:9 msgid "_Stream name" @@ -1120,59 +1265,51 @@ #: ../glade/preferences-esf-dialog.ui.h:10 msgid "_Title" -msgstr "" +msgstr "_Titulo" #: ../glade/preferences-esf-dialog.ui.h:11 msgid "example" -msgstr "" +msgstr "exemplo" #: ../glade/preferences-playlist.ui.h:1 msgid "Main:" -msgstr "" +msgstr "Principal:" #: ../glade/preferences-playlist.ui.h:2 msgid "Playlist:" -msgstr "" +msgstr "Lista de reprodução:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" -msgstr "" +msgstr "Esconder ao fechar" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" -msgstr "" +msgstr "Guardar posiçao e tamanho entre sessões" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" -msgstr "" +msgstr "Parar de reproduzir ao sair" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" -msgstr "" +msgstr "Plugins carregados:" #: ../glade/preferences-server.ui.h:1 msgid "Crossfade:" @@ -1180,13 +1317,15 @@ #: ../glade/preferences-server.ui.h:2 msgid "Output Devices:" -msgstr "" +msgstr "Dispositivos de saida:" #: ../glade/preferences-server.ui.h:3 msgid "" "You need to be connected\n" "in order to change these settings" msgstr "" +"Precisa estar ligado\n" +"para puder alterar estas definições" #: ../glade/preferences-server.ui.h:5 msgid "Enable crossfade" @@ -1206,42 +1345,50 @@ #: ../glade/preferences-trayicon.ui.h:3 msgid "PopUp" -msgstr "" +msgstr "PopUp" #: ../glade/preferences-trayicon.ui.h:4 msgid "Enable" -msgstr "" +msgstr "Activar" #: ../glade/preferences-trayicon.ui.h:5 msgid "Position:" -msgstr "" +msgstr "Posição:" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" #: ../glade/preferences-proxy.ui.h:1 msgid "Proxy settings" -msgstr "" +msgstr "Definições da proxy" #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" -msgstr "" +msgstr "Proxy HTTP:" #: ../glade/preferences-proxy.ui.h:5 msgid "Use a proxy for internet connectivity" -msgstr "" +msgstr "Usar uma proxy para a ligação á internet" #: ../glade/preferences-proxy.ui.h:6 msgid "Use authentication" -msgstr "" +msgstr "Usar autenticação" #: ../glade/preferences-proxy.ui.h:7 msgid "Username:" +msgstr "Utilizador:" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" #: ../glade/preferences.ui.h:1 @@ -1249,107 +1396,119 @@ "Plugins\n" "None Selected" msgstr "" +"Plugins\n" +"Nenhum seleccionado" #: ../glade/preferences.ui.h:3 msgid "gmpc - Configuration" -msgstr "" +msgstr "gmpc - Configuração" #: ../glade/playlist-message-window.ui.h:1 msgid "Messages" -msgstr "" +msgstr "Mensagens" #: ../glade/playlist-save-dialog.ui.h:1 msgid "" -msgstr "" +msgstr "" #: ../glade/playlist-save-dialog.ui.h:2 msgid "Playlist already exists." msgstr "" +"A lista de reprodução já existe." #: ../glade/playlist-save-dialog.ui.h:3 msgid "Save Playlist" -msgstr "" +msgstr "Guardar lista de reprodução" #: ../glade/playlist-save-dialog.ui.h:4 msgid "name:" -msgstr "" +msgstr "nome:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "item" +msgstr[1] "itens" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Tem a sertesa que deseja apagar a lista de reprodução?" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" -msgstr "" +msgstr "Adicionar URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" +"Lista de reprodução \"%s\" ja existe\n" +"Substituir?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." -msgstr "" +msgstr "A gravação do ficheiro da Lista de reprodução falhou." + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Reproduzir fila" #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" -msgstr "" +msgstr "Pastas" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1357,7 +1516,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1365,626 +1524,765 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" -msgstr "" +msgstr "Substituir" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" -msgstr "" +msgstr "Actualizar" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" -msgstr "" +msgstr "Lista de Reprodução carregada" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" -msgstr "" +msgstr "Adicionado" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "música" +msgstr[1] "músicas" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pasta" +msgstr[1] "pastas" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lista de reprodução" +msgstr[1] "listas de reprodução" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" -msgstr "" +msgstr "Tem a sertesa que deseja apagar a lista de reprodução seleccionada?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" -msgstr "" +msgstr "Base de dados" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" -msgstr "" +msgstr "Lista de reprodução" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" -msgstr "" +msgstr "Pesquisar" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" -msgstr "" +msgstr "A pesquisa falhou" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" -msgstr "" +msgstr "Adicionar todos" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" -msgstr "" +msgstr "procurar base de dados" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" -msgstr "" +msgstr "procurar lista de reprodução" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Editor de Lista de Ficheiros" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favortos" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Nova Lista de ficheiros" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Renomear Lista de ficheiros" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Renomear" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" msgstr "" -#. View +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Adicionar á lista de ficheiros" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Adicionar musica actual á lista de favoritos" + #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Adicionar musica actual aos favoritos" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "Informações do Servidor" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "Servidor" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "Tempo de reprodução" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "Tempo toral de reprodução" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "Numero de artistas" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "Número de albuns" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "Número de músicas" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 #: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Artista" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 msgid "Album" -msgstr "" +msgstr "Album" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titulo" -#: ../src/browsers/playlist3-metadata-browser.c:925 +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "Ficheiro" + +#. Genre #: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Género" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 msgid "Track" -msgstr "" +msgstr "Faixa" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 +#: ../src/gob/gmpc-mpddata-treeview.gob:77 msgid "Composer" -msgstr "" +msgstr "Compositos" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Data" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Duração" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Comentário" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Posição" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Extensão" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Pasta" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Ferramentas" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Pasta anterior" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Pasta posterior" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Editar Colunas" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Perfil adicionado" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Perfil removido" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Seleccionar ficheiro" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "A abertura do ficheiro falhou:" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "devido a errosde compressão" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Não disponivel" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Seleccionar ficheiro" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Documento de Texto" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Tudo" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Imagens" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "n/d" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "A carregar" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "Classificar:" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Actualizar lista a partir da internet" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "Procurar %s na %s" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Musicas similares" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Indisponível" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Músicas" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Endereço" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Classificação" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Letras" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informação do Album" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informação do artista" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "" +#~ msgid "_Server" +#~ msgstr "_Servidor" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" -msgstr "" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" -msgstr "" +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "" +#~ msgid "01/24" +#~ msgstr "01/24" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "" +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "" +#~ msgid " Total time: " +#~ msgstr " Tempo total: " -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" -msgstr "" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "segundo" +#~ msgstr[1] "segundos" + +#~ msgid "View" +#~ msgstr "Ver" + +#~ msgid "Collection" +#~ msgstr "Colecção" + +#~ msgid "Bitrate" +#~ msgstr "Bitrate" + +#~ msgid "Songs with same title" +#~ msgstr "Músicas com o mesmo título" + +#~ msgid "Audio format" +#~ msgstr "Formato de Audio" + +#~ msgid "Invalid search" +#~ msgstr "Pesquisa inválida" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Data: " +#~ msgstr[1] "Datas: " + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Género: " +#~ msgstr[1] "Géneros: " + +#~ msgid "Find Artist:" +#~ msgstr "Encontrar artista:" + +#~ msgid "Artist info:" +#~ msgstr "Informação do artista" + +#~ msgid "Tracks" +#~ msgstr "Faixas" + +#~ msgid "Similar Artists" +#~ msgstr "Artistas Similares" + +#~ msgid "Albums" +#~ msgstr "Albums" + +#~ msgid "Album info:" +#~ msgstr "Informação do Album" + +#~ msgid "show current artist" +#~ msgstr "mostrar artista actual" + +#~ msgid "Show the current songs information" +#~ msgstr "Mostrar informações da música actual" + +#~ msgid "kHz" +#~ msgstr "kHz" + +#~ msgid "bits" +#~ msgstr "bits" + +#~ msgid "show current song" +#~ msgstr "mostrar a musica actual" + +#~ msgid "channels" +#~ msgstr "canais" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/seg" + +#~ msgid "Show Current Song" +#~ msgstr "Mostrar Musica Actual" + +#~ msgid "Show the current album information" +#~ msgstr "Mostrar informações do album actual" + +#~ msgid "show current album" +#~ msgstr "mostrar album actual" + +#~ msgid "Show the current artist information" +#~ msgstr "Mostrar informação do artista actual" + +#~ msgid "Orientation" +#~ msgstr "Orientação" + +#~ msgid "Links" +#~ msgstr "Links" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ro.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ro.po --- gmpc-0.18.0/po/ro.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/ro.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,482 +7,170 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-03-01 07:22+0000\n" -"Last-Translator: Manuel R. Ciosici \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-30 10:45+0000\n" +"Last-Translator: Delia Halici \n" "Language-Team: Romanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " "== 0) && (n != 0))) ? 2: 1));\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "O interfață pentru demonul mpd" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Clientul Gnome pentru ascultat muzică" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Cum puteţi obţine ajutor" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Se actualizează baza de date MPD." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 -msgid "Mute" -msgstr "Mut" - #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Următoarea" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Redare/Pauză" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Precedenta" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiluri" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Aleator" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" -msgstr "Repetat" +msgstr "Repetare" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Arată mesaje" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Oprește" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Vizitează pagina de internet" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "_Pliază interfața" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Conectare" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Control" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Deconectare" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Expandează interfața" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "Pe _tot ecranul" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Du-te la" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Ajutor" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muzică" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opțiune" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "Trimite _parola" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "Arată imaginea arti_stului" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Vizualizare" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Gestionarul listei de redare" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/cale/către/nume_fișier.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Ion Cântărețul" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Cântă sau mâncă" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "Balada kernelului" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Serverul de streaming al MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 -msgid "Failed to load the configuration system." -msgstr "Eroare la încărcarea sistemului de configurare." - -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Eșec la încărcarea fișierului de înregistrare a depanării." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Eșec la setarea libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC are permisiuni insuficiente pentru serverul mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "Eșec la setarea parolei pentru: „%s”" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Introduceți parola pentru: „%s”" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "cod de eroare" -#: ../src/main.c:1126 -msgid "Insufficient permission to connect to mpd. Check password" -msgstr "Permisiuni insuficiente pentru conectarea la mpd. Verificați parola." - -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "A intervenit o eroare pe parcursul operației" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Au intervenit următoarele erori:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Mesaj de eroare" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versiunea" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revizia" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Pagina de internet" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Activat" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Dezactivat" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Taste Multimedia" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" -"Un nou modul de metadate a fost adăugat, gmpc a curățat toate intrările " -"eronate din memorie." - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "Modul pentru metadate" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Timp total: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "zi" @@ -496,20 +184,14 @@ msgstr[1] "ore" msgstr[2] "de ore" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minute" msgstr[2] "de minute" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Eșec la execuție" @@ -562,12 +244,7 @@ msgid "Toggle Mute" msgstr "Opreşte sau porneşte sunetul" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -575,7 +252,7 @@ "Nu s-au putut captura următoarele taste multimedia:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -585,7 +262,7 @@ "Asigurați-vă că gestionarul de ferestre (sau alte aplicații) nu au capturat " "deja aceste taste pentru alte funcții și reporniți gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -598,15 +275,11 @@ "dezactivate. Vă sugerăm să accesați preferințele și să vă asigurați că " "setările dumneavoastră sunt corecte." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Taste Multimedia" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -623,372 +296,246 @@ "Asigurați-vă că gestionarul de ferestre (sau alte aplicații) nu au capturat " "deja această tastă pentru alte funcții după care reporniți gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Acțiune" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Scurtătură" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Dezactivat" -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "Setările serverului" -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "Conexiune" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "Conectare" -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "Toate de pe album" -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "Toate ale artistului" -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "Toate ale genului" -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "Toate din același director" -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "Adaugă mai multe" -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "Se actualizează baza de date MPD" -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "Conectat" -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "Deconectat" -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "Conectat la" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" - -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" -msgstr "Setările serverului" - -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "Conexiune" - -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "Conectare" - -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" -msgstr "Toate de pe album" - -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" -msgstr "Toate ale artistului" - -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" -msgstr "Toate ale genului" - -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" -msgstr "Toate din același director" - -#. Create sub menu -#. Add -#: ../src/mpdinteraction.c:1329 -msgid "Add more" -msgstr "Adaugă mai multe" - -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 -msgid "MPD database is updating" -msgstr "Se actualizează baza de date MPD" - -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 -msgid "Connected" -msgstr "Conectat" - -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 -msgid "Not Connected" -msgstr "Deconectat" - -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "GMPC" - -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "Conectat la" - -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Deconectat" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Repetă: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Activat" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Dezactivat" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Aleator: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD a raportat eroarea următoare" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "adăugat" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "s-a schimbat gazda în:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Actualizează baza de date" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "de" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "de pe" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Nu se redă nimic" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interfață" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Informații" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Avertisment" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Critic" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Durată" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Mesaj" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Unul sau mai multe module nu au putut fi încărcate, a se vedea Ajutor-" ">Mesaje pentru mai multe informaţii" -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" -msgstr "" - -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Module:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Activat" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Nume" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funcție" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versiunea" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Model" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Extensie de navigator" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Furnizor de metadate" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" -msgstr "Furnizor de metadate și extensie de navigator" +msgstr "Modul furnizor metadate şi navigator" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Diverse" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Necunoscut" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Caută:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "S-a adăugat %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "flux" msgstr[1] "fluxuri" msgstr[2] "de fluxuri" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "S-a adăugat un flux" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Introduceți o adresă" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "_Listă de redare" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Notificare" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -996,18 +543,14 @@ "Este prima dată când porniţi gmpc.\n" "Acest asistent vă va ajuta să conectaţi gmpc la aplicatia mpd din sistem." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Bine aţi venit la GMPC" -#: ../src/setup-assistant.c:135 -msgid "Setup connection" -msgstr "Setare conexiune" - #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1015,7 +558,7 @@ "Gmpc este acum gata de folosire.\n" "Să folosiţi cu plăcere gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Finalizează" @@ -1072,6 +615,13 @@ " Alexandru Szasz https://launchpad.net/~alexxed\n" " Licaon https://launchpad.net/~licaon\n" " Manuel R. Ciosici https://launchpad.net/~manuelciosici\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Alexandru Szasz https://launchpad.net/~alexxed\n" +" Delia Halici https://launchpad.net/~deliascumpika\n" +" Licaon https://launchpad.net/~licaon\n" +" Manuel R. Ciosici https://launchpad.net/~manuelciosici\n" " Qball Cow https://launchpad.net/~qball-qballcow" #: ../glade/password-dialog.ui.h:1 @@ -1098,33 +648,33 @@ msgid "Host:" msgstr "Gazdă:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Nume:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Parolă:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Timp de așteptare:" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Autoconectare" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "Folosește a_utentificare" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1181,38 +731,22 @@ msgstr "Listă de redare:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Marcare melodie" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centrează melodia ascultată" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Editează marcajul pentru _navigator" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Ascunde la închidere" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Salvează poziția și mărimea între sesiuni" #: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 msgid "Stop playing on exit" msgstr "Oprește redarea la ieșire" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Stilizează coperțile de album" @@ -1264,18 +798,14 @@ msgid "Position:" msgstr "Poziție:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Arată severitatea" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Timp de așteptare:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "Proxy HTTP:" @@ -1284,14 +814,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Folosește un proxy pentru conectarea la internet" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1324,62 +846,43 @@ msgid "name:" msgstr "nume:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "element" msgstr[1] "elemente" msgstr[2] "de elemente" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Estimare)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Coadă de redare" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Sigur doriți să curățați lista de redare?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "Aplicaţia mpd din sistem are 'addid' eronat, adăugarea va eşua." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Taie" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Amestecă" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Adaugă o adresă" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1388,29 +891,26 @@ "Lista de redare „%s” există deja\n" "O suprascrieți?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Eșec la salvarea fișierului cu lista de redare." +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Coadă de redare" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Navigator de fișiere" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Dosare" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "S-a adăugat recursiv dosarul „%s”" @@ -1418,842 +918,1486 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Înlocuiește" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Actualizează" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "S-a încărcat lista de redare" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Adăugat" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "melodie" msgstr[1] "melodii" msgstr[2] "de melodii" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "dosar" msgstr[1] "dosare" msgstr[2] "de dosare" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "listă de redare" msgstr[1] "liste de redare" msgstr[2] "de liste de redare" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Sigur doriți să curățați lista selectată?" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Caută" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +msgstr "Schimbă la navigatorul de căutare" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Editor de listă de redare" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Listă de redare nouă" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Redenumește lista de redare" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Nedisponibil" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Redenumește" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Preiau..." +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Adaugă la lista de redare" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Vizualizează" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Navigare după etichete" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Marcaj" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Artist" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titlu" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Fișier" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Gen" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Dată" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Pistă" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Compozitor" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Interpret" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Dată" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Durată" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disc" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Comentariu" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Id iconiță" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Poziție" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Adaugă înainte" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Adaugă după" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Editează coloanele" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Profil adăugat" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Profil șters" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Ia din nou" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Selectează fișierul" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Eșec la deschiderea fișierului:" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "din cauza problemelor de codare" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Se obțin informații despre artist" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Se obțin informații despre album" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Nu sunt disponibile" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Selectați fișierul" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Document text" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Toate" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Imagini" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Navigator de metadate" + +#~ msgid "Song Markup" +#~ msgstr "Marcare melodie" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/cale/către/nume_fișier.mp3" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--help" +#~ msgstr "--help" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid " Total time: " +#~ msgstr " Timp total: " + +#~ msgid "View" +#~ msgstr "Vizualizează" + +#~ msgid "Artist info:" +#~ msgstr "Despre artist:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Dată: " +#~ msgstr[1] "Date: " +#~ msgstr[2] "Date: " + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Gen: " +#~ msgstr[1] "Genuri: " +#~ msgstr[2] "Genuri: " + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Se afișează doar primele %i rezultate, vă rugăm să rafinați termenii de " +#~ "căutare" + +#~ msgid "Find Artist:" +#~ msgstr "Caută artist:" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "Album info:" +#~ msgstr "Despre album:" + +#~ msgid "Show Current Song" +#~ msgstr "Arată melodia curentă" + +#~ msgid "Jonny Singer" +#~ msgstr "Ion Cântărețul" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Cântă sau mâncă" + +#~ msgid "The kernel jazz" +#~ msgstr "Balada kernelului" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Serverul de streaming al MPD" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Editează marcajul pentru _navigator" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informaţii erori" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Consumă" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Ajutor comenzi facile" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "Mut" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titlu" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Mod singular" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "Unel_te" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Arată versiunea şi revizia programului" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Opreşte gmpc dacă rulează" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Înlocuieşte gmpc-ul care rulează" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Nu încărca modulele" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Încarcă un fişier de configurare alternativ" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Setează nivelul de depanare" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Porneşte gmpc ascuns" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Şterge toate informaţiile invalide din memoria de metadate" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "Arată evenimentele de redesenare în GTK+" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Arată dialogul de informaţii de depanare" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "Arată toate ieşirile notate in jurnal dintr-un anume domeniu" + +#: ../src/main.c:438 +msgid "quit" +msgstr "ieşire" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Ieşire din gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "ascunde" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Ascundere gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "arată" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Arată gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "arată notificare" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Arată notificarea la iconiţa din tava de sistem" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "Eroare la încărcarea sistemului de configurare." + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "Permisiuni insuficiente pentru conectarea la mpd. Verificați parola." + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "Versiunile de MPD mai vechi de 0.13.0 nu sunt suportate" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "Conectat la mpd" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "Deconectat de la mpd" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "O eroare a survenit în timpul operaţiunii" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Următoarele erori au survenit" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" +"Un nou modul de metadate a fost adăugat, gmpc a curățat toate intrările " +"eronate din memorie." + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "Modul pentru metadate" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Arată comenzile facile" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" +"A fost detectată o setare duplicat\n" +"\n" +"%s este deja setat ca %s" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "activează" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "dezactivează" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Opreşte după melodia curentă: Versiunea de server MPD folosită este prea " +"veche şi nu suportă această funcţie." + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Opreşte după melodia curentă: Nu posedaţi permisiunile de rigoare." + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Redarea se va oprii după melodia curentă." + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Repetă melodia curentă: Versiunea de server MPD folosită este prea veche şi " +"nu suportă această funcţie." + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Repetă melodia curentă: Nu dispuneţi de permisiunile necesare." + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Această melodie va fi repetată mereu." + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" +"Actualizare baza de date: Versiunea de server MPD folosită este prea veche " +"şi nu suportă această funcţie." + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Actualizare bază de date: Nu dispuneţi de permisiunile necesare." + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "redă" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "porneşte redarea" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "pauză" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "pauză redare" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "următoarea" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "următoarea melodie" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "precedenta" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "precedenta melodie" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "oprire" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "oprire redare" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "aleator" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Aleator (da|nu)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "repetare" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Repetare (da|nu)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "volum" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Volum (+-)" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "oprire sunet" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "crossfade" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Oprit)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Setare crossfade " + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "ieşire" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Activează|Dezactivează)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "ieşirea X activare sau dezactivare" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Redare " + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "adaugă" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Adaugă " + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "înlocuieşte" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "înlocuieşte " + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "derulare" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Derulare în melodia curentă" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "opreşte după melodia curentă" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Opreşte redarea după melodia curentă" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "repetă melodia curentă" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "Repetă melodia curentă" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "actualizare baza de date" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Actualizare baza de date" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "Setează notare" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "MPD îşi actualizează baza de date" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "MPD a terminat actualizarea bazei de date" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"Fişierul de descriere al interfeţei nu a putut fi deschis!\n" +"Vă rugăm reinstalaţi gmpc\n" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Mod Singular: %s" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "Consumă: %s" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "Baza de data MPD a fost reactualizată la: %c" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "Informaţii" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Eroare la încărcarea modulului" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "modulul nu are nume" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "modulul nu are funcţiile set/get enable" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "structura navigatorului de module este incorectă" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "structura metadatelor modulelor este incorectă" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "extensia api get_image pentru module este depreciată " + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "extensia api get_uris pentru module este depreciată " -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Durată" +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "structura preferintelor modulelor este incorectă" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "Eroare la crearea unei instanţe a modulului" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Pistă" +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "Eroare la legarea simbolurilor din modul" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Compozitor" +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "Modulul %s are versiunea greşită de api: %i" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Interpret" +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "Modulul %s are structura incorectă: %s" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Director" +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "Module" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Extensie" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "Eroare la deschidera unui fişier local" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "Schema din adresă nu este suportată" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "" +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "Setare conexiune" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 +#: ../src/smclient/eggdesktopfile.c:1392 #, c-format -msgid "Only the first %i result displayed, please refine your search query" +msgid "Not a launchable item" msgstr "" -"Se afișează doar primele %i rezultate, vă rugăm să rafinați termenii de " -"căutare" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Caută artist:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Gen: " -msgstr[1] "Genuri: " -msgstr[2] "Genuri: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Dată: " -msgstr[1] "Date: " -msgstr[2] "Date: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Despre artist:" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Despre album:" +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Navigator de metadate" +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Director muzică:" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Arată melodia curentă" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "Arată butoane în loc de lista derulata in vederea restrânsă" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "Arată informaţii în lista de melodii" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "Setări proxy" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "Foloseşte autentificare" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Nume utilizator:" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" msgstr "" +"Pentru a dezactiva o setare a tastaturii editaţi-o şi apăsaţi 'backspace'" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "schimbă lista de redare" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Schimbă la lista de redare" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Şterge lista de redare" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Taie melodia curentă" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "Taie lista de redare încât să conţină numai melodia curentă" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" +"Aparent nu aveţi melodii în baza de date.\n" +"Pentru a adăuga melodii, copiaţi melodiile in directorul " +"music_directory specificat in fişierul de configurare mpd.\n" +"Apoi actualizaţi baza de date. (Server->Actualizare baza de date)" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Editor de listă de redare" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "Căutare" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "Baza de date" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Listă de redare nouă" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Lista redare" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Redenumește lista de redare" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "Căutare eşuată" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Redenumește" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "Adaugă toate" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Adaugă la lista de redare" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "schimbă căutarea" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "caută în baza de date" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Caută în baza de date" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "caută în lista de redare" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Caută în lista de redare" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "Fereastra de căutare" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Favorite" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Liste de redare" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." -msgstr "" +msgstr "Adaugă melodia redată la lista de favorite" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" -msgstr "" +msgstr "Adaugă melodia curentă la lista de favorite" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" -msgstr "Navigare după etichete" - -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" -msgstr "" +msgstr "Resetează fereastra" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" -msgstr "" +msgstr "Informaţii server" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" -msgstr "" +msgstr "Server" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" -msgstr "" +msgstr "Timp rulare" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" -msgstr "" +msgstr "Timp redare" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" -msgstr "" +msgstr "Timp total redare" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" -msgstr "" +msgstr "Numărul de artişti" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" -msgstr "" +msgstr "Numărul de albume" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" -msgstr "" +msgstr "Numărul de melodii" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" -msgstr "" +msgstr "Acces URL" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" -msgstr "" +msgstr "Tipuri etichete" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" -msgstr "" +msgstr "Statistici etichete" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "AlbumArtist" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Extensie" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Marcaj" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Director" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Fișier" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Unelte" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disc" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "Selector metadate" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Comentariu" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "Preluare versuri" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Id iconiță" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Poziție" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "indisponibil" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" -msgstr "" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "încărcare" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "Notare:" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Actualizează lista de pe Internet" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Adaugă înainte" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "Căutare %s pe %s" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Adaugă după" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "Comenzi facile Gmpc" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "Ajutor comenzi facile" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "Comandă" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "Mod de utilizare" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Editează coloanele" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" +"Următoarele comenzi pot fi utilizate in fereastra de comenzi facile.\n" +"Fereastra de comenzi facile poate fi deschisă apăsând ctrl-space" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Profil adăugat" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "Ajutor" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Profil șters" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "Listă de comenzi disponibile" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Ia din nou" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "Adresă" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Selectează fișierul" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "Furnizor" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Eșec la deschiderea fișierului:" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "Tip fişier" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "din cauza problemelor de codare" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "Mărime" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Se obțin versurile" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "wxh" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Se obțin informații despre artist" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "Copertă" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Se obțin informații despre album" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "Versuri" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Nu sunt disponibile" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "Informaţii insuficiente pentru a pastra/prelua aceste metadate" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Selectați fișierul" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "Copertă artist" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Document text" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "Copertă album" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Toate" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "Versuri melodie" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Imagini" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Informaţii album" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "Biografie artist" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Melodii similare" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Nedisponibil" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#~ msgid "/" -#~ msgstr "/" - -#~ msgid "An Error Occured" -#~ msgstr "A apărut o eroare" - -#~ msgid "Name:" -#~ msgstr "Nume:" - -#~ msgid "Sort by:" -#~ msgstr "Sortează după:" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "" -#~ "The configured Tag browsers will only show up with " -#~ "mpd version 0.12 or above." -#~ msgstr "" -#~ "Navigatoarele de etichete configurate vor apărea " -#~ "doar cu versiunea mpd 0.12 sau mai nouă." +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Lângă zona de notificare\n" -#~ "Colțul din stânga sus\n" -#~ "Colțul din dreapta sus\n" -#~ "Colțul din stânga jos\n" -#~ "Colțul din dreapta jos" - -#~ msgid "Error Dialog" -#~ msgstr "Dialog de eroare" - -#~ msgid "Error msg" -#~ msgstr "Mesaj de eroare" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Nimic\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Titlu\n" -#~ "Pistă\n" -#~ "Nume\n" -#~ "Gen\n" -#~ "Dată\n" -#~ "Compozitor\n" -#~ "Interpret\n" -#~ "Comentariu\n" -#~ "Disc" - -#~ msgid "_Reconnect" -#~ msgstr "_Reconectare" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "informații și mai sus\n" -#~ "avertismente și mai sus\n" -#~ "erori\n" -#~ "nimic" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Clientul Gnome de ascultat muzică\n" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Melodii" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Încercați să rulați gmpc cu o versiune incompatibilă de libmpd." +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." -#~ msgstr "Gmpc este conectat la o versiune mpd mai veche de 0.12.0." +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Artist album" -#~ msgid "Connected to mpd" -#~ msgstr "Conectat la mpd" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Plugins" -#~ msgstr "Module" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Cale" -#~ msgid "Plugins:" -#~ msgstr "Module:" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "Favorită" -#, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Eșec la deschiderea adresei: „%s”" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Notare" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Eșec la analiza legăturii către lista de redare" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Versuri" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Clientul Gnome de ascultat muzică" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "And" -#~ msgstr "Și" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "Or" -#~ msgstr "Sau" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Search" -#~ msgstr "Căutare" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Timp de redare" -#~ msgid "Search in current _play queue" -#~ msgstr "Caută în coada de _redare curentă" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Informaţii album" -#~ msgid "Artist:" -#~ msgstr "Artist:" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Informaţii artist" -#~ msgid "Songs:" -#~ msgstr "Melodii:" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "PlayTime:" -#~ msgstr "Timp de redare:" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "Genre:" -#~ msgstr "Gen:" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Date:" -#~ msgstr "Dată:" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "Collection" -#~ msgstr "Colecție" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "Legături web" -#~ msgid "Album:" -#~ msgstr "Album:" +#~ msgid "Fetching..." +#~ msgstr "Preiau..." -#~ msgid "Track:" -#~ msgstr "Pistă:" +#~ msgid "Invalid search" +#~ msgstr "Căutare invalidă" -#~ msgid "Composer:" -#~ msgstr "Compozitor:" +#~ msgid "Bitrate" +#~ msgstr "Rată de biţi" -#~ msgid "Performer:" -#~ msgstr "Interpret:" +#~ msgid "Collection" +#~ msgstr "Colecţie" -#~ msgid "Dirname:" -#~ msgstr "Dosar:" +#~ msgid "Songs with same title" +#~ msgstr "Melodii cu acelaşi titlu" -#~ msgid "Extension:" -#~ msgstr "Extensie:" +#~ msgid "Audio format" +#~ msgstr "Format audio" -#~ msgid "Lyric:" -#~ msgstr "Versuri:" +#~ msgid "bits" +#~ msgstr "biţi" -#~ msgid "Links" -#~ msgstr "Legături" +#~ msgid "Tracks" +#~ msgstr "Piese" -#~ msgid "Artist info:" -#~ msgstr "Despre artist:" +#~ msgid "channels" +#~ msgstr "canale" -#~ msgid "Albums:" -#~ msgstr "Albume:" +#~ msgid "Similar Artists" +#~ msgstr "Artişti similari" -#~ msgid "Similar Artists:" -#~ msgstr "Artiști similari:" +#~ msgid "Albums" +#~ msgstr "Albume" -#~ msgid "Album info:" -#~ msgstr "Despre album:" +#~ msgid "kHz" +#~ msgstr "kHz" -#~ msgid "Songs:" -#~ msgstr "Melodii:" +#~ msgid "Show the current album information" +#~ msgstr "Arată informaţii despre albumul curent" -#~ msgid "Tracks:" -#~ msgstr "Piste:" +#~ msgid "show current artist" +#~ msgstr "arată artistul curent" -#~ msgid "Directory:" -#~ msgstr "Dosar:" +#~ msgid "Show the current songs information" +#~ msgstr "Arată informaţii despre melodia curentă" -#~ msgid "New accelerator..." -#~ msgstr "Accelerator nou..." +#~ msgid "show current album" +#~ msgstr "arată albumul curent" -#~ msgid "Accelerator key" -#~ msgstr "Combinație de taste" +#~ msgid "Show the current artist information" +#~ msgstr "Arată informaţii despre artistul curent" -#~ msgid "Accelerator modifiers" -#~ msgstr "Modificatori pentru combinațiile de taste" +#~ msgid "show current song" +#~ msgstr "arată melodia curentă" -#~ msgid "Accelerator keycode" -#~ msgstr "Cod-cheie accelerator" +#~ msgid "Links" +#~ msgstr "Legături" -#~ msgid "Accel Mode" -#~ msgstr "Mod accelerator" +#~ msgid "Orientation" +#~ msgstr "Orientare" -#~ msgid "The type of accelerator." -#~ msgstr "Tipul combinației de taste." +#~ msgid "The orientation of the tray." +#~ msgstr "Orientare tavă sistem" -#~ msgid "Title:" -#~ msgstr "Titlu:" +#~ msgid "Switch to the metadata browser" +#~ msgstr "Schimbă la fereastra de metadate" -#~ msgid "Duration:" -#~ msgstr "Durată:" +#~ msgid "switch metadata browser" +#~ msgstr "schimbă fereastra de metadate" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/ru.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/ru.po --- gmpc-0.18.0/po/ru.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/ru.po 2009-09-21 11:15:59.000000000 +0100 @@ -6,341 +6,158 @@ msgstr "" "Project-Id-Version: gmpc 0.15.5.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-27 19:36+0000\n" -"Last-Translator: spo1ler \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-27 20:37+0000\n" +"Last-Translator: Alex Mr.Brightside Demurine \n" "Language-Team: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Фронтенд для MPD среды GNOME" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Клиент музыкального проигрывателя GNOME" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Справка" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "База данных MPD обновляется." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Приглушить звук" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Следующая" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Воспроизвести/пауза" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Предыдущая" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Профили" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Случайный выбор" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Циклический повтор" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Показать сообщения" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" -msgstr "Стоп" +msgstr "Остановить" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Посетить вебсайт" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "Компактный вид" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" -msgstr "Под_ключиться" +msgstr "Соединить" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Управление" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Отключиться" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "Полный вид" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Во весь экран" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "П_ереход" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Справка" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Музыка" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" -msgstr "_Дополнительно" +msgstr "_Опции" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" -msgstr "О_тправить пароль" - -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Cервер" +msgstr "Передать пароль" -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" -msgstr "Показывать _изображение исполнителя" +msgstr "_Показывать изображение исполнителя" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Вид" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Менеджер списка воспроизведения" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/path/to/file_name.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Jonny Singer" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Февраля 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Сервер потоков MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Прокси-сервер" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--debug-level=" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--config=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--start-hidden" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--clean-cover-db" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--disable-plugins" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--replace" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--quit" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--import-old-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--debug-updates" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--help" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" -"Gnome Music Player Client\n" -"Опции:\n" -"\t--start-hidden\t\tСтартовать свёрнутым\n" -"\t--help\t\t\tПоказать это сообщение.\n" -"\t--debug-level=\tЗаставить gmpc выводить отладочную информацию\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 Без вывода\n" -"\t\t\t\t\t1 Сообщения об ошибках\n" -"\t\t\t\t\t2 Сообщения об ошибках и предупреждения\n" -"\t\t\t\t\t3 Все сообщения\n" -"\t--version\t\tВывести версию и ревизию git\n" -"\t--config=\t\tУстановить путь до файла с конфигурацией, по умолчанию: " -"~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tОчистить файл с обложками.\n" -"\t--disable-plugins\tНе загружать дополнения\n" -"\t--replace\t\tЗаменить запущенную сессию текущей\n" -"\t--quit\t\t\tЗакрыть текущую сессию gmpc. Работает только если опция " -"multiple-instances отключена\n" - -#: ../src/main.c:444 -msgid "quit" -msgstr "выход" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "Выйти из gmpc" - -#: ../src/main.c:446 -msgid "hide" -msgstr "скрыть" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "Скрыть gmps" - -#: ../src/main.c:448 -msgid "show" -msgstr "показать" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "Показать gmps" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "Показать уведомление" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "Показывать уведомление в трее" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Не удалось загрузить систему конфигурации" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Не удалось загрузить журнал с отладочной информацией." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Не удалось настроить libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC имеет недостаточные привилегии на этом mpd сервере." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -349,143 +166,36 @@ "Не удалось установить пароль для: '%s'\n" "Пожалуйста, попробуйте снова" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Пожалуйста, введите Ваш пароль для: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "код ошибки" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Недостаточно прав для соединения с mpd. Проверьте пароль" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD версии ниже 0.13.0 не поддерживается" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Соединен с mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Отсоединен от mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "При выполнении операции возникла ошибка" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Следующие ошибки возникли:" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Сообщение об ошибке" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "Строка с дополнительной информацией" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Версия" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Ревизия" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Версия Libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Версия GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Версия Libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Платформа" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Windows" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OS X" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Web-сайт" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Выбранные опции" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Управление сессиями X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Включено" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Отключено" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Поддержка NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Мультимедийные клавиши" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Иконка Libeggs в трее" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Библиотека интеграции с Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Использовать папку ~/.config/" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Время отладки" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" @@ -493,15 +203,11 @@ "Новый плагин метаданных был добавлен, gmpc удалил все неудавшиеся попытки из " "кэша," -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "Заголовок метаданных" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Общее время: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "день" @@ -515,20 +221,14 @@ msgstr[1] "часа" msgstr[2] "часов" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "минута" msgstr[1] "минуты" msgstr[2] "минут" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "секунд" -msgstr[1] "секунды" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Невозможно выполнить" @@ -581,12 +281,7 @@ msgid "Toggle Mute" msgstr "Вкл/выкл. звук" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -594,7 +289,7 @@ "Невозможно захватить следующие мультимедийные клавиши:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -604,7 +299,7 @@ "Убедитесь, что ваш оконный менеджер (или другие приложения) не задействовали " "эту клавишу для каких-либо функций, а затем перезапустите gmpc" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -617,15 +312,11 @@ "которые были отключены. Пожалуйста, проверьте настройки и убедитесь, что они " "корректны." -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Мультимедийные клавиши" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -642,196 +333,94 @@ "Убедитесь, что ваш оконный менеджер (или другие приложения) не задействовали " "эту клавишу для каких-либо функций, а затем перезапустите gmpc" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Действие" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Комбинация клавиш" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "воспроизведение" - -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "начать воспроизведение" - -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "Приостановить" - -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "cледующий" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "следующая песня" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "пред." - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "предыдущая песня" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "стоп" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "остановить вопроизведение" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "случайное" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "Случайное (вкл.|выкл.)" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "повтор" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "Повтор (вкл.|выкл.)" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "громкость" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Громкость " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "громкость \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Увеличить громкость" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "громкость" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Уменьшить громкость" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "отключить звук" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "добавить" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "переместить" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Выключить" -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Параметры сервера" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Подключение" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Подключение" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Все из этого альбома" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Все этого исполнителя" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Все этого жанра" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Все из того же каталога" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Добавить" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Оценить" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "База данных MPD обновляется" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD обновляет базу данных" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD закончил обновление баз данных" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Подключено" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Не подключен" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Подключено к" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Соединение разорвано" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" @@ -839,177 +428,181 @@ "Не удалось открыть файл с описанием интерфейса!\n" "Пожалуйста переустановите gmpc\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Повторять: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Включить" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Выключить" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Случайный выбор: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "MPD база данных обновлена в %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD сообщил о следующей ошибке" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Профиль" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" -msgstr "добавлен" +msgstr "добавлено" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Имя хоста изменено на:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Обновить базу данных" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Информация" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" -msgstr "исполняет" +msgstr "По" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "из альбома" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Ничего не воспроизводится" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Интерфейс" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Сведения" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Предупреждение" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Критический" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Время" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Сообщение" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Один или более плагинов не удалось загрузить, посмотрите в Помощь->Сообщения " "для дополнительной информации" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Дополнения" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Дополнения:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Включено" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Название" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Функция" -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Версия" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Расширение браузера" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "Поставщик метаданных" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "Поставщик метаданных и расширение браузера" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Прочее" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Неизвестный" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Поиск:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "Добавлено %i %s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "поток" msgstr[1] "потока" msgstr[2] "потоков" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "Добавлен 1 поток" #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Введите URL" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Плей_лист" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Уведомление" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -1017,18 +610,18 @@ "Это первый раз, как Вы запустили gmpc.\n" "Этот помощник поможет Вам соединить gmpc с Вашим mpd демоном" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Добро пожаловать в GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Настройка соединения" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1036,7 +629,7 @@ "Gmpc готов к использованию.\n" "Наслаждайтесь gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Готово" @@ -1130,11 +723,30 @@ " Evgeny Kabinov https://launchpad.net/~ekabinov\n" " Max Habets https://launchpad.net/~sky3\n" " MaxStotsky https://launchpad.net/~maxstotsky\n" -" Old Snake https://launchpad.net/~snoopy-rastrnet-deactivatedaccount1\n" +" Maxim S. https://launchpad.net/~luvme-nn\n" +" Panda-Yuliya https://launchpad.net/~panda-yuliya\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Rudenko Ruslan https://launchpad.net/~rudenko-ruslan\n" +" Ruslan Almukhametov https://launchpad.net/~bigruslan\n" +" Sergei Aljoshin https://launchpad.net/~marfeus\n" +" ivvmm https://launchpad.net/~unachievable\n" +" spo1ler https://launchpad.net/~splrdhc\n" +"\n" +"Launchpad Contributions:\n" +" Alex Mr.Brightside Demurine https://launchpad.net/~extrimall90\n" +" Andrew V. Sichevoi https://launchpad.net/~a-sichevoi+ubuntu\n" +" Bruce Wayne https://launchpad.net/~bruce-wayne-deactivatedaccount\n" +" Egor Bushmelyov https://launchpad.net/~skipper95\n" +" Evgeny Kabinov https://launchpad.net/~ekabinov\n" +" Max Habets https://launchpad.net/~sky3\n" +" MaxStotsky https://launchpad.net/~maxstotsky\n" +" Maxim S. https://launchpad.net/~luvme-nn\n" +" Panda-Yuliya https://launchpad.net/~panda-yuliya-deactivatedaccount\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" " Ruslan Almukhametov https://launchpad.net/~bigruslan\n" " Sergei Aljoshin https://launchpad.net/~marfeus\n" " ivvmm https://launchpad.net/~unachievable\n" +" sonic https://launchpad.net/~sonic-1987\n" " spo1ler https://launchpad.net/~splrdhc" #: ../glade/password-dialog.ui.h:1 @@ -1147,7 +759,7 @@ #: ../glade/password-dialog.ui.h:3 msgid "_Save password" -msgstr "С_охранить пароль" +msgstr "Сохранить пароль" #: ../glade/preferences-connection.ui.h:1 msgid "Profile:" @@ -1155,39 +767,39 @@ #: ../glade/preferences-connection.ui.h:2 msgid "Conn_ect" -msgstr "По_дключиться" +msgstr "Подключиться" #: ../glade/preferences-connection.ui.h:3 msgid "Host:" -msgstr "Сервер:" +msgstr "Хост:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Имя:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Пароль:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Порт:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" -msgstr "Ожидание соединения (c):" +msgstr "Ожидание (c):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Автоподключение" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Использовать аутентификацию" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1205,7 +817,7 @@ #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" -msgstr "А_льбом:" +msgstr "Альбом" #: ../glade/preferences-esf-dialog.ui.h:5 msgid "Edit Song Formatting" @@ -1213,7 +825,7 @@ #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" -msgstr "_Дорожка:" +msgstr "Дорожка:" #: ../glade/preferences-esf-dialog.ui.h:7 msgid "_Artist" @@ -1221,7 +833,7 @@ #: ../glade/preferences-esf-dialog.ui.h:8 msgid "_Date" -msgstr "_Дата" +msgstr "Дата" #: ../glade/preferences-esf-dialog.ui.h:9 msgid "_Stream name" @@ -1244,38 +856,26 @@ msgstr "Список воспроизведения:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Разметка названия звуковой дорожки:" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Центрировать проигрываемую композицию" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "Редактировать разметку _браузера" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Сворачивать при закрытии" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Сохранять позицию и размер между сессиями" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "Отображать кнопки вместо ниспадающего меню в упрощенном просмотре" -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "Показать набор иснтрументов для списка проигрываемых композиций" - -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "Остановить воспроизведение при выходе" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "Стилизовать обложки альбомов" @@ -1313,7 +913,7 @@ #: ../glade/preferences-trayicon.ui.h:2 msgid "Notification Area Icon" -msgstr "Значок зоны уведомлений" +msgstr "Иконка в области уведомлений" #: ../glade/preferences-trayicon.ui.h:3 msgid "PopUp" @@ -1321,17 +921,13 @@ #: ../glade/preferences-trayicon.ui.h:4 msgid "Enable" -msgstr "Активировать" +msgstr "Включить" #: ../glade/preferences-trayicon.ui.h:5 msgid "Position:" msgstr "Позиция:" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Время бездействия:" @@ -1388,62 +984,43 @@ msgid "name:" msgstr "имя:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "пункт" -msgstr[1] "элемента" -msgstr[2] "элементов" +msgstr[1] "элемент" +msgstr[2] "элементы" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "(Приблизительно)" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Очередь воспроизведения" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "Вы уверены, что хотите очистить список воспроизведения?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "Ваш mpd имеет поврежденный 'addid', вставка не удалась." #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Вырезать" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Случайный порядок" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" -msgstr "Добавить URL" +msgstr "Добавить ссылку" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1452,29 +1029,26 @@ "Список воспроизведения \"%s\" уже существует\n" "Перезаписать?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." -msgstr "Невозможно сохранить список воспроизведения" +msgstr "Невозможно сохранить файл списка воспроизведения" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Очередь воспроизведения" #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" -msgstr "Просмотр файлов" +msgstr "Браузер файлов" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Папки" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "Рекурсивно добавлен каталог '%s'" @@ -1482,848 +1056,1445 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Заменить" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Обновить" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" -msgstr "Загружен список воспроизведения" +msgstr "Список воспроизведения загружен" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Добавлено" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "песня" msgstr[1] "звуковые дорожки" msgstr[2] "звуковых дорожек" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "папка" msgstr[1] "папки" msgstr[2] "папки" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "список воспроизведения" msgstr[1] "списка воспроизведения" msgstr[2] "списков воспроизведения" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Вы уверены, что хотите очистить выбранный список воспроизведения?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Запрос" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "База данных" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "Список воспроизведения" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Поиск" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Ошибка поиска" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Добавить все" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "найти плейлист" - -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Недоступно" - -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Загрузка..." - -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Вид" - -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" -msgstr "Исполнитель" - -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Композиций" - -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Время воспроизведения" - -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" -msgstr "Жанр" - -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Дата" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Коллекция" - -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Заголовок" - -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" -msgstr "Продолжительность" - -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Альбом" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Дорожка" - -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Композитор" - -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Исполнитель" - -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Папка" - -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Расширение" - -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "Рейтинг" - -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Битрейт" - -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "н/д" - -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "формат аудио" - -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Текст песни" - -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Композиции с одинаковым названием" - -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Одинаковые песни" - -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "Неправильный поиск" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Только первый %i результат отображен, пожалуйста очистите Ваш запрос поиска" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Найти исполнителя:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Жанр: " -msgstr[1] "Жанры: " -msgstr[2] "Жанры: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Дата: " -msgstr[1] "Даты: " -msgstr[2] "Даты: " - -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Информация об исполнителе:" - -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Информация об исполнителе" - -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Альбомы" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Похожие исполнители" - -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Информация об альбоме:" - -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Информация об альбоме:" - -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Исполнитель" - -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Дорожки" - -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "Просмотр метаданных" - -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Показать информацию о текущей звуковой дорожке" - -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "Кбит/сек." - -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "КГц" - -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "битов" - -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" -msgstr "каналы" - -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "показать текущую песню" - -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Показать информацию о текущей песне" - -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "показать текущего артиста" - -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "показать текущий альбом" - -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "" - -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 msgid "Playlist Editor" msgstr "Редактор списка воспроизведения" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 msgid "Favorites" msgstr "Избранное" -#: ../src/browsers/playlist3-playlist-editor.c:467 +#: ../src/browsers/playlist3-playlist-editor.c:451 msgid "New playlist" msgstr "Новый список воспроизведения" -#: ../src/browsers/playlist3-playlist-editor.c:506 +#: ../src/browsers/playlist3-playlist-editor.c:492 msgid "Rename Playlist" msgstr "Переименовать список воспроизведения" #. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 msgid "Rename" msgstr "Переименовать" #. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 +#: ../src/browsers/playlist3-playlist-editor.c:981 msgid "Add to playlist" msgstr "Добавить в список воспроизведения" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "Исполняемая песня добавлена в список избранных." #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "Добавить текущуюю песню в избранные." -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "Брузер с поддержкой тэгов" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" msgstr "Сбросить настройки браузера" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "Информация о сервере" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "Сервер" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "Время работы" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "Время исполнения" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" -msgstr "Общее время проигрывания" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "Разметка" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" -msgstr "Число артистов" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "Исполнитель" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" -msgstr "Число альбомов" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Альбом" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Заголовок" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "Файл" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" -msgstr "" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "Жанр" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" -msgstr "" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Дорожка" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "Направление" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "Расположение лотка." +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Композитор" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Разметка" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Исполнитель" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Файл" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Дата" #: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "Продолжительность" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 msgid "Disc" msgstr "Диск" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 msgid "Comment" msgstr "Комментарий" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/gob/gmpc-mpddata-treeview.gob:83 msgid "Icon Id" msgstr "Id иконки" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 +#: ../src/gob/gmpc-mpddata-treeview.gob:84 msgid "Position" msgstr "Позиция" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Расширение" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Папка" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" msgstr "Инструменты" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 +#: ../src/gob/gmpc-mpddata-treeview.gob:983 msgid "Paste before" msgstr "Вставить до" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 +#: ../src/gob/gmpc-mpddata-treeview.gob:992 msgid "Paste after" msgstr "Вставить после" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" msgstr "Редактировать колонки" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" msgstr "Добавлен профиль" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" msgstr "Профиль удален" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 msgid "Refetch" msgstr "Получить заново" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 msgid "Select file" msgstr "Выберите файл" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "Failed to open file:" -msgstr "Невозможно открыть файл" +msgstr "Не удалось открыть файл" -#: ../src/gob/gmpc-meta-text-view.gob:157 +#: ../src/gob/gmpc-meta-text-view.gob:302 msgid "because of encoding issues" msgstr "из-за проблем с кодировкой" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" -msgstr "Получение текста" - -#: ../src/gob/gmpc-meta-text-view.gob:176 +#: ../src/gob/gmpc-meta-text-view.gob:361 msgid "Fetching Artist Info" msgstr "Загрузка информации об исполнителе" -#: ../src/gob/gmpc-meta-text-view.gob:180 +#: ../src/gob/gmpc-meta-text-view.gob:369 msgid "Fetching Album Info" msgstr "Получение информации об альбоме" -#: ../src/gob/gmpc-meta-text-view.gob:188 +#: ../src/gob/gmpc-meta-text-view.gob:380 msgid "Not Available" msgstr "Недоступно" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 msgid "Select File" msgstr "Выбрать файл" -#: ../src/gob/gmpc-meta-text-view.gob:253 +#: ../src/gob/gmpc-meta-text-view.gob:450 msgid "Text Document" msgstr "Текстовый документ" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 msgid "All" msgstr "Всё" -#: ../src/gob/gmpc-metaimage.gob:821 +#: ../src/gob/gmpc-metaimage.gob:893 msgid "Images" msgstr "Изображения" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Загрузка" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "н/д" -#: ../src/vala/gmpc_menu_item_rating.c:59 +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Загрузка" + +#: ../src/vala/gmpc_menu_item_rating.c:97 msgid "Rating:" msgstr "Рейтинг:" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" -msgstr "Обновить список из интернета" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Одинаковые песни" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Ссылки" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "исполнитель" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "альбом" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Недоступно" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" -msgstr "" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Просмотр метаданных" -#~ msgid "An Error Occured" -#~ msgstr "Произвошла ошибка" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Композиций" -#~ msgid "Name:" -#~ msgstr "Имя:" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Исполнитель" -#~ msgid "Sort by:" -#~ msgstr "Сортировать по:" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "Рейтинг" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "Возле системного лотка\n" -#~ "Левый верхний угол\n" -#~ "Правый верхний угол\n" -#~ "Левый нижний угол\n" -#~ "Правый нижний угол" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Текст песни" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Время воспроизведения" -#~ msgid "Error Dialog" -#~ msgstr "Диалог ошибки" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Информация об альбоме:" -#~ msgid "Error msg" -#~ msgstr "Сообщение об ошибке" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Информация об исполнителе" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" +#~ msgid "_Server" +#~ msgstr "_Cервер" + +#~ msgid " Total time: " +#~ msgstr " Общее время: " + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Жанр: " +#~ msgstr[1] "Жанры: " +#~ msgstr[2] "Жанры: " + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Дата: " +#~ msgstr[1] "Даты: " +#~ msgstr[2] "Даты: " + +#~ msgid "Album info:" +#~ msgstr "Информация об альбоме:" + +#~ msgid "Show Current Song" +#~ msgstr "Показать информацию о текущей звуковой дорожке" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Февраля 2006" + +#~ msgid "Song Markup" +#~ msgstr "Разметка звуковой дорожки:" + +#~ msgid "Edit _Browser Markup" +#~ msgstr "Редактировать разметку браузера" + +#~ msgid "Jonny Singer" +#~ msgstr "Jonny Singer" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Сервер потоков MPD" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--disable-plugins" +#~ msgstr "--disable-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--clean-cover-db" + +#~ msgid "--import-old-db" +#~ msgstr "--import-old-db" + +#~ msgid "--quit" +#~ msgstr "--quit" + +#~ msgid "--replace" +#~ msgstr "--replace" + +#~ msgid "--start-hidden" +#~ msgstr "--start-hidden" + +#~ msgid "--config=" +#~ msgstr "--config=" + +#~ msgid "View" +#~ msgstr "Вид" + +#~ msgid "Fetching..." +#~ msgstr "Загрузка..." + +#~ msgid "Collection" +#~ msgstr "Коллекция" + +#~ msgid "Songs with same title" +#~ msgstr "Композиции с одинаковым названием" + +#~ msgid "Links" +#~ msgstr "Ссылки" + +#~ msgid "Artist info:" +#~ msgstr "Информация об исполнителе:" + +#~ msgid "Find Artist:" +#~ msgstr "Найти исполнителя:" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" #~ msgstr "" -#~ "Ничего\n" -#~ "Исполнитель\n" -#~ "Альбом\n" -#~ "Заголовок\n" -#~ "Дорожка\n" -#~ "Имя\n" -#~ "Жанр\n" -#~ "Дата\n" -#~ "Автор\n" -#~ "Ориг. исполнитель\n" -#~ "Комментарий\n" -#~ "Диск" +#~ "Только первый %i результат отображен, пожалуйста очистите Ваш запрос поиска" + +#~ msgid "kbit/sec" +#~ msgstr "Кбит/сек." + +#~ msgid "Tracks" +#~ msgstr "Дорожки" + +#~ msgid "Albums" +#~ msgstr "Альбомы" -#~ msgid "_Reconnect" -#~ msgstr "_Переподключится" +#~ msgid "Orientation" +#~ msgstr "Направление" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "Попытка запустить gmpc с неправильной версией libmpd." +#~ msgid "The orientation of the tray." +#~ msgstr "Расположение лотка." +#~ msgid "--debug-updates" +#~ msgstr "--debug-updates" + +#~ msgid "--help" +#~ msgstr "--help" + +#, c-format #~ msgid "" -#~ "Gmpc is currently connected to mpd version lower then 0.12.0.\n" -#~ "This might work, but is no longer supported." +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" #~ msgstr "" -#~ "Gmpc подключился к mpd с версией ниже, чем 0.12.0.\n" -#~ "Такой режим работы возможен, но больше не поддерживается." +#~ "Gnome Music Player Client\n" +#~ "Опции:\n" +#~ "\t--start-hidden\t\tСтартовать свёрнутым\n" +#~ "\t--help\t\t\tПоказать это сообщение.\n" +#~ "\t--debug-level=\tЗаставить gmpc выводить отладочную информацию\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 Без вывода\n" +#~ "\t\t\t\t\t1 Сообщения об ошибках\n" +#~ "\t\t\t\t\t2 Сообщения об ошибках и предупреждения\n" +#~ "\t\t\t\t\t3 Все сообщения\n" +#~ "\t--version\t\tВывести версию и ревизию git\n" +#~ "\t--config=\t\tУстановить путь до файла с конфигурацией, по умолчанию: " +#~ "~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tОчистить файл с обложками.\n" +#~ "\t--disable-plugins\tНе загружать дополнения\n" +#~ "\t--replace\t\tЗаменить запущенную сессию текущей\n" +#~ "\t--quit\t\t\tЗакрыть текущую сессию gmpc. Работает только если опция " +#~ "multiple-instances отключена\n" + +#~ msgid "Bitrate" +#~ msgstr "Битрейт" + +#~ msgid "Audio format" +#~ msgstr "формат аудио" + +#~ msgid "Invalid search" +#~ msgstr "Неправильный поиск" + +#~ msgid "Similar Artists" +#~ msgstr "Похожие исполнители" + +#~ msgid "kHz" +#~ msgstr "КГц" + +#~ msgid "bits" +#~ msgstr "битов" + +#~ msgid "channels" +#~ msgstr "каналы" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "путь к файлу .mp3" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Поврежденная информация" -#~ msgid "Connected to mpd" -#~ msgstr "Подключено к mpd" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Поглощать" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Простая коммандная пощь" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Одиночный модуль" -#~ msgid "Plugins" -#~ msgstr "Плагины" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Инструменты" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "Начать программу в полноэкранном режиме" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Показ версии и изменнеия программы" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Завершение управления gmpc" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Запущенные изменения gmpc" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Не загружать плагины" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Загрузка альтернативного конфигурационного файла" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "Установка уровня отладки" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "Запуск gmpc в трее" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "Удалить все недостающие хиты из метаданных кэша" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "Показать изменённые события в GTK+" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "Показать диалог ошибок" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "Показы всех выпусков от определенной области регистрации" + +#: ../src/main.c:438 +msgid "quit" +msgstr "выход" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Выйти из gmpc" -#~ msgid "Plugins:" -#~ msgstr "Плагины:" +#: ../src/main.c:440 +msgid "hide" +msgstr "скрыть" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Скрыть gmps" + +#: ../src/main.c:442 +msgid "show" +msgstr "показать" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Показать gmps" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "Показать уведомление" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Показывать уведомление в трее" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Во время операции произошла ошибка" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Произошли следующие ошибки:" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "Показать легкий командный вход" +#: ../src/mm-keys.c:632 #, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Не удалось связаться с URL: '%s'" +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" +"Обнаруженна картография дубликата\n" +"%s уже нанесен на карту %s" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "Не удалось разобрать ссылку на список воспроизведения композиций" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "запускать" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "блокировать" -#~ msgid "Gnome Music Player Client" -#~ msgstr "Gnome Music Player Client" +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "And" -#~ msgstr "И" +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" -#~ msgid "Or" -#~ msgstr "ИЛИ" +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" -#~ msgid "Search in current _play queue" -#~ msgstr "Искать в текущей очереди _воспроизведения" +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" -#~ msgid "Artist:" -#~ msgstr "Исполнитель:" +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Остановиться после текущей песни: используемый сервер MPD устарел и не " +"поддерживает это." -#~ msgid "Songs:" -#~ msgstr "Песни:" +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" +"Остановиться после текущей песни: Вы имеете недостаточное разрешение." -#~ msgid "PlayTime:" -#~ msgstr "Время воспроизведения:" +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "Воспроизведение будет остановлено после проигрывания текущей песни." -#~ msgid "Genre:" -#~ msgstr "Жанр:" +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" +"Повторить текущую песню: используемый сервер MPD устарел и не поддерживает " +"это." -#~ msgid "Date:" -#~ msgstr "Дата:" +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "Повторить текущую песню: Вы имеете недостаточное разрешение." -#~ msgid "Collection" -#~ msgstr "Коллекция" +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "Текущая песня будет всегда повторяться." -#~ msgid "Album:" -#~ msgstr "Альбом:" +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" +"Обновление базы данных : используемый сервер MPD устарел и не поддерживает " +"это." -#~ msgid "Track:" -#~ msgstr "Дорожка:" +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "Обновление базы данных : Вы имеете недостаточное разрешение." -#~ msgid "Composer:" -#~ msgstr "Композитор:" +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "воспроизведение" -#~ msgid "Performer:" -#~ msgstr "Оригинальный исполнитель:" +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "начать воспроизведение" -#~ msgid "Dirname:" -#~ msgstr "Имя каталога:" +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "Приостановить" -#~ msgid "Extension:" -#~ msgstr "Расширение:" +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "приостановка воспроизведения" -#~ msgid "Lyric:" -#~ msgstr "Текст:" +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "cледующий" -#~ msgid "Links" -#~ msgstr "Ссылки" +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "следующая песня" -#~ msgid "Artist info:" -#~ msgstr "Информация о исполнителе:" +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "пред." -#~ msgid "Albums:" -#~ msgstr "Альбомы:" +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "предыдущая песня" -#~ msgid "Similar Artists:" -#~ msgstr "Похожие исполнители:" +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "стоп" -#~ msgid "Album info:" -#~ msgstr "Информация об альбоме:" +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "остановить вопроизведение" -#~ msgid "Songs:" -#~ msgstr "Песни:" +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "случайное" -#~ msgid "Tracks:" -#~ msgstr "Дорожки:" +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Случайное (вкл.|выкл.)" -#~ msgid "Directory:" -#~ msgstr "Каталог:" +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "повтор" -#~ msgid "Title:" -#~ msgstr "Название:" +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Повтор (вкл.|выкл.)" -#~ msgid "Duration:" -#~ msgstr "Продолжительность:" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" -#~ msgid "Center opened folder" -#~ msgstr "Центрировать открытую директорию" +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" -#~ msgid "_Edit Playlist Markup" -#~ msgstr "Р_едактировать разметку списка воспроизведения" +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" -#~ msgid "gmpc" -#~ msgstr "gmpc" +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" -#~ msgid "Not Playing" -#~ msgstr "Не проигрывается" +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "громкость" -#~ msgid "Current Playlist" -#~ msgstr "Текущий список воспроизведения" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "Громкость (+-)<уровень>" -#~ msgid "Add to Queue" -#~ msgstr "Добавить в очередь" +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "отключить звук" -#~ msgid "Database Search" -#~ msgstr "Поиск по базе данных" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "выгореть" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Отключить)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "Набор выгорает <секунды>" -#~ msgid "Playlist Search" -#~ msgstr "" -#~ "Поиск по списку воспроизведения" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "выход" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "[0-9]+ (Активировать|Деактивировать)" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "выпуск X доступен или не доступен" -#~ msgid "Paused" -#~ msgstr "Приостановлено" +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Воспроизвести " -#~ msgid "Filename" -#~ msgstr "Имя файла" +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "добавить" -#~ msgid "Length" -#~ msgstr "Длина" +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Добавить " -#~ msgid "Pos" -#~ msgstr "Поз." +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "переместить" -#~ msgid "Changes become active on reconnect" -#~ msgstr "" -#~ "Эти изменения прийдут в силу после " -#~ "пересоединения" +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Заменить " + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "искать" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Искать внутри данной песни" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "Остановить после текущей песни" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "Остановить воспроизведение после этой песни" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "повторить текующую песню" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "повторить текующую песню" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "Обновить базу данных" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "Обновить базу данных" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "Одиночный режим: %s" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "Повтор включен" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "Повтор отключен" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "Случайный выбор включен" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "Случайный выбор отключен" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "Неудачная загрузка плагина" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "плагин не имеет имени" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "плагин с таким же именем уже существует" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "Плагин %s имеет неправильную api версию: %i" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "неудачное открытие файла" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "Путь к файлу с музыкой" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "Показать набор иснтрументов для списка проигрываемых композиций" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "Показать воздействие" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "переключить список воспроизведения" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "переключить на список воспроизведения" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Очистить список воспроизведения" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "Обрезать текущую песню" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Оказывается, музыка отсутствует в вашей базе данных.\n" +"Для добавления, скопируйте её в вашу music_directory, которая указана " +"в вашем MPD-файле конфигурации.\n" +"Затем обновите базу. (Сервер -> Обновить базу данных)" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "Переключить поиск" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "искать базу данных" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Поиск базы данных " + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "найти плейлист" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Поиск списка воспроизведении " + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "Список песен" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "Общее время проигрывания" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "Число исполнителей" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "Число альбомов" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "Число песен" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "Исполнитель альбома" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Обновить список из интернета" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "комманды" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "обычный" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "помощь" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "провайдер" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "тип фала" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "размер" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "включать" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "Альбом искусства" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "Информация об альбоме" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "биография артиста" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Путь" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "Show the current songs information" +#~ msgstr "Показать информацию о текущей песне" + +#~ msgid "show current album" +#~ msgstr "показать текущий альбом" + +#~ msgid "show current song" +#~ msgstr "показать текущую песню" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Песня или музыка со свингом" + +#~ msgid "The kernel jazz" +#~ msgstr "ядро джаза" + +#~ msgid "Show the current album information" +#~ msgstr "Показать информацию об альбоме" -#~ msgid "Format" -#~ msgstr "Формат" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "секунд" +#~ msgstr[1] "секунды" +#~ msgstr[2] "секунд" -#~ msgid "+" -#~ msgstr "+" +#~ msgid "show current artist" +#~ msgstr "показать исполнителя" -#~ msgid "-" -#~ msgstr "-" +#~ msgid "Show the current artist information" +#~ msgstr "Показать информацию об исполнителе" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/sq.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/sq.po --- gmpc-0.18.0/po/sq.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/sq.po 2009-09-21 11:15:59.000000000 +0100 @@ -6,323 +6,263 @@ msgid "" msgstr "" "Project-Id-Version: gmpc\n" -"Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-26 23:55+0000\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-07-13 17:30+0000\n" "Last-Translator: Ismail Gjevori \n" "Language-Team: Albanian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "Nisja e proçesit mpd nga Gnome" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" -msgstr "Clienti Gnome per player mizike" +msgstr "Clienti Gnome për player muzike" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 -msgid "Getting help" -msgstr "Duke marr ndihme" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Informacioni i bug" #: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "Konsumi" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "Komandë ndihme e lehtë" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "Duke marrë ndihmë" + +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "Database MPD duke u aktualizuar." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" -msgstr "Qetesi" +msgstr "Heshtje" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Tjetra" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Luaj/Pushim" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" -msgstr "E meparshmja" +msgstr "Paraardhësja" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" -msgstr "Profile" +msgstr "Profilet" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" -msgstr "Rastesore" +msgstr "Rastësore" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Përsërit" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Trego njoftimin" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "Vetëm" + #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Ndalo" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Vizito faqen web" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" -msgstr "" +msgstr "_Rëzo Ndërfaqen" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Lidhu" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" -msgstr "_Controllo" +msgstr "_Kontrollo" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Shkëputu" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" -msgstr "" +msgstr "_Zgjero Ndërfaqen" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Ekran të plotë" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Shko" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Ndihmë" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Muzikë" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Mundësitë" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Dërgo fjalkalimin" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_SHërbysi" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Trego imazhin e artistit" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Mjetet" + +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Paraqitja" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Menaxheri i listës" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/rruga/per_ne/emri_skedës.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "Këngëtari Jonny" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "Këndo ose Kolovit cfarë do" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "Thelbi i jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Shkurt 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "Serveri streaming i MPD" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxy" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "--niveli-i-debug=" +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--versioni" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--konfigurimi=" +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "Trego versionin e programit dhe versionin e ripunuar" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "--fillo-i-fshehur" +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "Ndalon gmpc që është duke u luajtur" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "--pastro-mbulesën-db" +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "Zëvëndëso gmpc që është duke u luajtur" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "--çaktivizo-pluginët" +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "Mos ngarko pluginet" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "--zëvëndëso" +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "Ngarko një skedë konfigurimi alternative" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "--dalje" +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "--importo-db-e-vjetër" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "--aktualizim-debugu" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--ndihmë" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 msgid "quit" msgstr "dalje" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Dalje e gmpc" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "fshe" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "Fshe gmpc" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "trego" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Trego gmpc" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "trego njoftimin" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "Trego njoftimin e mbajtësit së ikonës" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Dështoi për të ngarkuar sistemin e konfigurimit" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "Dështoi për të ngarkuar skedën debug-log." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Dështoi për të përgatitur libmpd" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC ka leje të pamjaftueshme ne serverin mpd." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,157 +271,59 @@ "Dështoi për të vendosur fjalkalimin ne: '%s'\n" "Ju lutemi provojeni përsëri" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Ju lutemi futni fjalkalimin tuaj për: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "gabim në kod" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "Leje e pamjaftueshme per tu lidhur me mpd. Kontrolloni fjalkalimin" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "Versione të MPD para 0.13.0 nuk janë të mbështetura" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Lidhje me mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Shkëputur nga mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "U has gabim gjatë operacionit" +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Gabimet e mëposhtme u hasën:" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "U hasën gabimet e mëposhtëm:" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Njoftim gabimi" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Versioni" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revizion" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Versioni i Libmpd" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "Versioni i GTK+" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Versioni i Libcurl" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "Platforma" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "Dritaret" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "*nix" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Faqja web" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "Mundësitë e aktivizuara" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "Drejtim i sesionit X" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Aktivizuar" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Çaktivizuar" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "Mbështetje e NLS" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Çelsat e nultimedias" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Mbajtësi ikonës së Libegg" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "Libsexy sistemi" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Integrim i librarisë nga Mac" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "Përdor ~/.config/ dir" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Koha e përgjithshme: " +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "ditë" @@ -493,19 +335,13 @@ msgstr[0] "orë" msgstr[1] "orë" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minutë" msgstr[1] "minuta" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "sekondë" -msgstr[1] "sekonda" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Dështoi ekzekutimin" @@ -563,7 +399,7 @@ msgid "Show easy command entry" msgstr "Trego komandat e lehta për hyrje" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -571,7 +407,7 @@ "Nuk mund t'i merrte çelsat e mëposhtëm të multimedias:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -581,7 +417,7 @@ "Sigurohuni që menaxheri i dritares (ose ndonjë aplikacion tjetër) nuk e ka " "lidhur këtë çelës për ndonjë funksion tjetër, mëpas rinisni gmpc." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -594,7 +430,11 @@ "çaktivizuar. Ju lutemi rishikoni preferencat dhe sigurohuni që mjedisi juaj " "është tani korrekt." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Çelsat e nultimedias" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -605,7 +445,7 @@ "\n" "%s është tashmë e planifikuar në %s" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -622,371 +462,598 @@ "Sigurohuni që menaxheri i dritares (ose ndonjë aplikacion tjetër) nuk e ka " "lidhur këtë çelës për ndonjë funksion tjetvr, mëpas rinisni gmpc." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Veprim" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Shkurtim" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "aktivizo" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "çaktivo" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Off" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" +"Ndalo mbas këngës që po luhet: Serveri MPD në përdorim është shumë i vjetër " +"dhe nuk e suporton këtë." + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "Ndalo mbas këngës që po luhet: Nuk keni leje të mjaftueshme." + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "luaj" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "fillo dëgjimin" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "pushim" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "pusho dëgjimin" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "tjetra" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "kënga tjetër" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "përpara" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "kënga e mëparshme" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "ndalo" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "ndalo dëgjimin" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "rastësisht" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "Rastësisht (on|off)" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "përsërit" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Përsërit (on|off)" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "volumi" -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "Volumi " - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "volumi \\+" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "Rrit volumin" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "volumi -" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "Ulje e volumit" +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "qetësi" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "Luaj " -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "shtoj" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "Shtoj " -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "zëvëndësoj" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "Zëvëndësoj " -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Rregullim i serverit" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Lidhje" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Duke u lidhur" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Gjithçka nga albumi" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Gjithçka nga artisti" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Gjithçka nga zhanri" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Gjithçka nga e njëjta drejtori" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Shto më shmë" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "Vendos klasifikimin" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "Database i MPD është duke u aktualizuar" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD është duke aktualizuar database e tij" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD mbaroi së aktualizuari database e tij" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "E lidhur" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Jo e lidhur" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Lidhur me" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Shkëputur" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Pësërit: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "On" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Off" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Rastësore: %s" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "Database i MPD rifreskuar më: %c" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD Reportoi gabimin në vazhdim" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profili" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "u shtua" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "ndryshoi hostname ne:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Aktualizo Database" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "Informacion" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Nga" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Prej" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Nuk po luan" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Interface" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Njoftim" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Lajmërim" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritik" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Kohë" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Mesazh" -#: ../src/plugin.c:216 +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Një ose më shumë plugin nuk u ngarkuan, shikoni mesazhet->ndihmuese për më " "shumë informacion" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Pluginat" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Pluginat:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Aktivizuar" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Emër" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funksion" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Versioni" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "Manekin" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Sthesë e browserit" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "I panjohur" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Kërko:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "U shtua%i%s" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "rrymë" msgstr[1] "rryma" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "U sthua 1 rrymë" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Futni një url" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "Pla_ylist" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Lajmërim" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -994,18 +1061,18 @@ "Hera e parë që po xhironi gmpc.\n" "Ky asistues do t'iu ndihmoi të lidhni gmpc tuaj me proçesin mpd." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Mirëseardhët ne GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "Rregullim i lidhjes" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1013,31 +1080,98 @@ "Gmpc është gati për përdorim.\n" "Kënaquni duke pëdorur gmpc." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Mbaro" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" -msgstr "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" msgstr "" -"Launchpad Contributions:\n" -" Ismail Gjevori https://launchpad.net/~isgjevori" -#: ../glade/password-dialog.ui.h:1 -msgid "Enter your password for: ''" -msgstr "Futni fjalkalimin tuaj për: ''" +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" -#: ../glade/password-dialog.ui.h:2 -msgid "Password" -msgstr "Fjalkalimi" +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" -#: ../glade/password-dialog.ui.h:3 -msgid "_Save password" -msgstr "_Ruaj fjalkalimin" +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "Copyright 2003-2007 Qball Cow" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Ismail Gjevori https://launchpad.net/~isgjevori\n" +"\n" +"Launchpad Contributions:\n" +" Ismail Gjevori https://launchpad.net/~isgjevori\n" +" Vilson Gjeci https://launchpad.net/~vilsongjeci" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "Futni fjalkalimin tuaj për: ''" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "Fjalkalimi" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "_Ruaj fjalkalimin" #: ../glade/preferences-connection.ui.h:1 msgid "Profile:" @@ -1052,32 +1186,36 @@ msgstr "Host:" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Emri:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Fjalkalimi:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Porta:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Jashtë kohe (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Vetëlidhje" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Përdor vërtetim" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "localhost" @@ -1091,7 +1229,7 @@ #: ../glade/preferences-esf-dialog.ui.h:3 msgid "Format Rule:" -msgstr "" +msgstr "Rregulli Formatimit:" #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" @@ -1134,38 +1272,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1216,10 +1346,14 @@ msgstr "" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1243,6 +1377,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1273,82 +1411,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1356,7 +1501,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1364,626 +1509,719 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/rruga/per_ne/emri_skedës.mp3" + +#~ msgid "_Server" +#~ msgstr "_SHërbysi" + +#~ msgid "Jonny Singer" +#~ msgstr "Këngëtari Jonny" + +#~ msgid "Sing or Swing you want" +#~ msgstr "Këndo ose Kolovit cfarë do" + +#~ msgid "The kernel jazz" +#~ msgstr "Thelbi i jazz" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Shkurt 2006" + +#~ msgid "MPD's Streaming server" +#~ msgstr "Serveri streaming i MPD" + +#~ msgid "--config=" +#~ msgstr "--konfigurimi=" + +#~ msgid "--version" +#~ msgstr "--versioni" + +#~ msgid "--import-old-db" +#~ msgstr "--importo-db-e-vjetër" + +#~ msgid "--help" +#~ msgstr "--ndihmë" + +#~ msgid "--replace" +#~ msgstr "--zëvëndëso" + +#~ msgid "--quit" +#~ msgstr "--dalje" + +#~ msgid "--disable-plugins" +#~ msgstr "--çaktivizo-pluginët" + +#~ msgid "--clean-cover-db" +#~ msgstr "--pastro-mbulesën-db" + +#~ msgid "--start-hidden" +#~ msgstr "--fillo-i-fshehur" + +#~ msgid "--debug-updates" +#~ msgstr "--aktualizim-debugu" + +#~ msgid " Total time: " +#~ msgstr " Koha e përgjithshme: " + +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "sekondë" +#~ msgstr[1] "sekonda" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/sv.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/sv.po --- gmpc-0.18.0/po/sv.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/sv.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,137 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-23 08:25+0000\n" -"Last-Translator: Daniel Nylander \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:10+0000\n" +"Last-Translator: Qball Cow \n" "Language-Team: Swedish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../data/gmpc.desktop.in.h:1 -msgid "A gnome frontend for the mpd daemon" -msgstr "" - -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Music Player Klient" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Få hjälp" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD databasen uppdateras" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Tyst" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Nästa" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Spela/Pausa" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Föregående" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiler" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Slumpvis" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Upprepa" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Visa meddelanden" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Stopp" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Besök webbsida" -#: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" -msgstr "_Fäll in gränssnitt" - -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Anslut" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kontroll" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Koppla från" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Utöka gränssnittet" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Helskärm" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Kör" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Hjälp" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Musik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Val" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "_Skicka lösenord" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Server" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Visa artistbilden" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Visa" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Spellisthanteraren" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "/plats/till/fil_namn.mp3" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Proxyserver" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "--version" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "-ersätt" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "-avsluta" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "importera-gamla-db" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--hjälp" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 -msgid "show notification" -msgstr "" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 -msgid "Failed to load the configuration system." -msgstr "" - -#: ../src/main.c:525 -msgid "Failed to load debug-log file." -msgstr "" - -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "Misslyckades med att ställa in libmpd" -#: ../src/main.c:1059 -msgid "GMPC has insufficient permissions on the mpd server." -msgstr "GMPC har otillräcklig behörighet på mpd-servern." - -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,158 +146,37 @@ "Misslyckades med att ställa in lösenordet: '%s'\n" "Var god försök igen" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Var god mata in ditt lösenord för: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "felkod" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Otillräcklig tillåtelse för att koppla till mpd. Kontrollera lösenordet" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "MPD versioner innan 0.13.0 stöds inte" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Kopplad till mpd" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Frånkopplad från mpd" -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "Fel inträffade under körning" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Följande fel inträffade" - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Felmeddelande" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Version" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Revision" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Hemsida" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Aktiverad" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Inaktiverad" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Multimedia knappar" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Total tid: " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "dag" @@ -494,19 +188,13 @@ msgstr[0] "Timma" msgstr[1] "timmar" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuter" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "Kunde inte utföra" @@ -524,11 +212,6 @@ msgid "Fast Backward" msgstr "Spola tillbaka" -#. * MM_RANDOM -#: ../src/mm-keys.c:81 -msgid "Raise window" -msgstr "" - #. * MM_RAISE #: ../src/mm-keys.c:82 msgid "Hide window" @@ -554,23 +237,7 @@ msgid "Show song" msgstr "Visa låt" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "" - -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 -msgid "" -"Could not grab the following multimedia keys:\n" -"\n" -msgstr "" - -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -580,429 +247,205 @@ "Var säker på att din fönsterhanterare ( eller andra program) inte redan har " "bundit denna nyckel till en annan funktion, starta sen om gmpc" -#: ../src/mm-keys.c:388 -msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." -msgstr "" - -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" - -#: ../src/mm-keys.c:657 -#, c-format -msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" -"Kunde inte fånga multimediatangent:\n" -"\n" -"\t%s: %s\n" -"\n" -"Försäkra dig om att din fönsterhanterare (eller andra program) inte redan " -"har bunidt denna tangent för någon annan funktion och starta sedan om gmpc." +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Multimedia knappar" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Åtgärd" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Genväg" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Av" -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "Serverinställningar" -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "Anslutning" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" - -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" -msgstr "Serverinställningar" - -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "Anslutning" - -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "Ansluter" - -#. Add all from album -#: ../src/mpdinteraction.c:1291 -msgid "All from album" -msgstr "" - -#. Add all from artist -#: ../src/mpdinteraction.c:1303 -msgid "All from artist" -msgstr "" - -#. Add all from genre -#: ../src/mpdinteraction.c:1313 -msgid "All from genre" -msgstr "" - -#. Add all from file -#: ../src/mpdinteraction.c:1321 -msgid "All from same directory" -msgstr "" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "Ansluter" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Lägg till mer" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "MPD-databasen uppdateras" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD uppdaterar sin databas" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD har uppdaterat klart sin databas" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Ansluten" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Inte ansluten" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "" - -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "Ansluten till" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Frånkopplad" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "upprepa: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "På" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Av" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "slumpmässig: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD rapporterade följande fel" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "tillagd" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "Värdnamnet byttes till:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Uppdatera databasen" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "Av" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "Från" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Ingen uppspelning" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "Gränssnitt" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Information" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Varning" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritisk" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Tid" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Meddelande" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "En eller fler insticksmoduler kunde inte startas, se hjälp->meddelanden för " "mer information" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Insticksmoduler" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "insticksmoduler:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Aktiverad" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "Namn" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Funktion" -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "" - -#: ../src/preferences.c:336 -msgid "Browser Extension" -msgstr "Webbläsartillägg" - -#: ../src/preferences.c:339 -msgid "Metadata Provider" -msgstr "" - -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" -msgstr "" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Version" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "Diverse" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Okänd" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Sök:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -#, c-format -msgid "Added %i %s" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -msgid "stream" -msgid_plural "streams" -msgstr[0] "ström" -msgstr[1] "strömmar" - -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 -msgid "Added 1 stream" -msgstr "" - #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "Mata in en url" -#: ../src/tray-icon2.c:136 -msgid "Pla_ylist" -msgstr "Spe_llista" - -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "Rapport" -#. * -#. * Append an introduction page -#. -#: ../src/setup-assistant.c:114 -msgid "" -"It is the first time you have launched gmpc.\n" -"This assistant will help you connect gmpc to your mpd daemon." -msgstr "" - -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "Välkommen till GMPC" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "inrättar förbindelse" -#. * -#. * End -#. -#: ../src/setup-assistant.c:144 -msgid "" -"Gmpc is now ready for use.\n" -"Enjoy using gmpc." -msgstr "" -"Gmpc är nu färdig för användning.\n" -"Hoppas du blir nöjd med gmpc." - -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Slutför" @@ -1051,9 +494,17 @@ " Dostojevskji https://launchpad.net/~darkangel-nr1\n" "\n" "Launchpad Contributions:\n" +" Anders Landin https://launchpad.net/~127594-gmail\n" +" Björn_Nilsson https://launchpad.net/~bjorn-bjornbjorn\n" +" Daniel Nylander https://launchpad.net/~yeager\n" +" Dostojevskji https://launchpad.net/~darkangel-nr1\n" +"\n" +"Launchpad Contributions:\n" +" Anders Landin https://launchpad.net/~127594-gmail\n" " Björn_Nilsson https://launchpad.net/~bjorn-bjornbjorn\n" " Daniel Nylander https://launchpad.net/~yeager\n" -" Dostojevskji https://launchpad.net/~darkangel-nr1" +" Dostojevskji https://launchpad.net/~darkangel-nr1\n" +" Qball Cow https://launchpad.net/~qball-qballcow" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1079,56 +530,44 @@ msgid "Host:" msgstr "Värd:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "Namn:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Lösenord:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "Timeout (s):" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "_Anslut automatiskt" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "_Använd Authentifiering" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "lokal värd" -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "Aktivera fält:" - #: ../glade/preferences-esf-dialog.ui.h:2 msgid "Example:" msgstr "Exempel:" -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" msgstr "A_lbum" -#: ../glade/preferences-esf-dialog.ui.h:5 -msgid "Edit Song Formatting" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" msgstr "_Spår" @@ -1153,50 +592,26 @@ msgid "example" msgstr "exempel" -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "" - #: ../glade/preferences-playlist.ui.h:2 msgid "Playlist:" msgstr "Spelningslista" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "Sångmarginal" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Centrera spelad låt" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "Göm vid stängning" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "Spara position och storlek mellan sessioner" #: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 msgid "Stop playing on exit" msgstr "Stanna uppspelning vid avslut" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "" - #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" msgstr "Inlästa insticksmoduler:" @@ -1205,10 +620,6 @@ msgid "Crossfade:" msgstr "Crossfade:" -#: ../glade/preferences-server.ui.h:2 -msgid "Output Devices:" -msgstr "Utgångsenhet:" - #: ../glade/preferences-server.ui.h:3 msgid "" "You need to be connected\n" @@ -1217,22 +628,10 @@ "Du måste vara ansluten för att ändra dessa " "inställningar" -#: ../glade/preferences-server.ui.h:5 -msgid "Enable crossfade" -msgstr "" - #: ../glade/preferences-server.ui.h:6 msgid "fade time (s):" msgstr "fadetid (s):" -#: ../glade/preferences-trayicon.ui.h:1 -msgid "Inline messages" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:2 -msgid "Notification Area Icon" -msgstr "" - #: ../glade/preferences-trayicon.ui.h:3 msgid "PopUp" msgstr "PopUp" @@ -1245,18 +644,14 @@ msgid "Position:" msgstr "Position:" -#: ../glade/preferences-trayicon.ui.h:6 +#: ../glade/preferences-trayicon.ui.h:7 msgid "Show severity" msgstr "Visa skärpa" -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Timeout:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP-proxyserver:" @@ -1265,14 +660,6 @@ msgid "Use a proxy for internet connectivity" msgstr "Använd en proxy-server för internetuppkoppling" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1293,10 +680,6 @@ msgid "" msgstr "" -#: ../glade/playlist-save-dialog.ui.h:2 -msgid "Playlist already exists." -msgstr "" - #: ../glade/playlist-save-dialog.ui.h:3 msgid "Save Playlist" msgstr "Spara Spellista" @@ -1305,61 +688,31 @@ msgid "name:" msgstr "namn:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "objekt" msgstr[1] "objekt" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 -msgid "(Estimation)" -msgstr "(Uppskattning)" - -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Är du säker på att du vill rensa spellistan?" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "Spela upp kö" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" -msgstr "Är du säker på att du vill rensa spellistan?" - -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - -#. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 -msgid "Crop" -msgstr "Kapa" +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "Kapa" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Blanda" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "Lägg till URL" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1368,731 +721,1609 @@ "Spellistan \"%s\" existerar redan\n" "Ersätt?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Kunde inte spara spellistan." #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Filbläddrare" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Kataloger" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 -#, c-format -msgid "Added folder '%s' recursively" -msgstr "" - #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "Ersätt" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Uppdatera" -#: ../src/browsers/playlist3-file-browser.c:758 -msgid "Loaded playlist" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Tillagd" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "låt" msgstr[1] "Låtar" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "katalog" msgstr[1] "Kataloger" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "spellista" msgstr[1] "spellistor" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Är du säker på att du vill tömma den valda spellistan??" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Fråga" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Sök" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Redigerare för spellistan" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Ny spellista" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Byt namn på spellista" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "Otillgänglig" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Döp om" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Lägg till i spellista" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Visa" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Ställ om bläddraren" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 #: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +msgid "Markup" +msgstr "Märkning" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Artist" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Låtar" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Album" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Speltid" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Titel" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Fil" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Genre" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Datum" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Spår" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Samling" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Tonsättare" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Titel" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "Artist" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Datum" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Varaktighet" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Album" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Spår" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Skiva" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Tonsättare" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Kommentar" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "Artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Position" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Tillägg" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 msgid "Directory" msgstr "Katalog" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Tillägg" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Verktyg" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Klistra in innan" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Bitfrekvens" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Klistra in efter" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" -msgstr "" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "redigera kolumner" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Tillagd profil" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "Låttexter" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "Borttagen profil" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Välj fil" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Kunde inte öppna filen:" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Ej tillgänglig" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Låtar med samma titel" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Välj fil" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Textdokument" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Alla" -#: ../src/browsers/playlist3-metadata-browser.c:1138 +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Bilder" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Läser in" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 msgid "Similar songs" msgstr "Liknande låtar" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Endast de första %i resultaten visas. Definiera om din sökfråga för bättre " -"resultat" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Otillgänglig" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Hitta Artist" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Låtar" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Genre: " -msgstr[1] "Genrer: " +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Låttexter" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Datum: " -msgstr[1] "Datum: " +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Speltid" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "Artist info:" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Album information" -#: ../src/browsers/playlist3-metadata-browser.c:1562 +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 msgid "Artist information" msgstr "Artist information" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Album" +#~ msgid "--import-old-db" +#~ msgstr "importera-gamla-db" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Liknande Artister" +#~ msgid "--replace" +#~ msgstr "-ersätt" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Album info:" +#~ msgid "--quit" +#~ msgstr "-avsluta" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Album information" +#~ msgid " Total time: " +#~ msgstr " Total tid: " -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "" +#~ msgid "Song Markup" +#~ msgstr "Sångmarginal" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Spår:" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/plats/till/fil_namn.mp3" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "--version" +#~ msgstr "--version" + +#~ msgid "--help" +#~ msgstr "--hjälp" + +#~ msgid "View" +#~ msgstr "Visa" + +#~ msgid "Collection" +#~ msgstr "Samling" + +#~ msgid "Bitrate" +#~ msgstr "Bitfrekvens" + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sec" + +#~ msgid "Songs with same title" +#~ msgstr "Låtar med samma titel" + +#~ msgid "Links" +#~ msgstr "Länkar" + +#~ msgid "Find Artist:" +#~ msgstr "Hitta Artist" + +#~ msgid "Artist info:" +#~ msgstr "Artist info:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Datum: " +#~ msgstr[1] "Datum: " + +#~ msgid "Tracks" +#~ msgstr "Spår:" + +#~ msgid "Similar Artists" +#~ msgstr "Liknande Artister" + +#~ msgid "Albums" +#~ msgstr "Album" + +#~ msgid "Album info:" +#~ msgstr "Album info:" + +#~ msgid "Show Current Song" +#~ msgstr "Visa nuvarande låten" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Visa nuvarande låten" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Bug information" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sec" +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "_Fäll in gränssnitt" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Redigerare för spellistan" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Ny spellista" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Byt namn på spellista" +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Döp om" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "Stäng gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Dölj gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "visa" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "Visa gmpc" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "Visa underrättelse" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Visa meddelandefälts underrättelse" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "Kunde inte ladda konfigurationssystemet" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "Kunde inte ladda debug logg filen" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "GMPC har otillräcklig behörighet på mpd-servern." + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "Ett fel uppstod under körningen." + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "Följande fel inträffade:" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" +"En ny metadata plugin lades till, gmpc har rensas alla felaktiga träffar " +"från cachen." + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "Metadata hanterare." + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" +"Kunde inte fånga multimediatangent:\n" +"\n" +"\t%s: %s\n" +"\n" +"Försäkra dig om att din fönsterhanterare (eller andra program) inte redan " +"har bunidt denna tangent för någon annan funktion och starta sedan om gmpc." + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "Pausa uppspelning" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "Nästa låt" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "Föregående låt" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "Stoppa uppspelning" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "slumpmässig" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "Slumpmässig på|av" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "Repetera" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "Upprepa (on | off)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "Dämpa" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "Spela " + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Lägg till >förfrågan>" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "Ersätt" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "Ersätt >förfrågan>" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "Sök" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "Sök i den aktuella låten" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "Lägg till från album" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "Allt från artisten" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "Allt från genren" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "Alla från samma katalog" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"Det gick inte att öppna gränssnittsbeskrivningen\n" +"Ominstallera gmpc\n" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "MPD Databasen uppdateras på:%c" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "Webbläsartillägg" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "ström" +msgstr[1] "strömmar" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "Spe_llista" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" +"Detta är första gången du startar gmpc.\n" +"Denna assistent kommer att hjälpa dig att ansluta gmpc till din MPD daemon." + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" +"Gmpc är nu färdig för användning.\n" +"Hoppas du blir nöjd med gmpc." + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "Aktivera fält:" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "Utgångsenhet:" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Lägg till i spellista" +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "Spellista existerar redan." + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "(Uppskattning)" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Skifta till uppspelningskö" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Rensa uppspelningskö" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "Din mpd har en bryten 'addid'.inklistring kommer misslyckas" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Spela upp kö" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" +"Det verkar som att du inte har någon musik i din databas.\n" +"För att lägga till musik, kopiera musiken till din Musik_katalog som " +"är specifierad i din mpd konfigurations fil\n" +"Uppdatera sedan databasen. (server->uppdatera Databas" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "Laddad spellista" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Spellista" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "Byta sökning" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "Växla till sökningen webbläsare" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "Sök i databas" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Sök i databas " + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "Sök spellista" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" -msgstr "" +msgstr "Lägg till aktuell låt till favoriter" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" -msgstr "Ställ om bläddraren" - #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" msgstr "" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" msgstr "" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" -msgstr "" +msgstr "Total speltid" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" -msgstr "" +msgstr "Antal artister" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" -msgstr "" +msgstr "Antal album" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" -msgstr "" +msgstr "Antal låtar" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" -msgstr "" +msgstr "Tag Typer" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" +msgstr "Tag statistik" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "Ikon-id" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" -msgstr "Märkning" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "Pågrund av kodningsfrågor" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Fil" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Skiva" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Kommentar" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "Ikon-id" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Hämtar album info" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Position" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" -msgstr "Verktyg" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Uppdatera lista från internet" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Klistra in innan" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Klistra in efter" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "redigera kolumner" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Tillagd profil" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" -msgstr "Borttagen profil" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Välj fil" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "Kunde inte öppna filen:" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Ej tillgänglig" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Välj fil" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Textdokument" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Alla" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Bilder" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Läser in" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Länkar" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "Sortera efter:" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Error Dialog" -#~ msgstr "Feldialogruta" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Error msg" -#~ msgstr "Felmeddelande" - -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "Ingen\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Titel\n" -#~ "Spår\n" -#~ "Namn\n" -#~ "Genre\n" -#~ "Datum\n" -#~ "Kompositör\n" -#~ "Framförare\n" -#~ "Kommentar\n" -#~ "Skiva" - -#~ msgid "_Reconnect" -#~ msgstr "_Återanslut" - -#~ msgid "" -#~ "information and up\n" -#~ "warning and up\n" -#~ "error\n" -#~ "none" -#~ msgstr "" -#~ "information och upp\n" -#~ "varning och upp\n" -#~ "felmeddelande\n" -#~ "ingen" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#, c-format -#~ msgid "Gnome Music Player Client\n" -#~ msgstr "Gnome Music Player Klient\n" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Genre: " +#~ msgstr[1] "Genrer: " #, c-format -#~ msgid "Failed to contact url: '%s'" -#~ msgstr "Kunde inte kontakta url: '%s'" +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Endast de första %i resultaten visas. Definiera om din sökfråga för bättre " +#~ "resultat" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2008" + +#~ msgid "--disable-plugins" +#~ msgstr "--Stäng-av-plugins" + +#~ msgid "--clean-cover-db" +#~ msgstr "--rensa-cover-db" + +#~ msgid "Invalid search" +#~ msgstr "Ogiltig sökning" + +#~ msgid "Audio format" +#~ msgstr "Ljudformat" + +#~ msgid "show current artist" +#~ msgstr "Visa aktuell artist" + +#~ msgid "Show the current songs information" +#~ msgstr "Visa den aktuella låtar information" -#~ msgid "And" -#~ msgstr "Och" +#~ msgid "show current album" +#~ msgstr "Visa aktuellt album" -#~ msgid "Or" -#~ msgstr "Eller" +#~ msgid "Show the current artist information" +#~ msgstr "Visa aktuell artist informatonen" -#~ msgid "New accelerator..." -#~ msgstr "Ny snabbtangent..." +#~ msgid "show current song" +#~ msgstr "visar aktuell låt" -#~ msgid "Accelerator key" -#~ msgstr "Snabbtangent" +#~ msgid "Show the current album information" +#~ msgstr "Visa den aktuella album informationen" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/th.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/th.po --- gmpc-0.18.0/po/th.po 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/po/th.po 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2132 @@ +# Thai translation for gmpc +# Copyright (c) 2009 Rosetta Contributors and Canonical Ltd 2009 +# This file is distributed under the same license as the gmpc package. +# FIRST AUTHOR , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gmpc\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-24 08:24+0000\n" +"Last-Translator: Rewat Buranatanit \n" +"Language-Team: Thai \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "" + +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 +msgid "Gnome Music Player Client" +msgstr "" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 +msgid "MPD database is updating." +msgstr "" + +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 +msgid "Mute" +msgstr "ปิดเสียง" + +#. * MM_PLAYPAUSE +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 +msgid "Next" +msgstr "ลำดับต่อไป" + +#: ../glade/playlist3.glade.h:8 +msgid "Play/Pause" +msgstr "เล่น/หยุด" + +#. * MM_NEXT +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 +msgid "Previous" +msgstr "" + +#: ../glade/playlist3.glade.h:10 +msgid "Profiles" +msgstr "" + +#. * MM_REPEAT +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 +msgid "Random" +msgstr "" + +#. * MM_FASTBACKWARD +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 +msgid "Repeat" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:14 +msgid "Show Messages" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" +msgstr "" + +#: ../glade/playlist3.glade.h:17 +msgid "Visit website" +msgstr "" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:19 +msgid "_Connect" +msgstr "" + +#: ../glade/playlist3.glade.h:20 +msgid "_Control" +msgstr "" + +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" +msgstr "" + +#: ../glade/playlist3.glade.h:22 +msgid "_Expand Interface" +msgstr "" + +#: ../glade/playlist3.glade.h:23 +msgid "_Fullscreen" +msgstr "" + +#: ../glade/playlist3.glade.h:24 +msgid "_Go" +msgstr "" + +#: ../glade/playlist3.glade.h:25 +msgid "_Help" +msgstr "" + +#: ../glade/playlist3.glade.h:26 +msgid "_Music" +msgstr "" + +#: ../glade/playlist3.glade.h:27 +msgid "_Option" +msgstr "" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "" + +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "" + +#: ../glade/playlist3.glade.h:31 +msgid "_View" +msgstr "" + +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" +msgstr "" + +#: ../src/gmpc_easy_download.c:274 +msgid "Proxy" +msgstr "" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "" + +#: ../src/main.c:440 +msgid "hide" +msgstr "" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "" + +#: ../src/main.c:442 +msgid "show" +msgstr "" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "" + +#: ../src/main.c:499 +msgid "Failed to load the configuration system." +msgstr "" + +#: ../src/main.c:518 +msgid "Failed to load debug-log file." +msgstr "" + +#: ../src/main.c:646 +msgid "Failed to setup libmpd" +msgstr "" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1094 +#, c-format +msgid "Please enter your password for: '%s'" +msgstr "" + +#: ../src/main.c:1123 ../src/main.c:1144 +msgid "error code" +msgstr "" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:56 +msgid "day" +msgid_plural "days" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:59 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:62 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#: ../src/mm-keys.c:73 +msgid "PlayPause" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "" + +#. * MM_RANDOM +#: ../src/mm-keys.c:81 +msgid "Raise window" +msgstr "" + +#. * MM_RAISE +#: ../src/mm-keys.c:82 +msgid "Hide window" +msgstr "" + +#. * MM_HIDE +#: ../src/mm-keys.c:83 +msgid "Toggle window" +msgstr "" + +#. * MM_TOGGLE_HIDDEN +#: ../src/mm-keys.c:84 +msgid "Volume Up" +msgstr "" + +#. * MM_VOLUME_UP +#: ../src/mm-keys.c:85 +msgid "Volume Down" +msgstr "" + +#. * MM_VOLUME_DOWN +#: ../src/mm-keys.c:86 +msgid "Show song" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:716 +msgid "Action" +msgstr "" + +#: ../src/mm-keys.c:738 +msgid "Shortcut" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "" + +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "" + +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "" + +#. Add all from album +#: ../src/mpdinteraction.c:1485 +msgid "All from album" +msgstr "" + +#. Add all from artist +#: ../src/mpdinteraction.c:1497 +msgid "All from artist" +msgstr "" + +#. Add all from genre +#: ../src/mpdinteraction.c:1507 +msgid "All from genre" +msgstr "" + +#. Add all from file +#: ../src/mpdinteraction.c:1515 +msgid "All from same directory" +msgstr "" + +#. Create sub menu +#. Add +#: ../src/mpdinteraction.c:1523 +msgid "Add more" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:632 +msgid "MPD database is updating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "" + +#: ../src/playlist3.c:793 +msgid "Connected" +msgstr "" + +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 +msgid "Not Connected" +msgstr "" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:820 +msgid "Disconnected" +msgstr "" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "" + +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 +msgid "On" +msgstr "" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "" + +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 +msgid "Profile" +msgstr "" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "" + +#: ../src/playlist3.c:1964 +msgid "changed hostname to:" +msgstr "" + +#. Update DB +#: ../src/playlist3.c:2072 +msgid "Update Database" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/playlist3-messages.c:26 +msgid "Info" +msgstr "" + +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "" + +#: ../src/preferences.c:160 +msgid "Plugins:" +msgstr "" + +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 +msgid "Name" +msgstr "" + +#: ../src/preferences.c:336 +msgid "Function" +msgstr "" + +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/setup-assistant.c:143 +msgid "Finish" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Rewat Buranatanit https://launchpad.net/~rewat-buranatanit" + +#: ../glade/password-dialog.ui.h:1 +msgid "Enter your password for: ''" +msgstr "" + +#: ../glade/password-dialog.ui.h:2 +msgid "Password" +msgstr "" + +#: ../glade/password-dialog.ui.h:3 +msgid "_Save password" +msgstr "" + +#: ../glade/preferences-connection.ui.h:1 +msgid "Profile:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:3 +msgid "Host:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 +msgid "Name:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 +msgid "Password:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 +msgid "Port:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-connection.ui.h:12 +msgid "localhost" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:2 +msgid "Example:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:4 +msgid "A_lbum" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:7 +msgid "_Artist" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:8 +msgid "_Date" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:10 +msgid "_Title" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:2 +msgid "Playlist:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:3 +msgid "Center playing song" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:8 +msgid "Stop playing on exit" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "" + +#: ../glade/preferences-plugins.ui.h:1 +msgid "Loaded Plugins:" +msgstr "" + +#: ../glade/preferences-server.ui.h:1 +msgid "Crossfade:" +msgstr "" + +#: ../glade/preferences-server.ui.h:2 +msgid "Output Devices:" +msgstr "" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-server.ui.h:6 +msgid "fade time (s):" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:2 +msgid "Notification Area Icon" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:4 +msgid "Enable" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:5 +msgid "Position:" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 +msgid "Timeout:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + +#: ../glade/preferences.ui.h:1 +msgid "" +"Plugins\n" +"None Selected" +msgstr "" + +#: ../glade/preferences.ui.h:3 +msgid "gmpc - Configuration" +msgstr "" + +#: ../glade/playlist-message-window.ui.h:1 +msgid "Messages" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:1 +msgid "" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:2 +msgid "Playlist already exists." +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:3 +msgid "Save Playlist" +msgstr "" + +#: ../glade/playlist-save-dialog.ui.h:4 +msgid "name:" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." +msgstr "" + +#. add the delete widget +#: ../src/browsers/playlist3-current-playlist-browser.c:761 +msgid "Crop" +msgstr "" + +#. add the shuffle widget +#: ../src/browsers/playlist3-current-playlist-browser.c:775 +msgid "Shuffle" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:997 +#, c-format +msgid "" +"Playlist \"%s\" already exists\n" +"Overwrite?" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 +msgid "Failed to save the playlist file." +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:164 +msgid "Directories" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "" + +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "" + +#. add the update widget +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 +msgid "Update" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "" + +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "song" +msgid_plural "songs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1008 +msgid "directory" +msgid_plural "directories" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1010 +msgid "playlist" +msgid_plural "playlists" +msgstr[0] "" +msgstr[1] "" + +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 +msgid "Are you sure you want to clear the selected playlist?" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 +msgid "Search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "" + +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "" + +#. * +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "" + +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "" + +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "" + +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "" + +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "" + +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "" + +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" +msgstr "" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" +msgstr "" + +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "" + +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "" + +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" +msgstr "" + +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "" + +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" + +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" +msgstr "" + +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" + +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/tr.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/tr.po --- gmpc-0.18.0/po/tr.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/tr.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,322 +7,157 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-26 20:44+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:11+0000\n" "Last-Translator: keenblade \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:37+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "mpd süreci için bir gnome önyüzü" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome Muzik Çalıcı İstemcisi" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "Yardım almak" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "MPD veritabanı güncelleniyor." -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "Sessiz" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "Sonraki" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "Oynat/Duraklat" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "Önceki" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "Profiller" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "Rastgele" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "Tekrarla" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "Mesajları Göster" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "Durdur" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "Web sayfasını ziyaret et" -#: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" -msgstr "" - -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "_Bağlan" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "_Kontrol" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "_Bağlantıyı Kes" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "_Arayüzü Genişlet" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "_Tam ekran" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "_Git" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "_Yardım" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "_Müzik" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "_Opsiyon" -#: ../glade/playlist3.glade.h:23 -msgid "_Send Password" -msgstr "" - -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "_Sunucu" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "_Sanatçı Resmini Göster" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "_Görünüm" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - Çalma Listesi Yöneticisi" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "The kernel jazz" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 şubat 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "Vekil Sunucu (proxy)" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "--yardım" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 -msgid "quit" -msgstr "" - -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "Gmpc' den çık" -#: ../src/main.c:446 -msgid "hide" -msgstr "sakla" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "Gmpc' yi sakla" - -#: ../src/main.c:448 -msgid "show" -msgstr "göster" - -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "Gmpc' yi göster" -#: ../src/main.c:450 -msgid "show notification" -msgstr "bildirileri göster" - -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "Sistem tepsisi simgesinde bildiri göster" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "Yapılandırma dizgesi yüklenmesi başarılamadı." -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "debug-log dosyası yüklenmesi başarılamadı." -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "libmpd ayarlanması başarılamadı." -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "GMPC için mpd sunucunda izinler yetersiz." -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" @@ -331,158 +166,37 @@ "'%s' için şifre ayarlanamadı.\n" "Lütfen tekrar deneyin" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "Lütfen parolana gir:'%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "hata kodu" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" "Mpd sunucusuna bağlanmak için izinler yetersiz. Şifrenizi kontrol edin." -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "0.13.0 dem önceki MPD sürümleri desteklenmez" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "Mpd' ye bağlanıldı" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "Mpd' ye bağlantı kesildi." -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "İş sırasında hata oluştu." - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "Aşağıdaki hata(lar) oluştu." - -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "Hata Mesajı" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "Sürüm" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "Düzeltme" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd sürümü" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "GTK+ sürümü" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl sürümü" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "Web sayfası" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "X oturum yönetimi" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "Etkinleştirildi" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "Etkisizleştirildi" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "NLS Desteği" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "Çoklu Ortam Tuşları" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "Libegg' in tepsi simgesi" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "Mac bütünleşme kütüphanesi" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "~/.config/ dizinini kullanın" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "Hata ayıklayıcı zamanlaması" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr " Toplam süre " - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "gün" @@ -492,35 +206,15 @@ msgid_plural "hours" msgstr[0] "saat" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "dakika" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 -msgid "Failed to execute" -msgstr "" - #: ../src/mm-keys.c:73 msgid "PlayPause" msgstr "ÇalDurakla" -#. * MM_STOP -#: ../src/mm-keys.c:77 -msgid "Fast Forward" -msgstr "" - -#. * MM_FASTFORWARD -#: ../src/mm-keys.c:78 -msgid "Fast Backward" -msgstr "" - #. * MM_RANDOM #: ../src/mm-keys.c:81 msgid "Raise window" @@ -551,17 +245,12 @@ msgid "Show song" msgstr "Şarkıyı göster" -#. * MM_SHOW_NOTIFICATION -#: ../src/mm-keys.c:87 -msgid "Toggle Mute" -msgstr "" - #. * MM_TOGGLE_MUTE #: ../src/mm-keys.c:88 msgid "Show easy command entry" msgstr "Basit komut girişi göster" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" @@ -569,7 +258,7 @@ "Takip eden çoklu ortam tuşları ele geçirilemedi:\n" "\n" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " @@ -579,7 +268,7 @@ "Pencere yöneticinizin (veya diğer uygulamaların) bu tuşu zaten başka bazı " "işlevlere atamadığından emin olun, sonra gmpc' yi yeniden başlatın." -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -591,7 +280,11 @@ "Bazı çift çoklu ortam tuş eşleştirmeleri tespit edildi. Lütfen tercihleri " "tekrar gözden geçirin ve ayarlarınızın doğru olduğundan emin olun." -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "Çoklu Ortam Tuşları" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -602,7 +295,7 @@ "\n" "%s zaten %s ile eşleştirilmiş" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -619,196 +312,126 @@ "Pencere yöneticinizin (veya diğer uygulamaların) bu tuşu zaten başka bazı " "işlevlere atamadığından emin olun, sonra gmpc' yi yeniden başlatın." -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "Eylem" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "Kısayol" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "çal" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "Kapat" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "Kayıttan yürütmeyi başlat" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "duraklat" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "çalmayı duraklat" - -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "sonraki" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "sonraki şarkı" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "önceki" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "önceki şarkı" -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "dur" - -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "kayıttan yürütmeyi durdur" -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "tekrar" - -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "Tekrar (açık|kapalı)" -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 +#: ../src/mpdinteraction.c:321 msgid "mute" msgstr "sessiz" -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "ekle" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "değiştir" -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" - -#: ../src/mpdinteraction.c:181 +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "Sunucu Ayarları" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "Bağlantı" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "Bağlanıyor" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "Albümün tamamı" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "Sanatçıdan tamamı" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "Türün tamamı" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "Aynı dizindekilerin tamamı" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "Daha fazla ekle" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "MPD veritabanı güncelleniyor" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "MPD veritabanını güncelliyor" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "MPD veritabanını güncellemeyi bitirdi" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "Bağlandı" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "Bağlı Değil" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "GMPC" -#: ../src/playlist3.c:802 -msgid "Connected to" -msgstr "" - -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "Bağlantı Kesildi" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" @@ -816,176 +439,118 @@ "Arayüz tanımlama dosyası açılamadı!\n" "Lütfen gmpc' yi tekrar yükleyin\n" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "Tekrarla: %s" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "Açık" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "Kapat" - -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1722 #, c-format msgid "Random: %s" msgstr "Rastgele: %s" -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "MPD Takip eden hatayı raporladı" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "Profil" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "eklendi" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "sunucu ismi şöyle değiştirildi:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "Veritabanını Güncelle" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "Bilgi" - -#: ../src/playlist3.c:2042 -msgid "By" -msgstr "" - -#: ../src/playlist3.c:2049 -msgid "From" -msgstr "" - -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "Çalınmıyor" -#: ../src/playlist3.c:2246 -msgid "Interface" -msgstr "Arayüz" - -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "Bilgi" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "Uyarı" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "Kritik" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "Süre" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "Mesaj" -#: ../src/plugin.c:216 +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" "Bir ya da daha fazla eklenti yüklenemedi, daha fazla bilgi için bakınız: " "yardım->mesajlar" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "Eklentiler" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "Eklantiler:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "Etkinleştirildi" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "İsim" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "Fonksiyon" -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "Sürüm" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "Tarayıcı Uzantısı" -#: ../src/preferences.c:339 -msgid "Metadata Provider" -msgstr "" - -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" -msgstr "" - -#: ../src/preferences.c:345 -msgid "Misc." -msgstr "" - -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "Bilinmeyen" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "Ara:" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -#, c-format -msgid "Added %i %s" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -msgid "stream" -msgid_plural "streams" -msgstr[0] "" -msgstr[1] "" - -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "1 akış eklendi" #. * -#. * Setup the label -#. -#: ../src/url_fetcher.c:240 -msgid "Enter an url" -msgstr "" - -#: ../src/tray-icon2.c:136 -msgid "Pla_ylist" -msgstr "" - -#: ../src/tray-icon2.c:865 -msgid "Notification" -msgstr "Bildiri" - -#. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." @@ -993,18 +558,14 @@ "Gmpc' yi ilk kez başlattınız.\n" "Bu yardımcı gmpc' yi mpd sunucunuza bağlamanıza yardımcı olacak." -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "GMPC ye hoşgeldiniz" -#: ../src/setup-assistant.c:135 -msgid "Setup connection" -msgstr "" - #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." @@ -1012,14 +573,10 @@ "Gmpc kullanım için artık hazır.\n" "Gmpc' nin keyfini çıkarın." -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "Bitti" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" -msgstr "" - #: ../glade/aboutdialog.ui.h:2 msgid "translator-credits" msgstr "" @@ -1061,6 +618,13 @@ " Qball Cow https://launchpad.net/~qball-qballcow\n" " XceptN https://launchpad.net/~oyuksel153\n" " keenblade https://launchpad.net/~keenblade\n" +" zeugma https://launchpad.net/~sunder67\n" +"\n" +"Launchpad Contributions:\n" +" Ekrem Kocadere https://launchpad.net/~ekocadere\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" XceptN https://launchpad.net/~oyuksel153\n" +" keenblade https://launchpad.net/~keenblade\n" " zeugma https://launchpad.net/~sunder67" #: ../glade/password-dialog.ui.h:1 @@ -1079,41 +643,25 @@ msgid "Profile:" msgstr "Profil:" -#: ../glade/preferences-connection.ui.h:2 -msgid "Conn_ect" -msgstr "" - #: ../glade/preferences-connection.ui.h:3 msgid "Host:" msgstr "Sunucu:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "İsim:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "Parola:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "Port:" -#: ../glade/preferences-connection.ui.h:7 -msgid "Timeout (s):" -msgstr "" - -#: ../glade/preferences-connection.ui.h:8 -msgid "_Autoconnect" -msgstr "" - -#: ../glade/preferences-connection.ui.h:10 -msgid "_Use Authentication" -msgstr "" - -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "Yerel Anasistem" @@ -1125,10 +673,6 @@ msgid "Example:" msgstr "Örnek:" -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" msgstr "A_lbüm" @@ -1137,10 +681,6 @@ msgid "Edit Song Formatting" msgstr "Şarkı Biçimini Düzenle" -#: ../glade/preferences-esf-dialog.ui.h:6 -msgid "T_rack" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:7 msgid "_Artist" msgstr "_Sanatçı" @@ -1149,10 +689,6 @@ msgid "_Date" msgstr "_Tarih" -#: ../glade/preferences-esf-dialog.ui.h:9 -msgid "_Stream name" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:10 msgid "_Title" msgstr "_Başlık" @@ -1170,41 +706,17 @@ msgstr "Çalma listesi:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "Çalan şarkıyı ortala" #: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 -msgid "Hide on close" -msgstr "Kapatınca gizle" - -#: ../glade/preferences-playlist.ui.h:7 msgid "Save position and size between sessions" msgstr "Oturum aralarında konum ve boyutu koru" #: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 msgid "Stop playing on exit" msgstr "Çıkarken çalmayı durdur" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "Albüm kapağını biçemle" - #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" msgstr "Yüklenmiş Eklentiler:" @@ -1217,16 +729,6 @@ msgid "Output Devices:" msgstr "Çıkış Aygıtları:" -#: ../glade/preferences-server.ui.h:3 -msgid "" -"You need to be connected\n" -"in order to change these settings" -msgstr "" - -#: ../glade/preferences-server.ui.h:5 -msgid "Enable crossfade" -msgstr "" - #: ../glade/preferences-server.ui.h:6 msgid "fade time (s):" msgstr "geçiş zamanı (sn):" @@ -1239,10 +741,6 @@ msgid "Notification Area Icon" msgstr "Bildiri Alanı Simgesi" -#: ../glade/preferences-trayicon.ui.h:3 -msgid "PopUp" -msgstr "" - #: ../glade/preferences-trayicon.ui.h:4 msgid "Enable" msgstr "Etkinleştir" @@ -1251,34 +749,10 @@ msgid "Position:" msgstr "Konum:" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "Zaman Aşımı:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:2 -msgid "HTTP Proxy:" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:5 -msgid "Use a proxy for internet connectivity" -msgstr "İnternet bağlantısı için bir proxy kullan" - -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "Kimlik denetimi kullan" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1309,60 +783,25 @@ msgid "name:" msgstr "isim" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 -msgid "item" -msgid_plural "items" -msgstr[0] "öge" - -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "Tahmin" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 -msgid "Are you sure you want to clear the playlist?" -msgstr "Çalma listesini temizlemek istediğinizden emin misiniz?" - -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Kes" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "Karışık" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "URL ekle" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1371,673 +810,1530 @@ "Çalma listesi \"%s\" zaten var\n" "Üstüne yazılsın mı?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "Çalma listesi kaydedilemedi." #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "Dosya Gezgini" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "Dizinler" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "'%s' dizini tüm alt dizinleriyle eklendi" -#. add the replace widget -#. replace the replace widget -#. add the replace widget -#. Play button -#. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 -msgid "Replace" -msgstr "Değiştir" - #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "Güncelle" -#: ../src/browsers/playlist3-file-browser.c:758 -msgid "Loaded playlist" -msgstr "Yüklenmiş çalma listesi" - -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "Eklendi" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "şarkı" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "dizin" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "çalma listesi" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "Seçili çalma listesini temizlemek istediğinizden emin misiniz?" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "Sorgu" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "Veritabanı" -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "Çalma Listesi" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "Arama" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "Arama başarısız oldu" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "Hepsini ekle" -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "Çalma Listesi Düzenleyici" -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "Yeni çalma listesi" -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "veritabanını ara" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "Çalma Listesini Yeniden Adlandır" -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "Yeniden Adlandır" -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "Çalma listesine ekle" -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" +msgstr "Sunucu Bilgisi" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/server-information.c:326 +msgid "Server" +msgstr "Sunucu" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" +msgstr "Toplam Çalma Süresi" + +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" +msgstr "Sanatçı sayısı" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "Alınıyor" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" +msgstr "Albüm sayısı" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "Görüntüle" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" +msgstr "Şarkı sayısı" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "Sanatçı" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "Şarkılar" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "Albüm" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "Oynatma süresi" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "Başlık" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "Dosya" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "Tarz" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "Tarih" - -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "Arşiv" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "Parça" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "Başlık" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "Besteci" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "Tarih" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "Süre" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "Albüm" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "Disk" + +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "Açıklama" + +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "Konum" + +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "Uzantı" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" +msgstr "Dizin" + +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" +msgstr "Araçlar" + +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "Daha önce yapıştır" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "Daha sonra yapıştır" + +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" +msgstr "Sütunları Düzenle" + +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" +msgstr "Profil eklendi" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "Dosya Seç" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "Albüm Bilgisi Alınıyor" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "Mevcut Değil" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "Dosya Seç" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "Metin Belgesi" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "Hepsi" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "Resimler" + +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "Yükleniyor" + +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "Listeyi internetten güncelle" + +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "Benzer şarkılar" + +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "Şarkılar" + +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "Albüm sanatçısı" + +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "Oynatma süresi" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "Albüm bilgisi" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "Sanatçı bilgisi" + +#~ msgid "_Server" +#~ msgstr "_Sunucu" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 şubat 2006" + +#~ msgid "--help" +#~ msgstr "--yardım" + +#~ msgid " Total time: " +#~ msgstr " Toplam süre " + +#~ msgid "Collection" +#~ msgstr "Arşiv" + +#~ msgid "Bitrate" +#~ msgstr "Veri Akış Hızı" + +#~ msgid "Links" +#~ msgstr "Bağlantılar" + +#~ msgid "Find Artist:" +#~ msgstr "Artist Bul:" + +#~ msgid "Tracks" +#~ msgstr "Parçalar" + +#~ msgid "Albums" +#~ msgstr "Albümler" + +#~ msgid "Album info:" +#~ msgstr "Albüm bilgisi:" + +#~ msgid "The kernel jazz" +#~ msgstr "The kernel jazz" + +#~ msgid "View" +#~ msgstr "Görüntüle" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "Tarih: " + +#~ msgid "kbit/sec" +#~ msgstr "kbit/sn" + +#~ msgid "Songs with same title" +#~ msgstr "Başlığı aynı olan şarkılar" + +#~ msgid "Audio format" +#~ msgstr "Ses formatı" + +#~ msgid "Invalid search" +#~ msgstr "geçersiz arama" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "Tür: " + +#~ msgid "Similar Artists" +#~ msgstr "Benzer Sanatçılar" + +#~ msgid "show current artist" +#~ msgstr "geçerli sanatçıyı göster" + +#~ msgid "Show the current songs information" +#~ msgstr "Geçerli şarkı bilgisini göster" + +#~ msgid "Show the current artist information" +#~ msgstr "Geçerli sanatçı bilgisini göster" + +#~ msgid "show current song" +#~ msgstr "geçerli şarkıyı göster" + +#~ msgid "Show Current Song" +#~ msgstr "Geçerli Şarkıyı Göster" + +#~ msgid "Show the current album information" +#~ msgstr "Geçerli albüm bilgisini göster" + +#~ msgid "show current album" +#~ msgstr "geçerli albümü göster" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "Hata bilgisi" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:18 +msgid "_Collapse Interface" +msgstr "_Arayüzü Düşür" + +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" +msgstr "_Şifreyi Yolla" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "_Aletler" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:438 +msgid "quit" +msgstr "çık" + +#: ../src/main.c:440 +msgid "hide" +msgstr "sakla" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "Gmpc' yi sakla" + +#: ../src/main.c:442 +msgid "show" +msgstr "göster" + +#: ../src/main.c:444 +msgid "show notification" +msgstr "bildirileri göster" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "Sistem tepsisi simgesinde bildiri göster" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "" + +#. * MM_STOP +#: ../src/mm-keys.c:77 +msgid "Fast Forward" +msgstr "" + +#. * MM_FASTFORWARD +#: ../src/mm-keys.c:78 +msgid "Fast Backward" +msgstr "" + +#. * MM_SHOW_NOTIFICATION +#: ../src/mm-keys.c:87 +msgid "Toggle Mute" +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "çal" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "çalmayı duraklat" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "dur" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "tekrar" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "ekle" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "Ekle " + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:815 +msgid "Connected to" +msgstr "" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "Bilgi" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2381 +msgid "Interface" +msgstr "Arayüz" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "akış" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "" + +#: ../src/tray-icon2.c:142 +msgid "Pla_ylist" +msgstr "" + +#: ../src/tray-icon2.c:887 +msgid "Notification" +msgstr "Bildiri" + +#: ../src/setup-assistant.c:132 +msgid "Setup connection" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" +msgstr "" + +#: ../glade/preferences-connection.ui.h:2 +msgid "Conn_ect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:8 +msgid "Timeout (s):" +msgstr "" + +#: ../glade/preferences-connection.ui.h:9 +msgid "_Autoconnect" +msgstr "" + +#: ../glade/preferences-connection.ui.h:11 +msgid "_Use Authentication" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:6 +msgid "T_rack" +msgstr "İ_z" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "Kapatınca gizle" + +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" +msgstr "Albüm kapağını biçemle" + +#: ../glade/preferences-server.ui.h:3 +msgid "" +"You need to be connected\n" +"in order to change these settings" +msgstr "" + +#: ../glade/preferences-server.ui.h:5 +msgid "Enable crossfade" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:3 +msgid "PopUp" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:2 +msgid "HTTP Proxy:" +msgstr "" + +#: ../glade/preferences-proxy.ui.h:5 +msgid "Use a proxy for internet connectivity" +msgstr "İnternet bağlantısı için bir proxy kullan" + +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "Kimlik denetimi kullan" + +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "Kullanıcı adı:" + +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "Parça" +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "öge" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "Besteci" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "çalma kuyruğunu değiştir" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "Çalma kuyruğuna geç" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" -msgstr "Dizin" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "Çalma kuyruğunu temizle" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "Uzantı" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" -msgstr "Veri Akış Hızı" +#: ../src/browsers/playlist3-current-playlist-browser.c:531 +msgid "Are you sure you want to clear the playlist?" +msgstr "Çalma listesini temizlemek istediğinizden emin misiniz?" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" -msgstr "Ses formatı" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "Çalma Kuyruğu" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" -msgstr "Başlığı aynı olan şarkılar" +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "Değiştir" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" -msgstr "Benzer şarkılar" +#: ../src/browsers/playlist3-file-browser.c:733 +msgid "Loaded playlist" +msgstr "Yüklenmiş çalma listesi" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" -msgstr "geçersiz arama" - -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "" -"Sadece ilk %i sonuç görüntüllendi, lütfen arama sorgunuzu gözden geçirin" - -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "Artist Bul:" - -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "Tür: " - -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "Tarih: " +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "Çalma Listesi" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "aramaya geç" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "Sanatçı bilgisi" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "Arama tarayıcısına geç" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "Albümler" - -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "Benzer Sanatçılar" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "veritabanını ara" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "Albüm bilgisi:" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " +msgstr "Veritabanında ara " -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "Albüm bilgisi" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "çalma listesinde ara" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" -msgstr "Albüm sanatçısı" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " +msgstr "Çalma listesinde ara " -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "Parçalar" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "Aama Tarayıcısı" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "Sık Kullanılanlar" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." +msgstr "Çalan şarkı sık kullanılanlara eklendi." + #. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" -msgstr "Geçerli Şarkıyı Göster" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" +msgstr "Geçerli Şarkıyı sık kullanılanlara Ekle" + +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" +msgstr "Etiket temelli tarayıcı" + +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" +msgstr "Tarayıcıyı sıfırla" + +#: ../src/browsers/server-information.c:335 +msgid "Uptime" +msgstr "Çslışma Süresi" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "kbit/sn" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" +msgstr "Çalma Süresi" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" +msgstr "URL İşleyicileri" + +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" +msgstr "Etiket Tipleri" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" +msgstr "Etiket istatistikleri" + +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "İcracı" + +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" +msgstr "AlbümSanatçısı" + +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "Yeniden al" + +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "Dosya açılamadı:" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "geçerli şarkıyı göster" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "Geçerli şarkı bilgisini göster" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "Sanatçı Bilgisi Alınıyor" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "geçerli sanatçıyı göster" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "Geçerli sanatçı bilgisini göster" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "geçerli albümü göster" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" -msgstr "Geçerli albüm bilgisini göster" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "Çalma Listesi Düzenleyici" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "%s aranıyor %s içinde" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "Yeni çalma listesi" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "Çalma Listesini Yeniden Adlandır" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" +msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "Yeniden Adlandır" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "Çalma listesine ekle" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" +msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" -msgstr "Sunucu Bilgisi" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" -msgstr "Sunucu" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" -msgstr "Toplam Çalma Süresi" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" -msgstr "Sanatçı sayısı" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" -msgstr "Albüm sayısı" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" -msgstr "Şarkı sayısı" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "Mevcut değil" + +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "Dosya" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "Disk" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "Açıklama" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "Konum" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "Üstveri Tarayıcısı" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" -msgstr "AlbümSanatçısı" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" -msgstr "Araçlar" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "Daha önce yapıştır" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "Daha sonra yapıştır" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "Yol" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" -msgstr "Sütunları Düzenle" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" -msgstr "Profil eklendi" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "Şarkı Sözleri" + +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "Yeniden al" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "Dosya Seç" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "Sanatçı Bilgisi Alınıyor" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "Albüm Bilgisi Alınıyor" +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "Mevcut Değil" +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "" +#~ "Sadece ilk %i sonuç görüntüllendi, lütfen arama sorgunuzu gözden geçirin" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "Dosya Seç" +#~ msgid "Fetching..." +#~ msgstr "Alınıyor" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "Metin Belgesi" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "saniye" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "Hepsi" +#~ msgid "kHz" +#~ msgstr "kHz" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "Resimler" +#~ msgid "bits" +#~ msgstr "bits" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" -msgstr "Yükleniyor" +#~ msgid "Artist info:" +#~ msgstr "Sanatçı bilgisi:" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" -msgstr "" +#~ msgid "channels" +#~ msgstr "kanallar" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" -msgstr "Listeyi internetten güncelle" +#~ msgid "Switch to the metadata browser" +#~ msgstr "Üstveri tarayıcısına geç" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "Bağlantılar" - -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" -msgstr "sanatçı" - -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" -msgstr "albüm" +#~ msgid "Orientation" +#~ msgstr "Yönlendirme" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" -msgstr "" +#~ msgid "The orientation of the tray." +#~ msgstr "Sistem çekmece yönlendirmesi" -#~ msgid "/" -#~ msgstr "/" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/giden/yol/dosya_adına.mp3" -#~ msgid "Name:" -#~ msgstr "İsim:" +#~ msgid "MPD's Streaming server" +#~ msgstr "MPD' nin Akış sunucusu" -#~ msgid "Error Dialog" -#~ msgstr "Hata İletişim Kutusu" +#~ msgid "--start-hidden" +#~ msgstr "--gizli-başlat" -#~ msgid "Error msg" -#~ msgstr "Hata mesajı" +#~ msgid "--config=" +#~ msgstr "--ayar=" -#~ msgid "And" -#~ msgstr "Ve" +#~ msgid "--version" +#~ msgstr "--sürüm" -#~ msgid "Accelerator key" -#~ msgstr "Hızlandırma tuşu" +#~ msgid "--replace" +#~ msgstr "--değiştir" -#~ msgid "Accelerator keycode" -#~ msgstr "Hızlandırma tuşkodu" +#~ msgid "--quit" +#~ msgstr "--çık" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/zh_CN.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/zh_CN.po --- gmpc-0.18.0/po/zh_CN.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/zh_CN.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,479 +7,166 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 17:32+0000\n" -"Last-Translator: yuan \n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-21 09:36+0000\n" +"Last-Translator: Yinghua Wang \n" "Language-Team: Simplified Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../data/gmpc.desktop.in.h:1 -msgid "A gnome frontend for the mpd daemon" -msgstr "" - -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "Gnome 音乐播放器客户端" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 +#: ../glade/playlist3.glade.h:4 msgid "Getting help" msgstr "获取帮助" -#: ../glade/playlist3.glade.h:2 +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "正在更新MPD媒体库。" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "静音" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "下一首" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "播放 / 暂停" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "上一首" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "配置文件" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "随机" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "重复" -#: ../glade/playlist3.glade.h:10 +#: ../glade/playlist3.glade.h:14 msgid "Show Messages" msgstr "显示消息" #. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 msgid "Stop" msgstr "停止" -#: ../glade/playlist3.glade.h:12 +#: ../glade/playlist3.glade.h:17 msgid "Visit website" msgstr "访问网站" -#: ../glade/playlist3.glade.h:13 +#: ../glade/playlist3.glade.h:18 msgid "_Collapse Interface" msgstr "接入口(_C)" -#: ../glade/playlist3.glade.h:14 +#: ../glade/playlist3.glade.h:19 msgid "_Connect" msgstr "连接" -#: ../glade/playlist3.glade.h:15 +#: ../glade/playlist3.glade.h:20 msgid "_Control" msgstr "控制(_C)" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 msgid "_Disconnect" msgstr "断开连接(_D)" -#: ../glade/playlist3.glade.h:17 +#: ../glade/playlist3.glade.h:22 msgid "_Expand Interface" msgstr "扩展接口(_C)" -#: ../glade/playlist3.glade.h:18 +#: ../glade/playlist3.glade.h:23 msgid "_Fullscreen" msgstr "全屏" -#: ../glade/playlist3.glade.h:19 +#: ../glade/playlist3.glade.h:24 msgid "_Go" msgstr "转到(_G)" -#: ../glade/playlist3.glade.h:20 +#: ../glade/playlist3.glade.h:25 msgid "_Help" msgstr "帮助(_H)" -#: ../glade/playlist3.glade.h:21 +#: ../glade/playlist3.glade.h:26 msgid "_Music" msgstr "音乐(_M)" -#: ../glade/playlist3.glade.h:22 +#: ../glade/playlist3.glade.h:27 msgid "_Option" msgstr "选项(_O)" -#: ../glade/playlist3.glade.h:23 +#: ../glade/playlist3.glade.h:28 msgid "_Send Password" msgstr "发送密码(_S)" -#: ../glade/playlist3.glade.h:24 -msgid "_Server" -msgstr "服务器(_S)" - -#: ../glade/playlist3.glade.h:25 +#: ../glade/playlist3.glade.h:29 msgid "_Show Artist Image" msgstr "显示艺术家图片(_S)" -#: ../glade/playlist3.glade.h:26 +#: ../glade/playlist3.glade.h:31 msgid "_View" msgstr "视图(_V)" -#: ../glade/playlist3.glade.h:27 +#: ../glade/playlist3.glade.h:32 msgid "gmpc - Playlist Manager" msgstr "gmpc - 播放列表管理器" -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" -msgstr "" - -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" -msgstr "唱歌或摆动你所想" - -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" -msgstr "" - -#: ../src/edit_markup.c:43 -msgid "01/24" -msgstr "01/24" - -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" -msgstr "2 Feb 2006" - -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" -msgstr "" - -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "代理" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" -msgstr "" - -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" -msgstr "版本--" - -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" -msgstr "--配置=" - -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" -msgstr "" - -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" -msgstr "" - -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" -msgstr "" - -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" -msgstr "由--替代" - -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" -msgstr "停止--" - -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" -msgstr "" - -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" -msgstr "" - -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" -msgstr "帮助" - -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" -msgstr "" - -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "停止" -#: ../src/main.c:445 -msgid "Quit gmpc" -msgstr "" - -#: ../src/main.c:446 -msgid "hide" -msgstr "" - -#: ../src/main.c:447 -msgid "Hide gmpc" -msgstr "" - -#: ../src/main.c:448 -msgid "show" -msgstr "" - -#: ../src/main.c:448 -msgid "Show gmpc" -msgstr "" - -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "显示通知" -#: ../src/main.c:451 -msgid "Show trayicon notification" -msgstr "" - -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "无法加载配置系统。" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "加载debug日志文件时出现错误。" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "设置libmpd时出现错误" -#: ../src/main.c:1059 -msgid "GMPC has insufficient permissions on the mpd server." -msgstr "" - -#: ../src/main.c:1085 -#, c-format -msgid "" -"Failed to set password on: '%s'\n" -"Please try again" -msgstr "" - -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "请出入你的密码: '%s'" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "错误代码" -#: ../src/main.c:1126 -msgid "Insufficient permission to connect to mpd. Check password" -msgstr "" - -#: ../src/main.c:1161 -msgid "MPD versions before 0.13.0 are not supported" -msgstr "" - -#: ../src/main.c:1224 -msgid "Connected to mpd" -msgstr "" - -#: ../src/main.c:1226 -msgid "Disconnected from mpd" -msgstr "" - -#: ../src/main.c:1260 -msgid "Error occured during operation" -msgstr "操作时出现错误" - -#. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" -msgstr "出现如下错误:" - -#: ../src/main.c:1301 -msgid "Error Message" -msgstr "" - -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "版本" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "Libmpd版本" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "Libcurl版本" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "windows系统" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "Mac OsX系统" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "启用选项" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "启用" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "禁用" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "快捷键" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 -msgid "" -"A new metadata plugin was added, gmpc has purged all failed hits from the " -"cache" -msgstr "" - -#: ../src/metadata.c:1211 -msgid "Metadata Handler" -msgstr "" - -#: ../src/misc.c:38 -msgid " Total time: " -msgstr "" - -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "天" @@ -489,21 +176,11 @@ msgid_plural "hours" msgstr[0] "小时" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "分钟" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 -msgid "Failed to execute" -msgstr "" - #: ../src/mm-keys.c:73 msgid "PlayPause" msgstr "播放/暂停" @@ -553,437 +230,157 @@ msgid "Toggle Mute" msgstr "切换静音" -#. * MM_TOGGLE_MUTE -#: ../src/mm-keys.c:88 -msgid "Show easy command entry" -msgstr "" - -#: ../src/mm-keys.c:366 -msgid "" -"Could not grab the following multimedia keys:\n" -"\n" -msgstr "" - -#: ../src/mm-keys.c:381 -msgid "" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" - -#: ../src/mm-keys.c:388 -msgid "" -"Duplicate mapping(s) detected\n" -"\n" -"Some duplicate multimedia key mappings were detected, and disabled. Please " -"revisit the preferences and ensure your settings are now correct." -msgstr "" - -#: ../src/mm-keys.c:628 -#, c-format -msgid "" -"Duplicate mapping detected\n" -"\n" -"%s is already mapped to %s" -msgstr "" - -#: ../src/mm-keys.c:657 -#, c-format -msgid "" -"Could not grab multimedia key:\n" -"\n" -"\t%s: %s\n" -"\n" -"Ensure that your window manager (or other applications) have not already " -"bound this key for some other function, then restart gmpc." -msgstr "" +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "快捷键" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "操作" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "快捷键" -#. Player control -#. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 -msgid "play" -msgstr "" +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "关闭" -#: ../src/mpdinteraction.c:159 -msgid "start playback" -msgstr "" +#: ../src/mpdinteraction.c:355 +msgid "Server Settings" +msgstr "服务器设置" -#: ../src/mpdinteraction.c:160 -msgid "pause" -msgstr "" +#: ../src/mpdinteraction.c:385 +msgid "Connection" +msgstr "连接" -#: ../src/mpdinteraction.c:160 -msgid "pause playback" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next" -msgstr "" - -#: ../src/mpdinteraction.c:161 -msgid "next song" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "prev" -msgstr "" - -#: ../src/mpdinteraction.c:162 -msgid "previous song" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop" -msgstr "" - -#: ../src/mpdinteraction.c:163 -msgid "stop playback" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "random" -msgstr "" - -#: ../src/mpdinteraction.c:165 -msgid "Random (on|off)" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "repeat" -msgstr "" - -#: ../src/mpdinteraction.c:166 -msgid "Repeat (on|off)" -msgstr "" - -#. volume commands -#: ../src/mpdinteraction.c:169 -msgid "volume" -msgstr "" - -#: ../src/mpdinteraction.c:169 -msgid "Volume " -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" -msgstr "" - -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "volume -" -msgstr "" - -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" -msgstr "" - -#: ../src/mpdinteraction.c:172 -msgid "mute" -msgstr "" - -#: ../src/mpdinteraction.c:175 -msgid "Play " -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "add" -msgstr "" - -#: ../src/mpdinteraction.c:176 -msgid "Add " -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "replace" -msgstr "" - -#: ../src/mpdinteraction.c:177 -msgid "Replace " -msgstr "" - -#: ../src/mpdinteraction.c:181 -msgid "Server Settings" -msgstr "服务器设置" - -#: ../src/mpdinteraction.c:211 -msgid "Connection" -msgstr "连接" - -#: ../src/mpdinteraction.c:312 -msgid "Connecting" -msgstr "正在连接" +#: ../src/mpdinteraction.c:478 +msgid "Connecting" +msgstr "正在连接" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "此专辑的所有歌曲" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "此艺术家的所有歌曲" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "此流派的所有歌曲" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "此歌曲相同目录下的所有歌曲" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "添加更多" -#: ../src/mpdinteraction.c:1339 -msgid "Set Rating" -msgstr "" - -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "正在更新MPD媒体库。" -#: ../src/playlist3.c:614 -msgid "MPD is updating its database" -msgstr "" - -#: ../src/playlist3.c:616 -msgid "MPD finished updating its database" -msgstr "" - -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "已连接" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "未连接" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 -msgid "GMPC" -msgstr "" - -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "连接到" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "断开连接" -#: ../src/playlist3.c:871 -msgid "" -"Failed to open the interface description file!\n" -"Please reinstall gmpc\n" -msgstr "" - -#: ../src/playlist3.c:1647 -#, c-format -msgid "Repeat: %s" -msgstr "" - -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "打开" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" -msgstr "关闭" - -#: ../src/playlist3.c:1660 -#, c-format -msgid "Random: %s" -msgstr "" - -#: ../src/playlist3.c:1708 -#, c-format -msgid "MPD Database refreshed at: %c" -msgstr "" - -#: ../src/playlist3.c:1716 -msgid "MPD Reported the following error" -msgstr "" - -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "配置文件" -#: ../src/playlist3.c:1839 -msgid "added" -msgstr "" - -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "将主机名称修改为:" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "更新媒体库" -#. Server Information -#: ../src/playlist3.c:1962 -msgid "Information" -msgstr "" - -#: ../src/playlist3.c:2042 -msgid "By" -msgstr "" - -#: ../src/playlist3.c:2049 -msgid "From" -msgstr "" - -#: ../src/playlist3.c:2121 -msgid "Not Playing" -msgstr "" - -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "界面" -#: ../src/playlist3-messages.c:35 +#: ../src/playlist3-messages.c:26 msgid "Info" msgstr "信息" -#: ../src/playlist3-messages.c:36 +#: ../src/playlist3-messages.c:27 msgid "Warning" msgstr "警告" -#: ../src/playlist3-messages.c:37 +#: ../src/playlist3-messages.c:28 msgid "Critical" msgstr "严重" -#: ../src/playlist3-messages.c:228 +#: ../src/playlist3-messages.c:251 msgid "Time" msgstr "时间" -#: ../src/playlist3-messages.c:230 +#: ../src/playlist3-messages.c:253 msgid "Message" msgstr "消息" -#: ../src/plugin.c:216 -msgid "" -"One or more plugins failed to load, see help->messages for more information" -msgstr "" - -#: ../src/preferences.c:93 ../src/preferences.c:194 -msgid "Plugins" -msgstr "" - -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "插件:" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "启用" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "名称" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "功能类别" -#: ../src/preferences.c:333 -msgid "Dummy" -msgstr "" - -#: ../src/preferences.c:336 -msgid "Browser Extension" -msgstr "" - -#: ../src/preferences.c:339 -msgid "Metadata Provider" -msgstr "" - -#: ../src/preferences.c:342 -msgid "Metadata Provider and Browser Extension" -msgstr "" - -#: ../src/preferences.c:345 -msgid "Misc." -msgstr "" - -#: ../src/preferences.c:350 -msgid "Unknown" -msgstr "" - -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -#, c-format -msgid "Added %i %s" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 -msgid "stream" -msgid_plural "streams" -msgstr[0] "" -msgstr[1] "" - -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 -msgid "Added 1 stream" -msgstr "" - -#. * -#. * Setup the label -#. -#: ../src/url_fetcher.c:240 -msgid "Enter an url" -msgstr "" +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "版本" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "播放列表(_Y)" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "提示" -#. * -#. * Append an introduction page -#. -#: ../src/setup-assistant.c:114 -msgid "" -"It is the first time you have launched gmpc.\n" -"This assistant will help you connect gmpc to your mpd daemon." -msgstr "" - -#: ../src/setup-assistant.c:116 -msgid "Welcome to GMPC" -msgstr "" - -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "连接设置" -#. * -#. * End -#. -#: ../src/setup-assistant.c:144 -msgid "" -"Gmpc is now ready for use.\n" -"Enjoy using gmpc." -msgstr "" - -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "完成" @@ -1052,11 +449,22 @@ " yuan https://launchpad.net/~zwjyuan\n" "\n" "Launchpad Contributions:\n" -" Aron https://launchpad.net/~cnfavor\n" +" Aron Xu https://launchpad.net/~cnfavor\n" +" Jonathan Ye https://launchpad.net/~microjo\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +" Yinghua Wang https://launchpad.net/~wantinghard\n" +" rainofchaos https://launchpad.net/~rainofchaos\n" +" yuan https://launchpad.net/~zwjyuan\n" +" zhangmiao https://launchpad.net/~mymzhang\n" +"\n" +"Launchpad Contributions:\n" +" Aron Xu https://launchpad.net/~happyaron\n" " Jonathan Ye https://launchpad.net/~microjo\n" " Qball Cow https://launchpad.net/~qball-qballcow\n" +" Yinghua Wang https://launchpad.net/~wantinghard\n" " rainofchaos https://launchpad.net/~rainofchaos\n" -" yuan https://launchpad.net/~zwjyuan" +" yuane https://launchpad.net/~yuane\n" +" zhangmiao https://launchpad.net/~mymzhang" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1082,56 +490,44 @@ msgid "Host:" msgstr "主机:" -#: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "名称:" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "密码:" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "端口:" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "超时秒数:" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "自动连接(_A)" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "使用密码验证(_U)" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "本机" -#: ../glade/preferences-esf-dialog.ui.h:1 -msgid "Enable Field:" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:2 msgid "Example:" msgstr "例子:" -#: ../glade/preferences-esf-dialog.ui.h:3 -msgid "Format Rule:" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:4 msgid "A_lbum" msgstr "专辑(_L)" -#: ../glade/preferences-esf-dialog.ui.h:5 -msgid "Edit Song Formatting" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:6 msgid "T_rack" msgstr "音轨(_R)" @@ -1144,62 +540,22 @@ msgid "_Date" msgstr "日期(_D)" -#: ../glade/preferences-esf-dialog.ui.h:9 -msgid "_Stream name" -msgstr "" - #: ../glade/preferences-esf-dialog.ui.h:10 msgid "_Title" msgstr "标题(_T)" -#: ../glade/preferences-esf-dialog.ui.h:11 -msgid "example" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:1 -msgid "Main:" -msgstr "" - #: ../glade/preferences-playlist.ui.h:2 msgid "Playlist:" msgstr "播放列表:" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "在播放队列居中显示当前播放的歌曲" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 -msgid "Hide on close" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:7 -msgid "Save position and size between sessions" -msgstr "" - #: ../glade/preferences-playlist.ui.h:8 -msgid "Show buttons instead of dropdown in collapsed view" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:9 -msgid "Show songlist tooltip" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:10 msgid "Stop playing on exit" msgstr "退出时停止播放" -#: ../glade/preferences-playlist.ui.h:11 -msgid "Stylize album covers" -msgstr "" - #: ../glade/preferences-plugins.ui.h:1 msgid "Loaded Plugins:" msgstr "载入的插件:" @@ -1228,10 +584,6 @@ msgid "fade time (s):" msgstr "淡入淡出时长(以秒计):" -#: ../glade/preferences-trayicon.ui.h:1 -msgid "Inline messages" -msgstr "" - #: ../glade/preferences-trayicon.ui.h:2 msgid "Notification Area Icon" msgstr "通知区域图标" @@ -1248,18 +600,10 @@ msgid "Position:" msgstr "位置:" -#: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" -msgstr "" - -#: ../glade/preferences-trayicon.ui.h:7 +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "超时:" -#: ../glade/preferences-proxy.ui.h:1 -msgid "Proxy settings" -msgstr "" - #: ../glade/preferences-proxy.ui.h:2 msgid "HTTP Proxy:" msgstr "HTTP 代理:" @@ -1268,14 +612,6 @@ msgid "Use a proxy for internet connectivity" msgstr "通过代理访问英特网" -#: ../glade/preferences-proxy.ui.h:6 -msgid "Use authentication" -msgstr "" - -#: ../glade/preferences-proxy.ui.h:7 -msgid "Username:" -msgstr "" - #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1308,61 +644,21 @@ msgid "name:" msgstr "名称:" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 -msgid "item" -msgid_plural "items" -msgstr[0] "" -msgstr[1] "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:107 -msgid "(Estimation)" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:140 -msgid "switch play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:141 -msgid "Switch to play queue" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 -msgid "Clear play queue" -msgstr "" - -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" -msgstr "播放队列" - -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "是否确定清空播放列表?" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 -msgid "Your mpd has a broken 'addid', pasting will fail." -msgstr "" - #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "Crop" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "打乱顺序" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 -msgid "Add URL" -msgstr "" - -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" @@ -1371,808 +667,1653 @@ "播放列表 “%s” 已存在\n" "是否覆盖?" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "保存播放列表失败。" -#: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 -msgid "File Browser" -msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "播放队列" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "目录" -#: ../src/browsers/playlist3-file-browser.c:229 -msgid "" -"It seems you have no music in your database.\n" -"To add music, copy the music to your music_directory as specified in " -"your mpd config file.\n" -"Then update the database. (Server->Update Database)" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:262 -#, c-format -msgid "Added folder '%s' recursively" -msgstr "" - -#. add the replace widget -#. replace the replace widget -#. add the replace widget -#. Play button -#. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 -msgid "Replace" -msgstr "" - #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "更新" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "播放列表已加载" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 -msgid "Added" -msgstr "" - -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "歌曲" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "目录" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "播放列表" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "是否确定清空选中的播放列表?" -#: ../src/browsers/playlist3-find2-browser.c:102 -msgid "Query" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 -msgid "Database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:231 -msgid "Playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "搜索" -#: ../src/browsers/playlist3-find2-browser.c:423 -msgid "Search failed" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:711 -msgid "Add all" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:935 -msgid "switch search" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:936 -msgid "Switch to the search browser" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:940 -msgid "search database" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:941 -msgid "Search database " -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:944 -msgid "search playlist" -msgstr "" - -#: ../src/browsers/playlist3-find2-browser.c:945 -msgid "Search playlist " -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "播放列表编辑器" -#: ../src/browsers/playlist3-find2-browser.c:961 -msgid "Search Browser" -msgstr "" +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "新建播放列表" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" -msgstr "不可用" +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "重命名播放列表" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." -msgstr "正在获取..." +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "重命名" -#. View -#. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" -msgstr "" +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" +msgstr "添加到播放列表" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 msgid "Artist" msgstr "艺术家" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" +msgstr "专辑" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" +msgstr "标题" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 #: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 +msgid "File" +msgstr "文件" + +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 msgid "Genre" msgstr "流派" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" -msgstr "日期" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" +msgstr "音轨" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" -msgstr "" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" +msgstr "作曲" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" -msgstr "标题" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" +msgstr "表演者" -#: ../src/browsers/playlist3-metadata-browser.c:906 +#. date #: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" +msgstr "日期" + +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 msgid "Duration" msgstr "时长" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" -msgstr "专辑" - -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" -msgstr "音轨" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "光盘编号" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" -msgstr "作曲" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "备注" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" -msgstr "表演者" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "位置" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 #: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" +msgstr "扩展名" + +#: ../src/gob/gmpc-mpddata-treeview.gob:87 msgid "Directory" msgstr "目录" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" -msgstr "扩展名" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" +msgstr "粘贴在前面" + +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" +msgstr "粘贴在后面" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "重新获取" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" +msgstr "选择文件" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" +msgstr "打开文件失败:" + +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" +msgstr "由于编码问题" + +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" +msgstr "正在获取艺术家简介" + +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" +msgstr "正在获取专辑介绍" + +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" +msgstr "不可用" + +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" +msgstr "选择文件" + +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" +msgstr "文本文档" + +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" +msgstr "所有文件" + +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" +msgstr "图像文件" + +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" +msgstr "不可用" + +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" +msgstr "歌词" + +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" +msgstr "专辑介绍" + +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" +msgstr "艺术家简介" + +#~ msgid "_Server" +#~ msgstr "服务器(_S)" + +#~ msgid "Album info:" +#~ msgstr "专辑介绍:" + +#~ msgid "Genre: " +#~ msgid_plural "Genres: " +#~ msgstr[0] "流派:" + +#~ msgid "Artist info:" +#~ msgstr "艺术家简介:" + +#~ msgid "Find Artist:" +#~ msgstr "搜索艺术家:" + +#~ msgid "Date: " +#~ msgid_plural "Dates: " +#~ msgstr[0] "日期:" + +#, c-format +#~ msgid "Only the first %i result displayed, please refine your search query" +#~ msgstr "仅显示前 %i 个结果,请改进你的搜索条件" + +#~ msgid "Fetching..." +#~ msgstr "正在获取..." + +#~ msgid "Albums" +#~ msgstr "专辑" + +#~ msgid "Tracks" +#~ msgstr "音轨" + +#~ msgid "Links" +#~ msgstr "链接" + +#~ msgid "Similar Artists" +#~ msgstr "相似艺术家" + +#~ msgid "Sing or Swing you want" +#~ msgstr "唱歌或摆动你所想" + +#~ msgid "01/24" +#~ msgstr "01/24" + +#~ msgid "2 Feb 2006" +#~ msgstr "2 Feb 2006" + +#~ msgid "--version" +#~ msgstr "版本--" + +#~ msgid "--help" +#~ msgstr "帮助" + +#~ msgid "--replace" +#~ msgstr "由--替代" + +#~ msgid "--quit" +#~ msgstr "停止--" + +#~ msgid "--config=" +#~ msgstr "--配置=" + +#: ../data/gmpc.desktop.in.h:1 +msgid "A gnome frontend for the mpd daemon" +msgstr "一个 mpd 守护进程的 gnome 前端" + +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" +msgstr "错误信息" + +#: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "简单的命令帮助" + +#: ../glade/playlist3.glade.h:13 +msgid "Se_rver" +msgstr "" + +#: ../glade/playlist3.glade.h:15 +msgid "Single mode" +msgstr "" + +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" +msgstr "工具(_T)" + +#: ../src/main.c:279 +msgid "Start the program in full screen" +msgstr "" + +#: ../src/main.c:281 +msgid "Show program version and revision" +msgstr "显示程序版本和修订" + +#: ../src/main.c:283 +msgid "Quits the running gmpc" +msgstr "退出运行中的 gmpc" + +#: ../src/main.c:285 +msgid "Replace the running gmpc" +msgstr "替换运行中的 gmpc" + +#: ../src/main.c:287 +msgid "Don't load the plugins" +msgstr "不要加载插件" + +#: ../src/main.c:289 +msgid "Load alternative config file" +msgstr "" + +#: ../src/main.c:291 +msgid "Set the debug level" +msgstr "设置调试级别" + +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" +msgstr "启动 gmpc 时隐藏到通知区域" + +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" +msgstr "" + +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" +msgstr "在 GTK+ 中显示重绘事件" + +#: ../src/main.c:299 +msgid "Show bug information dialog" +msgstr "显示错误信息对话框" + +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" +msgstr "" + +#: ../src/main.c:439 +msgid "Quit gmpc" +msgstr "退出 gmpc" + +#: ../src/main.c:440 +msgid "hide" +msgstr "隐藏" + +#: ../src/main.c:441 +msgid "Hide gmpc" +msgstr "隐藏 gmpc" + +#: ../src/main.c:442 +msgid "show" +msgstr "显示" + +#: ../src/main.c:443 +msgid "Show gmpc" +msgstr "显示 gmpc" + +#: ../src/main.c:445 +msgid "Show trayicon notification" +msgstr "在通知区域图标处显示提示" + +#: ../src/main.c:1066 +msgid "GMPC has insufficient permissions on the mpd server." +msgstr "" + +#: ../src/main.c:1092 +#, c-format +msgid "" +"Failed to set password on: '%s'\n" +"Please try again" +msgstr "" + +#: ../src/main.c:1133 +msgid "Insufficient permission to connect to mpd. Check password" +msgstr "没有足够的权限连接 mpd。请检查密码" + +#: ../src/main.c:1168 +msgid "MPD versions before 0.13.0 are not supported" +msgstr "不支持 0.13.0 之前的 MPD 版本" + +#: ../src/main.c:1236 +msgid "Connected to mpd" +msgstr "已连接到 mpd" + +#: ../src/main.c:1238 +msgid "Disconnected from mpd" +msgstr "已从 mpd 断开连接" + +#: ../src/main.c:1272 +msgid "Error occurred during operation" +msgstr "操作时发生了错误" + +#. Create label +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" +msgstr "发生了下面的错误 :" + +#: ../src/main.c:1313 +msgid "Error Message" +msgstr "错误讯息" + +#: ../src/metadata.c:293 +msgid "" +"A new metadata plugin was added, gmpc has purged all failed hits from the " +"cache" +msgstr "" + +#: ../src/metadata.c:1390 +msgid "Metadata Handler" +msgstr "" + +#: ../src/misc.c:39 +msgid "Total time" +msgstr "" + +#: ../src/misc.c:295 +msgid "Failed to execute" +msgstr "执行失败" + +#. * MM_TOGGLE_MUTE +#: ../src/mm-keys.c:88 +msgid "Show easy command entry" +msgstr "" + +#: ../src/mm-keys.c:367 +msgid "" +"Could not grab the following multimedia keys:\n" +"\n" +msgstr "" + +#: ../src/mm-keys.c:382 +msgid "" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mm-keys.c:391 +msgid "" +"Duplicate mapping(s) detected\n" +"\n" +"Some duplicate multimedia key mappings were detected, and disabled. Please " +"revisit the preferences and ensure your settings are now correct." +msgstr "" + +#: ../src/mm-keys.c:632 +#, c-format +msgid "" +"Duplicate mapping detected\n" +"\n" +"%s is already mapped to %s" +msgstr "" + +#: ../src/mm-keys.c:661 +#, c-format +msgid "" +"Could not grab multimedia key:\n" +"\n" +"\t%s: %s\n" +"\n" +"Ensure that your window manager (or other applications) have not already " +"bound this key for some other function, then restart gmpc." +msgstr "" + +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "启用" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "禁用" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "当前歌曲后停止: 您没有足够的权限" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "会在当前播放的歌曲之后停止回放。" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "重复播放当前歌曲: 您没有足够的权限" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "当前歌曲会一直重复播放" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "更新数据库: 您没有足够的权限" + +#. Player control +#. basic playlist commands +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 +msgid "play" +msgstr "播放" + +#: ../src/mpdinteraction.c:307 +msgid "start playback" +msgstr "开始回放" + +#: ../src/mpdinteraction.c:308 +msgid "pause" +msgstr "暂停" + +#: ../src/mpdinteraction.c:308 +msgid "pause playback" +msgstr "暂停回放" + +#: ../src/mpdinteraction.c:309 +msgid "next" +msgstr "下一个" + +#: ../src/mpdinteraction.c:309 +msgid "next song" +msgstr "下一曲" + +#: ../src/mpdinteraction.c:310 +msgid "prev" +msgstr "前一个" + +#: ../src/mpdinteraction.c:310 +msgid "previous song" +msgstr "上一曲" + +#: ../src/mpdinteraction.c:311 +msgid "stop" +msgstr "停止" + +#: ../src/mpdinteraction.c:311 +msgid "stop playback" +msgstr "停止播放" + +#: ../src/mpdinteraction.c:313 +msgid "random" +msgstr "随机" + +#: ../src/mpdinteraction.c:313 +msgid "Random (on|off)" +msgstr "随机播放 (开|关)" + +#: ../src/mpdinteraction.c:314 +msgid "repeat" +msgstr "重复" + +#: ../src/mpdinteraction.c:314 +msgid "Repeat (on|off)" +msgstr "重复播放 (开|关)" + +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + +#. volume commands +#: ../src/mpdinteraction.c:320 +msgid "volume" +msgstr "音量" + +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" +msgstr "" + +#: ../src/mpdinteraction.c:321 +msgid "mute" +msgstr "静音" + +#: ../src/mpdinteraction.c:323 +msgid "crossfade" +msgstr "" + +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" +msgstr "([0-9]+|Off)" + +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "输出" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" +msgstr "" + +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "启用/禁用 X 输出" + +#: ../src/mpdinteraction.c:328 +msgid "Play " +msgstr "" + +#: ../src/mpdinteraction.c:329 +msgid "add" +msgstr "添加" + +#: ../src/mpdinteraction.c:329 +msgid "Add " +msgstr "" + +#: ../src/mpdinteraction.c:330 +msgid "replace" +msgstr "替换" + +#: ../src/mpdinteraction.c:330 +msgid "Replace " +msgstr "" + +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "当前歌曲后停止" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "在当前歌曲后停止回放" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "重复当前歌曲" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "重复当前歌曲" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "更新数据库" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "更新数据库" + +#: ../src/mpdinteraction.c:1533 +msgid "Set Rating" +msgstr "" + +#: ../src/playlist3.c:642 +msgid "MPD is updating its database" +msgstr "MPD 正在更新数据库" + +#: ../src/playlist3.c:644 +msgid "MPD finished updating its database" +msgstr "MPD 数据库更新完成" + +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 +msgid "GMPC" +msgstr "GMPC" + +#: ../src/playlist3.c:887 +msgid "" +"Failed to open the interface description file!\n" +"Please reinstall gmpc\n" +msgstr "" +"打开界面描述文件失败!\n" +"请重新安装 gmpc\n" + +#: ../src/playlist3.c:1709 +#, c-format +msgid "Repeat: %s" +msgstr "重复: %s" + +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" +msgstr "随机: %s" + +#: ../src/playlist3.c:1737 +#, c-format +msgid "Single mode: %s" +msgstr "单曲模式: %s" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" +msgstr "" + +#: ../src/playlist3.c:1815 +#, c-format +msgid "MPD Database refreshed at: %c" +msgstr "MPD 数据库刷新于: %c" + +#: ../src/playlist3.c:1823 +msgid "MPD Reported the following error" +msgstr "MPD 报告了如下错误" + +#: ../src/playlist3.c:1957 +msgid "added" +msgstr "已添加" + +#. Server Information +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 +msgid "Information" +msgstr "信息" + +#: ../src/playlist3.c:2190 +msgid "By" +msgstr "" + +#: ../src/playlist3.c:2196 +msgid "From" +msgstr "" + +#: ../src/playlist3.c:2267 +msgid "Not Playing" +msgstr "没有播放" + +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" +msgstr "" + +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" +msgstr "" + +#: ../src/playlist3.c:2684 +msgid "Random enabled" +msgstr "" + +#: ../src/playlist3.c:2690 +msgid "Random disabled" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "加载插件失败" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "插件没有命名" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "浏览器插件结构不正确" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "元数据插件结构不正确" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "首选项插件结构不正确" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "无法创建插件实例" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "无法在插件中绑定符号" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 +msgid "" +"One or more plugins failed to load, see help->messages for more information" +msgstr "" + +#: ../src/preferences.c:98 ../src/preferences.c:205 +msgid "Plugins" +msgstr "插件" + +#: ../src/preferences.c:367 +msgid "Dummy" +msgstr "" + +#: ../src/preferences.c:370 +msgid "Browser Extension" +msgstr "浏览器扩展" + +#: ../src/preferences.c:373 +msgid "Metadata Provider" +msgstr "" + +#: ../src/preferences.c:376 +msgid "Metadata Provider and Browser Extension" +msgstr "" + +#: ../src/preferences.c:379 +msgid "Misc." +msgstr "杂项" + +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 +msgid "Unknown" +msgstr "未知" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +#, c-format +msgid "Added %i %s" +msgstr "%i %s 已添加" + +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 +msgid "stream" +msgid_plural "streams" +msgstr[0] "" +msgstr[1] "" + +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 +msgid "Added 1 stream" +msgstr "" + +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "打开本地文件失败" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + +#. * +#. * Setup the label +#. +#: ../src/url-fetcher.c:461 +msgid "Enter an url" +msgstr "请输入url" + +#. * +#. * Append an introduction page +#. +#: ../src/setup-assistant.c:111 +msgid "" +"It is the first time you have launched gmpc.\n" +"This assistant will help you connect gmpc to your mpd daemon." +msgstr "" + +#: ../src/setup-assistant.c:113 +msgid "Welcome to GMPC" +msgstr "欢迎您使用 GMPC" + +#. * +#. * End +#. +#: ../src/setup-assistant.c:141 +msgid "" +"Gmpc is now ready for use.\n" +"Enjoy using gmpc." +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/preferences-connection.ui.h:4 +msgid "Music Directory:" +msgstr "音乐目录:" + +#: ../glade/preferences-esf-dialog.ui.h:1 +msgid "Enable Field:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:3 +msgid "Format Rule:" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:5 +msgid "Edit Song Formatting" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:9 +msgid "_Stream name" +msgstr "" + +#: ../glade/preferences-esf-dialog.ui.h:11 +msgid "example" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:1 +msgid "Main:" +msgstr "" + +#: ../glade/preferences-playlist.ui.h:4 +msgid "Hide on close" +msgstr "关闭时隐藏" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../glade/preferences-playlist.ui.h:5 +msgid "Save position and size between sessions" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../glade/preferences-playlist.ui.h:6 +msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../glade/preferences-playlist.ui.h:7 +msgid "Show songlist tooltip" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../glade/preferences-playlist.ui.h:9 +msgid "Stylize album covers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" -msgstr "歌词" +#: ../glade/preferences-trayicon.ui.h:1 +msgid "Inline messages" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#: ../glade/preferences-trayicon.ui.h:6 +msgid "Show on song change" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#: ../glade/preferences-proxy.ui.h:1 +msgid "Proxy settings" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" -msgstr "仅显示前 %i 个结果,请改进你的搜索条件" +#: ../glade/preferences-proxy.ui.h:6 +msgid "Use authentication" +msgstr "使用授权" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" -msgstr "搜索艺术家:" +#: ../glade/preferences-proxy.ui.h:7 +msgid "Username:" +msgstr "用户名:" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "流派:" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "日期:" +#: ../src/browsers/playlist3-current-playlist-browser.c:155 +msgid "item" +msgid_plural "items" +msgstr[0] "" +msgstr[1] "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" -msgstr "艺术家简介:" +#: ../src/browsers/playlist3-current-playlist-browser.c:161 +msgid "(Estimation)" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" -msgstr "艺术家简介" +#: ../src/browsers/playlist3-current-playlist-browser.c:210 +msgid "switch play queue" +msgstr "切换播放队列" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" -msgstr "专辑" +#: ../src/browsers/playlist3-current-playlist-browser.c:211 +msgid "Switch to play queue" +msgstr "切换到播放队列" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" -msgstr "相似艺术家" +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 +msgid "Clear play queue" +msgstr "清空播放队列" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" -msgstr "专辑介绍:" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" -msgstr "专辑介绍" +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 +msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" -msgstr "音轨" +#: ../src/browsers/playlist3-current-playlist-browser.c:908 +msgid "Add URL" +msgstr "添加 URL" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:98 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 +msgid "File Browser" +msgstr "文件浏览器" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#: ../src/browsers/playlist3-file-browser.c:213 +msgid "" +"It seems you have no music in your database.\n" +"To add music, copy the music to your music_directory as specified in " +"your mpd config file.\n" +"Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:246 +#, c-format +msgid "Added folder '%s' recursively" +msgstr "已递归地添加了文件夹 '%s'" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" -msgstr "" +#. add the replace widget +#. replace the replace widget +#. add the replace widget +#. replace +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 +msgid "Replace" +msgstr "替换" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" -msgstr "" +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 +msgid "Added" +msgstr "已添加" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 +msgid "Query" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 +msgid "Database" +msgstr "数据库" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:242 +msgid "Playlist" +msgstr "播放列表" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:436 +msgid "Search failed" +msgstr "搜索失败" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:722 +msgid "Add all" +msgstr "添加全部" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:966 +msgid "switch search" +msgstr "切换搜索" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:967 +msgid "Switch to the search browser" +msgstr "切换到搜索浏览器" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" -msgstr "" +#: ../src/browsers/playlist3-find2-browser.c:971 +msgid "search database" +msgstr "搜索数据库" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/browsers/playlist3-find2-browser.c:972 +msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" -msgstr "播放列表编辑器" +#: ../src/browsers/playlist3-find2-browser.c:975 +msgid "search playlist" +msgstr "搜索播放列表" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/browsers/playlist3-find2-browser.c:976 +msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" -msgstr "新建播放列表" - -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" -msgstr "重命名播放列表" +#: ../src/browsers/playlist3-find2-browser.c:992 +msgid "Search Browser" +msgstr "搜索浏览器" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" -msgstr "重命名" +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" -msgstr "添加到播放列表" +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "播放列表" -#: ../src/browsers/playlist3-playlist-editor.c:1013 +#: ../src/browsers/playlist3-playlist-editor.c:1019 msgid "Added playing song to favorites list." msgstr "" #. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 +#: ../src/browsers/playlist3-playlist-editor.c:1039 msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 +#: ../src/browsers/playlist3-tag2-browser.c:104 msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 +#: ../src/browsers/playlist3-tag2-browser.c:1884 msgid "Reset browser" -msgstr "" +msgstr "复位浏览器" #. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 msgid "Server Information" -msgstr "" +msgstr "服务器信息" -#: ../src/browsers/server-information.c:324 +#: ../src/browsers/server-information.c:326 msgid "Server" -msgstr "" +msgstr "服务器" -#: ../src/browsers/server-information.c:333 +#: ../src/browsers/server-information.c:335 msgid "Uptime" msgstr "" -#: ../src/browsers/server-information.c:334 +#: ../src/browsers/server-information.c:336 msgid "Time Playing" msgstr "" #. * Mpd Playtime -#: ../src/browsers/server-information.c:347 +#: ../src/browsers/server-information.c:349 msgid "Total Playtime" -msgstr "" +msgstr "总播放时间" #. * Mpd Artists -#: ../src/browsers/server-information.c:349 +#: ../src/browsers/server-information.c:351 msgid "Number of artists" -msgstr "" +msgstr "艺术家数量" #. * Mpd Albums -#: ../src/browsers/server-information.c:351 +#: ../src/browsers/server-information.c:353 msgid "Number of albums" -msgstr "" +msgstr "专辑数量" #. * Mpd Songs -#: ../src/browsers/server-information.c:353 +#: ../src/browsers/server-information.c:355 msgid "Number of songs" -msgstr "" +msgstr "歌曲数量" #. * Mpd Songs -#: ../src/browsers/server-information.c:355 +#: ../src/browsers/server-information.c:357 msgid "URL Handlers" msgstr "" #. * Mpd Songs -#: ../src/browsers/server-information.c:357 +#: ../src/browsers/server-information.c:359 msgid "Tag Types" msgstr "" -#: ../src/browsers/server-information.c:362 +#: ../src/browsers/server-information.c:364 msgid "Tag statistics" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" -msgstr "" - -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." -msgstr "" - -#: ../src/gob/gmpc-mpddata-treeview.gob:68 +#: ../src/gob/gmpc-mpddata-treeview.gob:69 msgid "Markup" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" -msgstr "文件" - -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" -msgstr "光盘编号" - -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" -msgstr "备注" - -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" -msgstr "" - #: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" -msgstr "位置" +msgid "Icon Id" +msgstr "图标 Id" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 +#: ../src/gob/gmpc-mpddata-treeview.gob:85 msgid "AlbumArtist" -msgstr "" +msgstr "专辑艺术家" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 msgid "Tools" -msgstr "" - -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" -msgstr "粘贴在前面" - -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" -msgstr "粘贴在后面" +msgstr "工具" #. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 msgid "Edit Columns" -msgstr "" +msgstr "编辑列" -#: ../src/gob/gmpc-profiles.gob:72 +#: ../src/gob/gmpc-profiles.gob:90 msgid "Added profile" -msgstr "" +msgstr "已添加配置文件" -#: ../src/gob/gmpc-profiles.gob:80 +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 msgid "Removed profile" -msgstr "" - -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" -msgstr "重新获取" - -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" -msgstr "选择文件" - -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" -msgstr "打开文件失败:" +msgstr "已删除配置文件" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" -msgstr "由于编码问题" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" +msgstr "元数据选择器" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "正在获取歌词" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" -msgstr "正在获取艺术家简介" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" -msgstr "正在获取专辑介绍" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" -msgstr "不可用" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" +msgstr "正在载入" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" -msgstr "选择文件" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" +msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" -msgstr "文本文档" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" +msgstr "从互联网更新列表" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" -msgstr "所有文件" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" +msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" -msgstr "图像文件" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" +msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" -msgstr "链接" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" +msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" +msgstr "帮助" + +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" +msgstr "获取可用命令的列表" + +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#~ msgid "/" -#~ msgstr "/" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" +msgstr "文件类型" -#~ msgid "An Error Occured" -#~ msgstr "发生错误" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" +msgstr "大小" -#~ msgid "Name:" -#~ msgstr "名称:" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" +msgstr "" -#~ msgid "Sort by:" -#~ msgstr "排列方式:" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" +msgstr "" -#~ msgid "" -#~ "At the notification area icon\n" -#~ "Upper Left Corner\n" -#~ "Upper Right Corner\n" -#~ "Lower Left Corner\n" -#~ "Lower Right Corner" -#~ msgstr "" -#~ "通知区域图标处\n" -#~ "屏幕左上角\n" -#~ "屏幕右上角\n" -#~ "屏幕左下角\n" -#~ "屏幕右下角" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" +msgstr "歌词" -#~ msgid "Error Dialog" -#~ msgstr "错误对话框" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" +msgstr "" -#~ msgid "Error msg" -#~ msgstr "错误消息" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" +msgstr "" -#~ msgid "" -#~ "None\n" -#~ "Artist\n" -#~ "Album\n" -#~ "Title\n" -#~ "Track\n" -#~ "Name\n" -#~ "Genre\n" -#~ "Date\n" -#~ "Composer\n" -#~ "Performer\n" -#~ "Comment\n" -#~ "Disc" -#~ msgstr "" -#~ "无\n" -#~ "艺术家\n" -#~ "专辑\n" -#~ "标题\n" -#~ "音轨\n" -#~ "名称\n" -#~ "流派\n" -#~ "日期\n" -#~ "作曲\n" -#~ "表演者\n" -#~ "备注\n" -#~ "光盘编号" +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" +msgstr "" + +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" +msgstr "歌曲歌词" -#~ msgid "_Reconnect" -#~ msgstr "重新连接" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" +msgstr "专辑信息" -#~ msgid "Trying to run gmpc with a wrong libmpd version." -#~ msgstr "试图使用错误的libmpd版本运行gmpc" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" +msgstr "" -#~ msgid "Connected to mpd" -#~ msgstr "已经连接到mpd" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" +msgstr "" -#~ msgid "Plugins:" -#~ msgstr "插件:" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" +msgstr "相似歌曲" -#~ msgid "Failed to parse the playlist link" -#~ msgstr "分析播放列表的链接出现错误" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" +msgstr "" -#~ msgid "And" -#~ msgstr "与" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " +msgstr "" -#~ msgid "Or" -#~ msgstr "或" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" +msgstr "" -#~ msgid "Search" -#~ msgstr "搜索" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" +msgstr "" -#~ msgid "Search in current _play queue" -#~ msgstr "在当前播放队列中搜索(_P)" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" +msgstr "" -#~ msgid "Artist:" -#~ msgstr "艺术家:" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" +msgstr "" -#~ msgid "PlayTime:" -#~ msgstr "播放时长:" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" +msgstr "元数据浏览器" -#~ msgid "Genre:" -#~ msgstr "流派:" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" +msgstr "" -#~ msgid "Date:" -#~ msgstr "日期:" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" +msgstr "歌曲" -#~ msgid "Album:" -#~ msgstr "专辑:" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" +msgstr "" -#~ msgid "Track:" -#~ msgstr "音轨:" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" +msgstr "专辑艺术家" -#~ msgid "Composer:" -#~ msgstr "作曲:" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" +msgstr "" -#~ msgid "Performer:" -#~ msgstr "表演者:" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" +msgstr "路径" -#~ msgid "Dirname:" -#~ msgstr "位置:" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" +msgstr "" -#~ msgid "Extension:" -#~ msgstr "扩展名:" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" +msgstr "" -#~ msgid "Lyric:" -#~ msgstr "歌词:" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" +msgstr "" -#~ msgid "Artist info:" -#~ msgstr "艺术家简介:" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" +msgstr "" -#~ msgid "Albums:" -#~ msgstr "专辑列表:" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" +msgstr "" -#~ msgid "Similar Artists:" -#~ msgstr "相似艺术家:" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" +msgstr "播放时间" -#~ msgid "Album info:" -#~ msgstr "专辑介绍:" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" +msgstr "" -#~ msgid "Songs:" -#~ msgstr "歌曲列表:" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" +msgstr "" -#~ msgid "Tracks:" -#~ msgstr "音轨数:" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" +msgstr "" -#~ msgid "Directory:" -#~ msgstr "目录:" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" -#~ msgid "New accelerator..." -#~ msgstr "新快捷键..." +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" +msgstr "" -#~ msgid "Accelerator key" -#~ msgstr "快捷键" +#~ msgid "/path/to/file_name.mp3" +#~ msgstr "/path/to/file_name.mp3" -#~ msgid "Accelerator keycode" -#~ msgstr "快捷键值" +#~ msgid "second" +#~ msgid_plural "seconds" +#~ msgstr[0] "秒" -#~ msgid "The type of accelerator." -#~ msgstr "快捷键类型。" +#~ msgid " Total time: " +#~ msgstr " 总计时间: " -#~ msgid "Title:" -#~ msgstr "标题:" +#, c-format +#~ msgid "" +#~ "Gnome Music Player Client\n" +#~ "Options:\n" +#~ "\t--start-hidden\t\tStart hidden\n" +#~ "\t--help\t\t\tThis help message.\n" +#~ "\t--debug-level=\tMake gmpc print out debug information.\n" +#~ "\t\t\t\tLevel:\n" +#~ "\t\t\t\t\t0 No Output\n" +#~ "\t\t\t\t\t1 Error Messages\n" +#~ "\t\t\t\t\t2 Error + Warning Messages\n" +#~ "\t\t\t\t\t3 All messages\n" +#~ "\t--version\t\tPrint version and git revision\n" +#~ "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\tCleanup the cover file.\n" +#~ "\t--disable-plugins\tDon't load any plugins.\n" +#~ "\t--replace\t\tReplace the running session with the current\n" +#~ "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" +#~ "instances is disabled.\n" +#~ msgstr "" +#~ "Gnome 音乐播放器客户端\n" +#~ "选项:\n" +#~ "\t--start-hidden\t\t后台启动\n" +#~ "\t--help\t\t\t显示此帮助信息.\n" +#~ "\t--debug-level=<级别>\t使 gmpc 输出调试信息.\n" +#~ "\t\t\t\t级别:\n" +#~ "\t\t\t\t\t0 无输出\n" +#~ "\t\t\t\t\t1 错误消息\n" +#~ "\t\t\t\t\t2 错误和警告消息\n" +#~ "\t\t\t\t\t3 所有消息\n" +#~ "\t--version\t\t显示版本和 git 修订\n" +#~ "\t--config=\t\t设置配置文件路径, 默认为 ~/.gmpc/gmpc.cfg\n" +#~ "\t--clean-cover-db\t清理专辑封面数据文件.\n" +#~ "\t--disable-plugins\t不加载插件.\n" +#~ "\t--replace\t\t替换当前运行的会话\n" +#~ "\t--quit\t\t\t退出当前运行的 gmpc 会话. 仅在禁止 multiple-instances 选项时有效.\n" -#~ msgid "Similar Songs:" -#~ msgstr "相似歌曲:" +#~ msgid "plugin with same name allready exists" +#~ msgstr "同名的插件已经存在" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/po/zh_TW.po /tmp/zoMIw2cTYT/gmpc-0.19.0/po/zh_TW.po --- gmpc-0.18.0/po/zh_TW.po 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/po/zh_TW.po 2009-09-21 11:15:59.000000000 +0100 @@ -7,479 +7,355 @@ msgstr "" "Project-Id-Version: gmpc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-02-13 14:43+0100\n" -"PO-Revision-Date: 2009-02-13 17:54+0000\n" +"POT-Creation-Date: 2009-07-25 16:10+0200\n" +"PO-Revision-Date: 2009-05-13 16:11+0000\n" "Last-Translator: Qball Cow \n" "Language-Team: Traditional Chinese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-03-05 15:36+0000\n" +"X-Launchpad-Export-Date: 2009-08-09 09:52+0000\n" "X-Generator: Launchpad (build Unknown)\n" +#: ../glade/aboutdialog.ui.h:2 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow\n" +"\n" +"Launchpad Contributions:\n" +" Justin Lee https://launchpad.net/~cf9404\n" +" Qball Cow https://launchpad.net/~qball-qballcow" + #: ../data/gmpc.desktop.in.h:1 msgid "A gnome frontend for the mpd daemon" msgstr "" -#: ../data/gmpc.desktop.in.h:2 ../src/main.c:1352 ../src/tray-icon2.c:550 -#: ../src/tray-icon2.c:732 ../src/tray-icon2.c:735 ../src/tray-icon2.c:745 -#: ../src/tray-icon2.c:748 +#: ../data/gmpc.desktop.in.h:2 ../src/main.c:341 ../src/tray-icon2.c:589 +#: ../src/vala/gmpc-metadata-browser2.c:1917 +#: ../src/vala/gmpc-metadata-browser2.c:1920 msgid "Gnome Music Player Client" msgstr "" -#: ../glade/playlist3.glade.h:1 ../src/main.c:1375 -msgid "Getting help" +#. Basic dialog with a close button +#: ../glade/playlist3.glade.h:1 ../src/bug-information.c:239 +msgid "Bug information" msgstr "" #: ../glade/playlist3.glade.h:2 +msgid "Consume" +msgstr "" + +#: ../glade/playlist3.glade.h:3 +msgid "Easy Command Help" +msgstr "" + +#: ../glade/playlist3.glade.h:4 +msgid "Getting help" +msgstr "" + +#: ../glade/playlist3.glade.h:5 msgid "MPD database is updating." msgstr "" -#: ../glade/playlist3.glade.h:3 ../src/mpdinteraction.c:172 +#: ../glade/playlist3.glade.h:6 ../src/mpdinteraction.c:321 msgid "Mute" msgstr "" #. * MM_PLAYPAUSE -#: ../glade/playlist3.glade.h:4 ../src/mm-keys.c:74 +#: ../glade/playlist3.glade.h:7 ../src/mm-keys.c:74 ../src/tray-icon2.c:577 msgid "Next" msgstr "" -#: ../glade/playlist3.glade.h:5 +#: ../glade/playlist3.glade.h:8 msgid "Play/Pause" msgstr "" #. * MM_NEXT -#: ../glade/playlist3.glade.h:6 ../src/mm-keys.c:75 +#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:75 msgid "Previous" msgstr "" -#: ../glade/playlist3.glade.h:7 +#: ../glade/playlist3.glade.h:10 msgid "Profiles" msgstr "" #. * MM_REPEAT -#: ../glade/playlist3.glade.h:8 ../src/mm-keys.c:80 +#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:80 msgid "Random" msgstr "" #. * MM_FASTBACKWARD -#: ../glade/playlist3.glade.h:9 ../src/mm-keys.c:79 +#: ../glade/playlist3.glade.h:12 ../src/mm-keys.c:79 msgid "Repeat" msgstr "" -#: ../glade/playlist3.glade.h:10 -msgid "Show Messages" -msgstr "" - -#. * MM_PREV -#: ../glade/playlist3.glade.h:11 ../src/mm-keys.c:76 -msgid "Stop" -msgstr "" - -#: ../glade/playlist3.glade.h:12 -msgid "Visit website" -msgstr "" - #: ../glade/playlist3.glade.h:13 -msgid "_Collapse Interface" +msgid "Se_rver" msgstr "" #: ../glade/playlist3.glade.h:14 -msgid "_Connect" +msgid "Show Messages" msgstr "" #: ../glade/playlist3.glade.h:15 -msgid "_Control" +msgid "Single mode" msgstr "" -#: ../glade/playlist3.glade.h:16 ../glade/preferences-connection.ui.h:9 -msgid "_Disconnect" +#. * MM_PREV +#: ../glade/playlist3.glade.h:16 ../src/mm-keys.c:76 +msgid "Stop" msgstr "" #: ../glade/playlist3.glade.h:17 -msgid "_Expand Interface" +msgid "Visit website" msgstr "" #: ../glade/playlist3.glade.h:18 -msgid "_Fullscreen" +msgid "_Collapse Interface" msgstr "" #: ../glade/playlist3.glade.h:19 -msgid "_Go" +msgid "_Connect" msgstr "" #: ../glade/playlist3.glade.h:20 -msgid "_Help" +msgid "_Control" msgstr "" -#: ../glade/playlist3.glade.h:21 -msgid "_Music" +#: ../glade/playlist3.glade.h:21 ../glade/preferences-connection.ui.h:10 +msgid "_Disconnect" msgstr "" #: ../glade/playlist3.glade.h:22 -msgid "_Option" +msgid "_Expand Interface" msgstr "" #: ../glade/playlist3.glade.h:23 -msgid "_Send Password" +msgid "_Fullscreen" msgstr "" #: ../glade/playlist3.glade.h:24 -msgid "_Server" +msgid "_Go" msgstr "" #: ../glade/playlist3.glade.h:25 -msgid "_Show Artist Image" +msgid "_Help" msgstr "" #: ../glade/playlist3.glade.h:26 -msgid "_View" +msgid "_Music" msgstr "" #: ../glade/playlist3.glade.h:27 -msgid "gmpc - Playlist Manager" -msgstr "" - -#: ../src/edit_markup.c:39 -msgid "/path/to/file_name.mp3" -msgstr "" - -#: ../src/edit_markup.c:40 -msgid "Jonny Singer" +msgid "_Option" msgstr "" -#: ../src/edit_markup.c:41 -msgid "Sing or Swing you want" +#: ../glade/playlist3.glade.h:28 +msgid "_Send Password" msgstr "" -#: ../src/edit_markup.c:42 -msgid "The kernel jazz" +#: ../glade/playlist3.glade.h:29 +msgid "_Show Artist Image" msgstr "" -#: ../src/edit_markup.c:43 -msgid "01/24" +#: ../glade/playlist3.glade.h:30 +msgid "_Tools" msgstr "" -#: ../src/edit_markup.c:44 -msgid "2 Feb 2006" +#: ../glade/playlist3.glade.h:31 +msgid "_View" msgstr "" -#: ../src/edit_markup.c:46 -msgid "MPD's Streaming server" +#: ../glade/playlist3.glade.h:32 +msgid "gmpc - Playlist Manager" msgstr "" -#: ../src/gmpc_easy_download.c:385 +#: ../src/gmpc_easy_download.c:274 msgid "Proxy" msgstr "" -#. * -#. * Set debug level, options are -#. * 0 = No debug -#. * 1 = Error messages -#. * 2 = Error + Warning messages -#. * 3 = All messages -#. -#: ../src/main.c:287 ../src/main.c:288 -msgid "--debug-level=" +#: ../src/main.c:279 +msgid "Start the program in full screen" msgstr "" -#. * -#. * Print out version + svn revision -#. -#: ../src/main.c:294 -msgid "--version" +#: ../src/main.c:281 +msgid "Show program version and revision" msgstr "" -#: ../src/main.c:302 ../src/main.c:303 -msgid "--config=" +#: ../src/main.c:283 +msgid "Quits the running gmpc" msgstr "" -#. * -#. * Starts gmpc hidden. Either tray or task-bar -#. -#: ../src/main.c:308 -msgid "--start-hidden" +#: ../src/main.c:285 +msgid "Replace the running gmpc" msgstr "" -#. * -#. * Cleans all failed hits from the cover database. -#. * then exits. -#. -#: ../src/main.c:315 -msgid "--clean-cover-db" +#: ../src/main.c:287 +msgid "Don't load the plugins" msgstr "" -#. * -#. * Start gmpc withouth loading any external plugins -#. -#: ../src/main.c:321 -msgid "--disable-plugins" +#: ../src/main.c:289 +msgid "Load alternative config file" msgstr "" -#. * -#. * Tries to replace the running gmpc session with a new (this) one. -#. -#: ../src/main.c:327 -msgid "--replace" +#: ../src/main.c:291 +msgid "Set the debug level" msgstr "" -#. * -#. * Quit any running gmpc session -#. -#: ../src/main.c:333 -msgid "--quit" +#: ../src/main.c:293 +msgid "Start gmpc hidden to tray" msgstr "" -#. * -#. * Imports the cover db in the old format. -#. -#: ../src/main.c:339 -msgid "--import-old-db" +#: ../src/main.c:295 +msgid "Remove all failed hits from metadata cache" msgstr "" -#. * -#. * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. -#. -#: ../src/main.c:345 -msgid "--debug-updates" +#: ../src/main.c:297 +msgid "Show redraw events in GTK+" msgstr "" -#. * -#. * Print out help message -#. -#: ../src/main.c:352 -msgid "--help" +#: ../src/main.c:299 +msgid "Show bug information dialog" msgstr "" -#: ../src/main.c:353 -#, c-format -msgid "" -"Gnome Music Player Client\n" -"Options:\n" -"\t--start-hidden\t\tStart hidden\n" -"\t--help\t\t\tThis help message.\n" -"\t--debug-level=\tMake gmpc print out debug information.\n" -"\t\t\t\tLevel:\n" -"\t\t\t\t\t0 No Output\n" -"\t\t\t\t\t1 Error Messages\n" -"\t\t\t\t\t2 Error + Warning Messages\n" -"\t\t\t\t\t3 All messages\n" -"\t--version\t\tPrint version and git revision\n" -"\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" -"\t--clean-cover-db\tCleanup the cover file.\n" -"\t--disable-plugins\tDon't load any plugins.\n" -"\t--replace\t\tReplace the running session with the current\n" -"\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-" -"instances is disabled.\n" +#: ../src/main.c:301 +msgid "Shows all output from a certain log domain" msgstr "" -#: ../src/main.c:444 +#: ../src/main.c:438 msgid "quit" msgstr "" -#: ../src/main.c:445 +#: ../src/main.c:439 msgid "Quit gmpc" msgstr "" -#: ../src/main.c:446 +#: ../src/main.c:440 msgid "hide" msgstr "" -#: ../src/main.c:447 +#: ../src/main.c:441 msgid "Hide gmpc" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:442 msgid "show" msgstr "" -#: ../src/main.c:448 +#: ../src/main.c:443 msgid "Show gmpc" msgstr "" -#: ../src/main.c:450 +#: ../src/main.c:444 msgid "show notification" msgstr "" -#: ../src/main.c:451 +#: ../src/main.c:445 msgid "Show trayicon notification" msgstr "" -#: ../src/main.c:506 +#: ../src/main.c:499 msgid "Failed to load the configuration system." msgstr "" -#: ../src/main.c:525 +#: ../src/main.c:518 msgid "Failed to load debug-log file." msgstr "" -#: ../src/main.c:674 +#: ../src/main.c:646 msgid "Failed to setup libmpd" msgstr "" -#: ../src/main.c:1059 +#: ../src/main.c:1066 msgid "GMPC has insufficient permissions on the mpd server." msgstr "" -#: ../src/main.c:1085 +#: ../src/main.c:1092 #, c-format msgid "" "Failed to set password on: '%s'\n" "Please try again" msgstr "" -#: ../src/main.c:1087 +#: ../src/main.c:1094 #, c-format msgid "Please enter your password for: '%s'" msgstr "" -#: ../src/main.c:1116 ../src/main.c:1137 +#: ../src/main.c:1123 ../src/main.c:1144 msgid "error code" msgstr "" -#: ../src/main.c:1126 +#: ../src/main.c:1133 msgid "Insufficient permission to connect to mpd. Check password" msgstr "" -#: ../src/main.c:1161 +#: ../src/main.c:1168 msgid "MPD versions before 0.13.0 are not supported" msgstr "" -#: ../src/main.c:1224 +#: ../src/main.c:1236 msgid "Connected to mpd" msgstr "" -#: ../src/main.c:1226 +#: ../src/main.c:1238 msgid "Disconnected from mpd" msgstr "" -#: ../src/main.c:1260 -msgid "Error occured during operation" +#: ../src/main.c:1272 +msgid "Error occurred during operation" msgstr "" #. Create label -#: ../src/main.c:1284 -msgid "The following error(s) occured:" +#: ../src/main.c:1296 +msgid "The following error(s) occurred:" msgstr "" -#: ../src/main.c:1301 +#: ../src/main.c:1313 msgid "Error Message" msgstr "" -#: ../src/main.c:1355 -msgid "Tagline" -msgstr "" - -#. * Mpd version -#: ../src/main.c:1356 ../src/preferences.c:314 -#: ../src/browsers/server-information.c:331 -msgid "Version" -msgstr "" - -#: ../src/main.c:1358 -msgid "Revision" -msgstr "" - -#: ../src/main.c:1360 -msgid "Libmpd version" -msgstr "" - -#: ../src/main.c:1361 -msgid "GTK+ version" -msgstr "" - -#: ../src/main.c:1362 -msgid "Libcurl version" -msgstr "" - -#: ../src/main.c:1363 -msgid "Platform" -msgstr "" - -#: ../src/main.c:1365 -msgid "Windows" -msgstr "" - -#: ../src/main.c:1368 -msgid "Mac OsX" -msgstr "" - -#: ../src/main.c:1370 -msgid "*nix" -msgstr "" - -#: ../src/main.c:1374 -msgid "Website" -msgstr "" - -#: ../src/main.c:1376 -msgid "Options enabled" -msgstr "" - -#: ../src/main.c:1377 -msgid "X session management" -msgstr "" - -#: ../src/main.c:1379 ../src/main.c:1386 ../src/main.c:1394 ../src/main.c:1402 -#: ../src/main.c:1410 ../src/main.c:1418 ../src/main.c:1426 ../src/main.c:1434 -#: ../src/main.c:1442 ../src/preferences.c:307 -msgid "Enabled" -msgstr "" - -#: ../src/main.c:1381 ../src/main.c:1388 ../src/main.c:1396 ../src/main.c:1404 -#: ../src/main.c:1412 ../src/main.c:1420 ../src/main.c:1428 ../src/main.c:1436 -#: ../src/main.c:1444 -msgid "Disabled" -msgstr "" - -#: ../src/main.c:1384 -msgid "NLS Support" -msgstr "" - -#: ../src/main.c:1392 ../src/mm-keys.c:566 -msgid "Multimedia Keys" -msgstr "" - -#: ../src/main.c:1400 -msgid "Libegg's trayicon" -msgstr "" - -#: ../src/main.c:1408 -msgid "System libsexy" -msgstr "" - -#: ../src/main.c:1416 -msgid "Mac integration library" -msgstr "" - -#: ../src/main.c:1424 -msgid "Use ~/.config/ dir" -msgstr "" - -#: ../src/main.c:1432 -msgid "Debug timing" -msgstr "" - -#: ../src/main.c:1440 -msgid "Maintainer mode" -msgstr "" - -#: ../src/metadata.c:748 +#: ../src/metadata.c:293 msgid "" "A new metadata plugin was added, gmpc has purged all failed hits from the " "cache" msgstr "" -#: ../src/metadata.c:1211 +#: ../src/metadata.c:1390 msgid "Metadata Handler" msgstr "" -#: ../src/misc.c:38 -msgid " Total time: " +#: ../src/misc.c:39 +msgid "Total time" msgstr "" -#: ../src/misc.c:55 +#: ../src/misc.c:56 msgid "day" msgid_plural "days" msgstr[0] "" @@ -491,19 +367,13 @@ msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:63 +#: ../src/misc.c:62 msgid "minute" msgid_plural "minutes" msgstr[0] "" msgstr[1] "" -#: ../src/misc.c:67 -msgid "second" -msgid_plural "seconds" -msgstr[0] "" -msgstr[1] "" - -#: ../src/misc.c:269 +#: ../src/misc.c:295 msgid "Failed to execute" msgstr "" @@ -561,20 +431,20 @@ msgid "Show easy command entry" msgstr "" -#: ../src/mm-keys.c:366 +#: ../src/mm-keys.c:367 msgid "" "Could not grab the following multimedia keys:\n" "\n" msgstr "" -#: ../src/mm-keys.c:381 +#: ../src/mm-keys.c:382 msgid "" "\n" "Ensure that your window manager (or other applications) have not already " "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:388 +#: ../src/mm-keys.c:391 msgid "" "Duplicate mapping(s) detected\n" "\n" @@ -582,7 +452,11 @@ "revisit the preferences and ensure your settings are now correct." msgstr "" -#: ../src/mm-keys.c:628 +#: ../src/mm-keys.c:570 +msgid "Multimedia Keys" +msgstr "" + +#: ../src/mm-keys.c:632 #, c-format msgid "" "Duplicate mapping detected\n" @@ -590,7 +464,7 @@ "%s is already mapped to %s" msgstr "" -#: ../src/mm-keys.c:657 +#: ../src/mm-keys.c:661 #, c-format msgid "" "Could not grab multimedia key:\n" @@ -601,428 +475,686 @@ "bound this key for some other function, then restart gmpc." msgstr "" -#: ../src/mm-keys.c:704 +#: ../src/mm-keys.c:716 msgid "Action" msgstr "" -#: ../src/mm-keys.c:726 +#: ../src/mm-keys.c:738 msgid "Shortcut" msgstr "" +#: ../src/mpdinteraction.c:91 +msgid "enable" +msgstr "" + +#: ../src/mpdinteraction.c:94 +msgid "disable" +msgstr "" + +#: ../src/mpdinteraction.c:107 ../src/playlist3.c:1710 ../src/playlist3.c:1723 +#: ../src/playlist3.c:1738 ../src/playlist3.c:1751 +msgid "Off" +msgstr "" + +#: ../src/mpdinteraction.c:162 +msgid "Single: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:164 +msgid "Single: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:181 +msgid "Consume: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:183 +msgid "Consume: You have insufficient permission to use this option." +msgstr "" + +#: ../src/mpdinteraction.c:268 +msgid "" +"Stop after current song: The used MPD server is to old and does not support " +"this." +msgstr "" + +#: ../src/mpdinteraction.c:270 +msgid "Stop after current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:272 +msgid "Playback will be stopped after the current playing song." +msgstr "" + +#: ../src/mpdinteraction.c:282 +msgid "" +"Repeat current song: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:284 +msgid "Repeat current song: You have insufficient permission." +msgstr "" + +#: ../src/mpdinteraction.c:286 +msgid "The current song will be forever repeated." +msgstr "" + +#: ../src/mpdinteraction.c:296 +msgid "" +"Update database: The used MPD server is to old and does not support this." +msgstr "" + +#: ../src/mpdinteraction.c:298 +msgid "Update database: You have insufficient permission." +msgstr "" + #. Player control #. basic playlist commands -#: ../src/mpdinteraction.c:159 ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:307 ../src/mpdinteraction.c:328 msgid "play" msgstr "" -#: ../src/mpdinteraction.c:159 +#: ../src/mpdinteraction.c:307 msgid "start playback" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause" msgstr "" -#: ../src/mpdinteraction.c:160 +#: ../src/mpdinteraction.c:308 msgid "pause playback" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next" msgstr "" -#: ../src/mpdinteraction.c:161 +#: ../src/mpdinteraction.c:309 msgid "next song" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "prev" msgstr "" -#: ../src/mpdinteraction.c:162 +#: ../src/mpdinteraction.c:310 msgid "previous song" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop" msgstr "" -#: ../src/mpdinteraction.c:163 +#: ../src/mpdinteraction.c:311 msgid "stop playback" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "random" msgstr "" -#: ../src/mpdinteraction.c:165 +#: ../src/mpdinteraction.c:313 msgid "Random (on|off)" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "repeat" msgstr "" -#: ../src/mpdinteraction.c:166 +#: ../src/mpdinteraction.c:314 msgid "Repeat (on|off)" msgstr "" +#: ../src/mpdinteraction.c:316 +msgid "single" +msgstr "" + +#: ../src/mpdinteraction.c:316 +msgid "Single (on|off)" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "consume" +msgstr "" + +#: ../src/mpdinteraction.c:317 +msgid "Consume (on|off)" +msgstr "" + #. volume commands -#: ../src/mpdinteraction.c:169 +#: ../src/mpdinteraction.c:320 msgid "volume" msgstr "" -#: ../src/mpdinteraction.c:169 -msgid "Volume " +#: ../src/mpdinteraction.c:320 +msgid "Volume (+-)" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "volume \\+" +#: ../src/mpdinteraction.c:321 +msgid "mute" msgstr "" -#: ../src/mpdinteraction.c:170 -msgid "Increase volume" +#: ../src/mpdinteraction.c:323 +msgid "crossfade" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "volume -" +#: ../src/mpdinteraction.c:323 +msgctxt "Regex for matching crossfade, translate off" +msgid "([0-9]+|Off)" msgstr "" -#: ../src/mpdinteraction.c:171 -msgid "Decrease volume" +#: ../src/mpdinteraction.c:323 +msgid "Set Crossfade " msgstr "" -#: ../src/mpdinteraction.c:172 -msgid "mute" +#: ../src/mpdinteraction.c:325 +msgid "output" +msgstr "" + +#: ../src/mpdinteraction.c:325 +msgctxt "Regex for matching output" +msgid "[0-9]+ (Enable|Disable)" msgstr "" -#: ../src/mpdinteraction.c:175 +#: ../src/mpdinteraction.c:326 +msgid "output X enable or disable" +msgstr "" + +#: ../src/mpdinteraction.c:328 msgid "Play " msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "add" msgstr "" -#: ../src/mpdinteraction.c:176 +#: ../src/mpdinteraction.c:329 msgid "Add " msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "replace" msgstr "" -#: ../src/mpdinteraction.c:177 +#: ../src/mpdinteraction.c:330 msgid "Replace " msgstr "" -#: ../src/mpdinteraction.c:181 +#. Basic seek commands +#: ../src/mpdinteraction.c:333 +msgid "seek" +msgstr "" + +#: ../src/mpdinteraction.c:333 +msgid "Seek within the current song" +msgstr "" + +#: ../src/mpdinteraction.c:336 +msgid "stop after current song" +msgstr "" + +#: ../src/mpdinteraction.c:338 +msgid "Stop playback after the current song" +msgstr "" + +#: ../src/mpdinteraction.c:342 +msgid "repeat current song" +msgstr "" + +#: ../src/mpdinteraction.c:344 +msgid "Repeat the current song" +msgstr "" + +#: ../src/mpdinteraction.c:348 +msgid "update database" +msgstr "" + +#: ../src/mpdinteraction.c:350 +msgid "Update the database" +msgstr "" + +#: ../src/mpdinteraction.c:355 msgid "Server Settings" msgstr "" -#: ../src/mpdinteraction.c:211 +#: ../src/mpdinteraction.c:385 msgid "Connection" msgstr "" -#: ../src/mpdinteraction.c:312 +#: ../src/mpdinteraction.c:478 msgid "Connecting" msgstr "" #. Add all from album -#: ../src/mpdinteraction.c:1291 +#: ../src/mpdinteraction.c:1485 msgid "All from album" msgstr "" #. Add all from artist -#: ../src/mpdinteraction.c:1303 +#: ../src/mpdinteraction.c:1497 msgid "All from artist" msgstr "" #. Add all from genre -#: ../src/mpdinteraction.c:1313 +#: ../src/mpdinteraction.c:1507 msgid "All from genre" msgstr "" #. Add all from file -#: ../src/mpdinteraction.c:1321 +#: ../src/mpdinteraction.c:1515 msgid "All from same directory" msgstr "" #. Create sub menu #. Add -#: ../src/mpdinteraction.c:1329 +#: ../src/mpdinteraction.c:1523 msgid "Add more" msgstr "" -#: ../src/mpdinteraction.c:1339 +#: ../src/mpdinteraction.c:1533 msgid "Set Rating" msgstr "" -#: ../src/playlist3.c:604 +#: ../src/playlist3.c:632 msgid "MPD database is updating" msgstr "" -#: ../src/playlist3.c:614 +#: ../src/playlist3.c:642 msgid "MPD is updating its database" msgstr "" -#: ../src/playlist3.c:616 +#: ../src/playlist3.c:644 msgid "MPD finished updating its database" msgstr "" -#: ../src/playlist3.c:780 +#: ../src/playlist3.c:793 msgid "Connected" msgstr "" -#: ../src/playlist3.c:789 ../src/playlist3.c:2128 +#: ../src/playlist3.c:802 ../src/playlist3.c:2274 msgid "Not Connected" msgstr "" -#: ../src/playlist3.c:802 ../src/playlist3.c:807 ../src/playlist3.c:1617 +#: ../src/playlist3.c:815 ../src/playlist3.c:820 ../src/playlist3.c:1676 msgid "GMPC" msgstr "" -#: ../src/playlist3.c:802 +#: ../src/playlist3.c:815 msgid "Connected to" msgstr "" -#: ../src/playlist3.c:807 +#: ../src/playlist3.c:820 msgid "Disconnected" msgstr "" -#: ../src/playlist3.c:871 +#: ../src/playlist3.c:887 msgid "" "Failed to open the interface description file!\n" "Please reinstall gmpc\n" msgstr "" -#: ../src/playlist3.c:1647 +#: ../src/playlist3.c:1709 #, c-format msgid "Repeat: %s" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 +#: ../src/playlist3.c:1710 ../src/playlist3.c:1723 ../src/playlist3.c:1738 +#: ../src/playlist3.c:1751 msgid "On" msgstr "" -#: ../src/playlist3.c:1648 ../src/playlist3.c:1661 -msgid "Off" +#: ../src/playlist3.c:1722 +#, c-format +msgid "Random: %s" msgstr "" -#: ../src/playlist3.c:1660 +#: ../src/playlist3.c:1737 #, c-format -msgid "Random: %s" +msgid "Single mode: %s" +msgstr "" + +#: ../src/playlist3.c:1750 +#, c-format +msgid "Consume: %s" msgstr "" -#: ../src/playlist3.c:1708 +#: ../src/playlist3.c:1815 #, c-format msgid "MPD Database refreshed at: %c" msgstr "" -#: ../src/playlist3.c:1716 +#: ../src/playlist3.c:1823 msgid "MPD Reported the following error" msgstr "" -#: ../src/playlist3.c:1838 ../src/playlist3.c:1844 +#: ../src/playlist3.c:1956 ../src/playlist3.c:1962 msgid "Profile" msgstr "" -#: ../src/playlist3.c:1839 +#: ../src/playlist3.c:1957 msgid "added" msgstr "" -#: ../src/playlist3.c:1846 +#: ../src/playlist3.c:1964 msgid "changed hostname to:" msgstr "" #. Update DB -#: ../src/playlist3.c:1953 +#: ../src/playlist3.c:2072 msgid "Update Database" msgstr "" #. Server Information -#: ../src/playlist3.c:1962 +#: ../src/playlist3.c:2081 ../src/vala/gmpc-test-plugin.c:1016 msgid "Information" msgstr "" -#: ../src/playlist3.c:2042 +#: ../src/playlist3.c:2190 msgid "By" msgstr "" -#: ../src/playlist3.c:2049 +#: ../src/playlist3.c:2196 msgid "From" msgstr "" -#: ../src/playlist3.c:2121 +#: ../src/playlist3.c:2267 msgid "Not Playing" msgstr "" -#: ../src/playlist3.c:2246 +#: ../src/playlist3.c:2381 msgid "Interface" msgstr "" -#: ../src/playlist3-messages.c:35 -msgid "Info" +#: ../src/playlist3.c:2658 +msgid "Repeat enabled" msgstr "" -#: ../src/playlist3-messages.c:36 -msgid "Warning" +#: ../src/playlist3.c:2664 +msgid "Repeat disabled" msgstr "" -#: ../src/playlist3-messages.c:37 -msgid "Critical" +#: ../src/playlist3.c:2684 +msgid "Random enabled" msgstr "" -#: ../src/playlist3-messages.c:228 -msgid "Time" +#: ../src/playlist3.c:2690 +msgid "Random disabled" msgstr "" -#: ../src/playlist3-messages.c:230 -msgid "Message" +#: ../src/playlist3-messages.c:26 +msgid "Info" msgstr "" -#: ../src/plugin.c:216 +#: ../src/playlist3-messages.c:27 +msgid "Warning" +msgstr "" + +#: ../src/playlist3-messages.c:28 +msgid "Critical" +msgstr "" + +#: ../src/playlist3-messages.c:251 +msgid "Time" +msgstr "" + +#: ../src/playlist3-messages.c:253 +msgid "Message" +msgstr "" + +#: ../src/plugin.c:60 ../src/plugin.c:68 ../src/plugin.c:75 ../src/plugin.c:83 +#: ../src/plugin.c:89 ../src/plugin.c:97 ../src/plugin.c:103 +#: ../src/plugin.c:110 ../src/plugin.c:117 ../src/plugin.c:124 +#: ../src/plugin.c:131 ../src/plugin.c:142 ../src/plugin.c:153 +#: ../src/plugin.c:221 +msgid "Failed to load plugin" +msgstr "" + +#: ../src/plugin.c:60 +msgid "plugin has no name" +msgstr "" + +#: ../src/plugin.c:68 +msgid "plugin with same name already exists" +msgstr "" + +#: ../src/plugin.c:75 +msgid "plugin is missing set/get enable function" +msgstr "" + +#: ../src/plugin.c:83 ../src/plugin.c:89 ../src/plugin.c:142 +msgid "plugin browser structure is incorrect" +msgstr "" + +#: ../src/plugin.c:97 ../src/plugin.c:103 ../src/plugin.c:110 +#: ../src/plugin.c:131 +msgid "plugin metadata structure is incorrect" +msgstr "" + +#: ../src/plugin.c:117 +msgid "plugin get_image api is deprecated " +msgstr "" + +#: ../src/plugin.c:124 +msgid "plugin get_uris api is deprecated " +msgstr "" + +#: ../src/plugin.c:153 +msgid "plugin preferences structure is incorrect" +msgstr "" + +#: ../src/plugin.c:232 +msgid "Failed to create plugin instance" +msgstr "" + +#: ../src/plugin.c:244 +msgid "Failed to bind symbol in plugin" +msgstr "" + +#: ../src/plugin.c:256 +#, c-format +msgid "Plugin %s has wrong api version: %i" +msgstr "" + +#: ../src/plugin.c:266 ../src/plugin.c:273 +#, c-format +msgid "Plugin %s has wrong no plugin structure: %s" +msgstr "" + +#: ../src/plugin.c:292 msgid "" "One or more plugins failed to load, see help->messages for more information" msgstr "" -#: ../src/preferences.c:93 ../src/preferences.c:194 +#: ../src/preferences.c:98 ../src/preferences.c:205 msgid "Plugins" msgstr "" -#: ../src/preferences.c:155 +#: ../src/preferences.c:160 msgid "Plugins:" msgstr "" -#: ../src/preferences.c:310 ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/preferences.c:331 +msgid "Enabled" +msgstr "" + +#: ../src/preferences.c:334 ../src/gob/gmpc-mpddata-treeview.gob:76 msgid "Name" msgstr "" -#: ../src/preferences.c:312 +#: ../src/preferences.c:336 msgid "Function" msgstr "" -#: ../src/preferences.c:333 +#. * Mpd version +#: ../src/preferences.c:338 ../src/browsers/server-information.c:333 +msgid "Version" +msgstr "" + +#: ../src/preferences.c:367 msgid "Dummy" msgstr "" -#: ../src/preferences.c:336 +#: ../src/preferences.c:370 msgid "Browser Extension" msgstr "" -#: ../src/preferences.c:339 +#: ../src/preferences.c:373 msgid "Metadata Provider" msgstr "" -#: ../src/preferences.c:342 +#: ../src/preferences.c:376 msgid "Metadata Provider and Browser Extension" msgstr "" -#: ../src/preferences.c:345 +#: ../src/preferences.c:379 msgid "Misc." msgstr "" -#: ../src/preferences.c:350 +#: ../src/preferences.c:384 ../src/vala/gmpc-metadata-browser2.c:3551 +#: ../src/vala/gmpc-metadata-browser2.c:4088 +#: ../src/vala/gmpc-metadata-browser2.c:4094 +#: ../src/vala/gmpc-metadata-browser2.c:4286 +#: ../src/vala/gmpc-metadata-browser2.c:4745 msgid "Unknown" msgstr "" -#: ../src/TreeSearchWidget.c:271 -msgid "Find:" -msgstr "" - -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 #, c-format msgid "Added %i %s" msgstr "" -#: ../src/url_fetcher.c:57 ../src/url_fetcher.c:83 +#: ../src/url-fetcher.c:64 ../src/url-fetcher.c:89 ../src/url-fetcher.c:147 +#: ../src/url-fetcher.c:224 msgid "stream" msgid_plural "streams" msgstr[0] "" msgstr[1] "" -#: ../src/url_fetcher.c:136 ../src/url_fetcher.c:157 +#: ../src/url-fetcher.c:291 ../src/url-fetcher.c:323 msgid "Added 1 stream" msgstr "" +#: ../src/url-fetcher.c:404 +msgid "Failed to open local file" +msgstr "" + +#: ../src/url-fetcher.c:419 +msgid "Uri scheme not supported" +msgstr "" + #. * #. * Setup the label #. -#: ../src/url_fetcher.c:240 +#: ../src/url-fetcher.c:461 msgid "Enter an url" msgstr "" -#: ../src/tray-icon2.c:136 +#: ../src/tray-icon2.c:142 msgid "Pla_ylist" msgstr "" -#: ../src/tray-icon2.c:865 +#: ../src/tray-icon2.c:887 msgid "Notification" msgstr "" #. * #. * Append an introduction page #. -#: ../src/setup-assistant.c:114 +#: ../src/setup-assistant.c:111 msgid "" "It is the first time you have launched gmpc.\n" "This assistant will help you connect gmpc to your mpd daemon." msgstr "" -#: ../src/setup-assistant.c:116 +#: ../src/setup-assistant.c:113 msgid "Welcome to GMPC" msgstr "" -#: ../src/setup-assistant.c:135 +#: ../src/setup-assistant.c:132 msgid "Setup connection" msgstr "" #. * #. * End #. -#: ../src/setup-assistant.c:144 +#: ../src/setup-assistant.c:141 msgid "" "Gmpc is now ready for use.\n" "Enjoy using gmpc." msgstr "" -#: ../src/setup-assistant.c:146 +#: ../src/setup-assistant.c:143 msgid "Finish" msgstr "" -#: ../glade/aboutdialog.ui.h:1 -msgid "Copyright 2003-2007 Qball Cow" +#: ../src/smclient/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" msgstr "" -#: ../glade/aboutdialog.ui.h:2 -msgid "translator-credits" +#: ../src/smclient/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../src/smclient/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../src/smclient/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../src/smclient/eggsmclient.c:228 +msgid "FILE" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:231 +msgid "ID" +msgstr "" + +#: ../src/smclient/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../src/smclient/eggsmclient.c:253 +msgid "Show session management options" +msgstr "" + +#: ../glade/aboutdialog.ui.h:1 +msgid "Copyright 2003-2007 Qball Cow" msgstr "" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow\n" -"\n" -"Launchpad Contributions:\n" -" Justin Lee https://launchpad.net/~cf9404\n" -" Qball Cow https://launchpad.net/~qball-qballcow" #: ../glade/password-dialog.ui.h:1 msgid "Enter your password for: ''" @@ -1049,32 +1181,36 @@ msgstr "" #: ../glade/preferences-connection.ui.h:4 -#: ../src/browsers/playlist3-playlist-editor.c:472 -#: ../src/browsers/playlist3-playlist-editor.c:511 +msgid "Music Directory:" +msgstr "" + +#: ../glade/preferences-connection.ui.h:5 +#: ../src/browsers/playlist3-playlist-editor.c:456 +#: ../src/browsers/playlist3-playlist-editor.c:497 msgid "Name:" msgstr "" -#: ../glade/preferences-connection.ui.h:5 ../glade/preferences-proxy.ui.h:3 +#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:3 msgid "Password:" msgstr "" -#: ../glade/preferences-connection.ui.h:6 ../glade/preferences-proxy.ui.h:4 +#: ../glade/preferences-connection.ui.h:7 ../glade/preferences-proxy.ui.h:4 msgid "Port:" msgstr "" -#: ../glade/preferences-connection.ui.h:7 +#: ../glade/preferences-connection.ui.h:8 msgid "Timeout (s):" msgstr "" -#: ../glade/preferences-connection.ui.h:8 +#: ../glade/preferences-connection.ui.h:9 msgid "_Autoconnect" msgstr "" -#: ../glade/preferences-connection.ui.h:10 +#: ../glade/preferences-connection.ui.h:11 msgid "_Use Authentication" msgstr "" -#: ../glade/preferences-connection.ui.h:11 +#: ../glade/preferences-connection.ui.h:12 msgid "localhost" msgstr "" @@ -1131,38 +1267,30 @@ msgstr "" #: ../glade/preferences-playlist.ui.h:3 -msgid "Song Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:4 msgid "Center playing song" msgstr "" -#: ../glade/preferences-playlist.ui.h:5 -msgid "Edit _Browser Markup" -msgstr "" - -#: ../glade/preferences-playlist.ui.h:6 +#: ../glade/preferences-playlist.ui.h:4 msgid "Hide on close" msgstr "" -#: ../glade/preferences-playlist.ui.h:7 +#: ../glade/preferences-playlist.ui.h:5 msgid "Save position and size between sessions" msgstr "" -#: ../glade/preferences-playlist.ui.h:8 +#: ../glade/preferences-playlist.ui.h:6 msgid "Show buttons instead of dropdown in collapsed view" msgstr "" -#: ../glade/preferences-playlist.ui.h:9 +#: ../glade/preferences-playlist.ui.h:7 msgid "Show songlist tooltip" msgstr "" -#: ../glade/preferences-playlist.ui.h:10 +#: ../glade/preferences-playlist.ui.h:8 msgid "Stop playing on exit" msgstr "" -#: ../glade/preferences-playlist.ui.h:11 +#: ../glade/preferences-playlist.ui.h:9 msgid "Stylize album covers" msgstr "" @@ -1213,10 +1341,14 @@ msgstr "" #: ../glade/preferences-trayicon.ui.h:6 -msgid "Show severity" +msgid "Show on song change" msgstr "" #: ../glade/preferences-trayicon.ui.h:7 +msgid "Show severity" +msgstr "" + +#: ../glade/preferences-trayicon.ui.h:8 msgid "Timeout:" msgstr "" @@ -1240,6 +1372,10 @@ msgid "Username:" msgstr "" +#: ../glade/preferences-mmkeys.ui.h:1 +msgid "To disable a keybinding edit it and press 'backspace'" +msgstr "" + #: ../glade/preferences.ui.h:1 msgid "" "Plugins\n" @@ -1270,82 +1406,89 @@ msgid "name:" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:106 +#: ../src/browsers/playlist3-current-playlist-browser.c:155 msgid "item" msgid_plural "items" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-current-playlist-browser.c:107 +#: ../src/browsers/playlist3-current-playlist-browser.c:161 msgid "(Estimation)" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:140 +#: ../src/browsers/playlist3-current-playlist-browser.c:210 msgid "switch play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:141 +#: ../src/browsers/playlist3-current-playlist-browser.c:211 msgid "Switch to play queue" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:144 -#: ../src/browsers/playlist3-current-playlist-browser.c:145 +#: ../src/browsers/playlist3-current-playlist-browser.c:214 +#: ../src/browsers/playlist3-current-playlist-browser.c:215 msgid "Clear play queue" msgstr "" -#. PL3_CURRENT_PLAYLIST, -#: ../src/browsers/playlist3-current-playlist-browser.c:426 -#: ../src/browsers/playlist3-current-playlist-browser.c:1095 -msgid "Play Queue" +#: ../src/browsers/playlist3-current-playlist-browser.c:219 +msgid "Crop current song" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:500 +#: ../src/browsers/playlist3-current-playlist-browser.c:220 +msgid "Crop the playlist so it only contains the current song" +msgstr "" + +#: ../src/browsers/playlist3-current-playlist-browser.c:531 msgid "Are you sure you want to clear the playlist?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:651 -#: ../src/browsers/playlist3-current-playlist-browser.c:672 -#: ../src/browsers/playlist3-current-playlist-browser.c:714 -#: ../src/browsers/playlist3-current-playlist-browser.c:736 +#: ../src/browsers/playlist3-current-playlist-browser.c:648 +#: ../src/browsers/playlist3-current-playlist-browser.c:668 +#: ../src/browsers/playlist3-current-playlist-browser.c:710 +#: ../src/browsers/playlist3-current-playlist-browser.c:732 msgid "Your mpd has a broken 'addid', pasting will fail." msgstr "" #. add the delete widget -#: ../src/browsers/playlist3-current-playlist-browser.c:762 +#: ../src/browsers/playlist3-current-playlist-browser.c:761 msgid "Crop" msgstr "" #. add the shuffle widget -#: ../src/browsers/playlist3-current-playlist-browser.c:776 +#: ../src/browsers/playlist3-current-playlist-browser.c:775 msgid "Shuffle" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:905 +#: ../src/browsers/playlist3-current-playlist-browser.c:908 msgid "Add URL" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:994 +#: ../src/browsers/playlist3-current-playlist-browser.c:997 #, c-format msgid "" "Playlist \"%s\" already exists\n" "Overwrite?" msgstr "" -#: ../src/browsers/playlist3-current-playlist-browser.c:1018 +#: ../src/browsers/playlist3-current-playlist-browser.c:1021 msgid "Failed to save the playlist file." msgstr "" +#: ../src/browsers/playlist3-current-playlist-browser.c:1099 +#: ../src/browsers/playlist3-current-playlist-browser.c:1147 +msgid "Play Queue" +msgstr "" + #: ../src/browsers/playlist3-file-browser.c:98 -#: ../src/browsers/playlist3-file-browser.c:351 -#: ../src/browsers/playlist3-file-browser.c:1197 +#: ../src/browsers/playlist3-file-browser.c:335 +#: ../src/browsers/playlist3-file-browser.c:1172 msgid "File Browser" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:179 +#: ../src/browsers/playlist3-file-browser.c:164 msgid "Directories" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:229 +#: ../src/browsers/playlist3-file-browser.c:213 msgid "" "It seems you have no music in your database.\n" "To add music, copy the music to your music_directory as specified in " @@ -1353,7 +1496,7 @@ "Then update the database. (Server->Update Database)" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:262 +#: ../src/browsers/playlist3-file-browser.c:246 #, c-format msgid "Added folder '%s' recursively" msgstr "" @@ -1361,626 +1504,657 @@ #. add the replace widget #. replace the replace widget #. add the replace widget -#. Play button #. replace -#: ../src/browsers/playlist3-file-browser.c:613 -#: ../src/browsers/playlist3-file-browser.c:915 -#: ../src/browsers/playlist3-file-browser.c:947 -#: ../src/browsers/playlist3-find2-browser.c:719 -#: ../src/browsers/playlist3-metadata-browser.c:664 -#: ../src/browsers/playlist3-metadata-browser.c:1027 -#: ../src/browsers/playlist3-metadata-browser.c:1526 -#: ../src/browsers/playlist3-metadata-browser.c:1911 -#: ../src/browsers/playlist3-metadata-browser.c:2391 -#: ../src/browsers/playlist3-playlist-editor.c:556 -#: ../src/browsers/playlist3-playlist-editor.c:620 +#. add the replace widget +#: ../src/browsers/playlist3-file-browser.c:598 +#: ../src/browsers/playlist3-file-browser.c:890 +#: ../src/browsers/playlist3-file-browser.c:922 +#: ../src/browsers/playlist3-find2-browser.c:730 +#: ../src/browsers/playlist3-playlist-editor.c:542 +#: ../src/browsers/playlist3-playlist-editor.c:607 +#: ../src/browsers/playlist3-tag2-browser.c:408 +#: ../src/browsers/playlist3-tag2-browser.c:1110 msgid "Replace" msgstr "" #. add the update widget -#: ../src/browsers/playlist3-file-browser.c:638 -#: ../src/browsers/playlist3-file-browser.c:904 +#: ../src/browsers/playlist3-file-browser.c:623 +#: ../src/browsers/playlist3-file-browser.c:879 msgid "Update" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:758 +#: ../src/browsers/playlist3-file-browser.c:733 msgid "Loaded playlist" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1029 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1004 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "Added" msgstr "" -#: ../src/browsers/playlist3-file-browser.c:1031 -#: ../src/browsers/playlist3-playlist-editor.c:411 +#: ../src/browsers/playlist3-file-browser.c:1006 +#: ../src/browsers/playlist3-playlist-editor.c:388 msgid "song" msgid_plural "songs" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1008 msgid "directory" msgid_plural "directories" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1035 +#: ../src/browsers/playlist3-file-browser.c:1010 msgid "playlist" msgid_plural "playlists" msgstr[0] "" msgstr[1] "" -#: ../src/browsers/playlist3-file-browser.c:1058 -#: ../src/browsers/playlist3-file-browser.c:1108 +#: ../src/browsers/playlist3-file-browser.c:1033 +#: ../src/browsers/playlist3-file-browser.c:1083 msgid "Are you sure you want to clear the selected playlist?" msgstr "" #: ../src/browsers/playlist3-find2-browser.c:102 +#: ../src/vala/gmpc-test-plugin.c:1104 msgid "Query" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:230 -#: ../src/browsers/server-information.c:340 +#: ../src/browsers/playlist3-find2-browser.c:241 +#: ../src/browsers/server-information.c:342 msgid "Database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:231 +#: ../src/browsers/playlist3-find2-browser.c:242 msgid "Playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:331 -#: ../src/browsers/playlist3-find2-browser.c:784 +#: ../src/browsers/playlist3-find2-browser.c:346 +#: ../src/browsers/playlist3-find2-browser.c:795 msgid "Search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:423 +#: ../src/browsers/playlist3-find2-browser.c:436 msgid "Search failed" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:711 +#: ../src/browsers/playlist3-find2-browser.c:722 msgid "Add all" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:935 +#: ../src/browsers/playlist3-find2-browser.c:966 msgid "switch search" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:936 +#: ../src/browsers/playlist3-find2-browser.c:967 msgid "Switch to the search browser" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:940 +#: ../src/browsers/playlist3-find2-browser.c:971 msgid "search database" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:941 +#: ../src/browsers/playlist3-find2-browser.c:972 msgid "Search database " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:944 +#: ../src/browsers/playlist3-find2-browser.c:975 msgid "search playlist" msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:945 +#: ../src/browsers/playlist3-find2-browser.c:976 msgid "Search playlist " msgstr "" -#: ../src/browsers/playlist3-find2-browser.c:961 +#: ../src/browsers/playlist3-find2-browser.c:992 msgid "Search Browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:244 -#: ../src/browsers/playlist3-metadata-browser.c:280 -msgid "Unavailable" +#: ../src/browsers/playlist3-playlist-editor.c:133 +#: ../src/browsers/playlist3-playlist-editor.c:1026 +msgid "Playlist Editor" +msgstr "" + +#. Add it +#: ../src/browsers/playlist3-playlist-editor.c:256 +#: ../src/browsers/playlist3-playlist-editor.c:278 +#: ../src/browsers/playlist3-playlist-editor.c:964 +#: ../src/browsers/playlist3-playlist-editor.c:1018 +#: ../src/vala/gmpc-favorites.c:137 ../src/vala/gmpc-favorites.c:157 +#: ../src/vala/gmpc-favorites.c:201 ../src/vala/gmpc-favorites.c:214 +msgid "Favorites" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:451 +msgid "New playlist" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:492 +msgid "Rename Playlist" +msgstr "" + +#. delete +#: ../src/browsers/playlist3-playlist-editor.c:499 +#: ../src/browsers/playlist3-playlist-editor.c:627 +msgid "Rename" +msgstr "" + +#: ../src/browsers/playlist3-playlist-editor.c:840 +msgid "Playlists" +msgstr "" + +#. Add +#: ../src/browsers/playlist3-playlist-editor.c:981 +msgid "Add to playlist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:274 -msgid "Fetching..." +#: ../src/browsers/playlist3-playlist-editor.c:1019 +msgid "Added playing song to favorites list." msgstr "" -#. View #. * -#. * View Button -#. -#: ../src/browsers/playlist3-metadata-browser.c:382 -#: ../src/browsers/playlist3-metadata-browser.c:681 -#: ../src/browsers/playlist3-metadata-browser.c:2416 -msgid "View" +#: ../src/browsers/playlist3-playlist-editor.c:1039 +msgid "Add Current Song to favorites" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:628 -#: ../src/browsers/playlist3-metadata-browser.c:913 -#: ../src/gob/gmpc-mpddata-treeview.gob:69 -#: ../src/gob/gmpc-mpddata-treeview.gob:623 -msgid "Artist" +#: ../src/browsers/playlist3-tag2-browser.c:104 +msgid "Tag based browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:635 -#: ../src/browsers/playlist3-metadata-browser.c:1505 -#: ../src/browsers/playlist3-metadata-browser.c:1951 -msgid "Songs" +#: ../src/browsers/playlist3-tag2-browser.c:1884 +msgid "Reset browser" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:643 -#: ../src/browsers/playlist3-metadata-browser.c:1512 -#: ../src/browsers/playlist3-metadata-browser.c:2036 -#: ../src/browsers/playlist3-metadata-browser.c:2372 -msgid "Playtime" +#. name +#: ../src/browsers/server-information.c:302 +#: ../src/browsers/server-information.c:517 +#: ../src/browsers/server-information.c:543 +msgid "Server Information" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:648 -#: ../src/browsers/playlist3-metadata-browser.c:931 -#: ../src/browsers/playlist3-metadata-browser.c:1992 -#: ../src/browsers/playlist3-metadata-browser.c:2350 -#: ../src/gob/gmpc-mpddata-treeview.gob:73 -#: ../src/gob/gmpc-mpddata-treeview.gob:649 -msgid "Genre" +#: ../src/browsers/server-information.c:326 +msgid "Server" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:652 -#: ../src/browsers/playlist3-metadata-browser.c:937 -#: ../src/browsers/playlist3-metadata-browser.c:2021 -#: ../src/browsers/playlist3-metadata-browser.c:2356 -#: ../src/gob/gmpc-mpddata-treeview.gob:78 -#: ../src/gob/gmpc-mpddata-treeview.gob:661 -msgid "Date" +#: ../src/browsers/server-information.c:335 +msgid "Uptime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:785 -#: ../src/browsers/playlist3-metadata-browser.c:1297 -#: ../src/browsers/playlist3-metadata-browser.c:1402 -#: ../src/browsers/playlist3-metadata-browser.c:1811 -msgid "Collection" +#: ../src/browsers/server-information.c:336 +msgid "Time Playing" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:897 -#: ../src/gob/gmpc-mpddata-treeview.gob:71 -#: ../src/gob/gmpc-mpddata-treeview.gob:610 -msgid "Title" +#. * Mpd Playtime +#: ../src/browsers/server-information.c:349 +msgid "Total Playtime" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:906 -#: ../src/gob/gmpc-mpddata-treeview.gob:79 -#: ../src/gob/gmpc-mpddata-treeview.gob:673 -msgid "Duration" +#. * Mpd Artists +#: ../src/browsers/server-information.c:351 +msgid "Number of artists" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:919 -#: ../src/browsers/playlist3-metadata-browser.c:1974 -#: ../src/browsers/playlist3-metadata-browser.c:2344 -#: ../src/gob/gmpc-mpddata-treeview.gob:70 -#: ../src/gob/gmpc-mpddata-treeview.gob:637 -msgid "Album" +#. * Mpd Albums +#: ../src/browsers/server-information.c:353 +msgid "Number of albums" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:925 -#: ../src/gob/gmpc-mpddata-treeview.gob:74 -msgid "Track" +#. * Mpd Songs +#: ../src/browsers/server-information.c:355 +msgid "Number of songs" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:943 -#: ../src/gob/gmpc-mpddata-treeview.gob:76 -msgid "Composer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:357 +msgid "URL Handlers" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:949 -#: ../src/gob/gmpc-mpddata-treeview.gob:77 -msgid "Performer" +#. * Mpd Songs +#: ../src/browsers/server-information.c:359 +msgid "Tag Types" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:958 -#: ../src/browsers/playlist3-metadata-browser.c:2044 -#: ../src/browsers/playlist3-metadata-browser.c:2380 -#: ../src/gob/gmpc-mpddata-treeview.gob:86 -msgid "Directory" +#: ../src/browsers/server-information.c:364 +msgid "Tag statistics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:968 -#: ../src/gob/gmpc-mpddata-treeview.gob:85 -msgid "Extension" +#: ../src/gob/gmpc-mpddata-treeview.gob:69 +msgid "Markup" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:982 -msgid "Rating" +#: ../src/gob/gmpc-mpddata-treeview.gob:70 +#: ../src/gob/gmpc-mpddata-treeview.gob:636 +#: ../src/vala/gmpc-test-plugin.c:1054 +#: ../src/vala/gmpc-metadata-browser2.c:2870 +#: ../src/vala/gmpc-metadata-browser2.c:3600 +#: ../src/vala/gmpc-metadata-browser2.c:4137 +msgid "Artist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:998 -msgid "Bitrate" +#: ../src/gob/gmpc-mpddata-treeview.gob:71 +#: ../src/gob/gmpc-mpddata-treeview.gob:650 +#: ../src/vala/gmpc-test-plugin.c:1069 +#: ../src/vala/gmpc-metadata-browser2.c:2929 +#: ../src/vala/gmpc-metadata-browser2.c:3622 +msgid "Album" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1003 -#: ../src/browsers/playlist3-metadata-browser.c:1016 -msgid "n/a" +#: ../src/gob/gmpc-mpddata-treeview.gob:72 +#: ../src/gob/gmpc-mpddata-treeview.gob:623 +#: ../src/vala/gmpc-test-plugin.c:1087 +#: ../src/vala/gmpc-metadata-browser2.c:3583 +msgid "Title" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1011 -msgid "Audio format" +#: ../src/gob/gmpc-mpddata-treeview.gob:73 +msgid "File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1063 -msgid "Lyrics" +#. Genre +#: ../src/gob/gmpc-mpddata-treeview.gob:74 +#: ../src/gob/gmpc-mpddata-treeview.gob:662 +#: ../src/vala/gmpc-metadata-browser2.c:3634 +msgid "Genre" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1106 -msgid "Songs with same title" +#. track +#: ../src/gob/gmpc-mpddata-treeview.gob:75 +#: ../src/vala/gmpc-metadata-browser2.c:2955 +#: ../src/vala/gmpc-metadata-browser2.c:3626 +msgid "Track" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1138 -msgid "Similar songs" +#: ../src/gob/gmpc-mpddata-treeview.gob:77 +msgid "Composer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1205 -msgid "Invalid search" +#. performer +#: ../src/gob/gmpc-mpddata-treeview.gob:78 +#: ../src/vala/gmpc-metadata-browser2.c:3630 +msgid "Performer" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1257 -#, c-format -msgid "Only the first %i result displayed, please refine your search query" +#. date +#: ../src/gob/gmpc-mpddata-treeview.gob:79 +#: ../src/gob/gmpc-mpddata-treeview.gob:674 +#: ../src/vala/gmpc-metadata-browser2.c:3628 +msgid "Date" msgstr "" -#. The label -#: ../src/browsers/playlist3-metadata-browser.c:1313 -msgid "Find Artist:" +#: ../src/gob/gmpc-mpddata-treeview.gob:80 +#: ../src/gob/gmpc-mpddata-treeview.gob:686 +msgid "Duration" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1474 -msgid "Genre: " -msgid_plural "Genres: " -msgstr[0] "" -msgstr[1] "" +#. disc +#: ../src/gob/gmpc-mpddata-treeview.gob:81 +#: ../src/vala/gmpc-metadata-browser2.c:3632 +msgid "Disc" +msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1489 -msgid "Date: " -msgid_plural "Dates: " -msgstr[0] "" -msgstr[1] "" +#. Comment +#: ../src/gob/gmpc-mpddata-treeview.gob:82 +#: ../src/vala/gmpc-metadata-browser2.c:3669 +msgid "Comment" +msgstr "" -#. * -#. * Artist Information Text view -#. * +-------------------------------------+ -#. * | header | -#. * +-------------------------------------+ -#. * | info box | -#. * +-------------------------------------+ -#. * | artist info text (expander) | <--- -#. * +-------------------------------------+ -#. -#: ../src/browsers/playlist3-metadata-browser.c:1557 -msgid "Artist info:" +#: ../src/gob/gmpc-mpddata-treeview.gob:83 +msgid "Icon Id" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1562 -msgid "Artist information" +#: ../src/gob/gmpc-mpddata-treeview.gob:84 +msgid "Position" +msgstr "" + +#: ../src/gob/gmpc-mpddata-treeview.gob:85 +msgid "AlbumArtist" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1587 -msgid "Albums" +#: ../src/gob/gmpc-mpddata-treeview.gob:86 +msgid "Extension" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1634 -msgid "Similar Artists" +#: ../src/gob/gmpc-mpddata-treeview.gob:87 +msgid "Directory" msgstr "" -#. * -#. * Album Information -#. -#: ../src/browsers/playlist3-metadata-browser.c:1890 -msgid "Album info:" +#. Add a tools menu item with the previously generated menu as submenu +#: ../src/gob/gmpc-mpddata-treeview.gob:954 +msgid "Tools" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1895 -msgid "Album information" +#: ../src/gob/gmpc-mpddata-treeview.gob:983 +msgid "Paste before" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:1967 -msgid "Album artist" +#: ../src/gob/gmpc-mpddata-treeview.gob:992 +msgid "Paste after" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2028 -#: ../src/browsers/playlist3-metadata-browser.c:2364 -msgid "Tracks" +#. * Edit column +#: ../src/gob/gmpc-mpddata-treeview.gob:1024 +msgid "Edit Columns" msgstr "" -#. * -#. * Metadata browser link -#. -#: ../src/browsers/playlist3-metadata-browser.c:2231 -#: ../src/browsers/playlist3-metadata-browser.c:2625 -msgid "Metadata Browser" +#: ../src/gob/gmpc-profiles.gob:90 +msgid "Added profile" msgstr "" -#. * -#. * Show current song entry -#. -#: ../src/browsers/playlist3-metadata-browser.c:2247 -msgid "Show Current Song" +#. Generate removal message before the actual profile is destroyed +#: ../src/gob/gmpc-profiles.gob:403 +msgid "Removed profile" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:96 ../src/gob/gmpc-metaimage.gob:837 +msgid "Refetch" +msgstr "" + +#: ../src/gob/gmpc-meta-text-view.gob:101 ../src/gob/gmpc-metaimage.gob:842 +msgid "Select file" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2465 -msgid "kbit/sec" +#: ../src/gob/gmpc-meta-text-view.gob:110 ../src/gob/gmpc-metaimage.gob:851 +#: ../src/vala/gmpc-test-plugin.c:1398 +msgid "Metadata selector" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2471 -msgid "kHz" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "Failed to open file:" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2472 -msgid "bits" +#: ../src/gob/gmpc-meta-text-view.gob:302 +msgid "because of encoding issues" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2473 -msgid "channels" +#: ../src/gob/gmpc-meta-text-view.gob:357 +msgid "Fetching Lyrics" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2576 -msgid "switch metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:361 +msgid "Fetching Artist Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2577 -msgid "Switch to the metadata browser" +#: ../src/gob/gmpc-meta-text-view.gob:365 +msgid "Fetching Guitar tab" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2581 -msgid "show current song" +#: ../src/gob/gmpc-meta-text-view.gob:369 +msgid "Fetching Album Info" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2582 -msgid "Show the current songs information" +#: ../src/gob/gmpc-meta-text-view.gob:380 +msgid "Not Available" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2585 -msgid "show current artist" +#: ../src/gob/gmpc-meta-text-view.gob:445 ../src/gob/gmpc-metaimage.gob:888 +msgid "Select File" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2586 -msgid "Show the current artist information" +#: ../src/gob/gmpc-meta-text-view.gob:450 +msgid "Text Document" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2589 -msgid "show current album" +#: ../src/gob/gmpc-meta-text-view.gob:454 ../src/gob/gmpc-metaimage.gob:898 +msgid "All" msgstr "" -#: ../src/browsers/playlist3-metadata-browser.c:2590 -msgid "Show the current album information" +#: ../src/gob/gmpc-metaimage.gob:893 +msgid "Images" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:131 -#: ../src/browsers/playlist3-playlist-editor.c:1023 -msgid "Playlist Editor" +#: ../src/gob/gmpc-stats-label.gob:106 ../src/gob/gmpc-stats-label.gob:128 +msgid "n/a" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:257 -#: ../src/browsers/playlist3-playlist-editor.c:279 -#: ../src/browsers/playlist3-playlist-editor.c:957 -#: ../src/browsers/playlist3-playlist-editor.c:1012 -msgid "Favorites" +#: ../src/gob/gmpc-stats-label.gob:141 +msgid "Loading" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:467 -msgid "New playlist" +#: ../src/vala/gmpc_menu_item_rating.c:97 +msgid "Rating:" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:506 -msgid "Rename Playlist" +#: ../src/vala/gmpc-song-links.c:151 +msgid "Update list from internet" msgstr "" -#. delete -#: ../src/browsers/playlist3-playlist-editor.c:513 -#: ../src/browsers/playlist3-playlist-editor.c:640 -msgid "Rename" +#: ../src/vala/gmpc-song-links.c:191 +msgid "Web Links" msgstr "" -#. Add -#: ../src/browsers/playlist3-playlist-editor.c:974 -msgid "Add to playlist" +#: ../src/vala/gmpc-song-links.c:629 +#, c-format +msgid "Lookup %s on %s" msgstr "" -#: ../src/browsers/playlist3-playlist-editor.c:1013 -msgid "Added playing song to favorites list." +#: ../src/vala/gmpc-easy-command.c:128 +msgid "Gmpc Easy Command" msgstr "" -#. * -#: ../src/browsers/playlist3-playlist-editor.c:1036 -msgid "Add Current Song to favorites" +#. Create window +#: ../src/vala/gmpc-easy-command.c:631 +msgid "Easy Command help" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:102 -msgid "Tag based browser" +#: ../src/vala/gmpc-easy-command.c:659 +msgid "Command" msgstr "" -#: ../src/browsers/playlist3-tag2-browser.c:1762 -msgid "Reset browser" +#: ../src/vala/gmpc-easy-command.c:670 +msgid "Usage" msgstr "" -#. name -#: ../src/browsers/server-information.c:300 -#: ../src/browsers/server-information.c:516 -#: ../src/browsers/server-information.c:542 -msgid "Server Information" +#: ../src/vala/gmpc-easy-command.c:675 +msgid "" +"The following commands can be used in the easy command window.\n" +"The easy command window can be opened by pressing ctrl-space" msgstr "" -#: ../src/browsers/server-information.c:324 -msgid "Server" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Help" msgstr "" -#: ../src/browsers/server-information.c:333 -msgid "Uptime" +#: ../src/vala/gmpc-easy-command.c:750 +msgid "Get a list of available commands" msgstr "" -#: ../src/browsers/server-information.c:334 -msgid "Time Playing" +#: ../src/vala/gmpc-test-plugin.c:177 ../src/vala/gmpc-test-plugin.c:228 +msgid "Uri" msgstr "" -#. * Mpd Playtime -#: ../src/browsers/server-information.c:347 -msgid "Total Playtime" +#: ../src/vala/gmpc-test-plugin.c:183 ../src/vala/gmpc-test-plugin.c:234 +msgid "Provider" msgstr "" -#. * Mpd Artists -#: ../src/browsers/server-information.c:349 -msgid "Number of artists" +#: ../src/vala/gmpc-test-plugin.c:191 +msgid "Filetype" msgstr "" -#. * Mpd Albums -#: ../src/browsers/server-information.c:351 -msgid "Number of albums" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "Size" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:353 -msgid "Number of songs" +#: ../src/vala/gmpc-test-plugin.c:199 +msgid "wxh" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:355 -msgid "URL Handlers" +#: ../src/vala/gmpc-test-plugin.c:898 +msgid "Cover" msgstr "" -#. * Mpd Songs -#: ../src/browsers/server-information.c:357 -msgid "Tag Types" +#: ../src/vala/gmpc-test-plugin.c:912 +msgid "Lyric" msgstr "" -#: ../src/browsers/server-information.c:362 -msgid "Tag statistics" +#: ../src/vala/gmpc-test-plugin.c:1030 +msgid "Insufficient information to store/fetch this metadata" msgstr "" -#: ../src/egg/eggtrayicon.c:133 -msgid "Orientation" +#: ../src/vala/gmpc-test-plugin.c:1043 +msgid "Artist art" msgstr "" -#: ../src/egg/eggtrayicon.c:134 -msgid "The orientation of the tray." +#: ../src/vala/gmpc-test-plugin.c:1044 +msgid "Album art" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:68 -msgid "Markup" +#: ../src/vala/gmpc-test-plugin.c:1045 +msgid "Song Lyrics" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:72 -msgid "File" +#: ../src/vala/gmpc-test-plugin.c:1046 +msgid "Album Info" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:80 -msgid "Disc" +#: ../src/vala/gmpc-test-plugin.c:1047 +msgid "Artist Biography" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:81 -msgid "Comment" +#: ../src/vala/gmpc-test-plugin.c:1048 +msgid "Guitar Tab" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:82 -msgid "Icon Id" +#: ../src/vala/gmpc-metadata-browser2.c:497 +#: ../src/vala/gmpc-metadata-browser2.c:499 +msgid "Similar songs" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:83 -msgid "Position" +#: ../src/vala/gmpc-metadata-browser2.c:737 +#: ../src/vala/gmpc-metadata-browser2.c:2338 +#: ../src/vala/gmpc-metadata-browser2.c:2540 +#: ../src/vala/gmpc-metadata-browser2.c:2700 +#: ../src/vala/gmpc-metadata-browser2.c:3692 +#: ../src/vala/gmpc-metadata-browser2.c:3980 +#: ../src/vala/gmpc-metadata-browser2.c:4172 +#: ../src/vala/gmpc-metadata-browser2.c:4345 +msgid "_Replace" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:84 -msgid "AlbumArtist" +#: ../src/vala/gmpc-metadata-browser2.c:862 +#: ../src/vala/gmpc-metadata-browser2.c:913 +#: ../src/vala/gmpc-metadata-browser2.c:931 +#: ../src/vala/gmpc-metadata-browser2.c:1084 +msgid "Unavailable" msgstr "" -#. Add -#: ../src/gob/gmpc-mpddata-treeview.gob:891 -msgid "Tools" +#: ../src/vala/gmpc-metadata-browser2.c:901 +msgid "Fetching .. " msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:912 -msgid "Paste before" +#: ../src/vala/gmpc-metadata-browser2.c:1090 +msgid "Fetching" msgstr "" -#: ../src/gob/gmpc-mpddata-treeview.gob:921 -msgid "Paste after" +#: ../src/vala/gmpc-metadata-browser2.c:1399 +#: ../src/vala/gmpc-metadata-browser2.c:1511 +msgid "(less)" msgstr "" -#. * Edit column -#: ../src/gob/gmpc-mpddata-treeview.gob:947 -msgid "Edit Columns" +#: ../src/vala/gmpc-metadata-browser2.c:1403 +#: ../src/vala/gmpc-metadata-browser2.c:1509 +msgid "(more)" msgstr "" -#: ../src/gob/gmpc-profiles.gob:72 -msgid "Added profile" +#: ../src/vala/gmpc-metadata-browser2.c:1593 +#: ../src/vala/gmpc-metadata-browser2.c:1979 +msgid "Now Playing" msgstr "" -#: ../src/gob/gmpc-profiles.gob:80 -msgid "Removed profile" +#: ../src/vala/gmpc-metadata-browser2.c:2124 +msgid "Metadata Browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:62 ../src/gob/gmpc-metaimage.gob:780 -msgid "Refetch" +#: ../src/vala/gmpc-metadata-browser2.c:2920 +msgid "Year" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:67 ../src/gob/gmpc-metaimage.gob:785 -msgid "Select file" +#: ../src/vala/gmpc-metadata-browser2.c:2965 +#: ../src/vala/gmpc-metadata-browser2.c:4156 +#: ../src/vala/gmpc-metadata-browser2.c:4202 +#: ../src/vala/gmpc-metadata-browser2.c:4329 +msgid "Songs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "Failed to open file:" +#: ../src/vala/gmpc-metadata-browser2.c:3582 +msgid "Search songs with similar title" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:157 -msgid "because of encoding issues" +#. AlbumArtist label +#: ../src/vala/gmpc-metadata-browser2.c:3604 +msgid "Album artist" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:172 -msgid "Fetching Lyric" +#: ../src/vala/gmpc-metadata-browser2.c:3646 +msgid "Open path to song in file browser" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:176 -msgid "Fetching Artist Info" +#: ../src/vala/gmpc-metadata-browser2.c:3647 +msgid "Path" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:180 -msgid "Fetching Album Info" +#: ../src/vala/gmpc-metadata-browser2.c:3656 +msgid "Favored" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:188 -msgid "Not Available" +#: ../src/vala/gmpc-metadata-browser2.c:3665 +msgid "Rating" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:248 ../src/gob/gmpc-metaimage.gob:816 -msgid "Select File" +#: ../src/vala/gmpc-metadata-browser2.c:3714 +#: ../src/vala/gmpc-metadata-browser2.c:5226 +msgid "Lyrics" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:253 -msgid "Text Document" +#: ../src/vala/gmpc-metadata-browser2.c:3731 +#: ../src/vala/gmpc-metadata-browser2.c:5232 +msgid "Guitar Tabs" msgstr "" -#: ../src/gob/gmpc-meta-text-view.gob:257 ../src/gob/gmpc-metaimage.gob:826 -msgid "All" +#: ../src/vala/gmpc-metadata-browser2.c:4144 +#: ../src/vala/gmpc-metadata-browser2.c:4317 +msgid "Genres" msgstr "" -#: ../src/gob/gmpc-metaimage.gob:821 -msgid "Images" +#: ../src/vala/gmpc-metadata-browser2.c:4150 +#: ../src/vala/gmpc-metadata-browser2.c:4323 +msgid "Dates" msgstr "" -#: ../src/gob/gmpc-stats-label.gob:135 -msgid "Loading" +#: ../src/vala/gmpc-metadata-browser2.c:4162 +#: ../src/vala/gmpc-metadata-browser2.c:4335 +msgid "Playtime" msgstr "" -#: ../src/vala/gmpc_menu_item_rating.c:59 -msgid "Rating:" +#: ../src/vala/gmpc-metadata-browser2.c:4191 +#: ../src/vala/gmpc-metadata-browser2.c:5214 +msgid "Album information" msgstr "" -#: ../src/vala/gmpc-song-links.c:173 -msgid "Update list from internet" +#. Artist information +#: ../src/vala/gmpc-metadata-browser2.c:4364 +#: ../src/vala/gmpc-metadata-browser2.c:5208 +msgid "Artist information" msgstr "" -#: ../src/vala/gmpc-song-links.c:212 -msgid "Links" +#: ../src/vala/gmpc-metadata-browser2.c:4377 +#: ../src/vala/gmpc-metadata-browser2.c:4380 +msgid "Similar artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:450 -msgid "artist" +#. Title +#: ../src/vala/gmpc-metadata-browser2.c:5204 +msgid "Enable/disable metadata options" msgstr "" -#: ../src/vala/gmpc-song-links.c:459 -msgid "album" +#: ../src/vala/gmpc-metadata-browser2.c:5220 +msgid "Similar Artist" msgstr "" -#: ../src/vala/gmpc-song-links.c:498 -#, c-format -msgid "Lookup %s on %s" +#: ../src/vala/gmpc-metadata-browser2.c:5238 +msgid "Similar Songs" +msgstr "" + +#: ../src/vala/gmpc-metadata-browser2.c:5244 +msgid "Web links" msgstr "" diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/README /tmp/zoMIw2cTYT/gmpc-0.19.0/README --- gmpc-0.18.0/README 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/README 2009-09-21 11:15:59.000000000 +0100 @@ -1,6 +1,5 @@ See http://sarine.nl/gmpc/ and http://mpd.wikia.com Requirements: -* libcurl * libmpd * gob2 (for svn compilation) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/remote/main.c /tmp/zoMIw2cTYT/gmpc-0.19.0/remote/main.c --- gmpc-0.18.0/remote/main.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/remote/main.c 2009-09-21 11:15:59.000000000 +0100 @@ -28,101 +28,98 @@ { BaconMessageConnection *bacon_connection = NULL; - gtk_init(&argc, &argv); - + GError *error = NULL; + GOptionContext *context; + /* version */ + gboolean version; + /* quit gmpc */ + gboolean quit=FALSE; + /* play */ + gboolean play=FALSE; + gboolean pause=FALSE; + gboolean prev=FALSE; + gboolean next=FALSE; + gboolean stop=FALSE; + gboolean toggle_view = FALSE; + gboolean hide_view = FALSE; + gboolean show_view = FALSE; + gboolean spawn = FALSE; + gchar *stream = NULL; + GOptionEntry entries[] = { + { + "version", 0, 0, G_OPTION_ARG_NONE, &version, + "Print the version number and exit", NULL + }, + { + "quit", 'q', 0, G_OPTION_ARG_NONE, &quit, + "Quit the running gmpc", NULL + }, + { + "play", 'c', 0, G_OPTION_ARG_NONE, &play, + "Give the running gmpc the play command", NULL + }, + { + "pause", 'v', 0, G_OPTION_ARG_NONE, &pause, + "Give the running gmpc the pause command", NULL + }, + { + "next", 'b', 0, G_OPTION_ARG_NONE, &next, + "Give the running gmpc the next command", NULL + }, + { + "prev", 'z', 0, G_OPTION_ARG_NONE, &prev, + "Give the running gmpc the prev command", NULL + }, + { + "stop", 'x', 0, G_OPTION_ARG_NONE, &stop, + "Give the running gmpc the stop command", NULL + }, + { + "stream", 's', 0, G_OPTION_ARG_STRING, &stream, + "Give the running gmpc a stream to play", NULL + }, + { + "toggle-view", 't', 0, G_OPTION_ARG_NONE, &toggle_view, + "Give the running gmpc the command to toggle the window visibility", NULL + }, + { + "hide-view", 'h', 0, G_OPTION_ARG_NONE, &hide_view, + "Give the running gmpc the command to hide the window.", NULL + }, + { + "show-view", 'k', 0, G_OPTION_ARG_NONE, &show_view, + "Give the running gmpc the command to show the window.", NULL + }, + { + "spawn", 's', 0, G_OPTION_ARG_NONE, &spawn, + "Spawn gmpc if not running", NULL + }, + {NULL} + }; + gtk_init(&argc, &argv); + /*Create the commandline option parser */ + context = g_option_context_new("GMPC remote program"); + g_option_context_add_main_entries(context, entries, NULL); + + /*Time to parse the options */ + g_option_context_parse(context, &argc, &argv, &error); + g_option_context_free(context); + if(error){ + g_error("Failed to parse command line options: '%s'", error->message); + } bacon_connection = bacon_message_connection_new("gmpc"); - if(bacon_connection) + while(bacon_connection) { if (!bacon_message_connection_get_is_server (bacon_connection)) { - GError *error = NULL; - GOptionContext *context; - /* version */ - gboolean version; - /* quit gmpc */ - gboolean quit=FALSE; - /* play */ - gboolean play=FALSE; - gboolean pause=FALSE; - gboolean prev=FALSE; - gboolean next=FALSE; - gboolean stop=FALSE; - gboolean toggle_view = FALSE; - gboolean hide_view = FALSE; - gboolean show_view = FALSE; - gchar *stream = NULL; - - GOptionEntry entries[] = { - { - "version", 0, 0, G_OPTION_ARG_NONE, &version, - "Print the version number and exit", NULL - }, - { - "quit", 'q', 0, G_OPTION_ARG_NONE, &quit, - "Quit the running gmpc", NULL - }, - { - "play", 'c', 0, G_OPTION_ARG_NONE, &play, - "Give the running gmpc the play command", NULL - }, - { - "pause", 'v', 0, G_OPTION_ARG_NONE, &pause, - "Give the running gmpc the pause command", NULL - }, - { - "next", 'b', 0, G_OPTION_ARG_NONE, &next, - "Give the running gmpc the next command", NULL - }, - { - "prev", 'z', 0, G_OPTION_ARG_NONE, &prev, - "Give the running gmpc the prev command", NULL - }, - { - "stop", 'x', 0, G_OPTION_ARG_NONE, &stop, - "Give the running gmpc the stop command", NULL - }, - { - - "stream", 's', 0, G_OPTION_ARG_STRING, &stream, - "Give the running gmpc a stream to play", NULL - }, - { - - "toggle-view", 't', 0, G_OPTION_ARG_NONE, &toggle_view, - "Give the running gmpc the command to toggle the window visibility", NULL - }, - { - - "hide-view", 'h', 0, G_OPTION_ARG_NONE, &hide_view, - "Give the running gmpc the command to hide the window.", NULL - }, - { - "show-view", 'k', 0, G_OPTION_ARG_NONE, &show_view, - "Give the running gmpc the command to show the window.", NULL - }, - {NULL} - }; - - /*Create the commandline option parser */ - context = g_option_context_new("GMPC remote program"); - g_option_context_add_main_entries(context, entries, NULL); - - /*Time to parse the options */ - g_option_context_parse(context, &argc, &argv, &error); - g_option_context_free(context); - if(quit) - { - printf("send quit\n"); - bacon_message_connection_send(bacon_connection, "QUIT"); - } if(play || pause) { printf("send play\n"); @@ -166,15 +163,44 @@ g_free(str); } - + if(quit) + { + printf("send quit\n"); + bacon_message_connection_send(bacon_connection, "QUIT"); + } + bacon_message_connection_free (bacon_connection); + return EXIT_SUCCESS; } - else { + else if(spawn){ + int count = 10; + printf("starting gmpc\n"); + + bacon_message_connection_free (bacon_connection); + bacon_connection = NULL; + + g_spawn_command_line_async("gmpc",&error); + if(error){ + g_error("Failed to spawn gmpc: '%s'", error->message); + } + do{ + g_usleep(300000); + printf("waiting for gmpc to come up\n"); + if(bacon_connection) + bacon_message_connection_free (bacon_connection); + bacon_connection = bacon_message_connection_new("gmpc"); + }while(bacon_message_connection_get_is_server (bacon_connection) && (--count > 0)); + if(count == 0){ + g_error("Failed to get gmpc to respond"); + } + /* Send connect */ + bacon_message_connection_send(bacon_connection, "CONNECT"); + g_usleep(300000); + }else{ printf("GMPC is not running\n"); bacon_message_connection_free (bacon_connection); return EXIT_FAILURE; } - - return EXIT_SUCCESS; } + g_error("Failed to create IPC connection\n"); return EXIT_FAILURE; } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/remote/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/remote/Makefile.in --- gmpc-0.18.0/remote/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/remote/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,12 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,11 +31,50 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ +bin_PROGRAMS = gmpc-remote$(EXEEXT) +subdir = remote +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_gmpc_remote_OBJECTS = main.$(OBJEXT) \ + bacon-message-connection.$(OBJEXT) +gmpc_remote_OBJECTS = $(am_gmpc_remote_OBJECTS) +gmpc_remote_LDADD = $(LDADD) +binSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(bin_SCRIPTS) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(gmpc_remote_SOURCES) +DIST_SOURCES = $(gmpc_remote_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -55,7 +90,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -67,12 +101,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -84,43 +117,20 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ - LIBS = \ @glib_LIBS@ @LIBS@ \ @gobject_LIBS@\ @@ -131,10 +141,10 @@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -143,8 +153,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -172,25 +180,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -225,12 +234,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -239,95 +251,82 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -bin_PROGRAMS = gmpc-remote - +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ bin_SCRIPTS = gmpc-remote-stream - gmpc_remote_SOURCES = \ main.c\ $(top_srcdir)/src/bacon/bacon-message-connection.c - INCLUDES = @EXTRA_CFLAGS@ -Wall\ -DVERSION=\"@VERSION@\"\ -DGMPC_BUILD=1\ -I$(top_srcdir)/src/\ -I$(top_srcdir)/src/bacon - AM_LDFLAGS = \ @EXTRA_LDFLAGS@\ @LDFLAGS@ - AM_CFLAGS = @CFLAGS@\ @glib_CFLAGS@\ @gobject_CFLAGS@\ @gtk_CFLAGS@\ @gmodule_CFLAGS@ - EXTRA_DIST = \ gmpc-remote-stream -subdir = remote -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -bin_PROGRAMS = gmpc-remote$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) - -am_gmpc_remote_OBJECTS = main.$(OBJEXT) \ - bacon-message-connection.$(OBJEXT) -gmpc_remote_OBJECTS = $(am_gmpc_remote_OBJECTS) -gmpc_remote_LDADD = $(LDADD) -gmpc_remote_DEPENDENCIES = -gmpc_remote_LDFLAGS = -SCRIPTS = $(bin_SCRIPTS) - - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bacon-message-connection.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/main.Po -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(gmpc_remote_SOURCES) -DIST_COMMON = $(srcdir)/Makefile.in Makefile.am -SOURCES = $(gmpc_remote_SOURCES) - all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu remote/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu remote/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -335,8 +334,8 @@ @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: @@ -347,17 +346,16 @@ done gmpc-remote$(EXEEXT): $(gmpc_remote_OBJECTS) $(gmpc_remote_DEPENDENCIES) @rm -f gmpc-remote$(EXEEXT) - $(LINK) $(gmpc_remote_LDFLAGS) $(gmpc_remote_OBJECTS) $(gmpc_remote_LDADD) $(LIBS) -binSCRIPT_INSTALL = $(INSTALL_SCRIPT) + $(LINK) $(gmpc_remote_OBJECTS) $(gmpc_remote_LDADD) $(LIBS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f $$d$$p; then \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ - echo " $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f"; \ - $(binSCRIPT_INSTALL) $$d$$p $(DESTDIR)$(bindir)/$$f; \ + echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \ else :; fi; \ done @@ -365,12 +363,12 @@ @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; for p in $$list; do \ f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ done mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core + -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @@ -379,97 +377,55 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< bacon-message-connection.o: $(top_srcdir)/src/bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.o -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.o `test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c' || echo '$(srcdir)/'`$(top_srcdir)/src/bacon/bacon-message-connection.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.o -MD -MP -MF $(DEPDIR)/bacon-message-connection.Tpo -c -o bacon-message-connection.o `test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c' || echo '$(srcdir)/'`$(top_srcdir)/src/bacon/bacon-message-connection.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bacon-message-connection.Tpo $(DEPDIR)/bacon-message-connection.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/bacon/bacon-message-connection.c' object='bacon-message-connection.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Po' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.o `test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c' || echo '$(srcdir)/'`$(top_srcdir)/src/bacon/bacon-message-connection.c bacon-message-connection.obj: $(top_srcdir)/src/bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.obj -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.obj `if test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c'; then $(CYGPATH_W) '$(top_srcdir)/src/bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/bacon/bacon-message-connection.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.obj -MD -MP -MF $(DEPDIR)/bacon-message-connection.Tpo -c -o bacon-message-connection.obj `if test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c'; then $(CYGPATH_W) '$(top_srcdir)/src/bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/bacon/bacon-message-connection.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bacon-message-connection.Tpo $(DEPDIR)/bacon-message-connection.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/bacon/bacon-message-connection.c' object='bacon-message-connection.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Po' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.obj `if test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c'; then $(CYGPATH_W) '$(top_srcdir)/src/bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/bacon/bacon-message-connection.c'; fi` -bacon-message-connection.lo: $(top_srcdir)/src/bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.lo -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.lo `test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c' || echo '$(srcdir)/'`$(top_srcdir)/src/bacon/bacon-message-connection.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/bacon/bacon-message-connection.c' object='bacon-message-connection.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Plo' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.lo `test -f '$(top_srcdir)/src/bacon/bacon-message-connection.c' || echo '$(srcdir)/'`$(top_srcdir)/src/bacon/bacon-message-connection.c - mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs -distclean-libtool: - -rm -f libtool -uninstall-info-am: - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) @@ -479,23 +435,23 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -507,28 +463,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -542,9 +493,10 @@ check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(SCRIPTS) - installdirs: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(bindir) + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: install-am install-exec: install-exec-am install-data: install-data-am @@ -564,7 +516,7 @@ clean-generic: distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -577,24 +529,34 @@ -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags dvi: dvi-am dvi-am: +html: html-am + info: info-am info-am: install-data-am: +install-dvi: install-dvi-am + install-exec-am: install-binPROGRAMS install-binSCRIPTS +install-html: install-html-am + install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: maintainer-clean: maintainer-clean-am @@ -615,20 +577,24 @@ ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ - uninstall-info-am +uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS + +.MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am info info-am install install-am install-binPROGRAMS \ - install-binSCRIPTS install-data install-data-am install-exec \ - install-exec-am install-info install-info-am install-man \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool pdf \ - pdf-am ps ps-am tags uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-binSCRIPTS uninstall-info-am + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-binSCRIPTS install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-binSCRIPTS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/shave.in /tmp/zoMIw2cTYT/gmpc-0.19.0/shave.in --- gmpc-0.18.0/shave.in 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/shave.in 2009-09-21 11:15:59.000000000 +0100 @@ -5,11 +5,10 @@ if test -z "$SED" ; then SED=sed fi -Xsed="$SED -e s/^X//" lt_unmangle () { - last_result=`echo -n X$1 | $Xsed -e 's#.libs/##' -e 's#[^0-9a-zA-Z_]\+_la##'` + last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` } # the tool to wrap (cc, cxx, ar, ranlib, ..) @@ -28,7 +27,7 @@ case $opt in --shave-mode=*) - mode=`echo "X$opt" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` + mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` ;; -o) lt_output="$1" @@ -45,13 +44,23 @@ link,*) pass_through=1 ;; -compile,cxx) +*,cxx) Q=" CXX " ;; -compile,cc|*,*) - # no "libtool" mode has been given, we are called by the Makefile: - # -> assume compilation - mode=compile +*,cc) + Q=" CC " + ;; +*,fc) + Q=" FC " + ;; +*,f77) + Q=" F77 " + ;; +*,objc) + Q=" OBJC " + ;; +*,*) + # should not happen Q=" CC " ;; esac diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/shave-libtool.in /tmp/zoMIw2cTYT/gmpc-0.19.0/shave-libtool.in --- gmpc-0.18.0/shave-libtool.in 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/shave-libtool.in 2009-09-21 11:15:59.000000000 +0100 @@ -5,11 +5,10 @@ if test -z "$SED" ; then SED=sed fi -Xsed="$SED -e s/^X//" lt_unmangle () { - last_result=`echo -n X$1 | $Xsed -e 's#.libs/##' -e 's#[^0-9a-zA-Z_]\+_la##'` + last_result=`echo $1 | $SED -e 's#.libs/##' -e 's#[0-9a-zA-Z_\-\.]*_la-##'` } # the real libtool to use @@ -27,7 +26,7 @@ case $opt in --mode=*) - mode=`echo "X$opt" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` + mode=`echo $opt | $SED -e 's/[-_a-zA-Z0-9]*=//'` preserved_args="$preserved_args $opt" ;; -o) diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/advanced_search.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/advanced_search.c --- gmpc-0.18.0/src/advanced_search.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/advanced_search.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,110 +0,0 @@ -#include -#include -#include "main.h" -#include "misc.h" -#include "advanced_search.h" - -static GRegex *search_regex = NULL; -void advanced_search_init(void) -{ - int i =0; - GString *string = g_string_new("("); - for(i=0;istr, G_REGEX_CASELESS, 0, NULL); - g_string_free(string, TRUE); -} -void advanced_search_update_taglist(void) -{ - g_regex_unref(search_regex); - advanced_search_init(); -} -void advanced_search_destroy(void) -{ - if(search_regex) g_regex_unref(search_regex); - search_regex = NULL; -} - -MpdData * advanced_search(const gchar *query, int in_playlist) -{ - MpdData *data = NULL, *data_t = NULL; - gchar **text = g_regex_split(search_regex, query, 0); - int i= 0, found=0,type; - for(i=0; text && text[i] ;i++) - { - if(strcmp(text[i], "||") == 0){ - if(in_playlist) - data = mpd_playlist_search_commit(connection); - else - data = mpd_database_search_commit(connection); - data_t = mpd_data_concatenate(data_t, data); - data = NULL; - found = FALSE; - continue; - } - - if(text[i][0] == '\0')continue; - - type = mpd_misc_get_tag_by_name(g_strstrip(text[i])); - if(type != MPD_TAG_NOT_FOUND && text[i+1]) - { - gchar **split = tokenize_string(text[i+1]); - int j; - for(j=0;split && split[j];j++) - { - if(!found){ - if(in_playlist) - mpd_playlist_search_start(connection, FALSE); - else - mpd_database_search_start(connection, FALSE); - found= 1; - } - if(in_playlist) - mpd_playlist_search_add_constraint(connection, type,split[j]); - else - mpd_database_search_add_constraint(connection,type,split[j]); - } - if(split)g_strfreev(split); - i++; - } - else - { - gchar **split = tokenize_string(text[i]); - int j; - for(j=0;split && split[j];j++) - { - if(!found){ - if(in_playlist) - mpd_playlist_search_start(connection, FALSE); - else - mpd_database_search_start(connection, FALSE); - found = 1; - } - if(in_playlist) - mpd_playlist_search_add_constraint(connection,MPD_TAG_ITEM_ANY,split[j]); - else - mpd_database_search_add_constraint(connection,MPD_TAG_ITEM_ANY,split[j]); - } - if(split)g_strfreev(split); - } - } - if(found){ - if(in_playlist) - data = mpd_playlist_search_commit(connection); - else - data = mpd_database_search_commit(connection); - data_t = mpd_data_concatenate(data_t, data); - } - - data_t = misc_mpddata_remove_duplicate_songs(data_t); - return data_t; -} -/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/advanced-search.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/advanced-search.c --- gmpc-0.18.0/src/advanced-search.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/advanced-search.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,129 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +#include +#include +#include "main.h" +#include "misc.h" +#include "advanced-search.h" + +static GRegex *search_regex = NULL; +void advanced_search_init(void) +{ + int i =0; + GString *string = g_string_new("("); + for(i=0;istr, G_REGEX_CASELESS, 0, NULL); + g_string_free(string, TRUE); +} +void advanced_search_update_taglist(void) +{ + g_regex_unref(search_regex); + advanced_search_init(); +} +void advanced_search_destroy(void) +{ + if(search_regex) g_regex_unref(search_regex); + search_regex = NULL; +} + +MpdData * advanced_search(const gchar *query, int in_playlist) +{ + MpdData *data = NULL, *data_t = NULL; + gchar **text = g_regex_split(search_regex, query, 0); + int i= 0, found=0,type; + for(i=0; text && text[i] ;i++) + { + if(strcmp(text[i], "||") == 0){ + if(in_playlist) + data = mpd_playlist_search_commit(connection); + else + data = mpd_database_search_commit(connection); + data_t = mpd_data_concatenate(data_t, data); + data = NULL; + found = FALSE; + continue; + } + + if(text[i][0] == '\0')continue; + + type = mpd_misc_get_tag_by_name(g_strstrip(text[i])); + if(type != MPD_TAG_NOT_FOUND && text[i+1]) + { + gchar **split = tokenize_string(text[i+1]); + int j; + for(j=0;split && split[j];j++) + { + if(!found){ + if(in_playlist) + mpd_playlist_search_start(connection, FALSE); + else + mpd_database_search_start(connection, FALSE); + found= 1; + } + if(in_playlist) + mpd_playlist_search_add_constraint(connection, type,split[j]); + else + mpd_database_search_add_constraint(connection,type,split[j]); + } + if(split)g_strfreev(split); + i++; + } + else + { + gchar **split = tokenize_string(text[i]); + int j; + for(j=0;split && split[j];j++) + { + if(!found){ + if(in_playlist) + mpd_playlist_search_start(connection, FALSE); + else + mpd_database_search_start(connection, FALSE); + found = 1; + } + if(in_playlist) + mpd_playlist_search_add_constraint(connection,MPD_TAG_ITEM_ANY,split[j]); + else + mpd_database_search_add_constraint(connection,MPD_TAG_ITEM_ANY,split[j]); + } + if(split)g_strfreev(split); + } + } + if(text) g_strfreev(text); + if(found){ + if(in_playlist) + data = mpd_playlist_search_commit(connection); + else + data = mpd_database_search_commit(connection); + data_t = mpd_data_concatenate(data_t, data); + } + + data_t = misc_mpddata_remove_duplicate_songs(data_t); + return data_t; +} +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/advanced_search.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/advanced_search.h --- gmpc-0.18.0/src/advanced_search.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/advanced_search.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#ifndef __ADVANCED_SEARCH_H__ -#define __ADVANCED_SEARCH_H__ - - -void advanced_search_init(void); -void advanced_search_update_taglist(void); -void advanced_search_destroy(void); -MpdData *advanced_search(const gchar *query, int playlist); - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/advanced-search.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/advanced-search.h --- gmpc-0.18.0/src/advanced-search.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/advanced-search.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,43 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +#ifndef __ADVANCED_SEARCH_H__ +#define __ADVANCED_SEARCH_H__ + +/** + * Initialize the advanced_search system. + */ +void advanced_search_init(void); +/** + * Update the advanced_search regex to include only the supported tags + */ +void advanced_search_update_taglist(void); +/** + * Destroy all the advanced_search system and clean all allocated memory. + */ +void advanced_search_destroy(void); +/** + * Execute query. + * @param query the query to execute. + * @param playlist set to TRUE to search only songs in the playlist. + * + * @returns the search result in a #MpdData list. + */ +MpdData *advanced_search(const gchar *query, int playlist); + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-current-playlist-browser.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-current-playlist-browser.c --- gmpc-0.18.0/src/browsers/playlist3-current-playlist-browser.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-current-playlist-browser.c 2009-09-21 11:15:59.000000000 +0100 @@ -27,12 +27,11 @@ #include "misc.h" #include "playlist3.h" #include "playlist3-current-playlist-browser.h" -#include "TreeSearchWidget.h" #include "gmpc-mpddata-model.h" #include "gmpc-mpddata-model-playlist.h" #include "gmpc-mpddata-treeview.h" #include "eggcolumnchooserdialog.h" -#include "advanced_search.h" +#include "advanced-search.h" #ifdef USE_SYSTEM_LIBSEXY #include #endif @@ -41,51 +40,100 @@ #include "playlist3-playlist-editor.h" -static void pl3_current_playlist_browser_paste_after_songs(GtkTreeView *tree, GList *paste_list); -static void pl3_current_playlist_browser_paste_before_songs(GtkTreeView *tree, GList *paste_list); -static void pl3_current_playlist_browser_delete_selected_songs (void); +enum { + PLAY_QUEUE_DUMMY_PROPERTY, + PLAY_QUEUE_UID +}; +/** + * Private data structure + */ +typedef struct _PlayQueuePluginPrivate { + gulong status_changed_handler; + gulong connection_changed_handler; + + /* Quick Search */ + gboolean search_keep_open; + GtkWidget *filter_entry; + GtkTreeModel *mod_fill; + gboolean quick_search; + guint quick_search_timeout; + /* Other widgets */ + GtkWidget *pl3_cp_tree; + GtkWidget *pl3_cp_vbox; + /* reference to the row */ + GtkTreeRowReference *pl3_curb_tree_ref; + /* Gchar *uid */ + gchar *uid; +} _PlayQueuePluginPrivate; -static void pl3_current_playlist_browser_scroll_to_current_song(void); -static void pl3_current_playlist_browser_add(GtkWidget *cat_tree); +/** + * Propperty setter/getter + */ +static void play_queue_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + PlayQueuePlugin * self; + self = (PlayQueuePlugin *)(object); + switch (property_id) { + case PLAY_QUEUE_UID: + g_value_set_string (value, self->priv->uid); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } + +} +static void play_queue_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) +{ + PlayQueuePlugin * self; + self = (PlayQueuePlugin *)(object); + switch (property_id) { + case PLAY_QUEUE_UID: + if(self->priv->uid) g_free(self->priv->uid); + self->priv->uid = g_value_dup_string(value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void pl3_current_playlist_browser_paste_after_songs(GtkTreeView *tree, GList *paste_list, PlayQueuePlugin *self); +static void pl3_current_playlist_browser_paste_before_songs(GtkTreeView *tree, GList *paste_list, PlayQueuePlugin *self); +static void pl3_current_playlist_browser_delete_selected_songs (PlayQueuePlugin *self); -static void pl3_current_playlist_browser_selected(GtkWidget *container); -static void pl3_current_playlist_browser_unselected(GtkWidget *container); -static int pl3_current_playlist_browser_cat_menu_popup(GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event); +static void pl3_current_playlist_browser_add(GmpcPluginBrowserIface *obj, GtkWidget *cat_tree); -static void pl3_current_playlist_browser_activate(void); +static void pl3_current_playlist_browser_selected(GmpcPluginBrowserIface *obj, GtkContainer *container); +static void pl3_current_playlist_browser_unselected(GmpcPluginBrowserIface *obj, GtkContainer *container); + +static void pl3_current_playlist_browser_activate(PlayQueuePlugin *self); -static void pl3_current_playlist_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata); -static int pl3_current_playlist_browser_add_go_menu(GtkWidget *menu); /* just for here */ -static void pl3_current_playlist_browser_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *col); -static int pl3_current_playlist_browser_button_release_event(GtkTreeView *tree, GdkEventButton *event); -static int pl3_current_playlist_browser_key_release_event(GtkTreeView *tree, GdkEventKey *event,GtkWidget *entry); -static void pl3_current_playlist_browser_show_info(void); +static void pl3_current_playlist_browser_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *col,PlayQueuePlugin *self); +static int pl3_current_playlist_browser_button_release_event(GtkTreeView *tree, GdkEventButton *event, PlayQueuePlugin *self); +static int pl3_current_playlist_browser_key_release_event(GtkTreeView *tree, GdkEventKey *event,PlayQueuePlugin *self); +static void pl3_current_playlist_browser_show_info(PlayQueuePlugin *self); static void pl3_current_playlist_save_playlist(void); static void pl3_current_playlist_browser_shuffle_playlist(void); static void pl3_current_playlist_browser_clear_playlist(void); -static int pl3_current_playlist_key_press_event(GtkWidget *mw, GdkEventKey *event, int type); -static void pl3_current_playlist_connection_changed(MpdObj *mi, int connect, gpointer data); -static void pl3_current_playlist_save_myself(void); -static void pl3_current_playlist_browser_init(void); - +static void pl3_current_playlist_browser_init(PlayQueuePlugin *self); -GtkTreeModel *playlist = NULL; -GtkWidget *pl3_cp_tree = NULL; -static gboolean search_keep_open = FALSE; -static void pl3_cp_current_song_changed(GmpcMpdDataModelPlaylist *model2,GtkTreePath *path, GtkTreeIter *iter,gpointer data) +static void pl3_cp_current_song_changed(GmpcMpdDataModelPlaylist *model2,GtkTreePath *path, GtkTreeIter *iter,PlayQueuePlugin *self) { - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model; + if(self->priv->pl3_cp_tree == NULL) return; + model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(model)) { if(cfg_get_single_value_as_int_with_default(config, "playlist", "st_cur_song", 0)) { - gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(pl3_cp_tree), + gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(self->priv->pl3_cp_tree), path, NULL, TRUE,0.5,0); @@ -100,17 +148,24 @@ unsigned long total_songs = GMPC_MPDDATA_MODEL(model)->num_rows; guint playtime = total_playtime*((gdouble)(total_songs/(gdouble)loaded_songs)); gchar *string = format_time(playtime); - gchar *mesg = NULL; + GString *tstring = g_string_new(""); - mesg = g_strdup_printf("%lu %s%c %s %s (%lu%% counted)", total_songs, - ngettext("item", "items", total_songs ), (string[0])?',':' ', string, - (string[0] == 0 || total_songs == loaded_songs)? "":_("(Estimation)"),(loaded_songs*100)/total_songs); - - pl3_push_rsb_message(mesg); + g_string_append_printf(tstring, "%lu %s", + total_songs, + ngettext("item", "items", total_songs ) + ); + if(string) + { + g_string_append_printf(tstring, ", %s ", string); + if(loaded_songs != total_songs) { + tstring = g_string_append(tstring, _("(Estimation)")); + } + } + pl3_push_rsb_message(tstring->str); q_free(string); - q_free(mesg); + g_string_free(tstring, TRUE); } else { @@ -119,76 +174,55 @@ } } -static void pl3_total_playtime_changed(GmpcMpdDataModelPlaylist *model, unsigned long loaded_songs, unsigned long total_playtime, gpointer user_data) +static void pl3_total_playtime_changed(GmpcMpdDataModelPlaylist *model, unsigned long loaded_songs, unsigned long total_playtime, PlayQueuePlugin *self) { - if(pl3_cat_get_selected_browser() == current_playlist_plug.id) + if(pl3_cat_get_selected_browser() == GMPC_PLUGIN_BASE(self)->id) { - __real_pl3_total_playtime_changed(model, loaded_songs, total_playtime, user_data); + __real_pl3_total_playtime_changed(model, loaded_songs, total_playtime, self); } } - -static void pl3_cp_init(void) +static void pl3_current_playlist_browser_crop_current_song(PlayQueuePlugin *self, const gchar *param) +{ + mpd_Song *song = mpd_playlist_get_current_song(connection); + if(song) + { + int length = mpd_playlist_get_playlist_length(connection); + /* Move to first place, this avoid possible "issues" */ + mpd_playlist_move_id(connection,song->id, 0); + for(;length > 1; length--){ + mpd_playlist_queue_delete_pos(connection, length-1); + if((length&16383) == 16383) { + mpd_playlist_queue_commit(connection); + } + } + mpd_playlist_queue_commit(connection); + } +} +static void pl3_cp_init(PlayQueuePlugin *self) { - playlist = (GtkTreeModel *)gmpc_mpddata_model_playlist_new(gmpcconn,connection); - gmpc_mpddata_model_disable_image(GMPC_MPDDATA_MODEL(playlist)); - pl3_current_playlist_browser_init(); - g_signal_connect(G_OBJECT(playlist), "current_song_changed", G_CALLBACK(pl3_cp_current_song_changed), NULL); - g_signal_connect(G_OBJECT(playlist), "total_playtime_changed", G_CALLBACK(pl3_total_playtime_changed), NULL); + +// pl3_current_playlist_browser_init(self); + g_signal_connect(G_OBJECT(playlist), "current_song_changed", G_CALLBACK(pl3_cp_current_song_changed), self); + g_signal_connect(G_OBJECT(playlist), "total_playtime_changed", G_CALLBACK(pl3_total_playtime_changed), self); gmpc_easy_command_add_entry(gmpc_easy_command, _("switch play queue"),"", _("Switch to play queue"), - (GmpcEasyCommandCallback *)pl3_current_playlist_browser_activate, NULL); + (GmpcEasyCommandCallback *)pl3_current_playlist_browser_activate, self); gmpc_easy_command_add_entry(gmpc_easy_command, _("Clear play queue"),"", _("Clear play queue"), - (GmpcEasyCommandCallback *)pl3_current_playlist_browser_clear_playlist, NULL); -} - -gmpcPlBrowserPlugin current_playlist_gbp = { - .add = pl3_current_playlist_browser_add, - .selected = pl3_current_playlist_browser_selected, - .unselected = pl3_current_playlist_browser_unselected, - .cat_right_mouse_menu = pl3_current_playlist_browser_cat_menu_popup, - .add_go_menu = pl3_current_playlist_browser_add_go_menu, - .key_press_event = pl3_current_playlist_key_press_event -}; - - -gmpcPlugin current_playlist_plug = { - .name = "Play Queue Browser", - .version = {1,1,1}, - .plugin_type = GMPC_PLUGIN_PL_BROWSER|GMPC_INTERNALL, - .init = pl3_cp_init, - .browser = ¤t_playlist_gbp, - .mpd_status_changed = pl3_current_playlist_status_changed, - .mpd_connection_changed = pl3_current_playlist_connection_changed, - .destroy = pl3_current_playlist_destroy, - .save_yourself = pl3_current_playlist_save_myself -}; - -/* internal */ + (GmpcEasyCommandCallback *)pl3_current_playlist_browser_clear_playlist, self); -static GtkWidget *pl3_cp_sw = NULL; -static GtkWidget *pl3_cp_vbox = NULL; -static TreeSearch *tree_search = NULL; -static GtkTreeRowReference *pl3_curb_tree_ref = NULL; - -static void pl3_current_playlist_search_activate(TreeSearch *search,GtkTreeView *tree) -{ - GtkTreeModel *model = gtk_tree_view_get_model(tree); - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)); - if (gtk_tree_selection_count_selected_rows (selection) == 1) - { - GList *list = gtk_tree_selection_get_selected_rows (selection, &model); - pl3_current_playlist_browser_row_activated(GTK_TREE_VIEW(tree),(GtkTreePath *)list->data, NULL); - /* free list */ - g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); - g_list_free (list); - } + gmpc_easy_command_add_entry(gmpc_easy_command, + _("Crop current song"),"", + _("Crop the playlist so it only contains the current song"), + (GmpcEasyCommandCallback *)pl3_current_playlist_browser_crop_current_song, self); } +void pl3_current_playlist_destroy(PlayQueuePlugin *self); +/* internal */ static void pl3_current_playlist_column_changed(GtkTreeView *tree) @@ -207,77 +241,73 @@ g_list_free(cols); } -void pl3_current_playlist_destroy(void) +void pl3_current_playlist_destroy(PlayQueuePlugin *self) { - if(pl3_cp_tree) + if(self->priv->pl3_cp_tree) { - /* destroy the entry */ - if(pl3_curb_tree_ref) + /* destroy the entry */ + if(self->priv->pl3_curb_tree_ref) { GtkTreeIter piter; GtkTreePath *path; - path = gtk_tree_row_reference_get_path(pl3_curb_tree_ref); + path = gtk_tree_row_reference_get_path(self->priv->pl3_curb_tree_ref); if(path) { - if(gtk_tree_model_get_iter(GTK_TREE_MODEL(gtk_tree_row_reference_get_model(pl3_curb_tree_ref)), &piter,path)) + if(gtk_tree_model_get_iter(GTK_TREE_MODEL(gtk_tree_row_reference_get_model(self->priv->pl3_curb_tree_ref)), &piter,path)) { - gtk_list_store_remove(GTK_LIST_STORE(gtk_tree_row_reference_get_model(pl3_curb_tree_ref)), &piter); + gtk_list_store_remove(GTK_LIST_STORE(gtk_tree_row_reference_get_model(self->priv->pl3_curb_tree_ref)), &piter); } gtk_tree_path_free(path); } - gtk_tree_row_reference_free(pl3_curb_tree_ref); - pl3_curb_tree_ref = NULL; + gtk_tree_row_reference_free(self->priv->pl3_curb_tree_ref); + self->priv->pl3_curb_tree_ref = NULL; } /* destroy the browser */ - if(pl3_cp_vbox) + if(self->priv->pl3_cp_vbox) { /* remove the signal handler so when the widget is destroyed, the numbering of the labels are not changed again */ - g_signal_handlers_disconnect_by_func(G_OBJECT(pl3_cp_tree), G_CALLBACK(pl3_current_playlist_column_changed), NULL); - g_object_unref(pl3_cp_vbox); - pl3_cp_vbox = NULL; + g_signal_handlers_disconnect_by_func(G_OBJECT(self->priv->pl3_cp_tree), G_CALLBACK(pl3_current_playlist_column_changed), NULL); + g_object_unref(self->priv->pl3_cp_vbox); + self->priv->pl3_cp_vbox = NULL; } - pl3_cp_tree = NULL; + self->priv->pl3_cp_tree = NULL; } } -static GtkTreeModel *mod_fill = NULL; -static GtkWidget *filter_entry = NULL; -static guint timeout=0; -static int quick_search = 0; -static gboolean mod_fill_do_entry_changed(GtkWidget *entry, GtkWidget *tree) +static gboolean mod_fill_do_entry_changed(PlayQueuePlugin *self) { - const gchar *text2 = gtk_entry_get_text(GTK_ENTRY(entry)); + const gchar *text2 = gtk_entry_get_text(GTK_ENTRY(self->priv->filter_entry)); if(strlen(text2) > 0) { MpdData *data = NULL; data = advanced_search(text2, TRUE); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(mod_fill), data); - quick_search = TRUE; - gtk_tree_view_set_model(GTK_TREE_VIEW(pl3_cp_tree), mod_fill); - gtk_widget_show(entry); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self->priv->mod_fill), data); + self->priv->quick_search = TRUE; + gtk_tree_view_set_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree), self->priv->mod_fill); + gtk_widget_show(self->priv->filter_entry); } else { - gtk_tree_view_set_model(GTK_TREE_VIEW(pl3_cp_tree), playlist); + gtk_tree_view_set_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree), playlist); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(mod_fill), NULL); - if(!search_keep_open) + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self->priv->mod_fill), NULL); + if(!self->priv->search_keep_open) { - quick_search = 0; - gtk_widget_hide(entry); - gtk_widget_grab_focus(pl3_cp_tree); + self->priv->quick_search = 0; + gtk_widget_hide(self->priv->filter_entry); + gtk_widget_grab_focus(self->priv->pl3_cp_tree); } } - timeout = 0; + self->priv->quick_search_timeout = 0; return FALSE; } -static gboolean mod_fill_entry_key_press_event(GtkWidget *entry, GdkEventKey *event, gpointer data) +static gboolean mod_fill_entry_key_press_event(GtkWidget *entry, GdkEventKey *event, PlayQueuePlugin *self) { const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); @@ -285,123 +315,138 @@ { if(event->keyval == GDK_BackSpace || event->keyval == GDK_Escape) { - search_keep_open = FALSE; - gtk_tree_view_set_model(GTK_TREE_VIEW(pl3_cp_tree), playlist); + self->priv->search_keep_open = FALSE; + gtk_tree_view_set_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree), playlist); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(mod_fill), NULL); - quick_search = 0; + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self->priv->mod_fill), NULL); + self->priv->quick_search = 0; gtk_widget_hide(entry); - gtk_widget_grab_focus(pl3_cp_tree); + gtk_widget_grab_focus(self->priv->pl3_cp_tree); return TRUE; } }else if(event->keyval == GDK_Escape) { - search_keep_open = FALSE; + self->priv->search_keep_open = FALSE; gtk_entry_set_text(GTK_ENTRY(entry), ""); } + else if (event->keyval == GDK_Up || event->keyval == GDK_Down) + { + gtk_widget_grab_focus(self->priv->pl3_cp_tree); + return TRUE; + } return FALSE; } -static void mod_fill_entry_changed(GtkWidget *entry, GtkWidget *tree) +static void mod_fill_entry_changed(GtkWidget *entry, PlayQueuePlugin *self) { - if(timeout != 0) - g_source_remove(timeout); - timeout = g_timeout_add_seconds(1, (GSourceFunc)mod_fill_do_entry_changed, entry); + if(self->priv->quick_search_timeout != 0) + g_source_remove(self->priv->quick_search_timeout); + self->priv->quick_search_timeout = g_timeout_add(250, (GSourceFunc)mod_fill_do_entry_changed, self); gtk_widget_show(entry); } -static void mod_fill_entry_activate(GtkWidget *entry, gpointer data) +static void mod_fill_entry_activate(GtkWidget *entry, PlayQueuePlugin *self) { - if(timeout != 0) - g_source_remove(timeout); - mod_fill_do_entry_changed(entry, data); - gtk_widget_grab_focus(pl3_cp_tree); + if(self->priv->quick_search_timeout != 0) + g_source_remove(self->priv->quick_search_timeout); + mod_fill_do_entry_changed(self); + gtk_widget_grab_focus(self->priv->pl3_cp_tree); +} +#ifndef USE_SYSTEM_LIBSEXY +#if GTK_CHECK_VERSION(2,16,0) +static void mod_fill_clear_search_entry(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data) +{ + if(icon_pos == GTK_ENTRY_ICON_SECONDARY){ + gtk_entry_set_text(GTK_ENTRY(entry), ""); + } } - - -static void pl3_current_playlist_browser_init(void) +#endif +#endif +static void pl3_current_playlist_browser_init(PlayQueuePlugin *self) { - GtkWidget *entry = NULL,*tree = NULL,*sw = NULL; - pl3_cp_vbox = gtk_vbox_new(FALSE,6); - tree = gmpc_mpddata_treeview_new("current-pl", FALSE, GTK_TREE_MODEL(playlist)); - - g_signal_connect(G_OBJECT(tree), "paste_before", G_CALLBACK(pl3_current_playlist_browser_paste_before_songs), NULL); - g_signal_connect(G_OBJECT(tree), "paste_after", G_CALLBACK(pl3_current_playlist_browser_paste_after_songs), NULL); - g_signal_connect(G_OBJECT(tree), "cut", G_CALLBACK(pl3_current_playlist_browser_delete_selected_songs), NULL); - + GtkWidget *entry = NULL,*tree = NULL,*sw = NULL, *pl3_cp_sw; + /* Mark the plugin internal */ + GMPC_PLUGIN_BASE(self)->plugin_type = GMPC_INTERNALL|GMPC_PLUGIN_PL_BROWSER; + + self->priv->pl3_cp_vbox = gtk_vbox_new(FALSE,6); + tree = gmpc_mpddata_treeview_new(self->priv->uid, FALSE, GTK_TREE_MODEL(playlist)); + + g_signal_connect(G_OBJECT(tree), "paste_before", G_CALLBACK(pl3_current_playlist_browser_paste_before_songs), self); + g_signal_connect(G_OBJECT(tree), "paste_after", G_CALLBACK(pl3_current_playlist_browser_paste_after_songs), self); + g_signal_connect_swapped(G_OBJECT(tree), "cut", G_CALLBACK(pl3_current_playlist_browser_delete_selected_songs), self); /* filter */ - mod_fill = (GtkTreeModel *)gmpc_mpddata_model_new(); + self->priv->mod_fill = (GtkTreeModel *)gmpc_mpddata_model_new(); #ifdef USE_SYSTEM_LIBSEXY entry = sexy_icon_entry_new(); sexy_icon_entry_add_clear_button(SEXY_ICON_ENTRY(entry)); #else entry = gtk_entry_new(); +#if GTK_CHECK_VERSION(2,16,0) + gtk_entry_set_icon_from_stock(GTK_ENTRY(entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); + g_signal_connect(GTK_ENTRY(entry), "icon-press", G_CALLBACK(mod_fill_clear_search_entry), NULL); + + gtk_entry_set_icon_from_stock(GTK_ENTRY(entry), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_FIND); + gtk_entry_set_icon_activatable(GTK_ENTRY(entry), GTK_ENTRY_ICON_PRIMARY, FALSE); +#endif #endif - gtk_box_pack_start(GTK_BOX(pl3_cp_vbox), entry, FALSE, TRUE,0); - filter_entry= entry; - g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(mod_fill_entry_changed), tree); - g_signal_connect(G_OBJECT(entry), "key-press-event", G_CALLBACK(mod_fill_entry_key_press_event), NULL); - g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(mod_fill_entry_activate), NULL); + gtk_box_pack_end(GTK_BOX(self->priv->pl3_cp_vbox), entry, FALSE, TRUE,0); + self->priv->filter_entry= entry; + g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(mod_fill_entry_changed), self); + g_signal_connect(G_OBJECT(entry), "key-press-event", G_CALLBACK(mod_fill_entry_key_press_event), self); + g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(mod_fill_entry_activate), self); gtk_tree_view_set_reorderable(GTK_TREE_VIEW(tree), TRUE); sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); gtk_container_add(GTK_CONTAINER(sw), tree); - gtk_box_pack_start(GTK_BOX(pl3_cp_vbox), GTK_WIDGET(sw), TRUE, TRUE,0); + gtk_box_pack_start(GTK_BOX(self->priv->pl3_cp_vbox), GTK_WIDGET(sw), TRUE, TRUE,0); gtk_widget_show_all(sw); /* set up the tree */ gtk_tree_view_set_enable_search(GTK_TREE_VIEW(tree), FALSE); gmpc_mpddata_treeview_enable_click_fix(GMPC_MPDDATA_TREEVIEW(tree)); /* setup signals */ - g_signal_connect(G_OBJECT(tree), "row-activated",G_CALLBACK(pl3_current_playlist_browser_row_activated), NULL); - g_signal_connect(G_OBJECT(tree), "button-release-event", G_CALLBACK(pl3_current_playlist_browser_button_release_event), NULL); - g_signal_connect(G_OBJECT(tree), "key-press-event", G_CALLBACK(pl3_current_playlist_browser_key_release_event), entry); + g_signal_connect(G_OBJECT(tree), "row-activated",G_CALLBACK(pl3_current_playlist_browser_row_activated),self); + g_signal_connect(G_OBJECT(tree), "button-release-event", G_CALLBACK(pl3_current_playlist_browser_button_release_event), self); + g_signal_connect(G_OBJECT(tree), "key-press-event", G_CALLBACK(pl3_current_playlist_browser_key_release_event), self); /* set up the scrolled window */ - pl3_cp_sw = gtk_scrolled_window_new(NULL, NULL); + pl3_cp_sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pl3_cp_sw), GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(pl3_cp_sw), GTK_SHADOW_ETCHED_IN); - tree_search = (TreeSearch *)treesearch_new(GTK_TREE_VIEW(tree), MPDDATA_MODEL_COL_MARKUP); - g_signal_connect(G_OBJECT(tree_search), "result-activate", G_CALLBACK(pl3_current_playlist_search_activate),tree); - - - gtk_box_pack_end(GTK_BOX(pl3_cp_vbox), GTK_WIDGET(tree_search), FALSE, TRUE, 0); - - /* set initial state */ - pl3_cp_tree = tree; - g_object_ref(G_OBJECT(pl3_cp_vbox)); + self->priv->pl3_cp_tree = tree; + g_object_ref(G_OBJECT(self->priv->pl3_cp_vbox)); } -static void pl3_current_playlist_browser_select_current_song(void) +static void pl3_current_playlist_browser_select_current_song(PlayQueuePlugin *self) { - if(pl3_cp_tree == NULL|| !GTK_WIDGET_REALIZED(pl3_cp_tree)) return; + if(self->priv->pl3_cp_tree == NULL|| !GTK_WIDGET_REALIZED(self->priv->pl3_cp_tree)) return; /* scroll to the playing song */ if(mpd_player_get_current_song_pos(connection) >= 0 && mpd_playlist_get_playlist_length(connection) > 0) { GtkTreePath *path = gtk_tree_path_new_from_indices(mpd_player_get_current_song_pos(connection),-1); - if(path != NULL && GMPC_IS_MPDDATA_MODEL_PLAYLIST(gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)))) + if(path != NULL && GMPC_IS_MPDDATA_MODEL_PLAYLIST(gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)))) { - gtk_tree_view_set_cursor(GTK_TREE_VIEW(pl3_cp_tree), path, NULL, FALSE); + gtk_tree_view_set_cursor(GTK_TREE_VIEW(self->priv->pl3_cp_tree), path, NULL, FALSE); } gtk_tree_path_free(path); } } -static void pl3_current_playlist_browser_scroll_to_current_song(void) +static void pl3_current_playlist_browser_scroll_to_current_song(PlayQueuePlugin *self) { - if(pl3_cp_tree == NULL || !GTK_WIDGET_REALIZED(pl3_cp_tree)) return; + if(self->priv->pl3_cp_tree == NULL || !GTK_WIDGET_REALIZED(self->priv->pl3_cp_tree)) return; /* scroll to the playing song */ if(mpd_player_get_current_song_pos(connection) >= 0 && mpd_playlist_get_playlist_length(connection) > 0) { GtkTreePath *path = gtk_tree_path_new_from_indices(mpd_player_get_current_song_pos(connection),-1); if(path != NULL) { - gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(pl3_cp_tree), + gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(self->priv->pl3_cp_tree), path, NULL, TRUE,0.5,0); @@ -412,29 +457,27 @@ } /* add's the toplevel entry for the current playlist view */ -static void pl3_current_playlist_browser_add(GtkWidget *cat_tree) +static void pl3_current_playlist_browser_add(GmpcPluginBrowserIface *obj, GtkWidget *cat_tree) { + PlayQueuePlugin *self = (PlayQueuePlugin*)obj; GtkTreeIter iter; GtkTreePath *path; gint pos = cfg_get_single_value_as_int_with_default(config, "current-playlist","position",0); playlist3_insert_browser(&iter, pos); gtk_list_store_set(GTK_LIST_STORE(pl3_tree), &iter, - PL3_CAT_TYPE, current_playlist_plug.id,/*PL3_CURRENT_PLAYLIST,*/ - PL3_CAT_TITLE, _("Play Queue"), - PL3_CAT_INT_ID, "", + PL3_CAT_TYPE, GMPC_PLUGIN_BASE(self)->id /*current_playlist_plug.id*/,/*PL3_CURRENT_PLAYLIST,*/ + PL3_CAT_TITLE, _(gmpc_plugin_base_get_name(GMPC_PLUGIN_BASE(self))), PL3_CAT_ICON_ID, "playlist-browser", - PL3_CAT_PROC, TRUE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND, -1); - if(pl3_curb_tree_ref) + if(self->priv->pl3_curb_tree_ref) { - gtk_tree_row_reference_free(pl3_curb_tree_ref); - pl3_curb_tree_ref = NULL; + gtk_tree_row_reference_free(self->priv->pl3_curb_tree_ref); + self->priv->pl3_curb_tree_ref = NULL; } path = gtk_tree_model_get_path(GTK_TREE_MODEL(pl3_tree), &iter); if(path) { - pl3_curb_tree_ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(pl3_tree),path); + self->priv->pl3_curb_tree_ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(pl3_tree),path); gtk_tree_path_free(path); } } @@ -443,16 +486,16 @@ /* delete all selected songs, * if no songs select ask the user if he want's to clear the list */ -static void pl3_current_playlist_browser_delete_selected_songs (void) +static void pl3_current_playlist_browser_delete_selected_songs (PlayQueuePlugin *self) { /* grab the selection from the tree */ - GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* check if where connected */ /* see if there is a row selected */ if (gtk_tree_selection_count_selected_rows (selection) > 0) { GList *list = NULL, *llist = NULL; - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* start a command list */ /* grab the selected songs */ list = gtk_tree_selection_get_selected_rows (selection, &model); @@ -463,17 +506,8 @@ GtkTreeIter iter; int value; gtk_tree_model_get_iter (model, &iter,(GtkTreePath *) llist->data); - //gtk_tree_model_get (model, &iter, MPDDATA_MODEL_COL_SONG_ID, &value, -1); - /* Trick that avoids roundtrip to mpd */ - if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(model)) - { - value = gmpc_mpddata_model_get_pos(GMPC_MPDDATA_MODEL(model), &iter); - }else{ - /* this one allready has the pos. */ - gtk_tree_model_get (model, &iter, MPDDATA_MODEL_COL_SONG_POS, &value, -1); - value--; - } - mpd_playlist_queue_delete_pos(connection, value); + gtk_tree_model_get (model, &iter, MPDDATA_MODEL_COL_SONG_ID, &value, -1); + mpd_playlist_queue_delete_id(connection, value); } while ((llist = g_list_previous (llist))); /* close the list, so it will be executed */ @@ -516,66 +550,31 @@ mpd_status_queue_update(connection); } -static void pl3_current_playlist_browser_crop_selected_songs(void) +static void pl3_current_playlist_browser_crop_selected_songs(PlayQueuePlugin *self) { - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* grab the selection from the tree */ - GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* see if there is a row selected */ if (gtk_tree_selection_count_selected_rows (selection) > 0) { GtkTreeIter iter; - /* Use the walk through list and traverse it method, if done right, this can safe roundtrips to mpd */ - int last_seen = mpd_playlist_get_playlist_length(connection); - int position = 0; - GList *node,*list = NULL; - /* we want to delete from back to front, so we have to transverse this list */ if(gtk_tree_model_get_iter_first(GTK_TREE_MODEL(model), &iter)) { - if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(model)){ - /* Count my self, so we don't have to fetch any unselected row from mpd */ - do{ - if(gtk_tree_selection_iter_is_selected(selection, &iter)) - { - /* song pos starts at 1, not a 0, compensate for that */ - list = g_list_append(list, GINT_TO_POINTER(position)); - } - position++; - }while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter)); - }else{ - do{ - if(gtk_tree_selection_iter_is_selected(selection, &iter)) - { - int pos=0; - /* song pos starts at 1, not a 0, compensate for that */ - gtk_tree_model_get (GTK_TREE_MODEL(model), &iter, MPDDATA_MODEL_COL_SONG_POS, &pos, -1); - list = g_list_append(list, GINT_TO_POINTER(pos-1)); - } - }while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter)); - } - } - - for(node = g_list_last(list);node; node = g_list_previous(node)) - { - int pos = GPOINTER_TO_INT(node->data)+1; - while(last_seen > (pos)) - { - last_seen--; - mpd_playlist_queue_delete_pos(connection, last_seen); - } - last_seen = pos-1; - } - while(last_seen > 0) - { - last_seen--; - mpd_playlist_queue_delete_pos(connection, last_seen); + do{ + if(!gtk_tree_selection_iter_is_selected(selection, &iter)) + { + int id=0; + /* song pos starts at 1, not a 0, compensate for that */ + gtk_tree_model_get (GTK_TREE_MODEL(model), &iter, MPDDATA_MODEL_COL_SONG_ID, &id, -1); + mpd_playlist_queue_delete_id(connection, id); + } + }while(gtk_tree_model_iter_next(GTK_TREE_MODEL(model), &iter)); } - mpd_playlist_queue_commit(connection); - if(list) g_list_free(list); /* update everything if where still connected */ gtk_tree_selection_unselect_all(selection); @@ -583,10 +582,11 @@ } } -static void pl3_current_playlist_editor_add_to_playlist(GtkWidget *menu) +static void pl3_current_playlist_editor_add_to_playlist(GtkWidget *menu, gpointer cb_data) { - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pl3_cp_tree)); + PlayQueuePlugin *self = (PlayQueuePlugin *)cb_data; + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); + GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); gchar *data = g_object_get_data(G_OBJECT(menu), "playlist"); GList *iter, *list = gtk_tree_selection_get_selected_rows (selection, &model); if(list) @@ -610,10 +610,10 @@ playlist_editor_fill_list(); } -static void pl3_current_playlist_browser_paste_after_songs(GtkTreeView *tree, GList *paste_list) +static void pl3_current_playlist_browser_paste_after_songs(GtkTreeView *tree, GList *paste_list, PlayQueuePlugin *self) { /* grab the selection from the tree */ - GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); int seen= 0; /* check if where connected */ @@ -621,7 +621,7 @@ if (gtk_tree_selection_count_selected_rows (selection) > 0) { GList *list = NULL, *llist = NULL; - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* start a command list */ /* grab the selected songs */ list = gtk_tree_selection_get_selected_rows (selection, &model); @@ -674,10 +674,10 @@ } gtk_tree_selection_unselect_all(selection); } -static void pl3_current_playlist_browser_paste_before_songs(GtkTreeView *tree, GList *paste_list) +static void pl3_current_playlist_browser_paste_before_songs(GtkTreeView *tree, GList *paste_list, PlayQueuePlugin *self) { /* grab the selection from the tree */ - GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); int seen= 0; /* check if where connected */ @@ -685,7 +685,7 @@ if (gtk_tree_selection_count_selected_rows (selection) > 0) { GList *list = NULL, *llist = NULL; - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree)); /* start a command list */ /* grab the selected songs */ list = gtk_tree_selection_get_selected_rows (selection, &model); @@ -741,7 +741,7 @@ } -static int pl3_current_playlist_browser_button_release_event(GtkTreeView *tree, GdkEventButton *event) +static int pl3_current_playlist_browser_button_release_event(GtkTreeView *tree, GdkEventButton *event, PlayQueuePlugin *self) { if(event->button == 3) { @@ -751,16 +751,19 @@ int rows = gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection(tree)); /* add the delete widget */ - item = gtk_image_menu_item_new_from_stock(GTK_STOCK_REMOVE,NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_delete_selected_songs), NULL); - /* add the delete widget */ - item = gtk_image_menu_item_new_with_label(_("Crop")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), - gtk_image_new_from_stock(GTK_STOCK_CUT, GTK_ICON_SIZE_MENU)); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_crop_selected_songs), NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + item = gtk_image_menu_item_new_from_stock(GTK_STOCK_REMOVE,NULL); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_delete_selected_songs),self); + if(rows) + { + /* add the delete widget */ + item = gtk_image_menu_item_new_with_label(_("Crop")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), + gtk_image_new_from_stock(GTK_STOCK_CUT, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_crop_selected_songs), self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + } gtk_menu_shell_append(GTK_MENU_SHELL(menu),gtk_separator_menu_item_new()); /* add the clear widget */ item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR,NULL); @@ -790,7 +793,7 @@ { item = gtk_image_menu_item_new_from_stock(GTK_STOCK_DIALOG_INFO,NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_show_info), NULL); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_show_info), self); /* Add song sebmenu */ submenu_for_song(menu, song); @@ -801,7 +804,7 @@ } - playlist_editor_right_mouse(menu,pl3_current_playlist_editor_add_to_playlist); + playlist_editor_right_mouse(menu,pl3_current_playlist_editor_add_to_playlist,self); gmpc_mpddata_treeview_right_mouse_intergration(GMPC_MPDDATA_TREEVIEW(tree), GTK_MENU(menu)); gtk_widget_show_all(menu); gtk_menu_popup(GTK_MENU(menu), NULL, NULL,NULL, NULL,0, event->time); @@ -810,7 +813,7 @@ return FALSE; } -static void pl3_current_playlist_browser_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *col) +static void pl3_current_playlist_browser_row_activated(GtkTreeView *tree, GtkTreePath *path, GtkTreeViewColumn *col,PlayQueuePlugin *self) { GtkTreeIter iter; gint song_id; @@ -819,24 +822,24 @@ gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_ID,&song_id, -1); mpd_player_play_id(connection, song_id); - if(!search_keep_open && model == mod_fill) + if(!self->priv->search_keep_open && model == self->priv->mod_fill) { - gtk_tree_view_set_model(GTK_TREE_VIEW(pl3_cp_tree), playlist); + gtk_tree_view_set_model(GTK_TREE_VIEW(self->priv->pl3_cp_tree), playlist); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(mod_fill), NULL); - quick_search = 0; - gtk_widget_hide(filter_entry); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self->priv->mod_fill), NULL); + self->priv->quick_search = 0; + gtk_widget_hide(self->priv->filter_entry); - pl3_current_playlist_browser_select_current_song(); + pl3_current_playlist_browser_select_current_song(self); } } -static void pl3_current_playlist_browser_show_info(void) +static void pl3_current_playlist_browser_show_info(PlayQueuePlugin *self) { - GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW(pl3_cp_tree)); - GtkTreeSelection *selection =gtk_tree_view_get_selection (GTK_TREE_VIEW(pl3_cp_tree)); + GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); + GtkTreeSelection *selection =gtk_tree_view_get_selection (GTK_TREE_VIEW(self->priv->pl3_cp_tree)); if (gtk_tree_selection_count_selected_rows (selection) > 0) { GList *list = NULL; @@ -860,33 +863,33 @@ } } -static void pl3_current_playlist_browser_selected(GtkWidget *container) +static void pl3_current_playlist_browser_selected(GmpcPluginBrowserIface *obj, GtkContainer *container) { + PlayQueuePlugin *self = (PlayQueuePlugin *)obj; unsigned long a = 0,b = 0; - if(pl3_cp_vbox == NULL) + if(self->priv->pl3_cp_vbox == NULL) { - pl3_current_playlist_browser_init(); + pl3_current_playlist_browser_init((PlayQueuePlugin *)obj); } - gtk_container_add(GTK_CONTAINER(container), pl3_cp_vbox); - gtk_widget_show(pl3_cp_vbox); + gtk_container_add(GTK_CONTAINER(container), self->priv->pl3_cp_vbox); + gtk_widget_show(self->priv->pl3_cp_vbox); - gtk_widget_grab_focus(pl3_cp_tree); gmpc_mpddata_model_playlist_get_total_playtime(GMPC_MPDDATA_MODEL_PLAYLIST(playlist), &a, &b); __real_pl3_total_playtime_changed(GMPC_MPDDATA_MODEL_PLAYLIST(playlist),a,b,NULL); - gtk_widget_grab_focus(pl3_cp_tree); + gtk_widget_grab_focus(self->priv->pl3_cp_tree); } -static void pl3_current_playlist_browser_unselected(GtkWidget *container) +static void pl3_current_playlist_browser_unselected(GmpcPluginBrowserIface *obj, GtkContainer *container) { - gtk_container_remove(GTK_CONTAINER(container), pl3_cp_vbox); + PlayQueuePlugin *self = (PlayQueuePlugin *)obj; + gtk_container_remove(GTK_CONTAINER(container), self->priv->pl3_cp_vbox); } -static int pl3_current_playlist_browser_cat_menu_popup(GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event) +static int pl3_current_playlist_browser_option_menu(GmpcPluginBrowserIface *obj, GtkMenu *menu) { /* here we have: Save, Clear*/ GtkWidget *item; - if(type != current_playlist_plug.id) return 0; /* add the save widget */ item = gtk_image_menu_item_new_from_stock(GTK_STOCK_SAVE,NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -897,6 +900,11 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(pl3_current_playlist_browser_clear_playlist), NULL); + return 1; +} +static int pl3_current_playlist_tool_menu_integration(GmpcPluginToolMenuIface *obj, GtkMenu *menu) +{ + GtkWidget *item; item = gtk_image_menu_item_new_with_label(_("Add URL")); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_icon_name("add-url", GTK_ICON_SIZE_MENU)); @@ -906,29 +914,29 @@ return 1; } -static int pl3_current_playlist_browser_key_release_event(GtkTreeView *tree, GdkEventKey *event,GtkWidget *entry) +static int pl3_current_playlist_browser_key_release_event(GtkTreeView *tree, GdkEventKey *event,PlayQueuePlugin *self) { if(event->keyval == GDK_Delete) { - pl3_current_playlist_browser_delete_selected_songs (); + pl3_current_playlist_browser_delete_selected_songs (self); return TRUE; } else if(event->keyval == GDK_i && event->state&GDK_MOD1_MASK) { - pl3_current_playlist_browser_show_info(); + pl3_current_playlist_browser_show_info(self); return TRUE; } else if (event->keyval == GDK_space) { - pl3_current_playlist_browser_scroll_to_current_song(); - pl3_current_playlist_browser_select_current_song(); + pl3_current_playlist_browser_scroll_to_current_song(self); + pl3_current_playlist_browser_select_current_song(self); return TRUE; } else if (event->keyval == GDK_f && event->state&GDK_CONTROL_MASK) { - mod_fill_entry_changed(entry, NULL); - gtk_widget_grab_focus(entry); - search_keep_open = TRUE; + mod_fill_entry_changed(self->priv->filter_entry,self); + gtk_widget_grab_focus(self->priv->filter_entry); + self->priv->search_keep_open = TRUE; return TRUE; } else if((event->state&(GDK_CONTROL_MASK|GDK_MOD1_MASK)) == 0 )/*&& @@ -940,9 +948,9 @@ { memset(data,'\0',10); g_unichar_to_utf8 (uc, data); - gtk_widget_grab_focus(entry); - gtk_entry_set_text(GTK_ENTRY(entry),data); - gtk_editable_set_position(GTK_EDITABLE(entry),1); + gtk_widget_grab_focus(self->priv->filter_entry); + gtk_entry_set_text(GTK_ENTRY(self->priv->filter_entry),data); + gtk_editable_set_position(GTK_EDITABLE(self->priv->filter_entry),1); return TRUE; } @@ -1039,25 +1047,25 @@ mpd_playlist_shuffle(connection); } -static void pl3_current_playlist_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata) +static void pl3_current_playlist_status_changed(GmpcConnection *conn, MpdObj *mi, ChangedStatusType what, PlayQueuePlugin *self) { - if(pl3_cp_vbox == NULL) + if(self->priv->pl3_cp_vbox == NULL) return; if(what&MPD_CST_PLAYLIST) { - if(quick_search) - mod_fill_do_entry_changed(filter_entry, NULL); - if(pl3_curb_tree_ref) { + if(self->priv->quick_search) + mod_fill_do_entry_changed(self); + if(self->priv->pl3_curb_tree_ref) { GtkTreeIter iter; GtkTreePath *path; - path = gtk_tree_row_reference_get_path(pl3_curb_tree_ref); + path = gtk_tree_row_reference_get_path(self->priv->pl3_curb_tree_ref); if(path) { - if(gtk_tree_model_get_iter(GTK_TREE_MODEL(gtk_tree_row_reference_get_model(pl3_curb_tree_ref)), &iter,path)) + if(gtk_tree_model_get_iter(GTK_TREE_MODEL(gtk_tree_row_reference_get_model(self->priv->pl3_curb_tree_ref)), &iter,path)) { gchar *title = g_strdup_printf("(%i)", mpd_playlist_get_playlist_length(connection)); - gtk_list_store_set(GTK_LIST_STORE(gtk_tree_row_reference_get_model(pl3_curb_tree_ref)), &iter, + gtk_list_store_set(GTK_LIST_STORE(gtk_tree_row_reference_get_model(self->priv->pl3_curb_tree_ref)), &iter, PL3_CAT_NUM_ITEMS, title, -1); g_free(title); } @@ -1068,22 +1076,23 @@ } } -static void pl3_current_playlist_browser_activate(void) +static void pl3_current_playlist_browser_activate(PlayQueuePlugin *self) { GtkTreeSelection *selec = gtk_tree_view_get_selection((GtkTreeView *) glade_xml_get_widget (pl3_xml, "cat_tree")); - GtkTreePath *path = gtk_tree_row_reference_get_path(pl3_curb_tree_ref); + GtkTreePath *path = gtk_tree_row_reference_get_path(self->priv->pl3_curb_tree_ref); if(path) { gtk_tree_selection_select_path(selec, path); gtk_tree_path_free(path); } + gtk_widget_grab_focus(self->priv->pl3_cp_tree); } -static int pl3_current_playlist_browser_add_go_menu(GtkWidget *menu) +static int pl3_current_playlist_browser_add_go_menu(GmpcPluginBrowserIface *obj, GtkMenu *menu) { GtkWidget *item = NULL; @@ -1092,33 +1101,25 @@ gtk_image_new_from_icon_name("playlist-browser", GTK_ICON_SIZE_MENU)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); gtk_widget_add_accelerator(GTK_WIDGET(item), "activate", gtk_menu_get_accel_group(GTK_MENU(menu)), GDK_F1, 0, GTK_ACCEL_VISIBLE); - g_signal_connect(G_OBJECT(item), "activate", - G_CALLBACK(pl3_current_playlist_browser_activate), NULL); + g_signal_connect_swapped(G_OBJECT(item), "activate", + G_CALLBACK(pl3_current_playlist_browser_activate), obj); return 1; } -/** - * - */ -static int pl3_current_playlist_key_press_event(GtkWidget *mw, GdkEventKey *event, int type) -{ - - return FALSE; -} - -static void pl3_current_playlist_connection_changed(MpdObj *mi, int connect,gpointer data) +static void pl3_current_playlist_connection_changed(GmpcConnection *conn, MpdObj *mi, int connect,PlayQueuePlugin *self) { - if(!connect && filter_entry) + if(!connect && self->priv->filter_entry) { - gtk_entry_set_text(GTK_ENTRY(filter_entry), ""); + gtk_entry_set_text(GTK_ENTRY(self->priv->filter_entry), ""); } } /* function that saves the settings */ -static void pl3_current_playlist_save_myself(void) +static void pl3_current_playlist_save_myself(GmpcPluginBase *obj) { - if(pl3_curb_tree_ref) + PlayQueuePlugin *self = (PlayQueuePlugin *)obj; + if(self->priv->pl3_curb_tree_ref) { - GtkTreePath *path = gtk_tree_row_reference_get_path(pl3_curb_tree_ref); + GtkTreePath *path = gtk_tree_row_reference_get_path(self->priv->pl3_curb_tree_ref); if(path) { gint *indices = gtk_tree_path_get_indices(path); @@ -1128,3 +1129,145 @@ } } } + +/** + * GmpcPlugin + */ +GType play_queue_plugin_get_type(void); + +static int *play_queue_plugin_get_version(GmpcPluginBase *plug, int *length) +{ + static int version[3] = {0,0,1}; + if(length) *length = 3; + return (int *)version; +} + +static const char *play_queue_plugin_get_name(GmpcPluginBase *plug) +{ + return N_("Play Queue"); +} +static void play_queue_plugin_finalize(GObject *obj) { + PlayQueuePlugin *self = (PlayQueuePlugin *)obj; + PlayQueuePluginClass * klass = (g_type_class_peek (play_queue_plugin_get_type())); + gpointer parent_class = g_type_class_peek_parent (klass); + pl3_current_playlist_destroy((PlayQueuePlugin *)obj); + + if(self->priv){ + if(self->priv->uid) { + g_free(self->priv->uid); + self->priv->uid = NULL; + } + if(self->priv->mod_fill){ + g_object_unref(self->priv->mod_fill); + self->priv->mod_fill = NULL; + } + if(g_signal_handler_is_connected(G_OBJECT(gmpcconn), self->priv->status_changed_handler)) + g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->priv->status_changed_handler); + + if(g_signal_handler_is_connected(G_OBJECT(gmpcconn), self->priv->connection_changed_handler)) + g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->priv->connection_changed_handler); + g_free(self->priv); + self->priv = NULL; + } + if(parent_class) + G_OBJECT_CLASS(parent_class)->finalize(obj); +} + +static GObject *play_queue_plugin_constructor(GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + PlayQueuePluginClass * klass; + PlayQueuePlugin *self; + GObjectClass * parent_class; + klass = (g_type_class_peek (play_queue_plugin_get_type())); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + self = (PlayQueuePlugin *) parent_class->constructor (type, n_construct_properties, construct_properties); + + /* setup private structure */ + self->priv = g_malloc0(sizeof(PlayQueuePluginPrivate)); + self->priv->status_changed_handler = g_signal_connect_object(G_OBJECT(gmpcconn), "status-changed", G_CALLBACK(pl3_current_playlist_status_changed), self, 0); + self->priv->connection_changed_handler = g_signal_connect_object(G_OBJECT(gmpcconn), "connection-changed", G_CALLBACK(pl3_current_playlist_connection_changed), self, 0); + /* quick search */ + self->priv->search_keep_open = FALSE; + self->priv->filter_entry = NULL; + self->priv->mod_fill = NULL; + self->priv->quick_search = 0; + self->priv->quick_search_timeout =0; + /* other widgets */ + self->priv->pl3_cp_tree = NULL; + self->priv->pl3_cp_vbox = NULL; + self->priv->pl3_curb_tree_ref = NULL; + + /* Make it an internal plugin */ + GMPC_PLUGIN_BASE(self)->plugin_type = GMPC_PLUGIN_PL_BROWSER|GMPC_INTERNALL; + pl3_cp_init(self); + + return G_OBJECT(self); +} +/** + * Base GmpcPluginBase class + */ +static void play_queue_plugin_class_init (PlayQueuePluginClass *klass) +{ + /* Connect destroy and construct */ + G_OBJECT_CLASS(klass)->finalize = play_queue_plugin_finalize; + G_OBJECT_CLASS(klass)->constructor = play_queue_plugin_constructor; + G_OBJECT_CLASS (klass)->get_property = play_queue_get_property; + G_OBJECT_CLASS (klass)->set_property = play_queue_set_property; + /* Connect plugin functions */ + GMPC_PLUGIN_BASE_CLASS(klass)->get_version = play_queue_plugin_get_version; + GMPC_PLUGIN_BASE_CLASS(klass)->get_name = play_queue_plugin_get_name; + + GMPC_PLUGIN_BASE_CLASS(klass)->save_yourself = pl3_current_playlist_save_myself; + + + g_object_class_install_property (G_OBJECT_CLASS (klass), PLAY_QUEUE_UID, + g_param_spec_string ("uid", "uid", "stores an unique id", "play-queue", G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + +} +/** + * Browser interface + */ +static void play_queue_browser_iface_init(GmpcPluginBrowserIfaceIface * iface) { + iface->browser_add = pl3_current_playlist_browser_add; + iface->browser_selected = pl3_current_playlist_browser_selected; + iface->browser_unselected = pl3_current_playlist_browser_unselected; + iface->browser_option_menu = pl3_current_playlist_browser_option_menu; + iface->browser_add_go_menu = pl3_current_playlist_browser_add_go_menu; +} +/** + * Tool menu interface + */ +static void play_queue_plugin_tool_menu_iface_init (GmpcPluginToolMenuIfaceIface * iface) { + iface->tool_menu_integration = pl3_current_playlist_tool_menu_integration; +} + + +GType play_queue_plugin_get_type(void) { + static GType play_queue_plugin_type_id = 0; + if(play_queue_plugin_type_id == 0) { + static const GTypeInfo info = { + .class_size = sizeof(PlayQueuePluginClass), + .class_init = (GClassInitFunc)play_queue_plugin_class_init, + .instance_size = sizeof(PlayQueuePlugin), + .n_preallocs = 0 + }; + static const GInterfaceInfo iface_info = { + (GInterfaceInitFunc) play_queue_browser_iface_init, + (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo iface_tm_info = { + (GInterfaceInitFunc) play_queue_plugin_tool_menu_iface_init, + (GInterfaceFinalizeFunc) NULL, NULL}; + play_queue_plugin_type_id = g_type_register_static(GMPC_PLUGIN_TYPE_BASE, "PlayQueuePlugin", &info, 0); + + g_type_add_interface_static (play_queue_plugin_type_id, GMPC_PLUGIN_TYPE_BROWSER_IFACE, &iface_info); + g_type_add_interface_static (play_queue_plugin_type_id, GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, &iface_tm_info); + } + return play_queue_plugin_type_id; +} +PlayQueuePlugin * play_queue_plugin_new(const gchar *uid) { + PlayQueuePlugin *plug =g_object_new(play_queue_plugin_get_type(), "uid", uid, NULL); + + return plug; +} + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-current-playlist-browser.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-current-playlist-browser.h --- gmpc-0.18.0/src/browsers/playlist3-current-playlist-browser.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-current-playlist-browser.h 2009-09-21 11:15:59.000000000 +0100 @@ -19,12 +19,22 @@ #ifndef __PLAYLIST3_CURRENT_PLAYLIST_BROWSER_H__ #define __PLAYLIST3_CURRENT_PLAYLIST_BROWSER_H__ -/** - * Do we want to move this in the plugin system aswell - */ -void pl3_current_playlist_destroy(void); +typedef struct _PlayQueuePlugin PlayQueuePlugin; +typedef struct _PlayQueuePluginClass PlayQueuePluginClass; +typedef struct _PlayQueuePluginPrivate PlayQueuePluginPrivate; +struct _PlayQueuePlugin +{ + GmpcPluginBase parent_instance; + PlayQueuePluginPrivate *priv; +}; -extern gmpcPlugin current_playlist_plug; +struct _PlayQueuePluginClass +{ + GmpcPluginBaseClass parent_class; +}; + + +PlayQueuePlugin * play_queue_plugin_new(const gchar *uid); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-file-browser.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-file-browser.c --- gmpc-0.18.0/src/browsers/playlist3-file-browser.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-file-browser.c 2009-09-21 11:15:59.000000000 +0100 @@ -25,10 +25,10 @@ #include "misc.h" #include "playlist3.h" #include "playlist3-file-browser.h" -#include "TreeSearchWidget.h" #include "gmpc-mpddata-model.h" #include "gmpc-mpddata-treeview.h" #include "playlist3-playlist-editor.h" +#include "gmpc-paned-size-group.h" static void pl3_file_browser_destroy(void); static void pl3_file_browser_add(GtkWidget *cat_tree); @@ -117,19 +117,6 @@ static GtkWidget *pl3_fb_dir_tree = NULL; static GtkWidget *pl3_fb_warning_box = NULL; -static void pl3_file_browser_search_activate(void) -{ - GtkTreeModel *model = GTK_TREE_MODEL(pl3_fb_store2); - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pl3_fb_tree)); - if (gtk_tree_selection_count_selected_rows (selection) == 1) - { - GList *list = gtk_tree_selection_get_selected_rows (selection, &model); - pl3_file_browser_row_activated(GTK_TREE_VIEW(pl3_fb_tree),(GtkTreePath *)list->data); - /* free list */ - g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); - g_list_free (list); - } -} static void pl3_file_browser_dir_row_activated(GtkTreeView *tree, GtkTreePath *tp, GtkTreeViewColumn *col,gpointer user_data) { if(!mpd_check_connected(connection)) @@ -153,16 +140,14 @@ GtkTreeViewColumn *column; GtkWidget *pl3_fb_sw = NULL; GtkWidget *vbox,*sw,*tree; - int pos; pl3_fb_store2 = gmpc_mpddata_model_new(); gmpc_mpddata_model_disable_image(GMPC_MPDDATA_MODEL(pl3_fb_store2)); g_signal_connect(G_OBJECT(pl3_fb_store2), "playtime_changed", G_CALLBACK(playtime_changed), NULL); - pos = cfg_get_single_value_as_int_with_default(config, "file-browser", "pane-pos", 150); pl3_fb_vbox = gtk_hpaned_new(); - gtk_paned_set_position(GTK_PANED(pl3_fb_vbox), pos); + gmpc_paned_size_group_add_paned(GMPC_PANED_SIZE_GROUP(paned_size_group), GTK_PANED(pl3_fb_vbox)); vbox = gtk_vbox_new(FALSE, 6); @@ -186,6 +171,8 @@ gtk_tree_view_column_pack_start(column, renderer, TRUE); gtk_tree_view_column_add_attribute(column, renderer, "text", PL3_FB_NAME); gtk_tree_view_insert_column(GTK_TREE_VIEW(tree),column, -1); + + gtk_tree_view_set_search_column(GTK_TREE_VIEW(pl3_fb_dir_tree), PL3_FB_NAME); /* set the search column */ gtk_tree_view_set_search_column(GTK_TREE_VIEW(tree), PL3_FB_NAME); @@ -203,6 +190,7 @@ /* set up the tree */ pl3_fb_tree= gmpc_mpddata_treeview_new("file-browser",TRUE, GTK_TREE_MODEL(pl3_fb_store2)); gmpc_mpddata_treeview_enable_click_fix(GMPC_MPDDATA_TREEVIEW(pl3_fb_tree)); + gtk_tree_view_set_search_column(GTK_TREE_VIEW(pl3_fb_tree), MPDDATA_MODEL_COL_SONG_TITLE); /* setup signals */ g_signal_connect(G_OBJECT(pl3_fb_tree), "row-activated",G_CALLBACK(pl3_file_browser_row_activated), NULL); g_signal_connect(G_OBJECT(pl3_fb_tree), "button-release-event", G_CALLBACK(pl3_file_browser_button_release_event), NULL); @@ -218,10 +206,6 @@ gtk_box_pack_start(GTK_BOX(vbox), pl3_fb_sw, TRUE, TRUE,0); gtk_widget_show_all(pl3_fb_sw); - pl3_fb_tree_search = treesearch_new(GTK_TREE_VIEW(pl3_fb_tree), MPDDATA_MODEL_COL_MARKUP); - gtk_box_pack_end(GTK_BOX(vbox), pl3_fb_tree_search, FALSE, TRUE,0); - g_signal_connect(G_OBJECT(pl3_fb_tree_search),"result-activate", G_CALLBACK(pl3_file_browser_search_activate), NULL); - /* Warning box for when there is no music */ pl3_fb_warning_box = gtk_label_new(""); @@ -349,10 +333,8 @@ gtk_list_store_set(GTK_LIST_STORE(pl3_tree), &iter, PL3_CAT_TYPE, file_browser_plug.id, PL3_CAT_TITLE, _("File Browser"), - PL3_CAT_INT_ID, "/", PL3_CAT_ICON_ID, "gtk-open", - PL3_CAT_PROC, FALSE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND,-1); + -1); /* add fantom child for lazy tree */ if(pl3_fb_tree_ref) @@ -670,20 +652,10 @@ if(event->state&GDK_CONTROL_MASK && (event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert)) { pl3_file_browser_replace_selected(); - } else if (event->state&GDK_CONTROL_MASK && event->keyval == GDK_f) { - treesearch_start(TREESEARCH(pl3_fb_tree_search)); } else if(event->keyval == GDK_Insert || event->keyval == GDK_KP_Insert) { pl3_file_browser_add_selected(); } else if(event->keyval == GDK_i && event->state&GDK_MOD1_MASK) { pl3_file_browser_show_info(); - } else if((event->state&(GDK_CONTROL_MASK|GDK_MOD1_MASK)) == 0 && ((event->keyval >= GDK_space && event->keyval <= GDK_z))) { - char data[2]; - data[0] = (char)gdk_keyval_to_unicode(event->keyval); - data[1] = '\0'; - treesearch_start(TREESEARCH(pl3_fb_tree_search)); - gtk_entry_set_text(GTK_ENTRY(TREESEARCH(pl3_fb_tree_search)->entry),data); - gtk_editable_set_position(GTK_EDITABLE(TREESEARCH(pl3_fb_tree_search)->entry),1); - return TRUE; } return FALSE; } @@ -819,7 +791,7 @@ q_free(song_path); } -static void pl3_file_browser_add_to_playlist(GtkWidget *menu) +static void pl3_file_browser_add_to_playlist(GtkWidget *menu, gpointer cb_data) { GtkTreeModel *model = GTK_TREE_MODEL(pl3_fb_store2); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pl3_fb_tree)); @@ -927,7 +899,7 @@ g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(pl3_file_browser_add_selected), NULL); - playlist_editor_right_mouse(menu,pl3_file_browser_add_to_playlist); + playlist_editor_right_mouse(menu,pl3_file_browser_add_to_playlist,NULL); has_item = 1; } @@ -1268,9 +1240,57 @@ gtk_tree_path_free(path); } } - if(pl3_fb_vbox) +} + +static void pl3_file_browser_open_path_real(gchar **dirs, GtkTreeIter *parent) +{ + GtkTreeIter iter; + if((dirs[0]) == NULL) { + /* found dir */ + GtkTreePath *path = NULL; + gtk_tree_selection_select_iter(gtk_tree_view_get_selection(GTK_TREE_VIEW(pl3_fb_dir_tree)), parent); + + path = gtk_tree_model_get_path(GTK_TREE_MODEL(pl3_fb_dir_store),parent); + gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(pl3_fb_dir_tree), path,NULL,TRUE,0.5,0); + gtk_tree_path_free(path); + return; + } + if(gtk_tree_model_iter_children(GTK_TREE_MODEL(pl3_fb_dir_store),&iter,parent)) + { + do{ + gchar *name=NULL; + gtk_tree_model_get(GTK_TREE_MODEL(pl3_fb_dir_store), &iter, PL3_FB_NAME, &name, -1); + if(name && g_utf8_collate(name, dirs[0]) == 0) + { + GtkTreePath *tpath = gtk_tree_model_get_path(GTK_TREE_MODEL(pl3_fb_dir_store), &iter); + gtk_tree_view_expand_row(GTK_TREE_VIEW(pl3_fb_dir_tree),tpath, FALSE); + gtk_tree_path_free(tpath); + pl3_file_browser_open_path_real(&dirs[1], &iter); + g_free(name); + return; + } + if(name) g_free(name); + }while(gtk_tree_model_iter_next(GTK_TREE_MODEL(pl3_fb_dir_store), &iter)); + } + +} +void pl3_file_browser_open_path(const gchar *path) +{ + pl3_file_browser_activate(); + if(pl3_fb_dir_store) { - int pos = gtk_paned_get_position(GTK_PANED(pl3_fb_vbox)); - cfg_set_single_value_as_int(config, "file-browser", "pane-pos", pos); + gchar **dirs = g_strsplit(path, G_DIR_SEPARATOR_S, -1); + if(dirs) + { + GtkTreeIter iter; + if(gtk_tree_model_iter_children(GTK_TREE_MODEL(pl3_fb_dir_store), &iter,NULL)) + { + GtkTreePath *tpath = gtk_tree_model_get_path(GTK_TREE_MODEL(pl3_fb_dir_store), &iter); + gtk_tree_view_expand_row(GTK_TREE_VIEW(pl3_fb_dir_tree),tpath, FALSE); + gtk_tree_path_free(tpath); + pl3_file_browser_open_path_real(dirs, &iter); + } + g_strfreev(dirs); + } } } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-file-browser.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-file-browser.h --- gmpc-0.18.0/src/browsers/playlist3-file-browser.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-file-browser.h 2009-09-21 11:15:59.000000000 +0100 @@ -22,4 +22,5 @@ extern gmpcPlugin file_browser_plug; +void pl3_file_browser_open_path(const gchar *path); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-find2-browser.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-find2-browser.c --- gmpc-0.18.0/src/browsers/playlist3-find2-browser.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-find2-browser.c 2009-09-21 11:15:59.000000000 +0100 @@ -27,7 +27,7 @@ #include "playlist3-find2-browser.h" #include "gmpc-mpddata-model.h" #include "gmpc-mpddata-treeview.h" -#include "advanced_search.h" +#include "advanced-search.h" #include "playlist3-playlist-editor.h" #ifdef USE_SYSTEM_LIBSEXY #include @@ -68,7 +68,7 @@ static GtkWidget *search_entry = NULL; #define QUERY_ENTRY MPD_TAG_NUM_OF_ITEM_TYPES -static void pl3_find2_fill_combo(gmpcPlugin *plug) +static void pl3_find2_fill_combo(gmpcPluginParent *plug) { GtkTreeIter iter; int i=0, max = MPD_TAG_NUM_OF_ITEM_TYPES; @@ -140,7 +140,7 @@ { GtkTreeIter iter; GtkTreeModel *model = gtk_combo_box_get_model(box); - gmpcPlugin *plug = NULL; + gmpcPluginParent *plug = NULL; gchar *cfield =NULL; gchar *type = NULL; gint selected_type; @@ -172,6 +172,17 @@ /* default, if nothing is found. */ gtk_combo_box_set_active(GTK_COMBO_BOX(search_combo), 0); } + +#ifndef USE_SYSTEM_LIBSEXY +#if GTK_CHECK_VERSION(2,16,0) +static void pl3_find2_browser_clear_search_entry(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data) +{ + if(icon_pos == GTK_ENTRY_ICON_SECONDARY){ + gtk_entry_set_text(GTK_ENTRY(entry), ""); + } +} +#endif +#endif /** * Construct the browser */ @@ -270,6 +281,10 @@ sexy_icon_entry_add_clear_button(SEXY_ICON_ENTRY(search_entry)); #else search_entry = gtk_entry_new(); +#if GTK_CHECK_VERSION(2,16,0) + gtk_entry_set_icon_from_stock(GTK_ENTRY(search_entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); + g_signal_connect(GTK_ENTRY(search_entry), "icon-press", G_CALLBACK(pl3_find2_browser_clear_search_entry), NULL); +#endif #endif entrcomp = gtk_entry_completion_new(); gtk_entry_completion_set_text_column(entrcomp, 0); @@ -329,10 +344,8 @@ gtk_list_store_set(GTK_LIST_STORE(pl3_tree), &iter, PL3_CAT_TYPE, find2_browser_plug.id, PL3_CAT_TITLE, _("Search"), - PL3_CAT_INT_ID, "", PL3_CAT_ICON_ID, "gtk-find", - PL3_CAT_PROC, TRUE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND,-1); + -1); if (pl3_find2_ref) { gtk_tree_row_reference_free(pl3_find2_ref); @@ -402,7 +415,7 @@ if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(pl3_find2_curpl), &iter)){ int type; int num_field; - gmpcPlugin *plug = NULL; + gmpcPluginParent *plug = NULL; gtk_tree_model_get(GTK_TREE_MODEL(pl3_find2_curpl_model), &iter, 1, &type, 2, &plug,-1); if(gtk_combo_box_get_active_iter(GTK_COMBO_BOX(search_combo), &cc_iter)) @@ -630,7 +643,7 @@ q_free(message); } } -static void pl3_find2_playlist_editor_add_to_playlist(GtkWidget *menu) +static void pl3_find2_playlist_editor_add_to_playlist(GtkWidget *menu, gpointer cb_data) { GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(pl3_find2_tree)); GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(pl3_find2_tree)); @@ -752,7 +765,7 @@ } - playlist_editor_right_mouse(menu,pl3_find2_playlist_editor_add_to_playlist); + playlist_editor_right_mouse(menu,pl3_find2_playlist_editor_add_to_playlist, NULL); gmpc_mpddata_treeview_right_mouse_intergration(GMPC_MPDDATA_TREEVIEW(pl3_find2_tree), GTK_MENU(menu)); gtk_widget_show_all(menu); @@ -773,6 +786,7 @@ gtk_tree_selection_select_path(selec, path); gtk_tree_path_free(path); } + gtk_widget_grab_focus(GTK_WIDGET(search_entry)); } static int pl3_find2_browser_add_go_menu(GtkWidget *menu) @@ -879,6 +893,11 @@ { pl3_find2_browser_search(); } + if(what&MPD_CST_PERMISSION) + { + if(pl3_find2_curpl) + pl3_find2_browser_type_plugin_changed(GTK_COMBO_BOX(pl3_find2_curpl),NULL); + } } static void pl3_find2_save_myself(void) { @@ -896,7 +915,7 @@ } /* Easy command integration */ -static void pl3_find2_ec_database(gpointer user_data, const char *param) +void pl3_find2_ec_database(gpointer user_data, const char *param) { GtkTreeIter iter; GtkTreeModel *model; diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-find2-browser.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-find2-browser.h --- gmpc-0.18.0/src/browsers/playlist3-find2-browser.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-find2-browser.h 2009-09-21 11:15:59.000000000 +0100 @@ -22,4 +22,5 @@ extern gmpcPlugin find2_browser_plug; +void pl3_find2_ec_database(gpointer user_data, const char *param); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-metadata-browser.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-metadata-browser.c --- gmpc-0.18.0/src/browsers/playlist3-metadata-browser.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-metadata-browser.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,2836 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include -#include -#include -#include "main.h" -#include "misc.h" -#include "playlist3.h" -#include "gmpc-clicklabel.h" -#include "gmpc-stats-label.h" -#include "gmpc-mpddata-treeview.h" -#include "gmpc-metaimage.h" -#include "gmpc-mpddata-model.h" -#include "gmpc-meta-text-view.h" -#include "vala/gmpc_rating.h" -#include "vala/gmpc-song-links.h" - -/** - * Dragging - */ -static GtkTargetEntry target_table[] = { - { (char*)"internal-drop",GTK_TARGET_SAME_APP,99} -}; - - -static int info2_get_enabled(void); - -void info2_disable_show_current(void); -void info2_enable_show_current(void); -void info2_show_current_song(void); -static void info2_add(GtkWidget *); -static void info2_selected(GtkWidget *); -static void info2_unselected(GtkWidget *); -static int info2_add_go_menu(GtkWidget *); - -static void info2_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata); -static void info2_fill_view(void); -static int info2_key_press_event(GtkWidget *mw, GdkEventKey *event, int type); -static void as_song_clicked(GtkButton *button, gpointer data); -static void info2_fill_artist_similar_destroy(GtkWidget *widget, gpointer id); -static GtkWidget *info2_create_artist_button(mpd_Song *song); -static GtkWidget *resizer_vbox= NULL; -static GtkWidget *info2_vbox = NULL,*title_vbox=NULL; - -static GtkWidget *scrolled_window = NULL; -static GtkEntryCompletion *entry_completion = NULL; -static GtkWidget *info2_entry = NULL; -static GtkWidget * info2_create_album_button(gchar *artist, gchar *album); - -static void info2_save_myself(void); -static void as_artist_viewed_clicked(GtkButton *button, gpointer data); -static gboolean as_artist_viewed_clicked_event(GtkButton *button, GdkEventButton *event,gpointer data); - - -int show_current_song = FALSE; - -/* - * this label is used to show the bitrate. - */ -static GtkWidget *bitrate_label= NULL; -static GtkWidget *samplerate_label= NULL; - -/* Playlist window row reference */ -static GtkTreeRowReference *info2_ref = NULL; - -/* Song list functions */ -static void song_list_row_activated(GtkTreeView *,GtkTreePath *, GtkTreeViewColumn *,gpointer ); -static void song_list_open_selected_songs(GtkWidget *, GtkTreeView *); -static void song_list_add_selected_songs(GtkWidget *, GtkTreeView *); -static void song_list_replace_selected_songs(GtkWidget *, GtkTreeView *); -static gboolean song_list_button_release_event(GtkTreeView *, GdkEventButton *, gpointer ); - -static void info2_button_back(void); -static void info2_button_forward(void); -static void info2_clear_history(void); - -/**** - * Go back history - */ -typedef enum { - HISTORY_SONG = 0, - HISTORY_ALBUM = 1, - HISTORY_ARTIST = 2, - HISTORY_BASE_VIEW =3 -} HistoryType; - -typedef struct _History{ - mpd_Song *song; - HistoryType type; -} History; - -/** - * This points to the current displayed History - * and contains a reversed list with pages. - */ -static GList *history_current = NULL; -/** - * Dragging code - */ -static void info2_start_drag(GtkWidget *event, GdkDragContext *context, gpointer data) -{ - GdkPixbuf *pb2,*pb = gdk_pixbuf_get_from_drawable(NULL,event->window,NULL,0,0,0,0,event->allocation.width, event->allocation.height); - pb2 = gdk_pixbuf_scale_simple(pb, 200,((200/((float)event->allocation.width))*event->allocation.height),GDK_INTERP_BILINEAR); - gtk_drag_set_icon_pixbuf(context, pb2, 0,0); - g_object_unref(pb); - g_object_unref(pb2); -} -static void info2_album_drag_data_get(GtkWidget *event, GdkDragContext *context, GtkSelectionData *sel_data, guint dtime, guint info,gpointer udata) -{ - gchar *data = g_strdup_printf("artist:%s\nalbum:%s", - (gchar *)g_object_get_data(G_OBJECT(event), "artist"), - (gchar *)g_object_get_data(G_OBJECT(event), "album")); - - gtk_selection_data_set (sel_data, GDK_TARGET_STRING, 8, - (const guchar *) data, strlen(data)); - g_free(data); - -} -static void info2_artist_drag_data_get(GtkWidget *event, GdkDragContext *context, GtkSelectionData *sel_data, guint dtime, guint info,gpointer udata) -{ - gchar *data = g_strdup_printf("artist:%s", - (gchar *)g_object_get_data(G_OBJECT(event), "artist")); - - gtk_selection_data_set (sel_data, GDK_TARGET_STRING, 8, - (const guchar *) data, strlen(data)); - g_free(data); -} - -/** - * Callback functions to propperly react too changes in theme/style - */ -static void pl3_metabrowser_bg_style_changed(GtkWidget *vbox, GtkStyle *style, GtkWidget *vp) -{ - gtk_widget_modify_bg(vp,GTK_STATE_NORMAL, &(GTK_WIDGET(vbox)->style->base[GTK_STATE_NORMAL])); -} - -/** - * Helper functions that can fill and refill a table - */ - -static void remove_container_entries (GtkWidget * widget) -{ - GList *list, *node; - list = gtk_container_get_children(GTK_CONTAINER(widget)); - if(list) - { - for(node = g_list_first(list); node; node = g_list_next(node)) - { - gtk_container_remove(GTK_CONTAINER(widget), node->data); - } - g_list_free(list); - } - -} - - -/* Misc */ -static void info2_fill_artist_similar_destroy(GtkWidget *widget, gpointer id) -{ - /* when the widget is destroy, remove the handler */ - g_signal_handler_disconnect(G_OBJECT(gmw),GPOINTER_TO_INT(id)); -} -static void info2_fill_new_meta_callback(GmpcMetaWatcher *gmw2, mpd_Song *fsong, MetaDataType type, MetaDataResult ret, char *path, GtkWidget *vbox) -{ - mpd_Song *song = g_object_get_data(G_OBJECT(vbox), "song"); - if(!song) return; - - if(!gmpc_meta_watcher_match_data(type, song,fsong)) { - return; - } - if(type == META_SONG_SIMILAR ) - { - - /* clear the view, so if it's updated the old data is gone */ - remove_container_entries(vbox); - - if(ret == META_DATA_AVAILABLE) - { - int i,found = 0; - char **str = g_strsplit(path, "\n", 0); - MpdData *data = NULL; - for(i=0;str && str[i] && found < 20;i++){ - char **str2 = g_strsplit(str[i], "::", 2); - if(str2[0] && str2[1]){ - MpdData *data2; - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_TITLE, str2[1]); - - - if(cfg_get_single_value_as_int_with_default(config, "metadata","rename",FALSE)) { - gchar *string = NULL; - int length = strlen(str2[0]); - int li = strlen(str[i]); - string = g_malloc0((length+4)*sizeof(char )); - - - for(; length >= 0 && str2[0][length] != ' ';length--); - - if(length > 0 && length < li) - { - int id = strlen(str2[0])-length-1; - strncat(string, &(str2[0][length+1]),id); - string[id] = ','; - string[id+1] = ' '; - strncat(&(string[id+2]),str2[0],length); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, string); - } - g_free(string); - string = NULL; - } - else - { - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST,str2[0]); - } - data2 = mpd_database_search_commit(connection); - if(data2) - { - data = mpd_data_concatenate(data, data2); - found++; - } - } - g_strfreev(str2); - } - g_strfreev(str); - - if(found == 0){ - GtkWidget *label = gtk_label_new(_("Unavailable")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); - } - else - { - GtkWidget *ali; - GtkWidget *sw = gtk_scrolled_window_new(NULL,NULL); - - - GtkWidget *tree = gmpc_mpddata_treeview_new("metadata-similar-artist-view", - TRUE, - (GtkTreeModel *)gmpc_mpddata_model_new()); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - gmpc_mpddata_treeview_enable_click_fix(GMPC_MPDDATA_TREEVIEW(tree)); - - g_signal_connect(G_OBJECT(tree), "button-release-event", G_CALLBACK(song_list_button_release_event), NULL); - g_signal_connect(G_OBJECT(tree), "row-activated", G_CALLBACK(song_list_row_activated), NULL); - - ali = gtk_alignment_new(0,0.5,0.8,0); - gtk_container_add(GTK_CONTAINER(sw), tree); - gtk_container_add(GTK_CONTAINER(ali), sw); - gtk_box_pack_start(GTK_BOX(vbox),ali,FALSE, TRUE, 0); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(tree))), data); - } - - } - else if (ret == META_DATA_FETCHING) - { - GtkWidget *label = gtk_label_new(_("Fetching...")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); - } - else - { - GtkWidget *label = gtk_label_new(_("Unavailable")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); - } - gtk_widget_show_all(vbox); - } - /* if not artist similar, we aren't interrested */ - else if(type == META_ARTIST_SIMILAR) - { - /* clear the view, so if it's updated the old data is gone */ - remove_container_entries(vbox); - - /* if there is metadata, we always assume it's for us */ - if(ret == META_DATA_AVAILABLE) - { - char **str = g_strsplit(path, "\n", 0); - GList *list = NULL; - int i=0; - song = mpd_newSong(); - for(;str && str[i]&& i<20 ;i++) - { - MpdData *data = NULL; - GtkWidget *event = NULL; - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *gmtv; - - - /* search if the artist is in the db.*/ - - if(cfg_get_single_value_as_int_with_default(config, "metadata","rename",FALSE)) { - gchar *string = NULL; - size_t length = strlen(str[i]); - string = g_malloc0((length+4)*sizeof(char )); - - - for(; length > 0 && str[i][length] != ' ';length--); - - if(length > 0 && length < strlen(str[i])) - { - int id = strlen(str[i])-length-1; - strncat(string, &(str[i][length+1]),id); - string[id] = ','; - string[id+1] = ' '; - strncat(&(string[id+2]),str[i],length); - mpd_database_search_field_start(connection, MPD_TAG_ITEM_ARTIST); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, string); - data = mpd_database_search_commit(connection); - } - g_free(string); - string = NULL; - } - if(!data ) - { - mpd_database_search_field_start(connection, MPD_TAG_ITEM_ARTIST); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, str[i]); - data = mpd_database_search_commit(connection); - } - if (!data && cfg_get_single_value_as_int_with_default(config, "metadata","onlyownsimilar",FALSE)) - continue; - - gmtv = gmpc_metaimage_new_size(META_ARTIST_ART,48); - gmpc_metaimage_set_no_cover_icon(GMPC_METAIMAGE(gmtv), "no-artist"); - gmpc_metaimage_set_loading_cover_icon(GMPC_METAIMAGE(gmtv),(char *)"fetching-artist"); - - /* make the background paintable, and paint the background */ - event = gtk_event_box_new(); - gtk_widget_set_app_paintable(GTK_WIDGET(event), TRUE); - g_signal_connect(G_OBJECT(event), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); - - - hbox = gtk_hbox_new(FALSE,6); - gtk_container_set_border_width(GTK_CONTAINER(hbox),6); - /** - * Aritst Image - */ - if(data) - { - song->artist = data->tag; - }else - song->artist = str[i]; - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(gmtv), song); - gtk_box_pack_start(GTK_BOX(hbox), gmtv,FALSE,TRUE,0); - song->artist = NULL; - /** - * Label - */ - if(data) - label = gtk_label_new(data->tag); - else - label = gtk_label_new(str[i]); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_misc_set_padding(GTK_MISC(label), 8,0); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - gtk_box_pack_start(GTK_BOX(hbox), label,TRUE,TRUE,0); - - - /** - * View button - */ - if(data) - { - GtkWidget *button = gtk_button_new_with_label(_("View")); - gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(data->tag), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_artist_viewed_clicked),NULL); - gtk_box_pack_end(GTK_BOX(hbox), button,FALSE,FALSE,0); - - /** Setup dragging */ - gtk_drag_source_set(event, GDK_BUTTON1_MASK,target_table, 1,GDK_ACTION_COPY|GDK_ACTION_MOVE); - g_signal_connect(G_OBJECT(event), "drag-data-get", G_CALLBACK(info2_artist_drag_data_get), NULL); - g_signal_connect(G_OBJECT(event), "drag-begin", G_CALLBACK(info2_start_drag), NULL); - g_object_set_data_full(G_OBJECT(event), "artist",g_strdup(data->tag), g_free); - g_signal_connect(G_OBJECT(event), "button-press-event",G_CALLBACK(as_artist_viewed_clicked_event),NULL); - gtk_drag_source_set_icon_name(event, "media-artist"); - mpd_data_free(data); - } - - gtk_container_add(GTK_CONTAINER(event), hbox); - list = g_list_append(list, event); - - - } - g_strfreev(str); - - /* add them to the table attach */ - if(list){ - GList *node = g_list_first(list); - i = 0; - for(;node;node = g_list_next(node)){ - gtk_table_attach_defaults(GTK_TABLE(vbox),node->data, i%3, (i)%3+1,i/3,i/3+1); - i++; - } - g_list_free(list); - } - - gtk_widget_show_all(vbox); - mpd_freeSong(song); - - } - - } -} - -/** - * Resets the view - */ -static void info2_prepare_view(void) -{ - GtkWidget *button; - GtkAdjustment *h = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scrolled_window)); - /** Clear widget pointer */ - info2_entry = NULL; - bitrate_label = NULL; - samplerate_label= NULL; - remove_container_entries(resizer_vbox); - gtk_adjustment_set_value(h, 0.0); - /** - * Make sure that if there is still a custom cursor it's cleared - */ - if(resizer_vbox && GTK_WIDGET(resizer_vbox)->window) { - gdk_window_set_cursor(GTK_WIDGET(resizer_vbox)->window,NULL); - } - - /** - * Clear header - */ - - remove_container_entries(title_vbox); - - /** - * Go back, go forward buttons - */ - - button = gtk_button_new_from_stock(GTK_STOCK_GO_FORWARD); - gtk_box_pack_end(GTK_BOX(title_vbox), button, FALSE, TRUE, 0); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_set_sensitive(button, (history_current && history_current->prev)); - g_signal_connect(GTK_WIDGET(button), "clicked", G_CALLBACK(info2_button_forward), NULL); - gtk_widget_show(button); - - button = gtk_button_new_from_stock(GTK_STOCK_GO_BACK); - gtk_box_pack_end(GTK_BOX(title_vbox), button, FALSE, TRUE, 0); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_widget_set_sensitive(button, (history_current && history_current->next)); - g_signal_connect(GTK_WIDGET(button), "clicked", G_CALLBACK(info2_button_back), NULL); - gtk_widget_show(button); -} - - -static void as_album_clicked(GtkButton *button, gpointer userdata) -{ - int clear = GPOINTER_TO_INT(userdata); - char *artist = g_object_get_data(G_OBJECT(button), "artist"); - char *album = g_object_get_data(G_OBJECT(button), "album"); - char *albumartist = g_object_get_data(G_OBJECT(button), "albumartist"); - if(artist) - { - MpdData *data = NULL; - if(clear) - mpd_playlist_clear(connection); - //data = mpd_database_find(connection, MPD_TAG_ITEM_ARTIST, artist, TRUE); - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM,album); - if(albumartist) - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM_ARTIST,albumartist); - else - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, artist); - data = mpd_database_search_commit(connection); - - for(data = misc_sort_mpddata_by_album_disc_track(data);data;data = mpd_data_get_next(data)) - { - if(data->type == MPD_DATA_TYPE_SONG) - { - // if(data->song->album && !strcmp(data->song->album,album)) - { - mpd_playlist_queue_add(connection, data->song->file); - } - } - } - mpd_playlist_queue_commit(connection); - if(clear) - mpd_player_play(connection); - } -} - -static void as_artist_viewed_clicked(GtkButton *button, gpointer data) -{ - char *artist = g_strdup(g_object_get_data(G_OBJECT(button), "artist")); - info2_fill_artist_view(artist); - q_free(artist); -} -static gboolean as_artist_viewed_clicked_event(GtkButton *button, GdkEventButton *event,gpointer data) -{ - if(event->type == GDK_2BUTTON_PRESS) { - as_artist_viewed_clicked(button, data); - return TRUE; - } - return FALSE; -} -static void as_album_viewed_clicked(GtkButton *button, gpointer data) -{ - char *artist = g_strdup(g_object_get_data(G_OBJECT(button), "artist")); - char *album = g_strdup(g_object_get_data(G_OBJECT(button), "album")); - info2_fill_album_view(artist,album); - q_free(artist); - q_free(album); -} -static gboolean as_album_viewed_clicked_event(GtkButton *button, GdkEventButton *event,gpointer data) -{ - - if(event->type == GDK_2BUTTON_PRESS) { - as_album_viewed_clicked(button, data); - return TRUE; - } - return FALSE; -} - -static void as_artist_clicked(GtkButton *button, gpointer userdata) -{ - int clear = GPOINTER_TO_INT(userdata); - char *artist = g_object_get_data(G_OBJECT(button), "artist"); - if(artist) - { - MpdData *data = NULL; - if(clear) - mpd_playlist_clear(connection); - data = mpd_database_find(connection, MPD_TAG_ITEM_ARTIST, artist, TRUE); - for(data = misc_sort_mpddata_by_album_disc_track(data);data;data = mpd_data_get_next(data)) - { - if(data->type == MPD_DATA_TYPE_SONG) - { - mpd_playlist_queue_add(connection, data->song->file); - } - } - mpd_playlist_queue_commit(connection); - if(clear) - mpd_player_play(connection); - } -} - -static void info2_add_table_item(GtkWidget *table,char *name, char *value, int i, int selectable) -{ - GtkWidget *label; - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label), name); - gtk_misc_set_alignment(GTK_MISC(label),0,0); - - gtk_table_attach(GTK_TABLE(table), label,0,1,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - label = gtk_label_new(value); - if(selectable) - gtk_label_set_selectable(GTK_LABEL(label), TRUE); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table),label,1,2,i,i+1,GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD); - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); -} -static void info2_add_table_item_widget(GtkWidget *table,char *name, GtkWidget *value, int i) -{ - GtkWidget *label; - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label), name); - gtk_misc_set_alignment(GTK_MISC(label),0,0); - - gtk_table_attach(GTK_TABLE(table), label,0,1,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - label = value; - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table),label,1,2,i,i+1,GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD); - gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); -} - -/** - * Create an artist "button" - */ - -static GtkWidget *info2_create_artist_button(mpd_Song *song) -{ - gchar *markup; - GtkWidget *metaimage,*vbox,*ali,*label,*button,*event,*table; - int i = 0; - - - /* Button bg drawing code */ - event = gtk_event_box_new(); - gtk_widget_set_app_paintable(GTK_WIDGET(event), TRUE); - g_signal_connect(G_OBJECT(event), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); - - - vbox = gtk_hbox_new(FALSE, 6); - gtk_container_set_border_width(GTK_CONTAINER(vbox),4); - - /** Create artist image */ - metaimage = gmpc_metaimage_new_size(META_ARTIST_ART,96); - gmpc_metaimage_set_no_cover_icon(GMPC_METAIMAGE(metaimage), "no-artist"); - gmpc_metaimage_set_loading_cover_icon(GMPC_METAIMAGE(metaimage),(char *)"fetching-artist"); - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(metaimage), song); - gtk_box_pack_start(GTK_BOX(vbox), metaimage, FALSE, TRUE,0); - - /** Create table */ - table = gtk_table_new(1,1,FALSE); - gtk_table_set_col_spacings(GTK_TABLE(table),6); - /** - * Artist - */ - if(song->artist) { - markup = g_markup_printf_escaped("%s:",_("Artist")); - info2_add_table_item(table,markup,song->artist,i,FALSE); - g_free(markup); - i++; - } - if(mpd_server_check_version(connection, 0,13,0) && song->artist) - { - markup = g_markup_printf_escaped("%s:",_("Songs")); - - /** - * Songs list - */ - info2_add_table_item_widget(table,markup,gmpc_stats_label_new(ARTIST_NUM_SONGS,song),i); - i++; - g_free(markup); - markup = g_markup_printf_escaped("%s:",_("Playtime")); - info2_add_table_item_widget(table,markup,gmpc_stats_label_new(ARTIST_PLAYTIME_SONGS,song),i); - g_free(markup); - i++; - } - markup = g_markup_printf_escaped("%s:",_("Genre")); - info2_add_table_item_widget(table,markup,gmpc_stats_label_new(ARTIST_GENRES_SONGS,song),i); - g_free(markup); - i++; - markup = g_markup_printf_escaped("%s:",_("Date")); - info2_add_table_item_widget(table,markup,gmpc_stats_label_new(ARTIST_DATES_SONGS,song),i); - g_free(markup); - i++; - - gtk_box_pack_start(GTK_BOX(vbox), table, TRUE,TRUE,0); - - - /** Button box */ - label = gtk_vbox_new(FALSE,0); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE,0); - /* Play button */ - button = gtk_button_new_with_label(_("Replace")); - gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(GTK_STOCK_REDO,GTK_ICON_SIZE_BUTTON)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_artist_clicked), GINT_TO_POINTER(1)); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(label), ali,FALSE,TRUE,0); - /* Add */ - button = gtk_button_new_from_stock(GTK_STOCK_ADD); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_artist_clicked),GINT_TO_POINTER(0)); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(label),ali,FALSE,TRUE,0); - /* View */ - button = gtk_button_new_with_label(_("View")); - gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_artist_viewed_clicked),NULL); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(label), ali, FALSE,TRUE,0); - - - /** Add button to bg container */ - gtk_container_add(GTK_CONTAINER(event), vbox); - - /** Setup dragging */ - gtk_drag_source_set(event, GDK_BUTTON1_MASK,target_table, 1,GDK_ACTION_COPY|GDK_ACTION_MOVE); - g_signal_connect(G_OBJECT(event), "drag-data-get", G_CALLBACK(info2_artist_drag_data_get), NULL); - g_signal_connect(G_OBJECT(event), "drag-begin", G_CALLBACK(info2_start_drag), NULL); - g_object_set_data_full(G_OBJECT(event), "artist",g_strdup(song->artist), g_free); - g_signal_connect(G_OBJECT(event), "button-press-event",G_CALLBACK(as_artist_viewed_clicked_event),NULL); - gtk_drag_source_set_icon_name(event, "media-artist"); - - return event; -} - - -/** - * Song View - */ -/* herlper function */ -static void info2_fill_song_view_sim_song_activate(GtkExpander *exp,gpointer data) -{ - if(gtk_bin_get_child(GTK_BIN(exp)) == NULL) - { - GtkWidget *misc = gtk_alignment_new(0,0.5,1,0); - GtkWidget *vbox2 = gtk_vbox_new(FALSE, 6); - char *similar = NULL; - guint id = 0; - mpd_Song *song = g_object_get_data(G_OBJECT(exp), "song"); - MetaDataResult ret; - - /* connect a signal handler */ - id = g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(info2_fill_new_meta_callback), vbox2); - /* do a request to the meta watcher */ - ret = gmpc_meta_watcher_get_meta_path(gmw,song, META_SONG_SIMILAR, &similar); - - g_object_set_data(G_OBJECT(vbox2), "song", (gpointer)song); - /* fill the list if it' s allready available */ - info2_fill_new_meta_callback(gmw, song, META_SONG_SIMILAR, ret, similar, vbox2); - if(similar) - g_free(similar); - /* if destroyed disconnect the metawatcher */ - g_signal_connect(G_OBJECT(vbox2), "destroy", G_CALLBACK(info2_fill_artist_similar_destroy), GINT_TO_POINTER(id)); - - /* Add it to the view */ - gtk_alignment_set_padding(GTK_ALIGNMENT(misc), 0,0,12,0); - gtk_container_add(GTK_CONTAINER(misc), vbox2); - //gtk_box_pack_start(GTK_BOX(resizer_vbox),misc,FALSE, FALSE, 0); - gtk_container_add(GTK_CONTAINER(exp), misc); - gtk_widget_show(misc); - } -} -/* -static void pl3_metadata_rating_changed(GmpcRating *rat, gint rating, gchar *file) -{ - gchar *value = g_strdup_printf("%i", rating); - mpd_sticker_song_set(connection, file, "rating",value); - g_free(value); -} -*/ -static void info2_fill_song_view_real(mpd_Song *song) -{ - GtkWidget *expander, *gmtv,*table, *table2,*image,*ali,*button, *label,*hbox; - GtkWidget *event, *ali2; - char *markup = NULL; - int i = 0; - mpd_Song *cur = mpd_playlist_get_current_song(connection); - - /** - * Clear the view - */ - info2_prepare_view(); - - //song = mpd_database_get_fileinfo(connection, path); - if(!song) - return; - if(cur && strcmp(song->file, cur->file)) - { - /* disable the current songs thingy */ - show_current_song = FALSE; - } - - - - /** - * Create Header - * +----------------------------------------------------+ - * | Collection// | - * +----------------------------------------------------+ - */ - /* Collection */ - if(show_current_song == FALSE) - { - button = gtk_button_new(); - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s",_("Collection")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(info2_fill_view), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_box_pack_start(GTK_BOX(title_vbox),button, FALSE, TRUE,0); - - /* separator */ - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label),"/"); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - /* artist */ - if(song->artist) - { - button = gtk_button_new(); - label = gtk_label_new(""); - markup = g_markup_printf_escaped ("%s", song->artist); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_label_set_markup(GTK_LABEL(label),markup); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_artist_viewed_clicked), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_box_pack_start(GTK_BOX(title_vbox),button, FALSE, TRUE,0); - q_free(markup); - } - /* separator */ - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label),"/"); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - /* album */ - if(song->album) - { - button = gtk_button_new(); - markup = g_markup_printf_escaped ("%s", song->album); - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_label_set_markup(GTK_LABEL(label),markup); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song->album), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_album_viewed_clicked), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_box_pack_start(GTK_BOX(title_vbox), button, TRUE, TRUE,0); - q_free(markup); - } - gtk_widget_show_all(title_vbox); - } - else - { - button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_box_pack_start(GTK_BOX(title_vbox), button, FALSE,FALSE,0); - g_signal_connect(G_OBJECT(button), "clicked" , G_CALLBACK(info2_disable_show_current), NULL); - gtk_widget_hide(title_vbox); - } - /** - * Title Label - * +-----------------+ - * | Header | - * +-----------------+ - * | Title label | <--- - * +-----------------+ - */ - if(song->title) - { - label = gtk_label_new(""); - gtk_label_set_selectable(GTK_LABEL(label), TRUE); - markup = g_markup_printf_escaped ("%s", song->title); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - gtk_label_set_markup(GTK_LABEL(label),markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_misc_set_padding(GTK_MISC(label),8,8); - q_free(markup); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE, FALSE,0); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - } - /** - * Set album image - * +----------------+ - * | Header | - * +----------------+ - * | title label | - * +----------------+ - * | img | song info| <--- - * +----------------+ - * /\ - * | - */ - - table = gtk_table_new(2,2,FALSE); - gtk_box_pack_start(GTK_BOX(resizer_vbox), table, FALSE, TRUE,0); - - gtk_container_set_border_width(GTK_CONTAINER(table), 8); - image = gmpc_metaimage_new_size(META_ALBUM_ART,150); - - ali = gtk_alignment_new(0.5, 0.0, 0.0,0.0); - gtk_container_add(GTK_CONTAINER(ali), image); - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(image), song); - gtk_table_attach(GTK_TABLE(table), ali, 0,1,0,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - table2 = gtk_table_new(2,2,FALSE); - gtk_container_set_border_width(GTK_CONTAINER(table2), 8); - gtk_table_set_col_spacings(GTK_TABLE(table2), 6); - gtk_table_attach(GTK_TABLE(table), table2, 1,2,0,1,GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,0,0); - - if(song->title) { - markup = g_markup_printf_escaped("%s:", _("Title")); - info2_add_table_item(table2,markup,song->title,i,TRUE); - g_free(markup); - i++; - } - if(song->time > 0) - { - /*** Dirname */ - char *strtime= format_time_real(song->time, ""); - markup = g_markup_printf_escaped("%s:", _("Duration")); - info2_add_table_item(table2,markup,strtime,i,TRUE); - g_free(markup); - i++; - q_free(strtime); - } - if(song->artist) { - markup = g_markup_printf_escaped("%s:", _("Artist")); - info2_add_table_item(table2,markup,song->artist,i,TRUE); - g_free(markup); - i++; - } - if(song->album) { - markup = g_markup_printf_escaped("%s:", _("Album")); - info2_add_table_item(table2,markup,song->album,i,TRUE); - g_free(markup); - i++; - } - if(song->track) { - markup = g_markup_printf_escaped("%s:", _("Track")); - info2_add_table_item(table2,markup,song->track,i,TRUE); - g_free(markup); - i++; - } - if(song->genre) { - markup = g_markup_printf_escaped("%s:", _("Genre")); - info2_add_table_item(table2,markup,song->genre,i,TRUE); - g_free(markup); - i++; - } - if(song->date) { - markup = g_markup_printf_escaped("%s:", _("Date")); - info2_add_table_item(table2,markup,song->date,i,TRUE); - g_free(markup); - i++; - } - if(song->composer) { - markup = g_markup_printf_escaped("%s:", _("Composer")); - info2_add_table_item(table2,markup,song->composer,i,TRUE); - g_free(markup); - i++; - } - if(song->performer) { - markup = g_markup_printf_escaped("%s:", _("Performer")); - info2_add_table_item(table2,markup,song->performer,i,TRUE); - g_free(markup); - i++; - } - - if(song->file) { - /*** Dirname */ - char *dirname = g_path_get_dirname(song->file); - markup = g_markup_printf_escaped("%s:", _("Directory")); - info2_add_table_item(table2,markup,dirname,i,TRUE); - g_free(markup); - i++; - q_free(dirname); - } - - if(song->file && strncmp(song->file, "http://",7)) { - char *ext = NULL; - int j = strlen(song->file); - markup = g_markup_printf_escaped("%s:", _("Extension")); - - for(;j>0&&song->file[j] != '.';j--); - ext= g_strdup(&(song->file)[j+1]); - info2_add_table_item(table2,markup,ext,i,TRUE); - g_free(markup); - i++; - q_free(ext); - } - if(song->file) - { - if(mpd_sticker_supported(connection)) - { - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Rating")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table2), label,0,1,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - ali = gtk_alignment_new(0.0,0.5,0,1); - label = (GtkWidget *)gmpc_rating_new(connection, song); - gtk_container_add(GTK_CONTAINER(ali), label); - gtk_table_attach(GTK_TABLE(table2),ali,1,2,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - i++; - } - } - - if(show_current_song) - { - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Bitrate")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table2), label,0,1,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - bitrate_label = label = gtk_label_new(_("n/a")); - gtk_label_set_selectable(GTK_LABEL(label), TRUE); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table2),label,1,2,i,i+1,GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - i++; - - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Audio format")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table2), label,0,1,i,i+1,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - samplerate_label = label = gtk_label_new(_("n/a")); - gtk_label_set_selectable(GTK_LABEL(label), TRUE); - gtk_misc_set_alignment(GTK_MISC(label),0,0.5); - gtk_table_attach(GTK_TABLE(table2),label,1,2,i,i+1,GTK_EXPAND|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - i++; - } - /** - * Replace Button - */ - hbox = gtk_hbox_new(FALSE,6); - button = gtk_button_new_with_label(_("Replace")); - gtk_button_set_image(GTK_BUTTON(button),gtk_image_new_from_stock(GTK_STOCK_REDO,GTK_ICON_SIZE_BUTTON)); - g_object_set_data_full(G_OBJECT(button), "file",g_strdup(song->file), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_song_clicked), GINT_TO_POINTER(1)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - /** - * Add Button - */ - button = gtk_button_new_from_stock(GTK_STOCK_ADD); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "file",g_strdup(song->file), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_song_clicked),GINT_TO_POINTER(2)); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox),ali,FALSE,TRUE,0); - /** - * Play Button - */ - button = gtk_button_new_from_stock(GTK_STOCK_MEDIA_PLAY); - g_object_set_data_full(G_OBJECT(button), "file",g_strdup(song->file), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_song_clicked),GINT_TO_POINTER(0)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - - gtk_table_attach(GTK_TABLE(table), hbox, 1,2,1,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - /* - * Lyrics - */ - /* label */ - expander= gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Lyrics")); - gtk_label_set_markup(GTK_LABEL(expander), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(expander), 0,0.5); - gtk_misc_set_padding(GTK_MISC(expander), 8,0); - - event = gtk_event_box_new(); - ali2 = gtk_alignment_new(0,0,0.5,0); - ali = gtk_alignment_new(0,0,0.5,0); - /* the lyric */ - gmtv = gmpc_meta_text_view_new(META_SONG_TXT); - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(gmtv), 8); - gtk_widget_modify_base(gmtv, GTK_STATE_NORMAL, &(resizer_vbox->style->mid[GTK_STATE_NORMAL])); - gmpc_meta_text_view_query_text_from_song(GMPC_META_TEXT_VIEW(gmtv), song); - - - gtk_box_pack_start(GTK_BOX(resizer_vbox), expander, FALSE, FALSE,0); - gtk_widget_modify_bg(event, GTK_STATE_NORMAL, &(resizer_vbox->style->dark[GTK_STATE_NORMAL])); - gtk_alignment_set_padding(GTK_ALIGNMENT(ali), 1,1,1,1); - gtk_alignment_set(GTK_ALIGNMENT(ali), 0,0,1,0); - gtk_alignment_set_padding(GTK_ALIGNMENT(ali2), 0,0,12,0); - - gtk_container_add(GTK_CONTAINER(ali), gmtv); - gtk_container_add(GTK_CONTAINER(event), ali); - gtk_container_add(GTK_CONTAINER(ali2), event); - gtk_box_pack_start(GTK_BOX(resizer_vbox), ali2, FALSE,FALSE,0); - - /* Songs with similar name */ - if(song->title) - { - MpdData *data = NULL; - /* Do a query for the exact title */ - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_TITLE, song->title); - data = mpd_database_search_commit(connection); - if(data && !mpd_data_is_last(data)) { - GtkWidget *sw = gtk_scrolled_window_new(NULL,NULL); - - GtkWidget *tree = gmpc_mpddata_treeview_new("metadata-same-title-view", - TRUE, - (GtkTreeModel *)gmpc_mpddata_model_new()); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Songs with same title")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_misc_set_padding(GTK_MISC(label), 8,3); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); - gmpc_mpddata_treeview_enable_click_fix(GMPC_MPDDATA_TREEVIEW(tree)); - - g_signal_connect(G_OBJECT(tree), "button-release-event", G_CALLBACK(song_list_button_release_event), NULL); - g_signal_connect(G_OBJECT(tree), "row-activated", G_CALLBACK(song_list_row_activated), NULL); - - ali = gtk_alignment_new(0,0.5,0.8,0); - gtk_alignment_set_padding(GTK_ALIGNMENT(ali), 0,0,10,0); - gtk_container_add(GTK_CONTAINER(sw), tree); - gtk_container_add(GTK_CONTAINER(ali), sw); - gtk_box_pack_start(GTK_BOX(resizer_vbox),ali,FALSE, TRUE, 0); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(tree))), data); - data = NULL; - gtk_widget_show_all(label); - gtk_widget_show_all(ali); - } - if(data) {mpd_data_free(data);data=NULL;} - } - - /* Similar songs */ - - if(song->artist && song->title) - { - /* set the label */ - label = gtk_expander_new(""); - markup = g_markup_printf_escaped("%s:", _("Similar songs")); - gtk_expander_set_use_markup(GTK_EXPANDER(label),TRUE); - gtk_expander_set_label(GTK_EXPANDER(label),markup); - g_free(markup); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - g_object_set_data_full(G_OBJECT(label), "song", (gpointer)mpd_songDup(song), (GDestroyNotify)mpd_freeSong); - g_signal_connect(G_OBJECT(label), "activate", G_CALLBACK(info2_fill_song_view_sim_song_activate), NULL); - } - - label = (GtkWidget *)gmpc_song_links_new(GMPC_SONG_LINKS_TYPE_SONG,song); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - - gtk_widget_show_all(info2_vbox); -} - - -static void as_song_clicked(GtkButton *button, gpointer data) -{ - int option = GPOINTER_TO_INT(data); - char *file = g_object_get_data(G_OBJECT(button), "file"); - if(file) - { - if(option == 2) - mpd_playlist_add(connection, file); - else - { - if(option == 1) - mpd_playlist_clear(connection); - play_path(file); - } - } -} - -/*** - * Collection view - */ -static void info2_fill_view_entry_activate(GtkEntry *entry, GtkWidget *table) -{ - const char *text = NULL; - GtkTreeModel *model =gtk_entry_completion_get_model(GTK_ENTRY_COMPLETION(entry_completion)); - GtkTreeIter iter; - GTimeVal start, stop; - GTimeVal diff; - /** - * Remove all the remaining widgets in the view - */ - remove_container_entries(table); - - - /** get text - */ - text = gtk_entry_get_text(entry); - if(strlen(text) > 0) - { - GError *error = NULL; - GRegex *reg; - int skip = 0; - int num_cols = 2; - int songs = 0; - int tile_size = 300; - int overflow = cfg_get_single_value_as_int_with_default(config, "metadata", "overflow-amount", 50); - MpdData *data = NULL; - mpd_Song *song; - reg = g_regex_new(text, G_REGEX_CASELESS|G_REGEX_OPTIMIZE, 0, &error); - - if(error) { - GtkWidget *label = gtk_label_new(""); - gchar *errmsg = g_markup_printf_escaped("%s: %s", _("Invalid search"), error->message); - gtk_label_set_markup(GTK_LABEL(label), errmsg); - gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - gtk_box_pack_start(GTK_BOX(table), label, FALSE, FALSE,0); - debug_printf(DEBUG_ERROR, "Error compiling regex: %s -> %s", text, error->message); - gtk_widget_show_all(table); - g_error_free(error); - if(reg) - g_regex_unref(reg); - g_free(errmsg); - return; - } - /** - * update completion - */ - if(gtk_tree_model_get_iter_first(model, &iter)) - { - do{ - char *oldname = NULL; - gtk_tree_model_get(model, &iter, 0,&oldname,-1); - if(!strcmp(text, oldname)) skip=TRUE; - q_free(oldname); - }while(gtk_tree_model_iter_next(model, &iter) && skip); - } - if(!skip) - { - gtk_list_store_insert_with_values(GTK_LIST_STORE(model), &iter, 0, 0, text, -1); - } - - - g_get_current_time(&start); - - data = mpd_database_get_artists(connection); - num_cols = (int)(resizer_vbox->allocation.width-20)/(tile_size+6); - song = mpd_newSong(); - for(;data;data = mpd_data_get_next(data)) - { - if(songs < overflow && g_regex_match(reg, data->tag, 0, NULL)) - { - GtkWidget *button; - song->artist = data->tag; - button = info2_create_artist_button(song); - gtk_box_pack_start(GTK_BOX(table), button, FALSE, FALSE,0); - song->artist = NULL; - songs++; - } - } - - /* if there is an "overflow" show a message */ - if(songs >= overflow) - { - GtkWidget *box = gtk_hbox_new(FALSE, 6); - gchar *buffer = g_strdup_printf(_("Only the first %i result displayed, please refine your search query"), overflow); - GtkWidget *temp = gtk_image_new_from_stock(GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); - gtk_box_pack_start(GTK_BOX(box), temp, FALSE, TRUE, 0); - temp = gtk_label_new(buffer); - gtk_misc_set_alignment(GTK_MISC(temp), 0,0.5); - gtk_label_set_line_wrap(GTK_LABEL(temp), TRUE); - gtk_box_pack_start(GTK_BOX(box), temp, TRUE, TRUE, 0); - - gtk_box_pack_start(GTK_BOX(table), box, FALSE, FALSE,0); - g_free(buffer); - } - g_get_current_time(&stop); - diff.tv_usec = stop.tv_usec - start.tv_usec; - - diff.tv_sec = stop.tv_sec - start.tv_sec; - if(diff.tv_usec < 0) - { - diff.tv_sec -= 1; - diff.tv_sec += G_USEC_PER_SEC; - } - - g_regex_unref(reg); - mpd_freeSong(song); - } - gtk_widget_show_all(resizer_vbox); - } - -static void info2_fill_view_real(void) -{ - GtkWidget *hbox, *label, *button; - GtkWidget *artist_table = NULL; - gchar *markup; - /* disable the current songs thingy */ - show_current_song = FALSE; - info2_prepare_view(); - /** Nothing is selected so we are in the basic view - */ - /** add buttons */ - button = gtk_button_new(); - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s",_("Collection")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(info2_fill_view), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_box_pack_start(GTK_BOX(title_vbox), button, FALSE, TRUE, 0); - gtk_widget_show_all(title_vbox); - - /** - * Set up the search Row - */ - hbox = gtk_hbox_new(FALSE, 6); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 8); - /* The label */ - label = gtk_label_new(_("Find Artist:")); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, TRUE, 0); - /* The Entry */ - info2_entry = gtk_entry_new(); - - gtk_box_pack_start(GTK_BOX(hbox), info2_entry, TRUE, TRUE, 0); - /* button */ - gtk_box_pack_start(GTK_BOX(resizer_vbox), hbox, FALSE, TRUE, 0); - - artist_table = gtk_vbox_new(FALSE,8); - gtk_container_set_border_width(GTK_CONTAINER(artist_table), 8); - gtk_box_pack_start(GTK_BOX(resizer_vbox), artist_table, FALSE, TRUE, 0); - g_signal_connect(G_OBJECT(info2_entry), "activate", G_CALLBACK(info2_fill_view_entry_activate), artist_table); - /** - * Entry completion - */ - - if(!entry_completion) - { - GtkListStore *store = gtk_list_store_new(1, G_TYPE_STRING); - entry_completion = gtk_entry_completion_new(); - gtk_entry_completion_set_model(GTK_ENTRY_COMPLETION(entry_completion), GTK_TREE_MODEL(store)); - gtk_entry_completion_set_text_column(GTK_ENTRY_COMPLETION(entry_completion), 0); - gtk_entry_completion_set_inline_completion(GTK_ENTRY_COMPLETION(entry_completion), TRUE); - } - else{ - GtkTreeModel *model =gtk_entry_completion_get_model(GTK_ENTRY_COMPLETION(entry_completion)); - GtkTreeIter iter; - if(gtk_tree_model_get_iter_first(model, &iter)) - { - gchar *text= NULL; - gtk_tree_model_get(model, &iter,0, &text, -1); - if(text){ - gtk_entry_set_text(GTK_ENTRY(info2_entry), text); - gtk_widget_activate(GTK_WIDGET(info2_entry)); - q_free(text); - } - } - } - gtk_entry_set_completion(GTK_ENTRY(info2_entry), GTK_ENTRY_COMPLETION(entry_completion)); - - gtk_widget_show_all(resizer_vbox); -} - -/******* - * ARTIST VIEW - */ - -static int info2_sort_year(GtkWidget *a, GtkWidget *b) -{ - gchar *sa = g_object_get_data(G_OBJECT(a), "date"); - gchar *sb = g_object_get_data(G_OBJECT(b), "date"); - if(sa &&!sb) - return -1; - if(!sa &&sb) - return 1; - if(sa && sb) - { - int ia = atoi(sa); - int ib = atoi(sb); - return ia-ib; - } - return 0; -} - -static void info2_fill_artist_view_real(mpd_Song *song2) -{ - gchar *markup; - GtkWidget *expander,*hbox, *vbox,*button,*table,*table2,*gmtv,*ali,*label; - int i=0,items=0; - GString *string = NULL; - gchar *buffer = NULL; - MpdData *data = NULL; - /* disable the current songs thingy */ - show_current_song = FALSE; - /** - * clean the view - */ - info2_prepare_view(); - /** - * Draw the header box - * +--------------------+ - * |Collection/ | <-- - * +--------------------+ - */ - { - /* collections button */ - button = gtk_button_new(); - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s",_("Collection")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(info2_fill_view), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_box_pack_start(GTK_BOX(title_vbox),button, FALSE, TRUE,0); - - /* separator */ - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label),"/"); - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - - if(song2->artist) - { - /* Artist label*/ - buffer = g_markup_printf_escaped ("%s", song2->artist); - label = gtk_label_new(""); - gtk_label_set_markup(GTK_LABEL(label),buffer); - - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - gtk_widget_show_all(title_vbox); - q_free(buffer); - } - } - - /** - * Artist info box - * +-----------------------+ - * | Header | - * +-----------------------+ - * | | text | <-- - * |img +---------------+ - * | | buttons | - * +-------+---------------+ - */ - - table = gtk_table_new(2,2,FALSE); - - gtk_table_set_col_spacings(GTK_TABLE(table),6); - gtk_container_set_border_width(GTK_CONTAINER(table), 8); - /** pack the table and add to view */ - gtk_box_pack_start(GTK_BOX(resizer_vbox), table, FALSE, TRUE,0); - - - /* Artist image */ - gmtv = gmpc_metaimage_new_size(META_ARTIST_ART,150); - gmpc_metaimage_set_no_cover_icon(GMPC_METAIMAGE(gmtv), "no-artist"); - gmpc_metaimage_set_loading_cover_icon(GMPC_METAIMAGE(gmtv),(char *)"fetching-artist"); - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(gmtv), song2); - - gtk_table_attach(GTK_TABLE(table), gmtv, 0,1,0,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - /** - * Table containing Artist info (aka "text") - */ - table2 = gtk_table_new(2,2,0); - gtk_table_set_col_spacings(GTK_TABLE(table2),6); - gtk_table_attach(GTK_TABLE(table),table2, 1,2,0,1,GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,0,0); - - i=0; - /* Genre field */ - mpd_database_search_field_start(connection, MPD_TAG_ITEM_GENRE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, song2->artist); - string = g_string_new(""); - items = 0; - for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) { - g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); - items++; - } - if(string->len >0) { - info2_add_table_item(table2, ngettext("Genre: ", "Genres: ", items), string->str, i,TRUE); - i++; - } - g_string_free(string, TRUE); - - /* Dates */ - mpd_database_search_field_start(connection, MPD_TAG_ITEM_DATE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, song2->artist); - string = g_string_new(""); - items= 0; - for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) { - g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); - items++; - } - if(string->len >0) { - info2_add_table_item(table2, ngettext("Date: ", "Dates: ", items), string->str, i,TRUE); - i++; - } - g_string_free(string, TRUE); - - - if(mpd_server_check_version(connection, 0,13,0) && song2->artist) - { - MpdDBStats *stats = NULL; - /* Songs list */ - mpd_database_search_stats_start(connection); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, song2->artist); - stats = mpd_database_search_stats_commit(connection); - if(stats) - { - buffer = g_strdup_printf("%i", stats->numberOfSongs); - markup = g_markup_printf_escaped("%s:", _("Songs")); - info2_add_table_item(table2,markup,buffer,i,TRUE); - g_free(markup); - i++; - q_free(buffer); - /* Playtime */ - buffer = format_time_real(stats->playTime,""); - markup = g_markup_printf_escaped("%s:", _("Playtime")); - info2_add_table_item(table2,markup,buffer,i,TRUE); - g_free(markup); - i++; - q_free(buffer); - mpd_database_search_free_stats(stats); - } - } - - /** - * Control widgets - */ - /* Play Button */ - hbox = gtk_hbox_new(FALSE,6); - button = gtk_button_new_with_label(_("Replace")); - gtk_button_set_image(GTK_BUTTON(button),gtk_image_new_from_stock(GTK_STOCK_REDO,GTK_ICON_SIZE_BUTTON)); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song2->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_artist_clicked), GINT_TO_POINTER(1)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - /* Add Button */ - button = gtk_button_new_from_stock(GTK_STOCK_ADD); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song2->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_artist_clicked),GINT_TO_POINTER(0)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - gtk_table_attach(GTK_TABLE(table), hbox, 1,2,1,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - vbox = gtk_vbox_new(FALSE, 6); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); - - /** - * Artist Information Text view - * +-------------------------------------+ - * | header | - * +-------------------------------------+ - * | info box | - * +-------------------------------------+ - * | artist info text (expander) | <--- - * +-------------------------------------+ - */ - expander = gtk_expander_new(_("Artist info:")); - gmtv = gmpc_meta_text_view_new(META_ARTIST_TXT); - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(gmtv), 12); - /* expander */ - gtk_expander_set_use_markup(GTK_EXPANDER(expander),TRUE); - markup = g_markup_printf_escaped("%s:", _("Artist information")); - gtk_expander_set_label(GTK_EXPANDER(expander), markup); - g_free(markup); - /* query */ - gmpc_meta_text_view_query_text_from_song(GMPC_META_TEXT_VIEW(gmtv), song2); - gtk_container_add(GTK_CONTAINER(expander), gmtv); - gtk_box_pack_start(GTK_BOX(vbox), expander, TRUE,TRUE,0); - gtk_box_pack_start(GTK_BOX(resizer_vbox), vbox, FALSE, FALSE,0); - - /** - * Album list - * +-------------------------------------+ - * | header | - * +-------------------------------------+ - * | info box | - * +-------------------------------------+ - * | artist info text (expander) | - * +-------------------------------------+ - * | Album list | <-- - * +-------------------------------------+ - */ - if(song2 && song2->artist) - { - GList *node,*list = NULL; - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Albums")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_misc_set_padding(GTK_MISC(label),8,8); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE, FALSE,0); - /** - * Create a nice album list - * set a vbox - */ - vbox = gtk_vbox_new(FALSE, 6); - data = mpd_database_get_albums(connection, song2->artist); - for(;data;data = mpd_data_get_next(data)) - { - GtkWidget *event = info2_create_album_button(song2->artist, data->tag); - list = g_list_append(list, event); - } - /* sort it */ - list = g_list_sort(list, (GCompareFunc)info2_sort_year); - for(node = g_list_first(list);node; node = g_list_next(node)) - { - gtk_box_pack_start(GTK_BOX(vbox),(GtkWidget *)node->data, FALSE,TRUE,0); - - } - g_list_free(list); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 8); - gtk_box_pack_start(GTK_BOX(resizer_vbox),vbox,FALSE, FALSE, 0); - } - if(song2 && song2->artist) - { - GtkWidget *vbox2 = gtk_table_new(2,3,TRUE); - char *similar = NULL; - guint id = 0; - MetaDataResult ret; - - /* Set spacing */ - gtk_table_set_col_spacings(GTK_TABLE(vbox2), 6); - gtk_table_set_row_spacings(GTK_TABLE(vbox2), 6); - /* make sure the marges are correct */ - gtk_container_set_border_width(GTK_CONTAINER(vbox2), 8); - /* connect a signal handler */ - id = g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(info2_fill_new_meta_callback), vbox2); - /* do a request to the meta watcher */ - g_object_set_data_full(G_OBJECT(vbox2), "song", (gpointer)mpd_songDup(song2), (GDestroyNotify)mpd_freeSong); - ret = gmpc_meta_watcher_get_meta_path(gmw,song2, META_ARTIST_SIMILAR, &similar); - /* set the label */ - label = gtk_label_new(""); - markup = g_markup_printf_escaped("%s:", _("Similar Artists")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_misc_set_padding(GTK_MISC(label), 8,0); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - /* fill the list if it' s allready available */ - info2_fill_new_meta_callback(gmw, song2, META_ARTIST_SIMILAR, ret, similar, vbox2); - if(similar) - g_free(similar); - /* if destroyed disconnect the metawatcher */ - g_signal_connect(G_OBJECT(vbox2), "destroy", G_CALLBACK(info2_fill_artist_similar_destroy), GINT_TO_POINTER(id)); - /* Add it to the view */ - gtk_box_pack_start(GTK_BOX(resizer_vbox),vbox2,FALSE, FALSE, 0); - } - - label = (GtkWidget *)gmpc_song_links_new(GMPC_SONG_LINKS_TYPE_ARTIST,song2); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - gtk_widget_show_all(info2_vbox); -} - - -/***** - * View Album - */ -static void song_list_row_activated(GtkTreeView *tree, - GtkTreePath *path, - GtkTreeViewColumn *column, - gpointer data) -{ - GtkTreeIter iter; - if(gtk_tree_model_get_iter(gtk_tree_view_get_model(tree), &iter, path)) - { - mpd_Song *song; - gtk_tree_model_get(gtk_tree_view_get_model(tree), &iter, MPDDATA_MODEL_COL_MPDSONG, &song, -1); - if(song) info2_fill_song_view(song); - } -} -/** - * Handles right mouse release on song list - */ -static void song_list_open_selected_songs(GtkWidget *item, GtkTreeView *tree) -{ - GtkTreeSelection *sel = gtk_tree_view_get_selection(tree); - GtkTreeModel *model = gtk_tree_view_get_model(tree); - /* get a list of selected paths */ - GList *list = gtk_tree_selection_get_selected_rows(sel, &model); - if(list) - { - GtkTreeIter piter; - GList *iter = g_list_first(list); - /* iterate over all the selected rows */ - if(iter){ - /* get iter from path */ - if(gtk_tree_model_get_iter(model, &piter, iter->data)) - { - mpd_Song *song; - gtk_tree_model_get(model, &piter, MPDDATA_MODEL_COL_MPDSONG, &song, -1); - if(song) info2_fill_song_view(song); - } - } - mpd_playlist_queue_commit(connection); - /* cleanup */ - g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); - g_list_free(list); - } -} - -static void song_list_add_selected_songs(GtkWidget *item, GtkTreeView *tree) -{ - GtkTreeSelection *sel = gtk_tree_view_get_selection(tree); - GtkTreeModel *model = gtk_tree_view_get_model(tree); - /* get a list of selected paths */ - GList *list = gtk_tree_selection_get_selected_rows(sel, &model); - if(list) - { - GtkTreeIter piter; - GList *iter = g_list_first(list); - /* iterate over all the selected rows */ - for(;iter;iter = g_list_next(iter)) - { - /* get iter from path */ - if(gtk_tree_model_get_iter(model, &piter, iter->data)) - { - gchar *path; - gtk_tree_model_get(model, &piter, MPDDATA_MODEL_COL_PATH, &path, -1); - mpd_playlist_queue_add(connection, path); - g_free(path); - } - } - mpd_playlist_queue_commit(connection); - /* cleanup */ - g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); - g_list_free(list); - } -} - -static void song_list_replace_selected_songs(GtkWidget *item, GtkTreeView *tree) -{ - mpd_playlist_clear(connection); - if(mpd_check_connected(connection)) - { - song_list_add_selected_songs(item, tree); - mpd_player_play(connection); - } -} -static gboolean song_list_button_release_event(GtkTreeView *tree, - GdkEventButton *event, - gpointer data) -{ - /* only on right mouse click */ - if(event->button == 3) - { - GtkWidget *menu, *item; - GtkTreeSelection *selection = gtk_tree_view_get_selection(tree); - int count = gtk_tree_selection_count_selected_rows(selection); - - /* create menu to popup */ - menu = gtk_menu_new(); - /* only show when soething is selected */ - if(count >0) - { - if(count == 1) { - item = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(song_list_open_selected_songs), tree); - } - - /* add the add widget */ - item = gtk_image_menu_item_new_from_stock(GTK_STOCK_ADD,NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(song_list_add_selected_songs), tree); - /* add the replace widget */ - item = gtk_image_menu_item_new_with_label("Replace"); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), - gtk_image_new_from_stock(GTK_STOCK_REDO, GTK_ICON_SIZE_MENU)); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(song_list_replace_selected_songs), tree); - - } - - gmpc_mpddata_treeview_right_mouse_intergration(GMPC_MPDDATA_TREEVIEW(tree), GTK_MENU(menu)); - - /* popup */ - gtk_widget_show_all(GTK_WIDGET(menu)); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL,NULL, NULL, 0, event->time); - return TRUE; - - } - return FALSE; -} - -static void info2_fill_album_view_real(mpd_Song *song2) -{ - GtkWidget *vbox = NULL; - GtkWidget *gmtv = NULL; - GtkWidget *expander = NULL; - GtkWidget *button = NULL; - GtkWidget *ali = NULL; - GtkWidget *label = NULL; - char *markup = NULL; - GtkWidget *hbox, *table,*table2,*image; - - /* disable the current songs thingy */ - show_current_song = FALSE; - - info2_prepare_view(); - - /** - * Collection - */ - button = gtk_button_new(); - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - markup = g_markup_printf_escaped("%s",_("Collection")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(info2_fill_view), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_widget_show_all(button); - gtk_box_pack_start(GTK_BOX(title_vbox),button, FALSE, TRUE,0); - /** - * artist - */ - - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_label_set_markup(GTK_LABEL(label),"/"); - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - button = gtk_button_new(); - - if(song2->artist) - { - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - markup = g_markup_printf_escaped ("%s" - , (song2->albumartist)?song2->albumartist:song2->artist); - gtk_label_set_markup(GTK_LABEL(label),markup); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup((song2->albumartist)?song2->albumartist:song2->artist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_artist_viewed_clicked), NULL); - gtk_container_add(GTK_CONTAINER(button),label); - gtk_widget_show_all(button); - - gtk_box_pack_start(GTK_BOX(title_vbox),button, FALSE, TRUE,0); - q_free(markup); - } - /** - * album - */ - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_label_set_markup(GTK_LABEL(label),"/"); - gtk_box_pack_start(GTK_BOX(title_vbox), label, FALSE, TRUE,0); - /* but title */ - if(song2->album) - { - markup = g_markup_printf_escaped ("%s" - , song2->album); - label = gtk_label_new(""); - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_label_set_markup(GTK_LABEL(label),markup); - gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); - gtk_widget_show(label); - gtk_box_pack_start(GTK_BOX(title_vbox), label, TRUE, TRUE,0); - q_free(markup); - } - /** - * Set album image - */ - table = gtk_table_new(2,2,FALSE); - image = NULL; - ali = gtk_alignment_new(0,0.5,1,0); - gtk_container_set_border_width(GTK_CONTAINER(ali), 8); - - image = gmpc_metaimage_new_size(META_ALBUM_ART,150); - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(image), song2); - - - gtk_table_attach(GTK_TABLE(table), image, 0,1,0,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - /** pack the table and add to view */ - gtk_container_add(GTK_CONTAINER(ali), table); - gtk_box_pack_start(GTK_BOX(resizer_vbox), ali, FALSE, FALSE,0); - - - - vbox = gtk_vbox_new(FALSE, 6); - - /** - * Album Information - */ - expander = gtk_expander_new(_("Album info:")); - gmtv = gmpc_meta_text_view_new(META_ALBUM_TXT); - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(gmtv), 12); - /* expander */ - gtk_expander_set_use_markup(GTK_EXPANDER(expander),TRUE); - markup = g_markup_printf_escaped("%s:", _("Album information")); - gtk_expander_set_label(GTK_EXPANDER(expander), markup); - g_free(markup); - /* query */ - gmpc_meta_text_view_query_text_from_song(GMPC_META_TEXT_VIEW(gmtv), song2); - gtk_container_add(GTK_CONTAINER(expander), gmtv); - gtk_box_pack_start(GTK_BOX(vbox), expander, TRUE,TRUE,0); - - - - gtk_box_pack_start(GTK_BOX(resizer_vbox), vbox, FALSE, FALSE,0); - - /** - * Play Button - */ - hbox = gtk_hbox_new(FALSE,0); - button = gtk_button_new_with_label(_("Replace")); - gtk_button_set_image(GTK_BUTTON(button),gtk_image_new_from_stock(GTK_STOCK_REDO,GTK_ICON_SIZE_BUTTON)); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song2->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song2->album), g_free); - g_object_set_data_full(G_OBJECT(button), "albumartist",g_strdup(song2->albumartist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_album_clicked), GINT_TO_POINTER(1)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - /** - * Add Button - */ - button = gtk_button_new_from_stock(GTK_STOCK_ADD); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song2->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song2->album), g_free); - g_object_set_data_full(G_OBJECT(button), "albumartist",g_strdup(song2->albumartist), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_album_clicked),GINT_TO_POINTER(0)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - - - - table2 = gtk_table_new(2,2,0); - gtk_container_set_border_width(GTK_CONTAINER(table2), 8); - - gtk_table_set_col_spacings(GTK_TABLE(table2), 6); - - gtk_table_attach(GTK_TABLE(table), table2, 1,2,0,1,GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL,0,0); - gtk_table_attach(GTK_TABLE(table), hbox, 1,2,1,2,GTK_SHRINK|GTK_FILL, GTK_SHRINK|GTK_FILL,0,0); - - - - - /** - * label - */ - label= gtk_label_new(""); - markup = g_markup_printf_escaped("%s:",_("Songs")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - - gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); - gtk_misc_set_padding(GTK_MISC(label),8,8); - - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE, FALSE,0); - - if(song2 && song2->artist) - { - MpdData *data = NULL; - GString *string = NULL; - int i=1; - int tracks = 0; - if(song2->albumartist){ - markup = g_markup_printf_escaped("%s:", _("Album artist")); - info2_add_table_item(table2, markup, song2->albumartist, i,TRUE); - g_free(markup); - i++; - } - /** Album name */ - if(song2->album){ - markup = g_markup_printf_escaped("%s:", _("Album")); - info2_add_table_item(table2, markup, song2->album, i,TRUE); - g_free(markup); - i++; - } - /** - * Do Genre Search - */ - mpd_database_search_field_start(connection, MPD_TAG_ITEM_GENRE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, song2->artist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM,song2->album); - string = g_string_new(""); - for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) - { - g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); - } - if(string->len >0) - { - markup = g_markup_printf_escaped("%s:", _("Genre")); - info2_add_table_item(table2, markup, string->str, i,TRUE); - g_free(markup); - i++; - } - g_string_free(string, TRUE); - - - - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM,song2->album); - if(song2->albumartist) - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM_ARTIST,song2->albumartist); - else - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, song2->artist); - data = mpd_database_search_commit(connection); - if(data) - { - MpdData *data2; - long unsigned ttime = 0; - mpd_Song *song = data->song; - for(data2 = mpd_data_get_first(data);!mpd_data_is_last(data2);data2= mpd_data_get_next(data2)) { - tracks++; - ttime += data2->song->time; - } - tracks++; - ttime += data2->song->time; - - if(song->date) { - markup = g_markup_printf_escaped("%s:", _("Date")); - info2_add_table_item(table2, markup, song->date, i,TRUE); - g_free(markup); - i++; - } - if(tracks) { - char *str = g_strdup_printf("%i", tracks); - markup = g_markup_printf_escaped("%s:", _("Tracks")); - info2_add_table_item(table2, markup, str, i,TRUE); - g_free(markup); - q_free(str); - i++; - } - if(ttime) { - char *buffer = format_time_real(ttime,""); - markup = g_markup_printf_escaped("%s:", _("Playtime")); - info2_add_table_item(table2,markup,buffer,i,TRUE); - g_free(markup); - i++; - q_free(buffer); - } - if(song->file) { - char *filename = g_path_get_dirname(song->file); - markup = g_markup_printf_escaped("%s:", _("Directory")); - info2_add_table_item(table2, markup, filename, i,TRUE); - g_free(markup); - q_free(filename); - i++; - } - } - - /** - * set a table - */ - label = gtk_scrolled_window_new(NULL,NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(label), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); - table2 = gmpc_mpddata_treeview_new("metadata-album-view", TRUE,(GtkTreeModel *) gmpc_mpddata_model_new()); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(table2))), data); - gmpc_mpddata_treeview_enable_click_fix(GMPC_MPDDATA_TREEVIEW(table2)); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(label), GTK_SHADOW_ETCHED_IN); - g_signal_connect(G_OBJECT(table2), "button-release-event", G_CALLBACK(song_list_button_release_event), NULL); - g_signal_connect(G_OBJECT(table2), "row-activated", G_CALLBACK(song_list_row_activated), NULL); - - ali = gtk_alignment_new(0,0.5,0.8,0); - gtk_alignment_set_padding(GTK_ALIGNMENT(ali), 0,0,10,0); - gtk_container_add(GTK_CONTAINER(label), table2); - gtk_container_add(GTK_CONTAINER(ali), label); - gtk_box_pack_start(GTK_BOX(resizer_vbox),ali,FALSE, TRUE, 0); - - } - - label = (GtkWidget *)gmpc_song_links_new(GMPC_SONG_LINKS_TYPE_ALBUM,song2); - gtk_box_pack_start(GTK_BOX(resizer_vbox), label, FALSE,FALSE,0); - gtk_widget_show_all(info2_vbox); -} - -static void info2_init(void) -{ - GtkAdjustment *adjustment =NULL; - GtkWidget *vp = NULL; - GtkWidget *ali,*vbox; - GtkWidget *title_event=NULL; - /** - * main widget used to pack the browser - */ - info2_vbox = gtk_frame_new(NULL); - - - gtk_widget_set_name(info2_vbox, "gtk_scrolled_window"); - gtk_frame_set_shadow_type(GTK_FRAME(info2_vbox), GTK_SHADOW_ETCHED_IN); - vbox = gtk_vbox_new(FALSE, 0); - - gtk_container_add(GTK_CONTAINER(info2_vbox), vbox); - - /** - * Header - */ - - title_event = gtk_event_box_new(); - title_vbox = gtk_hbox_new(FALSE,6); - ali = gtk_alignment_new(0,0.5,1,1); - gtk_container_set_border_width(GTK_CONTAINER(ali),1); - gtk_container_add(GTK_CONTAINER(ali), title_vbox); - gtk_container_add(GTK_CONTAINER(title_event), ali); -/* - g_signal_connect(G_OBJECT(vbox), "style-set", G_CALLBACK(pl3_metabrowser_header_style_changed), title_event); -*/ - gtk_widget_set_app_paintable(title_event, TRUE); - g_signal_connect(G_OBJECT(title_event), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); - - gtk_box_pack_start(GTK_BOX(vbox), title_event, FALSE, TRUE,0); - - //gtk_box_pack_start(GTK_BOX(vbox), gtk_hseparator_new(), FALSE, TRUE,0); - - /** - * The resizer's vbox - */ - resizer_vbox = gtk_vbox_new(FALSE, 6); - /** - * The scrolled window to pack the resizer - */ - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - vp = gtk_viewport_new(gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(scrolled_window)), - gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scrolled_window))); - - /* hack to change bg color with theme change */ - g_signal_connect(G_OBJECT(vbox), "style-set", G_CALLBACK(pl3_metabrowser_bg_style_changed), vp); - - gtk_viewport_set_shadow_type(GTK_VIEWPORT(vp), GTK_SHADOW_NONE); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_NEVER, - GTK_POLICY_AUTOMATIC); - - - - gtk_container_add(GTK_CONTAINER(vp), resizer_vbox); - gtk_container_add(GTK_CONTAINER(scrolled_window), vp); - gtk_box_pack_start_defaults(GTK_BOX(vbox), scrolled_window); - /** - * setup the scrolled window - */ - adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW - (scrolled_window)); - g_object_set (adjustment, "step-increment", (double) 20, NULL); - - gtk_container_set_focus_vadjustment (GTK_CONTAINER (resizer_vbox), - gtk_scrolled_window_get_vadjustment - (GTK_SCROLLED_WINDOW (scrolled_window))); - - - - gtk_widget_show_all(info2_vbox); - - g_object_ref(G_OBJECT(info2_vbox)); - info2_fill_view(); - - -} - - - -static void info2_selected(GtkWidget *container) -{ - if(info2_vbox== NULL) { - info2_init(); - } - gtk_container_add(GTK_CONTAINER(container), info2_vbox); - gtk_widget_show_all(info2_vbox); - -} - -static void info2_unselected(GtkWidget *container) -{ - gtk_container_remove(GTK_CONTAINER(container),info2_vbox); -} - -static void info2_set_enabled(int enabled) -{ - cfg_set_single_value_as_int(config, "info2-plugin", "enable", enabled); - if (enabled) - { - if(info2_ref == NULL) - { - info2_add(GTK_WIDGET(playlist3_get_category_tree_view())); - } - } - else if (info2_ref) - { - GtkTreePath *path = gtk_tree_row_reference_get_path(info2_ref); - if (path){ - GtkTreeIter iter; - if (gtk_tree_model_get_iter(GTK_TREE_MODEL(playlist3_get_category_tree_store()), &iter, path)){ - gtk_list_store_remove(playlist3_get_category_tree_store(), &iter); - } - gtk_tree_path_free(path); - gtk_tree_row_reference_free(info2_ref); - info2_ref = NULL; - } - } - pl3_update_go_menu(); -} - - - - - - - -void info2_activate(void) -{ - GtkTreeSelection *selec = gtk_tree_view_get_selection((GtkTreeView *) - playlist3_get_category_tree_view()); - - GtkTreePath *path = gtk_tree_row_reference_get_path(info2_ref); - if(path) - { - gtk_tree_selection_select_path(selec, path); - gtk_tree_path_free(path); - } -} - -static int info2_add_go_menu(GtkWidget *menu) -{ - GtkWidget *item = NULL; - - - if(info2_get_enabled() == 0) return 0; - /** - * Metadata browser link - */ - item = gtk_image_menu_item_new_with_label(_("Metadata Browser")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), - gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_MENU)); - - gtk_widget_add_accelerator(GTK_WIDGET(item), - "activate", - gtk_menu_get_accel_group(GTK_MENU(menu)), - GDK_F4, 0, - GTK_ACCEL_VISIBLE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - g_signal_connect(G_OBJECT(item), "activate", - G_CALLBACK(info2_activate), NULL); - - /** - * Show current song entry - */ - item = gtk_image_menu_item_new_with_label(_("Show Current Song")); - - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), - gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_MENU)); - - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - gtk_widget_add_accelerator(GTK_WIDGET(item), - "activate", - gtk_menu_get_accel_group(GTK_MENU(menu)), - GDK_i, GDK_CONTROL_MASK, - GTK_ACCEL_VISIBLE); - - g_signal_connect(G_OBJECT(item), - "activate", - G_CALLBACK(info2_show_current_song), - NULL); - - - - return 1; -} - - - -static GtkWidget * info2_create_album_button(gchar *artist, gchar *album) -{ - GtkWidget *table, *image,*event=NULL,*ali; - GtkWidget *hbox; - GtkWidget *button; - MpdData *data2 = NULL; - mpd_Song *song = NULL; - int tracks = 0,i=0; - long unsigned ttime = 0; - GtkWidget *table2= NULL; - gchar *markup; - gchar *albumartist = NULL; - /** Start filling in album data */ - { - MpdData *data = NULL; - mpd_database_search_field_start(connection, MPD_TAG_ITEM_ALBUM_ARTIST); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST,artist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, album); - data = mpd_database_search_commit(connection); - while(data && albumartist == NULL) - { - if(strlen(data->tag) > 0) - { - albumartist = data->tag; - data->tag = NULL; - mpd_data_free(data); - } - else - data = mpd_data_get_next(data); - } - } - - mpd_database_search_start(connection, TRUE); - if(albumartist) - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM_ARTIST, albumartist); - else - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, artist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, album); - data2 = mpd_database_search_commit(connection); - - if(!data2) - return NULL; - - event = gtk_event_box_new(); - song = data2->song; - for(data2 = mpd_data_get_first(data2);!mpd_data_is_last(data2);data2= mpd_data_get_next(data2)){ - tracks++; - ttime += data2->song->time; - } - tracks++; - ttime += data2->song->time; - if(song->albumartist == NULL) song->albumartist = albumartist; - else g_free(albumartist); - - /** - * Create cover art image - */ - table = gtk_hbox_new(FALSE, 6); - - image = gmpc_metaimage_new_size(META_ALBUM_ART,96); - gmpc_metaimage_update_cover_from_song_delayed(GMPC_METAIMAGE(image), song); - - gtk_container_set_border_width(GTK_CONTAINER(table), 8); - gtk_box_pack_start(GTK_BOX(table), image, FALSE, TRUE,0); - /** - * The meta data printed out in alot of data - */ - table2 = gtk_table_new(8,2,FALSE); - gtk_table_set_col_spacings(GTK_TABLE(table2),6); - i=0; - if(song->album) { - markup = g_markup_printf_escaped("%s:", _("Album")); - info2_add_table_item(table2,markup, song->album,i,FALSE); - g_free(markup); - i++; - } - if(song->genre) { - markup = g_markup_printf_escaped("%s:", _("Genre")); - info2_add_table_item(table2, markup, song->genre,i,FALSE); - g_free(markup); - i++; - } - if(song->date) { - markup = g_markup_printf_escaped("%s:", _("Date")); - info2_add_table_item(table2, markup, song->date,i,FALSE); - g_free(markup); - i++; - g_object_set_data_full(G_OBJECT(event), "date", g_strdup(song->date),g_free); - } - if(tracks) { - char *str = g_strdup_printf("%i", tracks); - markup = g_markup_printf_escaped("%s:", _("Tracks")); - info2_add_table_item(table2, markup, str,i,FALSE); - g_free(markup); - q_free(str); - i++; - } - if(ttime) { - char *buffer = format_time_real(ttime,""); - markup = g_markup_printf_escaped("%s:", _("Playtime")); - info2_add_table_item(table2,markup,buffer,i,FALSE); - g_free(markup); - i++; - q_free(buffer); - } - if(song->file) { - gchar *dirname = g_path_get_dirname(song->file); - markup = g_markup_printf_escaped("%s:", _("Directory")); - info2_add_table_item(table2,markup,dirname,i,FALSE); - g_free(markup); - i++; - q_free(dirname); - } - gtk_box_pack_start(GTK_BOX(table), table2, TRUE, TRUE,0); - /** - * Play Button - */ - hbox = gtk_vbox_new(FALSE,0); - button = gtk_button_new_with_label(_("Replace")); - gtk_button_set_image(GTK_BUTTON(button),gtk_image_new_from_stock(GTK_STOCK_REDO,GTK_ICON_SIZE_BUTTON)); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song->album), g_free); - g_object_set_data_full(G_OBJECT(button), "albumartist",g_strdup(song->albumartist), g_free); - g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(as_album_clicked), GINT_TO_POINTER(1)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - /** - * Add Button - */ - button = gtk_button_new_from_stock(GTK_STOCK_ADD); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song->album), g_free); - g_object_set_data_full(G_OBJECT(button), "albumartist",g_strdup(song->albumartist), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_album_clicked),GINT_TO_POINTER(0)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - /** - * View Button - */ - button = gtk_button_new_with_label(_("View")); - gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock(GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON)); - g_object_set_data_full(G_OBJECT(button), "artist",g_strdup(song->artist), g_free); - g_object_set_data_full(G_OBJECT(button), "album",g_strdup(song->album), g_free); - g_signal_connect(G_OBJECT(button), "clicked",G_CALLBACK(as_album_viewed_clicked),GINT_TO_POINTER(0)); - gtk_button_set_relief(GTK_BUTTON(button), GTK_RELIEF_NONE); - ali = gtk_alignment_new(0,0.5,0,0); - gtk_container_add(GTK_CONTAINER(ali), button); - gtk_box_pack_start(GTK_BOX(hbox), ali, FALSE,TRUE,0); - gtk_box_pack_start(GTK_BOX(table), hbox, FALSE, TRUE,0); - - gtk_widget_set_app_paintable(GTK_WIDGET(event), TRUE); - g_signal_connect(G_OBJECT(event), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); - - - gtk_container_add(GTK_CONTAINER(event), table); - - /** - * Drag testing - */ - - gtk_drag_source_set(event, GDK_BUTTON1_MASK,target_table, 1, GDK_ACTION_COPY|GDK_ACTION_MOVE); - g_signal_connect(G_OBJECT(event), "drag-data-get", G_CALLBACK(info2_album_drag_data_get), NULL); - g_signal_connect(G_OBJECT(event), "drag-begin", G_CALLBACK(info2_start_drag), NULL); - g_object_set_data_full(G_OBJECT(event), "artist",g_strdup(song->artist), g_free); - g_object_set_data_full(G_OBJECT(event), "album",g_strdup(song->album), g_free); - g_signal_connect(G_OBJECT(event), "button-press-event",G_CALLBACK(as_album_viewed_clicked_event),NULL); - gtk_drag_source_set_icon_name(event, "gmpc-no-cover"); - - - mpd_data_free(data2); - - return event; -} - -static void info2_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata) -{ - if(info2_vbox && show_current_song) - { - if(what&(MPD_CST_SONGID|MPD_CST_SONGPOS)) - { - mpd_Song *song = mpd_playlist_get_current_song(connection); - if(song) { - info2_fill_song_view(song); - } - } - if(what&MPD_CST_BITRATE) - { - if(bitrate_label) { - gchar *value = g_strdup_printf("%i %s",mpd_status_get_bitrate(connection),_("kbit/sec")); - gtk_label_set_text(GTK_LABEL(bitrate_label), value); - q_free(value); - } - if(samplerate_label) { - gchar *value = g_strdup_printf("%.2f %s, %i %s, %i %s.", - mpd_status_get_samplerate(connection)/1000.0,_("kHz"), - mpd_status_get_bits(connection), _("bits"), - mpd_status_get_channels(connection), _("channels")); - gtk_label_set_text(GTK_LABEL(samplerate_label), value); - q_free(value); - } - } - } -} -void info2_show_current_song(void) -{ - - mpd_Song *song = mpd_playlist_get_current_song(connection); - if(song) { - History *hs; - info2_activate(); - info2_enable_show_current(); - if(history_current) { - hs = history_current->data; - if(hs->type == HISTORY_SONG){ - if(strcmp(hs->song->file, song->file) == 0) { - info2_fill_song_view_real(hs->song); - return; - } - } - } - info2_fill_song_view(song); - } -} -void info2_disable_show_current(void) -{ - mpd_Song *song = mpd_playlist_get_current_song(connection); - show_current_song = FALSE; - - if(song) { - info2_fill_song_view_real(song); - } -} -void info2_enable_show_current(void) -{ - show_current_song = TRUE; -} - - - -/** - * Plugin - */ -static void info2_save_myself(void) -{ - if(info2_ref) - { - GtkTreePath *path = gtk_tree_row_reference_get_path(info2_ref); - if(path) - { - gint *indices = gtk_tree_path_get_indices(path); - debug_printf(DEBUG_INFO,"Saving myself to position: %i\n", indices[0]); - cfg_set_single_value_as_int(config, "info2-plugin","position",indices[0]); - gtk_tree_path_free(path); - } - } -} -static int info2_get_enabled(void) -{ - return cfg_get_single_value_as_int_with_default(config, "info2-plugin", "enable", 1); -} - -static void info2_connection_changed(MpdObj *mi, int connect, void *userdata) -{ - if(connect) - { - if(info2_vbox) - { - info2_clear_history(); - info2_fill_view(); - } - } -} - -/** - * Easy command integration - */ -static void info2_show_current_artist(void) -{ - mpd_Song *song = mpd_playlist_get_current_song(connection); - if(song) { - if(song->artist) { - info2_activate(); - info2_fill_artist_view(song->artist); - } - } -} -static void info2_show_current_album(void) -{ - mpd_Song *song = mpd_playlist_get_current_song(connection); - if(song) { - if(song->artist && song->album) { - info2_activate(); - info2_fill_album_view(song->artist,song->album); - } - } -} -static void info2_plugin_init(void) -{ - gmpc_easy_command_add_entry(gmpc_easy_command, - _("switch metadata browser"),"", - _("Switch to the metadata browser"), - (GmpcEasyCommandCallback *)info2_activate, NULL); - /* others */ - gmpc_easy_command_add_entry(gmpc_easy_command, - _("show current song"),"", - _("Show the current songs information"), - (GmpcEasyCommandCallback *)info2_show_current_song, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command, - _("show current artist"),"", - _("Show the current artist information"), - (GmpcEasyCommandCallback *)info2_show_current_artist, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command, - _("show current album"),"", - _("Show the current album information"), - (GmpcEasyCommandCallback *)info2_show_current_album, NULL); -} -/* Needed plugin_wp stuff */ -gmpcPlBrowserPlugin info2_gbp = { - .add = info2_add, /** add */ - .selected = info2_selected, /** selected */ - .unselected = info2_unselected, /** unselected */ - .add_go_menu = info2_add_go_menu, /** add go menu */ - .key_press_event = info2_key_press_event /** key press event */ -}; - -gmpcPlugin metab_plugin = { - .name = "Metadata Browser", - .version = {0,0,1}, - .plugin_type = GMPC_PLUGIN_PL_BROWSER|GMPC_INTERNALL, - .init = info2_plugin_init, - .browser = &info2_gbp, - .mpd_status_changed = info2_status_changed, - .mpd_connection_changed = info2_connection_changed, - .get_enabled = info2_get_enabled, - .set_enabled = info2_set_enabled, - .save_yourself = info2_save_myself -}; - -static void info2_add(GtkWidget *cat_tree) -{ - GtkTreePath *path = NULL; - GtkListStore *store = (GtkListStore *)gtk_tree_view_get_model(GTK_TREE_VIEW(cat_tree)); - GtkTreeIter iter; - gint pos = cfg_get_single_value_as_int_with_default(config, "info2-plugin","position",5); - if(!cfg_get_single_value_as_int_with_default(config, "info2-plugin", "enable", 1)) return; - playlist3_insert_browser(&iter, pos); - gtk_list_store_set(store, &iter, - PL3_CAT_TYPE, metab_plugin.id, - PL3_CAT_TITLE, _("Metadata Browser"), - PL3_CAT_INT_ID, "/", - PL3_CAT_ICON_ID, "gtk-info", - PL3_CAT_PROC, TRUE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND,-1); - if (info2_ref) { - gtk_tree_row_reference_free(info2_ref); - info2_ref = NULL; - } - - path = gtk_tree_model_get_path(GTK_TREE_MODEL(playlist3_get_category_tree_store()), &iter); - if (path) { - info2_ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(playlist3_get_category_tree_store()), path); - gtk_tree_path_free(path); - } -} -static int info2_key_press_event(GtkWidget *mw, GdkEventKey *event, int type) -{ - if (pl3_cat_get_selected_browser() == metab_plugin.id) - { - if (event->keyval == GDK_f && event->state&GDK_CONTROL_MASK) - { - if(info2_entry) - { - gtk_widget_grab_focus(info2_entry); - } - } - - } - return FALSE; -} - - - -/************************************************************************************************/ -static void info2_update_from_history(History *hs) -{ - switch(hs->type) { - case HISTORY_SONG: - info2_fill_song_view_real(hs->song); - break; - case HISTORY_ALBUM: - info2_fill_album_view_real(hs->song); - break; - case HISTORY_ARTIST: - info2_fill_artist_view_real(hs->song); - break; - case HISTORY_BASE_VIEW: - info2_fill_view_real(); - break; - default: - break; - }; -} -static void info2_free_history(History *hs) -{ - if(hs->song) mpd_freeSong(hs->song); - g_free(hs); -} - -static void info2_clear_history(void) -{ - if(history_current) { - g_list_foreach(history_current,(GFunc) info2_free_history,NULL); - g_list_free(history_current); - history_current = NULL; - } -} - -void info2_button_forward(void) -{ - GList *iter = g_list_previous(history_current); - if(iter) { - History *hs = iter->data; - history_current = iter; - info2_update_from_history(hs); - } - -} -void info2_button_back(void) -{ - GList *iter = g_list_next(history_current); - if(iter) { - History *hs = iter->data; - history_current = iter; - info2_update_from_history(hs); - } -} -void info2_fill_song_view(mpd_Song *song) -{ - History *hs; - /* if current is same page, don't reload. */ - if(history_current) { - hs = history_current->data; - if(hs->type == HISTORY_SONG){ - if(strcmp(hs->song->file, song->file) == 0) { - return; - } - } - } - hs = g_malloc0(sizeof(*hs)); - hs->song = mpd_songDup(song); - hs->type = HISTORY_SONG; - - - if(history_current) { - GList *temp; - while(history_current->prev) { - info2_free_history((History *)history_current->prev->data); - temp = g_list_delete_link(history_current, history_current->prev); - } - } - history_current = g_list_prepend(history_current, hs); - info2_update_from_history(hs); -} - -void info2_fill_album_view(const char *artist,const char *album) -{ - History *hs; - /* if current is same page, don't reload. */ - if(history_current) { - hs = history_current->data; - if(hs->type == HISTORY_ALBUM){ - if(strcmp(hs->song->artist, artist) == 0 && - strcmp(hs->song->artist, artist) == 0) { - return; - } - } - } - hs = g_malloc0(sizeof(*hs)); - hs->song = mpd_newSong(); - hs->type = HISTORY_ALBUM; - hs->song->artist = g_strdup(artist); - hs->song->album = g_strdup(album); - - /** Start filling in album data */ - if(!hs->song->albumartist){ - MpdData *data = NULL; - mpd_database_search_field_start(connection, MPD_TAG_ITEM_ALBUM_ARTIST); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST,hs->song->artist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, hs->song->album); - data = mpd_database_search_commit(connection); - while(data && hs->song->albumartist == NULL) - { - if(strlen(data->tag) > 0) - { - hs->song->albumartist = data->tag; - data->tag = NULL; - mpd_data_free(data); - } - else - data = mpd_data_get_next(data); - } - } - if(history_current) { - GList *temp; - while(history_current->prev) { - info2_free_history((History *)history_current->prev->data); - temp = g_list_delete_link(history_current, history_current->prev); - } - } - history_current = g_list_prepend(history_current, hs); - info2_update_from_history(hs); -} -void info2_fill_artist_view(const char *artist) -{ - History *hs; - /* if current is same page, don't reload. */ - if(history_current) { - hs = history_current->data; - if(hs->type == HISTORY_ARTIST){ - if(strcmp(hs->song->artist, artist) == 0) { - return; - } - } - } - - - hs =g_malloc0(sizeof(*hs)); - hs->song = mpd_newSong(); - hs->type = HISTORY_ARTIST; - hs->song->artist = g_strdup(artist); - - if(history_current){ - GList *temp; - while(history_current->prev) { - info2_free_history((History *)history_current->prev->data); - temp = g_list_delete_link(history_current, history_current->prev); - } - } - history_current = g_list_prepend(history_current, hs); - info2_update_from_history(hs); -} - -void info2_fill_view(void) -{ - History *hs; - /* if current is same page, don't reload. */ - if(history_current) { - hs = history_current->data; - if(hs->type == HISTORY_BASE_VIEW) return; - } - - hs = g_malloc0(sizeof(*hs)); - hs->song = NULL; - hs->type = HISTORY_BASE_VIEW; - if(history_current) { - GList *temp; - while(history_current->prev) { - info2_free_history((History *)history_current->prev->data); - temp = g_list_delete_link(history_current, history_current->prev); - } - } - history_current = g_list_prepend(history_current, hs); - info2_update_from_history(hs); -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-playlist-editor.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-playlist-editor.c --- gmpc-0.18.0/src/browsers/playlist3-playlist-editor.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-playlist-editor.c 2009-09-21 11:15:59.000000000 +0100 @@ -23,9 +23,11 @@ #include #include #include "main.h" +#include "playlist3.h" #include "gmpc-mpddata-model.h" #include "gmpc-mpddata-treeview.h" #include "gmpc-mpddata-model-sort.h" +#include "gmpc-paned-size-group.h" #include "browsers/playlist3-playlist-editor.h" #define DEFAULT_MARKUP_BROWSER "[%name%: &[%artist% - ]%title%]|%name%|[%artist% - ]%title%|%shortfile%|" @@ -129,10 +131,8 @@ gtk_list_store_set(store, &iter, PL3_CAT_TYPE, playlist_editor_plugin.id, PL3_CAT_TITLE, _("Playlist Editor"), - PL3_CAT_INT_ID, "", PL3_CAT_ICON_ID, "media-playlist", - PL3_CAT_PROC, TRUE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND,-1); + -1); /** * Clean up old row reference if it exists */ @@ -154,7 +154,7 @@ } -static void playlist_editor_browser_playlist_editor_selected(GtkIconView *giv, GtkTreePath *path, gpointer userdata) +static void playlist_editor_browser_playlist_editor_selected(GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *r_iter, gpointer userdata) { gchar *pl_path = NULL; GtkTreeIter iter; @@ -176,7 +176,8 @@ gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(playlist_editor_list_store), NULL); gmpc_mpddata_model_sort_set_playlist(GMPC_MPDDATA_MODEL_SORT(playlist_editor_list_store), NULL); /* iter all the selected items (aka 1) */ - gtk_icon_view_selected_foreach(GTK_ICON_VIEW(giv), playlist_editor_browser_playlist_editor_selected, NULL); + gtk_tree_selection_selected_foreach(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)), + playlist_editor_browser_playlist_editor_selected, NULL); } static gint __sort_func(gpointer aa, gpointer bb, gpointer c) @@ -216,10 +217,8 @@ if(playlist_editor_browser) { gboolean valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(playlist_editor_store), &iter); -// int selected = 0; MpdData *data = mpd_database_playlist_list(connection); data = misc_sort_mpddata(data, (GCompareDataFunc) __sort_func, NULL); -// gtk_list_store_clear(playlist_editor_store); for(;data;data =mpd_data_get_next(data)) { if(data->type == MPD_DATA_TYPE_PLAYLIST) @@ -240,7 +239,7 @@ path = gtk_tree_model_get_path(GTK_TREE_MODEL(playlist_editor_store), &iter); valid = gtk_tree_model_iter_next(GTK_TREE_MODEL(playlist_editor_store), &iter); if(path) { - if(gtk_icon_view_path_is_selected(GTK_ICON_VIEW(playlist_editor_icon_view), path)) + if(gtk_tree_selection_path_is_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)), path)) { if(mtime == NULL || data->playlist->mtime == NULL || strcmp(mtime, data->playlist->mtime) == 0) { /* update view */ @@ -313,34 +312,18 @@ } if(playlist_editor_icon_view) - gtk_icon_view_selected_foreach(GTK_ICON_VIEW(playlist_editor_icon_view), playlist_editor_browser_playlist_editor_selected, NULL); -} -static void playlist_editor_browser_activate_cursor_item(GtkIconView *giv, gpointer userdata) -{ - gchar *pl_path = NULL; - GtkTreeIter iter; - GList *it,*list = gtk_icon_view_get_selected_items(giv); - for(it = g_list_first(list);it; it = g_list_next(it)) - { - GtkTreePath *path = it->data; - if(gtk_tree_model_get_iter(GTK_TREE_MODEL(playlist_editor_store), &iter, path)) - { - gtk_tree_model_get(GTK_TREE_MODEL(playlist_editor_store), &iter, PL_NAME, &pl_path, -1); - mpd_playlist_queue_load(connection, pl_path); - g_free(pl_path); - } - } - mpd_playlist_queue_commit(connection); - g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL); - g_list_free(list); + gtk_tree_selection_selected_foreach(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)), + playlist_editor_browser_playlist_editor_selected, NULL); } + /********* * Playlist list handling */ static void playlist_editor_list_delete_songs(GtkButton *button, GtkTreeView *tree) { gchar *pl_path = NULL; - GList *it,*list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(playlist_editor_icon_view)); + GtkTreeModel *model_view = gtk_tree_view_get_model(GTK_TREE_VIEW(playlist_editor_icon_view)); + GList *it,*list =gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)),&model_view); for(it = g_list_first(list);it; it = g_list_next(it)) { GtkTreePath *path = it->data; @@ -355,7 +338,6 @@ if(pl_path) { -// MpdData *data2 = NULL; GtkTreeSelection *sel = gtk_tree_view_get_selection(tree); GtkTreeModel *model = gtk_tree_view_get_model(tree); GList *data; @@ -374,11 +356,6 @@ g_list_foreach (list,(GFunc) gtk_tree_path_free, NULL); g_list_free (list); - /* - data2 = mpd_database_get_playlist_content(connection, pl_path); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(playlist_editor_list_store), data2); - gmpc_mpddata_model_sort_set_playlist(GMPC_MPDDATA_MODEL_SORT(playlist_editor_list_store), pl_path); -*/ g_free(pl_path); } } @@ -460,6 +437,13 @@ gtk_widget_set_sensitive(button,FALSE); } } + +static void playlist_editor_new_entry_activate(GtkEntry *entry, GtkWidget *button) +{ + if(strlen(gtk_entry_get_text(entry)) > 0) + g_signal_emit_by_name(G_OBJECT(button), "clicked"); +} + static void playlist_editor_new_playlist(GtkWidget *item, gpointer data) { int done = 0; @@ -471,9 +455,11 @@ GtkWidget *hbox = gtk_hbox_new(FALSE,6); GtkWidget *label = gtk_label_new(_("Name:")); GtkWidget *entry = gtk_entry_new(); + gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(pl3_win)); button = gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_NEW, GTK_RESPONSE_ACCEPT); g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(playlist_editor_new_entry_changed), button); + g_signal_connect(G_OBJECT(entry), "activate", G_CALLBACK(playlist_editor_new_entry_activate), button); gtk_widget_set_sensitive(button, FALSE); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), hbox, TRUE, TRUE,0); @@ -596,6 +582,7 @@ { if(event->button == 3) { + GtkTreeModel *model_view = gtk_tree_view_get_model(GTK_TREE_VIEW(playlist_editor_icon_view)); GtkWidget *menu = gtk_menu_new(); GtkWidget *item = NULL; GList *list = NULL; @@ -607,7 +594,7 @@ g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(playlist_editor_new_playlist),NULL); } - list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(playlist_editor_icon_view)); + list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(giv)),&model_view); if(list) { char *path = NULL; @@ -679,7 +666,8 @@ static void playlist_editor_paste_after_songs(GtkTreeView *tree, GList *paste_list) { gchar *pl_path = NULL; - GList *it,*list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(playlist_editor_icon_view)); + GtkTreeModel *model_view = gtk_tree_view_get_model(GTK_TREE_VIEW(playlist_editor_icon_view)); + GList *it,*list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)),&model_view); for(it = g_list_first(list);it; it = g_list_next(it)) { GtkTreePath *path = it->data; @@ -745,7 +733,8 @@ static void playlist_editor_paste_before_songs(GtkTreeView *tree, GList *paste_list) { gchar *pl_path = NULL; - GList *it,*list = gtk_icon_view_get_selected_items(GTK_ICON_VIEW(playlist_editor_icon_view)); + GtkTreeModel *model_view = gtk_tree_view_get_model(GTK_TREE_VIEW(playlist_editor_icon_view)); + GList *it,*list = gtk_tree_selection_get_selected_rows(gtk_tree_view_get_selection(GTK_TREE_VIEW(playlist_editor_icon_view)),&model_view); for(it = g_list_first(list);it; it = g_list_next(it)) { GtkTreePath *path = it->data; @@ -827,32 +816,46 @@ static void playlist_editor_browser_init(void) { + GtkCellRenderer *renderer = NULL; + GtkTreeViewColumn *column = NULL; GtkWidget *tree = NULL; GtkWidget *sw = NULL; - int pos = 0; /* */ - playlist_editor_browser = gtk_vpaned_new(); + playlist_editor_browser = gtk_hpaned_new(); + gmpc_paned_size_group_add_paned(GMPC_PANED_SIZE_GROUP(paned_size_group), GTK_PANED(playlist_editor_browser)); /** browser */ sw = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - pos = cfg_get_single_value_as_int_with_default(config, "playlist-plugin", "pane-pos",100); gtk_paned_add1(GTK_PANED(playlist_editor_browser), sw); - gtk_paned_set_position(GTK_PANED(playlist_editor_browser), pos); - /* icon view*/ playlist_editor_store = gtk_list_store_new(PL_NUM_COLS, G_TYPE_STRING, G_TYPE_STRING,GDK_TYPE_PIXBUF); - playlist_editor_icon_view = tree = gtk_icon_view_new_with_model(GTK_TREE_MODEL(playlist_editor_store)); - gtk_icon_view_set_selection_mode(GTK_ICON_VIEW(tree), GTK_SELECTION_BROWSE); + playlist_editor_icon_view = tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(playlist_editor_store));//gtk_icon_view_new_with_model(GTK_TREE_MODEL(playlist_editor_store)); + gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(tree), TRUE); + + column = gtk_tree_view_column_new(); + gtk_tree_view_column_set_title(column, _("Playlists")); + renderer = gtk_cell_renderer_pixbuf_new(); + gtk_tree_view_column_pack_start(column, renderer, FALSE); + gtk_tree_view_column_add_attribute(column, renderer, "pixbuf", PL_IMAGE); + renderer = gtk_cell_renderer_text_new(); + gtk_tree_view_column_pack_start(column, renderer, TRUE); + gtk_tree_view_column_add_attribute(column, renderer, "text", PL_NAME); + gtk_tree_view_insert_column(GTK_TREE_VIEW(tree),column, -1); + + + + /* gtk_icon_view_set_selection_mode(GTK_ICON_VIEW(tree), GTK_SELECTION_BROWSE); gtk_icon_view_set_pixbuf_column(GTK_ICON_VIEW(tree), PL_IMAGE); - gtk_icon_view_set_text_column(GTK_ICON_VIEW(tree), PL_NAME); + gtk_icon_view_set_text_column(GTK_ICON_VIEW(tree), PL_NAME);*/ + gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)), GTK_SELECTION_BROWSE); gtk_container_add(GTK_CONTAINER(sw), tree); - g_signal_connect(G_OBJECT(tree), "selection-changed", G_CALLBACK(playlist_editor_browser_playlist_editor_changed), NULL); - g_signal_connect(G_OBJECT(tree), "item-activated", G_CALLBACK(playlist_editor_browser_activate_cursor_item), NULL); + g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(tree))), "changed", G_CALLBACK(playlist_editor_browser_playlist_editor_changed), NULL); +// g_signal_connect(G_OBJECT(tree), "item-activated", G_CALLBACK(playlist_editor_browser_activate_cursor_item), NULL); g_signal_connect(G_OBJECT(tree), "button-release-event", G_CALLBACK(playlist_editor_browser_button_release_event), NULL); /* file list */ @@ -920,14 +923,16 @@ static void playlist_editor_add_to_new(GtkWidget *item, gpointer data) { + gpointer cb_data =g_object_get_data(G_OBJECT(item), "cb-data"); void (*callback)(GtkWidget *item, gpointer data) = data; + playlist_editor_new_playlist(item, NULL); - callback(item, NULL); + callback(item, cb_data); } -void playlist_editor_right_mouse(GtkWidget *menu, void (*add_to_playlist)(GtkWidget *menu)) +void playlist_editor_right_mouse(GtkWidget *menu, void (*add_to_playlist)(GtkWidget *menu, gpointer data), gpointer cb_data) { GtkWidget *sitem; GtkWidget *item; @@ -943,11 +948,13 @@ smenu = gtk_menu_new(); sitem = gtk_image_menu_item_new_from_stock(GTK_STOCK_NEW, NULL); + g_object_set_data(G_OBJECT(sitem), "cb-data", cb_data); g_signal_connect(G_OBJECT(sitem), "activate", G_CALLBACK(playlist_editor_add_to_new), add_to_playlist); gtk_menu_shell_append(GTK_MENU_SHELL(smenu), sitem); { MpdData *data = mpd_database_playlist_list(connection); + data = misc_sort_mpddata(data, (GCompareDataFunc) __sort_func, NULL); for(;data;data =mpd_data_get_next(data)) { if(data->type == MPD_DATA_TYPE_PLAYLIST) @@ -964,7 +971,7 @@ } g_object_set_data_full(G_OBJECT(sitem),"playlist", g_strdup(data->playlist->path), g_free); gtk_menu_shell_append(GTK_MENU_SHELL(smenu), sitem); - g_signal_connect(G_OBJECT(sitem), "activate", G_CALLBACK(add_to_playlist), NULL); + g_signal_connect(G_OBJECT(sitem), "activate", G_CALLBACK(add_to_playlist), cb_data); gtk_widget_show(sitem); } } @@ -1052,9 +1059,5 @@ gtk_tree_path_free(path); } } - if(playlist_editor_browser) { - int pos = gtk_paned_get_position(GTK_PANED(playlist_editor_browser)); - cfg_set_single_value_as_int(config, "playlist-plugin", "pane-pos", pos); - } } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-playlist-editor.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-playlist-editor.h --- gmpc-0.18.0/src/browsers/playlist3-playlist-editor.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-playlist-editor.h 2009-09-21 11:15:59.000000000 +0100 @@ -36,5 +36,5 @@ /** */ -void playlist_editor_right_mouse(GtkWidget *menu, void (*add_to_playlist)(GtkWidget *menu)); +void playlist_editor_right_mouse(GtkWidget *menu, void (*add_to_playlist)(GtkWidget *menu, gpointer data), gpointer cb_data); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/playlist3-tag2-browser.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/playlist3-tag2-browser.c --- gmpc-0.18.0/src/browsers/playlist3-tag2-browser.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/playlist3-tag2-browser.c 2009-09-21 11:15:59.000000000 +0100 @@ -41,6 +41,8 @@ #include #include "playlist3.h" #include "playlist3-playlist-editor.h" +#include "gmpc-paned-size-group.h" +#include "gmpc-mpddata-treeview-tooltip.h" /** * dirty hack to workaround single parameter for now @@ -159,8 +161,7 @@ PL3_CAT_TITLE, name, PL3_CAT_INT_ID,key, PL3_CAT_ICON_ID, "tag-browser", - PL3_CAT_PROC, TRUE, - PL3_CAT_ICON_SIZE,GTK_ICON_SIZE_DND,-1); + -1); path = gtk_tree_model_get_path(GTK_TREE_MODEL(tree), &iter); tb = g_malloc0(sizeof(*tb)); @@ -195,9 +196,9 @@ typedef struct _tag_element{ GtkWidget *tree; + GmpcMpdDataTreeviewTooltip *tool; GtkTreeModel *model; GtkWidget *sw; - GtkWidget *combo; GtkWidget *vbox; GtkCellRenderer *image_renderer; GtkTreeViewColumn *column; @@ -246,6 +247,7 @@ if(te->timeout) g_source_remove(te->timeout); gtk_widget_destroy(te->vbox); + gtk_widget_destroy(GTK_WIDGET(te->tool)); if(te->model) g_object_unref(te->model); @@ -333,6 +335,9 @@ /** * Redirect to metadata browser */ + +#include "vala/gmpc-metadata-browser2.h" +extern GmpcMetadataBrowser *metadata_browser; static void tag2_browser_header_information(GtkWidget *item, tag_element *te) { GtkTreeIter iter; @@ -346,13 +351,18 @@ if(te->type == MPD_TAG_ITEM_ARTIST || te->type == MPD_TAG_ITEM_ALBUM_ARTIST) { info2_activate(); - info2_fill_artist_view(value); + gmpc_metadata_browser_set_artist(metadata_browser, value); }else if (te->type == MPD_TAG_ITEM_ALBUM){ const gchar *artist = gmpc_mpddata_model_get_request_artist(GMPC_MPDDATA_MODEL(te->model)); if(artist) { info2_activate(); + gmpc_metadata_browser_set_album(metadata_browser, artist,value); + /* + info2_activate(); info2_fill_album_view(artist,value); + */ + } } @@ -395,7 +405,7 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(tag2_browser_add_selected), te); /* add the replace widget */ - item = gtk_image_menu_item_new_with_label("Replace"); + item = gtk_image_menu_item_new_with_label(_("Replace")); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REDO, GTK_ICON_SIZE_MENU)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -484,7 +494,6 @@ MpdData *data = NULL; tag_browser *browser = te->browser; int not_to_update = te->index; - int artist_set = FALSE; GList *tel = g_list_first(browser->tag_lists); static int working = 0; if(working){ @@ -492,40 +501,66 @@ return; } working = 1; - /* Clear songs list */ - /* clear the depending browsers */ - while(tel) - { - tag_element *te2 =tel->data; - if(te2) - { - gmpc_mpddata_model_set_request_artist(GMPC_MPDDATA_MODEL(te2->model), NULL); - } - tel = tel->next; - } tel = g_list_first(browser->tag_lists); /* check if the user selected a row, if not do nothing */ - while(tel) + + /* Set on all tags the request artist, if available. */ { - te = tel->data; - if(te->index != not_to_update && mpd_server_tag_supported(connection,te->type)) + gchar *artist = NULL; + GList *first_te = NULL; + for(first_te = tel;first_te && !artist;first_te = first_te->next) { - GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te->tree)); + tag_element *te3 = first_te->data; + GtkTreeIter iter; + GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te3->tree)); + if(gtk_tree_selection_get_selected(sel, &(te3->model), &iter)) + { + if(mpd_server_tag_supported(connection,te3->type)) + { + gchar *value; + gtk_tree_model_get(te3->model, &iter, MPDDATA_MODEL_COL_SONG_TITLE, &value, -1); + if(te3->type == MPD_TAG_ITEM_ARTIST || te3->type == MPD_TAG_ITEM_ALBUM_ARTIST) + { + artist = g_strdup(value); + } + g_free(value); + } + } + } + + for(first_te = tel;first_te;first_te = first_te->next) { + tag_element *te3 = first_te->data; + if(te3->index != not_to_update){ + gmpc_mpddata_model_set_request_artist(GMPC_MPDDATA_MODEL(te3->model), artist); + if(te3->tool->request_artist) { + g_free(te3->tool->request_artist); + te3->tool->request_artist = NULL; + } + te3->tool->request_artist = g_strdup(artist); + } + } + q_free(artist); + } + + while(tel) + { + tag_element *te_i = tel->data; + if(te_i->index != not_to_update && mpd_server_tag_supported(connection,te_i->type)) + { + GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te_i->tree)); GtkTreeIter iter; - gchar *artist = NULL; GList *first = g_list_first(browser->tag_lists); /* only do the following query if it isn't the last one */ - int artist_seen = 0; /* Search for the fields of the next tag, this needs the value/type of all the previous, * Parsed from left to right */ - mpd_database_search_field_start(connection, te->type); + mpd_database_search_field_start(connection, te_i->type); /* fil in the next */ while(first){ tag_element *te3 = first->data; - if(te3->index != te->index) + if(te3->index != te_i->index) { sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te3->tree)); if(gtk_tree_selection_get_selected(sel, &(te3->model), &iter)) @@ -534,45 +569,21 @@ { gchar *value; gtk_tree_model_get(te3->model, &iter, MPDDATA_MODEL_COL_SONG_TITLE, &value, -1); - if(!nfilter || te3->index < te->index) + if(!nfilter || te3->index < te_i->index) mpd_database_search_add_constraint(connection, te3->type, (value)?value:""); - if(te3->index < (te->index) && !artist_seen) - { - if(te3->type == MPD_TAG_ITEM_ARTIST || te3->type == MPD_TAG_ITEM_ALBUM_ARTIST) - { - artist = g_strdup(value); - artist_seen = 1; - } - } - g_free(value); } } } first =first->next; } - - /* Set on all tags the request artist, if available. */ - /* TODO: This sets it many, uneeded times, fix that.. */ - if(artist){ - if(!artist_set) { - GList *first_te = g_list_first(browser->tag_lists); - for(;first_te;first_te = first_te->next) { - tag_element *te3 = first_te->data; - gmpc_mpddata_model_set_request_artist(GMPC_MPDDATA_MODEL(te3->model), artist); - } - artist_set = TRUE; - } - q_free(artist); - } - data = mpd_database_search_commit(connection); /* Delete items that match */ - if(strlen(gtk_entry_get_text(GTK_ENTRY(te->sentry))) > 0) + if(strlen(gtk_entry_get_text(GTK_ENTRY(te_i->sentry))) > 0) { MpdData_real *d = (MpdData_real *)data; /* Get the entry from the text view */ - const char *str = gtk_entry_get_text(GTK_ENTRY(te->sentry)); + const char *str = gtk_entry_get_text(GTK_ENTRY(te_i->sentry)); /* Lowercase it. */ gchar *sb1 = g_utf8_casefold(str, -1); /* Normalize it, this to ensure they use the same way of representing the character */ @@ -610,25 +621,25 @@ * Update the TreeModel using the special incremental replace function. * This will make sure, selected rows that are matched, don't get de-selected */ - sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te->tree)); - gmpc_mpddata_model_set_mpd_data_slow(GMPC_MPDDATA_MODEL(te->model), data); + sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(te_i->tree)); + gmpc_mpddata_model_set_mpd_data_slow(GMPC_MPDDATA_MODEL(te_i->model), data); /* this make sure the selected row is centered in the middle of the treeview. * Otherwise the user could have the tedious job of finding it again */ /* get the selected row, if any */ - if(gtk_tree_selection_get_selected(sel, &(te->model), &iter)) + if(gtk_tree_selection_get_selected(sel, &(te_i->model), &iter)) { /* get the path to the selected row */ - GtkTreePath *path = gtk_tree_model_get_path(te->model, &iter); + GtkTreePath *path = gtk_tree_model_get_path(te_i->model, &iter); /* scroll to the path, and center it in the middle of the treeview, at the left of the column */ - gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(te->tree), path, NULL, TRUE, 0.5,0); + gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(te_i->tree), path, NULL, TRUE, 0.5,0); /* free the path */ gtk_tree_path_free(path); } } tel = tel->next; } - + tel = g_list_first(browser->tag_lists); data = NULL; while(tel) @@ -662,16 +673,11 @@ GtkTreeIter iter; GtkTreeModel *model; GtkTreePath *path; - gchar *d; if(!browser) { return; } - d = g_strdup_printf("tag2-plugin:%s", browser->key); - cfg_set_single_value_as_int(config, d, "pane-pos", gtk_paned_get_position(GTK_PANED(browser->tag2_vbox))); - g_free(d); - /* remove it from the left hand view */ model = gtk_tree_row_reference_get_model(browser->ref_iter); path = gtk_tree_row_reference_get_path(browser->ref_iter); @@ -698,10 +704,21 @@ /* clear structure */ g_free(browser); } -static void tag2_songlist_combo_box_changed(GtkComboBox *box, tag_element *te) + +static void tag2_column_header_menu_item_clicked(GtkCheckMenuItem *item, tag_element *te) { GList *list; - te->type = gtk_combo_box_get_active(box); + gpointer userdata = g_object_get_data(G_OBJECT(item), "tag-id"); + te->type = GPOINTER_TO_INT(userdata); + if(te->type == MPD_TAG_ITEM_ARTIST ||te->type == MPD_TAG_ITEM_ALBUM_ARTIST) { + te->tool->mtype = META_ARTIST_ART; + } else if(te->type == MPD_TAG_ITEM_ALBUM ) { + te->tool->mtype = META_ALBUM_ART; + } + else te->tool->mtype = 0; + + gtk_tree_view_column_set_title(te->column, + _(mpdTagItemKeys[te->type])); /* if the first is changed, refill the first. * if any other is changed, make the edited refill by triggering changed signal on the previous. */ @@ -771,6 +788,31 @@ } } } +static void tag2_column_header_clicked(GtkTreeViewColumn *column, tag_element *te) +{ + int i=0; + GtkWidget *menu = gtk_menu_new(); + for(i=0; i< MPD_TAG_ITEM_ANY;i++) + { + if(mpd_server_tag_supported(connection,i)) + { + GtkWidget *item = gtk_check_menu_item_new_with_label(_(mpdTagItemKeys[i])); + g_object_set_data(G_OBJECT(item), "tag-id",GINT_TO_POINTER(i)); + if(te->type == i){ + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), TRUE); + } + else + g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(tag2_column_header_menu_item_clicked), te); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(item)); + } + } + gtk_widget_show_all(GTK_WIDGET(menu)); + gtk_menu_popup(GTK_MENU(menu), + NULL, NULL, + NULL, NULL, + 0,gtk_get_current_event_time()); + +} static gboolean tag2_sentry_changed_real(tag_element *te) { @@ -831,6 +873,10 @@ }else gmpc_mpddata_model_set_mpd_data_slow(GMPC_MPDDATA_MODEL(te->model), NULL); gmpc_mpddata_model_set_request_artist(GMPC_MPDDATA_MODEL(te->model), NULL); + if(te->tool->request_artist) { + g_free(te->tool->request_artist); + te->tool->request_artist = NULL; + } } gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(gtk_tree_view_get_model(browser->tag_songlist)), NULL); @@ -843,6 +889,18 @@ g_signal_handlers_unblock_by_func(G_OBJECT(te->sentry), tag2_sentry_changed, te); } } +#ifndef USE_SYSTEM_LIBSEXY +#if GTK_CHECK_VERSION(2,16,0) +static void tag_browser_clear_search_entry(GtkEntry *entry, GtkEntryIconPosition icon_pos, GdkEvent *event, gpointer user_data) +{ + if(icon_pos == GTK_ENTRY_ICON_SECONDARY){ + gtk_entry_set_text(GTK_ENTRY(entry), ""); + } + +} +#endif +#endif + static void tag2_songlist_add_tag(tag_browser *browser,const gchar *name, int type) { GtkCellRenderer *renderer; @@ -854,27 +912,32 @@ te->type = type; te->index = g_list_length(browser->tag_lists); te->model = (GtkTreeModel *) gmpc_mpddata_model_new(); - te->combo = gtk_combo_box_new_with_model(tags_store); #ifdef USE_SYSTEM_LIBSEXY te->sentry = sexy_icon_entry_new(); #else te->sentry = gtk_entry_new(); +#if GTK_CHECK_VERSION(2,16,0) + gtk_entry_set_icon_from_stock(GTK_ENTRY(te->sentry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR); + g_signal_connect(GTK_ENTRY(te->sentry), "icon-press", G_CALLBACK(tag_browser_clear_search_entry), NULL); + + gtk_entry_set_icon_from_stock(GTK_ENTRY(te->sentry), GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_FIND); + gtk_entry_set_icon_activatable(GTK_ENTRY(te->sentry), GTK_ENTRY_ICON_PRIMARY, FALSE); +#endif #endif g_signal_connect_swapped(G_OBJECT(te->sentry), "activate", G_CALLBACK(tag2_sentry_changed_real), te); te->sw = gtk_scrolled_window_new(NULL,NULL); te->vbox = gtk_vbox_new(FALSE, 6); te->tree = gtk_tree_view_new_with_model(GTK_TREE_MODEL(te->model)); + te->tool = gmpc_mpd_data_treeview_tooltip_new(GTK_TREE_VIEW(te->tree), 0); te->browser = browser; - gtk_box_pack_start(GTK_BOX(te->vbox), te->combo, FALSE, TRUE, 0); - - /* setup combo box */ - renderer = gtk_cell_renderer_text_new(); - gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(te->combo), renderer, TRUE); - gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(te->combo), renderer, "text", 2,NULL); - gtk_combo_box_set_active(GTK_COMBO_BOX(te->combo), te->type); - g_signal_connect(G_OBJECT(te->combo), "changed", G_CALLBACK(tag2_songlist_combo_box_changed), te); + if(te->type == MPD_TAG_ITEM_ARTIST ||te->type == MPD_TAG_ITEM_ALBUM_ARTIST) { + te->tool->mtype = META_ARTIST_ART; + } else if(te->type == MPD_TAG_ITEM_ALBUM ) { + te->tool->mtype = META_ALBUM_ART; + } + else te->tool->mtype = 0; /* entry */ gtk_widget_set_no_show_all(te->sentry, TRUE); @@ -896,15 +959,15 @@ /* add tree */ gtk_container_add(GTK_CONTAINER(te->sw), te->tree); gtk_box_pack_start(GTK_BOX(te->vbox), te->sw, TRUE, TRUE, 0); - gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(te->tree), FALSE); gtk_tree_view_set_enable_search(GTK_TREE_VIEW(te->tree), FALSE); /* Add the column, and set it up */ te->column = column = gtk_tree_view_column_new(); - + g_signal_connect(G_OBJECT(te->column), "clicked", G_CALLBACK(tag2_column_header_clicked), te); gtk_tree_view_column_set_title(column, name); + gtk_tree_view_column_set_clickable(te->column, TRUE); te->image_renderer = NULL; if(cfg_get_single_value_as_int_with_default(config, "tag2-plugin","show-image-column", 1)) { @@ -943,7 +1006,8 @@ /* Signal */ - g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(te->tree))), "changed", G_CALLBACK(tag2_changed), te); + g_signal_connect(G_OBJECT(gtk_tree_view_get_selection(GTK_TREE_VIEW(te->tree))), + "changed", G_CALLBACK(tag2_changed), te); } @@ -1043,7 +1107,7 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(tag2_songlist_add_selected_songs), browser); /* add the replace widget */ - item = gtk_image_menu_item_new_with_label("Replace"); + item = gtk_image_menu_item_new_with_label(_("Replace")); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REDO, GTK_ICON_SIZE_MENU)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); @@ -1070,10 +1134,6 @@ } } - - /* Separator */ - item = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); } gmpc_mpddata_treeview_right_mouse_intergration(GMPC_MPDDATA_TREEVIEW(tree), GTK_MENU(menu)); @@ -1140,18 +1200,13 @@ gchar *key; GtkWidget *sw; GmpcMpdDataModel *model = NULL; - int pp; - /* create the pane that separates the song list from the browsers */ key = g_strdup_printf("tag2-plugin:%s", browser->key); - pp = cfg_get_single_value_as_int_with_default(config, key, "pane-pos",150); - browser->tag2_vbox = gtk_vpaned_new(); - /* set the previous pane position */ - gtk_paned_set_position(GTK_PANED(browser->tag2_vbox), pp); - + browser->tag2_vbox = gtk_hpaned_new(); + gmpc_paned_size_group_add_paned(GMPC_PANED_SIZE_GROUP(paned_size_group), GTK_PANED(browser->tag2_vbox)); /* box with tag treeviews (browsers) */ - browser->tag_hbox = gtk_hbox_new(TRUE, 6); + browser->tag_hbox = gtk_vbox_new(TRUE, 6); /* Add this to the 1st pane*/ gtk_paned_add1(GTK_PANED(browser->tag2_vbox), browser->tag_hbox); @@ -1440,8 +1495,39 @@ tag_element *te; gtk_list_store_set(GTK_LIST_STORE(model), &iter, 0, new_data,1,tag, -1); gtk_tree_model_get(model, &iter, 2, &te, -1); - gtk_combo_box_set_active(GTK_COMBO_BOX(te->combo), tag); - } + te->type = tag; + + if(te->type == MPD_TAG_ITEM_ARTIST ||te->type == MPD_TAG_ITEM_ALBUM_ARTIST) { + te->tool->mtype = META_ARTIST_ART; + } else if(te->type == MPD_TAG_ITEM_ALBUM ) { + te->tool->mtype = META_ALBUM_ART; + } + else te->tool->mtype = 0; + /* clear all settings */ + if(te->image_renderer) + { + gtk_cell_layout_clear_attributes(GTK_CELL_LAYOUT(te->column), te->image_renderer); + if(te->type == MPD_TAG_ITEM_ARTIST || te->type == MPD_TAG_ITEM_ALBUM_ARTIST ||te->type == MPD_TAG_ITEM_ALBUM) + { + int size = cfg_get_single_value_as_int_with_default(config, "gmpc-mpddata-model", "icon-size", 32); + gtk_tree_view_column_add_attribute(te->column,te->image_renderer, "pixbuf", MPDDATA_MODEL_META_DATA); + gtk_cell_renderer_set_fixed_size(te->image_renderer, size,size); + } + else + { + int width, height; + gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &width, &height); + gtk_cell_renderer_set_fixed_size(te->image_renderer, width,height); + gtk_tree_view_column_add_attribute(te->column,te->image_renderer, "icon-name", MPDDATA_MODEL_COL_ICON_ID); + } + } + + + gtk_tree_view_column_set_title(te->column, + _(mpdTagItemKeys[te->type])); + tag2_songlist_clear_selection(NULL, te->browser); + tag2_save_browser(te->browser); + } } /** * Add's a column to the selected tag browser @@ -1502,15 +1588,17 @@ gtk_widget_show_all(tb->tag_hbox); tag2_save_browser(tb); /* if it's the first, update */ - if(g_list_length(tb->tag_lists) == 1) + /*if(g_list_length(tb->tag_lists) == 1) { - GList *giter = g_list_first(tb->tag_lists); + GList *giter; + + giter = g_list_first(tb->tag_lists); if(giter) { MpdData *data; tag_element *te2 = giter->data; - /* update the content */ - if(mpd_server_tag_supported(connection,te2->type)) + */ /* update the content */ + /* if(mpd_server_tag_supported(connection,te2->type)) { mpd_database_search_field_start(connection, te2->type); data = mpd_database_search_commit(connection); @@ -1520,6 +1608,9 @@ } } } + */ + /* just reset the whole thing */ + tag2_songlist_clear_selection(NULL, tb); } } /** diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/browsers/server-information.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/browsers/server-information.c --- gmpc-0.18.0/src/browsers/server-information.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/browsers/server-information.c 2009-09-21 11:15:59.000000000 +0100 @@ -287,6 +287,7 @@ event = gtk_event_box_new(); gtk_widget_set_app_paintable(event, TRUE); gtk_event_box_set_visible_window(GTK_EVENT_BOX(event), TRUE); + gtk_widget_set_state(GTK_WIDGET(event), GTK_STATE_SELECTED); g_signal_connect(G_OBJECT(event), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); gtk_widget_modify_bg(serverstats_event, GTK_STATE_NORMAL, &(colw->style->base[GTK_STATE_NORMAL])); diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/bug-information.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/bug-information.c --- gmpc-0.18.0/src/bug-information.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/bug-information.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,287 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include "revision.h" + +static void bug_information_generate_message(GtkTextBuffer *buffer) +{ + int i; + gchar *temp; + GtkTextIter iter; + GtkTextTag *bold_tag, *larger_tag; + GtkTextTagTable *table; + + /* get buffer's tag table */ + table = gtk_text_buffer_get_tag_table(buffer); + /* Create bold tag */ + bold_tag = gtk_text_tag_new("bold"); + g_object_set(G_OBJECT(bold_tag), "weight", PANGO_WEIGHT_BOLD,NULL); + /* add bold_tag to tag table */ + gtk_text_tag_table_add(table, bold_tag); + + /* Create bold tag */ + larger_tag = gtk_text_tag_new("larger"); + g_object_set(G_OBJECT(larger_tag), "scale", PANGO_SCALE_X_LARGE,NULL); + /* add larger_tag to tag table */ + gtk_text_tag_table_add(table, larger_tag); + + + /* Get the start */ + gtk_text_buffer_get_start_iter(buffer, &iter); + + /* insert program name */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Gnome Music Player Client\n", -1, bold_tag, larger_tag,NULL); + /* insert copyright */ + gtk_text_buffer_insert_with_tags(buffer, &iter, GMPC_COPYRIGHT"\n\n", -1, bold_tag, NULL); + + /* insert tagline*/ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Tagline:\t", -1, bold_tag, NULL); + gtk_text_buffer_insert(buffer, &iter, GMPC_TAGLINE"\n", -1); + + /* insert version */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Version:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i.%i.%i\n", GMPC_MAJOR_VERSION, GMPC_MINOR_VERSION,GMPC_MICRO_VERSION); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + /* insert revision */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Revision:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%s\n", revision); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + /** support libs */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nSupport libraries:\n", -1, bold_tag, larger_tag,NULL); + + /* libmpd */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Libmpd:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i.%i.%i\n", LIBMPD_MAJOR_VERSION, LIBMPD_MINOR_VERSION,LIBMPD_MICRO_VERSION); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + /* gtk+-2.0 */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Compile time Gtk+-2.0:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i.%i.%i\n", GTK_MAJOR_VERSION, GTK_MINOR_VERSION,GTK_MICRO_VERSION); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + gtk_text_buffer_insert_with_tags(buffer, &iter, "Runtime Gtk+-2.0:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i.%i.%i\n", gtk_major_version, gtk_minor_version, gtk_micro_version); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + /* glib-2.0 */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Glib-2.0:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i.%i.%i\n", GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION,GLIB_MICRO_VERSION); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); + + /* glib-2.0 */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "Runtime sqlite3:\t", -1, bold_tag, NULL); + gtk_text_buffer_insert(buffer, &iter, sqlite3_libversion(), -1); + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nCompile time sqlite3:\t", -1, bold_tag, NULL); + gtk_text_buffer_insert(buffer, &iter, SQLITE_VERSION, -1); + /* platform */ + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nPlatform:\t", -1, bold_tag, NULL); +#ifdef WIN32 + gtk_text_buffer_insert(buffer, &iter, "Windows\n", -1); + gtk_text_buffer_insert_with_tags(buffer, &iter, "Windows version:\t", -1, bold_tag, NULL); + temp = g_strdup_printf("%i\n", g_win32_get_windows_version()); + gtk_text_buffer_insert(buffer, &iter, temp, -1); + g_free(temp); +#else +#ifdef OSX + gtk_text_buffer_insert(buffer, &iter, "Mac OsX\n", -1); +#else + gtk_text_buffer_insert(buffer, &iter, "*nix\n", -1); +#endif +#endif + + /** compile flags*/ + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nCompile flags:\n", -1, bold_tag, larger_tag,NULL); + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nNLS Support:\t", -1, bold_tag, NULL); +#ifdef ENABLE_NLS + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nMultimedia Keys:\t", -1, bold_tag, NULL); +#ifdef ENABLE_MMKEYS + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nSystem libsexy:\t", -1, bold_tag, NULL); +#ifdef USE_SYSTEM_LIBSEXY + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nMac integration:\t", -1, bold_tag, NULL); +#ifdef ENABLE_IGE + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nLibspiff support:\t", -1, bold_tag, NULL); +#ifdef SPIFF + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + + gtk_text_buffer_insert_with_tags(buffer, &iter, "\nUse ~/.config/ dir:\t", -1, bold_tag, NULL); +#ifdef USE_CONFIG_DIR + gtk_text_buffer_insert(buffer, &iter,"Enabled",-1); +#else + gtk_text_buffer_insert(buffer, &iter,"Disabled",-1); +#endif + + + /** Plugins */ + if(num_plugins > 0) + { + gtk_text_buffer_insert_with_tags(buffer, &iter, "\n\nPlugins:\n", -1, bold_tag, larger_tag,NULL); + for(i=0;ivbox), scrolled_window, TRUE, TRUE, 0); + + /* Add dialogs response handler */ + g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(gtk_widget_destroy), NULL); + /* show dialog */ + gtk_widget_show_all(dialog); + if(window == NULL){ + gtk_dialog_run(GTK_DIALOG(dialog)); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/bug-information.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/bug-information.h --- gmpc-0.18.0/src/bug-information.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/bug-information.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,30 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef __BUG_INFORMATION_H__ +#define __BUG_INFORMATION_H__ + +/** + * @param window a GtkWindow the buginformation window should position itself on. + * + */ + +void bug_information_window_new(GtkWidget *window); + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/config1.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/config1.c --- gmpc-0.18.0/src/config1.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/config1.c 2009-09-21 11:15:59.000000000 +0100 @@ -17,7 +17,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include #include #include #include @@ -57,7 +56,7 @@ typedef struct _config_obj { gchar *url; - GMutex *lock; +/* GMutex *lock;*/ config_node *root; int total_size; guint save_timeout; @@ -226,11 +225,12 @@ { return NULL; } - cfgo->lock = g_mutex_new(); +/* cfgo->lock = g_mutex_new(); g_mutex_lock(cfgo->lock); + */ cfgo->url = g_strdup(url); cfgo->root = NULL; - cfgo->total_size = sizeof(config_obj)+sizeof(&cfgo->lock)+strlen(cfgo->url); + cfgo->total_size = sizeof(config_obj)/*+sizeof(&cfgo->lock)*/+strlen(cfgo->url); cfgo->save_timeout = 0; if(g_file_test(cfgo->url, G_FILE_TEST_EXISTS)) @@ -243,7 +243,9 @@ } } debug_printf(DEBUG_INFO,"Config %s: allocated: %i\n", cfgo->url, cfgo->total_size); + /* g_mutex_unlock(cfgo->lock); + */ return cfgo; } @@ -256,16 +258,20 @@ } cfg_save_real(cfgo); debug_printf(DEBUG_INFO,"Closing config '%s' with %i bytes allocated\n", cfgo->url, cfgo->total_size); + /* g_mutex_lock(cfgo->lock); + */ if(cfgo->url != NULL) { cfgo->total_size-=strlen(cfgo->url); cfg_free_string(cfgo->url); } while(cfgo->root)__int_cfg_remove_node(cfgo,cfgo->root); + /* g_mutex_unlock(cfgo->lock); - cfgo->total_size-= sizeof(&cfgo->lock)+sizeof(config_obj); - g_mutex_free(cfgo->lock); + */ + cfgo->total_size-= /*sizeof(&cfgo->lock)+*/sizeof(config_obj); +/* g_mutex_free(cfgo->lock);*/ debug_printf(DEBUG_INFO,"Memory remaining: %i\n", cfgo->total_size); g_free(cfgo); cfgo = NULL; @@ -367,7 +373,7 @@ else if (temp->type == TYPE_ITEM) { int i= 0; - int length = strlen(temp->value); + int length = (temp->value)?strlen(temp->value):0; fputs(temp->name, fp); fputs("=\"", fp); for(i=0;isave_timeout) { + g_source_remove(cfgo->save_timeout); cfgo->save_timeout = 0; }else { return FALSE; @@ -527,9 +534,9 @@ int cfg_get_single_value_as_int(config_obj *cfg, const char *class, const char *key) { int retv = 0; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_int_mm(cfg, class,NULL, NULL, key); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return retv; } void cfg_set_single_value_as_int(config_obj *cfg, const char *class, const char *key, int value) @@ -567,9 +574,9 @@ float cfg_get_single_value_as_float(config_obj *cfg, const char *class, const char *key) { float retv = 0; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_float(cfg,class,NULL, NULL,key); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return retv; } @@ -577,25 +584,25 @@ float cfg_get_single_value_as_float_mm(config_obj *cfg, const char *class, const char *sclass, const char *ssclass, const char *key) { float retv = 0; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_float(cfg,class,sclass,ssclass,key); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return retv; } void cfg_set_single_value_as_float(config_obj *cfg, const char *class, const char *key, float value) { char *value1 = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ value1 = g_strdup_printf("%f", value); __int_cfg_set_single_value_as_string(cfg,class,NULL, NULL, key,value1); cfg_free_string(value1); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } float cfg_get_single_value_as_float_with_default(config_obj *cfg, const char *class, const char *key, float def) { float retv = 0; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_float(cfg,class,NULL, NULL, key); if(retv == CFG_INT_NOT_DEFINED) { @@ -604,7 +611,7 @@ cfg_free_string(value1); retv = __int_cfg_get_single_value_as_float(cfg,class,NULL, NULL, key); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ /* make it return an error */ return retv; } @@ -628,28 +635,28 @@ } } /* remove node from linked list */ - if(node->next != NULL) + if(node->prev != NULL) { if(node->parent && node->parent->children == node) { - node->parent->children = node->next; + node->parent->children = node->prev; } - node->next->prev = node->prev; + node->prev->next = node->next; } - if(node->prev != NULL) + if(node->next != NULL) { if(node->parent && node->parent->children == node) { - node->parent->children = node->prev; + node->parent->children = node->next; } - node->prev->next = node->next; + node->next->prev = node->prev; } if(node == cfg->root) { - if(node->next){ - cfg->root = node->next; - }else if (node->prev){ + if(node->prev){ cfg->root = node->prev; + }else if (node->next){ + cfg->root = node->next; }else{ cfg->root = NULL; } @@ -657,8 +664,8 @@ cfg->total_size-= sizeof(config_node); if(node->name){ cfg->total_size-=strlen(node->name); - cfg_free_string(node->name); - } + cfg_free_string(node->name); + } if(node->value) { cfg->total_size-=strlen(node->value); cfg_free_string(node->value); @@ -668,7 +675,7 @@ void cfg_del_single_value_mm(config_obj *cfg, const char *class,const char *sclass, const char *ssclass, const char *key) { config_node *node = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ node = cfg_get_single_value(cfg,class,sclass,ssclass, key); if(node != NULL) { @@ -676,7 +683,7 @@ cfg_save_delayed(cfg); debug_printf(DEBUG_INFO, "triggered save delay: del: %s, %s", class, key); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } void cfg_del_single_value(config_obj *cfg, const char *class, const char *key) { @@ -689,7 +696,7 @@ if(cfg == NULL || class == NULL) return; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ node = cfg_get_class(cfg, class); if(node) { @@ -697,7 +704,7 @@ } cfg_save_delayed(cfg); debug_printf(DEBUG_INFO, "triggered save delay: del: %s", class); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } static void __int_cfg_set_single_value_as_string(config_obj *cfg, const char *class, const char *sclass, const char *ssclass, const char *key, const char *value) { @@ -734,7 +741,8 @@ cfg_add_child(node,newnode); } - else if(strlen(newnode->value) == strlen(value) && !memcmp(newnode->value, value,strlen(newnode->value))) + else if((value == NULL && newnode->value == NULL) || + (value != NULL && newnode->value != NULL && strlen(newnode->value) == strlen(value) && !memcmp(newnode->value, value,strlen(newnode->value)))) { /* Check if the content is the same, if it is, do nothing */ return; @@ -744,17 +752,23 @@ cfg->total_size-= strlen(newnode->value); cfg_free_string(newnode->value); } - newnode->value = g_strdup(value); - cfg->total_size += strlen(value); + if(value) + { + newnode->value = g_strdup(value); + cfg->total_size += strlen(value); + } + else{ + newnode->value = NULL; + } cfg_save_delayed(cfg); debug_printf(DEBUG_INFO, "triggered save delay: set: %s,%s -> %s", class,key,value); } void cfg_set_single_value_as_string(config_obj *cfg, const char *class, const char *key, const char *value) { - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ __int_cfg_set_single_value_as_string(cfg, class,NULL, NULL, key,value); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } /* multiple values */ @@ -788,20 +802,20 @@ void cfg_del_multiple_value(config_obj *cfg, const char *class, const char *key,const char *id) { config_node *cur = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ cur = cfg_get_multiple_value(cfg, class,key,id); if(cur != NULL) { __int_cfg_remove_node(cfg,cur); cfg_save_delayed(cfg); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } void cfg_set_multiple_value_as_string(config_obj *cfg, const char *class, const char *key, const char *id, const char *value) { config_node *cur = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ cur = cfg_get_multiple_value(cfg, class,key,id); if(cur != NULL) { @@ -842,14 +856,14 @@ cfg_add_child(node,cur); cfg_save_delayed(cfg); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } conf_mult_obj * cfg_get_multiple_as_string(config_obj *cfg, const char *class, const char *key) { conf_mult_obj *list = NULL; config_node *cur = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ cur = cfg_get_single_value(cfg, class,NULL, NULL, key); if(cur && cur->type == TYPE_ITEM_MULTIPLE && cur->children != NULL) { @@ -866,7 +880,7 @@ cur = cur->next; }while(cur != NULL); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return list; } void cfg_free_multiple(conf_mult_obj *data) @@ -901,7 +915,7 @@ config_node *root = NULL; if(!data) return NULL; if(!data->root) return NULL; - g_mutex_lock(data->lock); +/* g_mutex_lock(data->lock);*/ root = data->root; while(root->prev != NULL) root = root->prev; do { @@ -917,7 +931,8 @@ root=root->next; }while(root!= NULL); while(list->prev != NULL) list = list->prev; - g_mutex_unlock(data->lock); +/* g_mutex_unlock(data->lock);*/ + return list; } @@ -927,11 +942,11 @@ config_node *root = NULL; if(data == NULL) return NULL; if(data->root == NULL) return NULL; - g_mutex_lock(data->lock); +/* g_mutex_lock(data->lock);*/ root = cfg_get_class(data,class); if(!root || !root->children) { - g_mutex_unlock(data->lock); +/* g_mutex_unlock(data->lock);*/ return NULL; } root = root->children; @@ -948,8 +963,8 @@ } root=root->next; }while(root!= NULL); - while(list->prev != NULL) list = list->prev; - g_mutex_unlock(data->lock); + while(list && list->prev != NULL) list = list->prev; +/* g_mutex_unlock(data->lock);*/ return list; } @@ -1005,10 +1020,10 @@ if(!cfg || !cfg->root) return; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ __int_cfg_do_special_cleanup(cfg, NULL); cfg_save_delayed(cfg); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } /** @@ -1020,16 +1035,16 @@ */ void cfg_set_single_value_as_string_mm(config_obj *cfg, const char *class,const char *sclass, const char *ssclass, const char *key, const char *value) { - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ __int_cfg_set_single_value_as_string(cfg, class,sclass,ssclass, key,value); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } char * cfg_get_single_value_as_string_mm(config_obj *cfg, const char *class,const char *sclass, const char *ssclass, const char *key) { char *retv = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_string(cfg,class,sclass,ssclass,key); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return retv; } @@ -1037,14 +1052,14 @@ char * cfg_get_single_value_as_string_with_default_mm(config_obj *cfg, const char *class, const char *sclass, const char *ssclass, const char *key , const char *def) { char *retv = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ retv = __int_cfg_get_single_value_as_string(cfg,class,sclass,ssclass,key); if(retv == NULL) { __int_cfg_set_single_value_as_string(cfg,class,sclass, ssclass, key,def); retv = __int_cfg_get_single_value_as_string(cfg,class,sclass, ssclass,key); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ return retv; } /** @@ -1053,23 +1068,23 @@ void cfg_set_single_value_as_int_mm(config_obj *cfg, const char *class,const char *sclass, const char *ssclass, const char *key, int value) { gchar * temp = NULL; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock);*/ temp = g_strdup_printf("%i",value); __int_cfg_set_single_value_as_string(cfg,class,sclass, ssclass,key,temp); cfg_free_string(temp); - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock);*/ } int cfg_get_single_value_as_int_with_default_mm(config_obj *cfg, const char *class, const char *sclass, const char *ssclass, const char *key, int def) { int retv = CFG_INT_NOT_DEFINED; - g_mutex_lock(cfg->lock); +/* g_mutex_lock(cfg->lock); */ retv = __int_cfg_get_single_value_as_int_mm(cfg,class,sclass, ssclass,key); if(retv == CFG_INT_NOT_DEFINED) { __int_cfg_set_single_value_as_int(cfg,class,sclass, ssclass,key,def); retv = __int_cfg_get_single_value_as_int_mm(cfg,class,sclass, ssclass, key); } - g_mutex_unlock(cfg->lock); +/* g_mutex_unlock(cfg->lock); */ return retv; } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/config1.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/config1.h --- gmpc-0.18.0/src/config1.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/config1.h 2009-09-21 11:15:59.000000000 +0100 @@ -19,7 +19,7 @@ #ifndef __CONFIG_1_H__ #define __CONFIG_1_H__ -#include +#include #include #define CFG_INT_NOT_DEFINED -65536 diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/edit_markup.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/edit_markup.c --- gmpc-0.18.0/src/edit_markup.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/edit_markup.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,134 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include "main.h" -#include "misc.h" -#include "playlist3.h" -#include "config1.h" - - - -static GtkBuilder *xml_esf = NULL; -GtkTextBuffer *buffer= NULL; - -void esf_reload(void); - -static void esf_render_example(GtkTextBuffer *buf) -{ - char *filename = _("/path/to/file_name.mp3"); - char *artist = _("Jonny Singer"); - char *album = _("Sing or Swing you want"); - char *title = _("The kernel jazz"); - char *track = _("01/24"); - char *date = _("2 Feb 2006"); - unsigned int song_time = 645; - char *stream_name = _("MPD's Streaming server"); - char *result_buffer[1024]; - char *format = NULL; - GtkTextIter start_iter, stop_iter; - mpd_Song *song = mpd_newSong(); - song->file = g_strdup(filename); - song->time = song_time; - - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_artist")))) - { - song->artist = g_strdup(artist); - } - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_album")))) - { - song->album = g_strdup(album); - } - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_title")))) - { - song->title = g_strdup(title); - } - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_track")))) - { - song->track = g_strdup(track); - } - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_date")))) - { - song->date = g_strdup(date); - } - if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gtk_builder_get_object(xml_esf, "ck_stream")))) - { - song->name = g_strdup(stream_name); - } - - - gtk_text_buffer_get_start_iter(buffer, &start_iter); - gtk_text_buffer_get_end_iter(buffer, &stop_iter); - format = gtk_text_buffer_get_text(buffer,&start_iter, &stop_iter, FALSE); - mpd_song_markup((char *)result_buffer, 1024,format, song); - - gtk_label_set_text(GTK_LABEL(gtk_builder_get_object(xml_esf, "label_example")), (const char *)result_buffer); - mpd_freeSong(song); -} -void esf_reload(void) -{ - esf_render_example(buffer); -} -char * edit_song_markup(char *format) -{ - char *str_format = NULL; - GtkTextIter start_iter, stop_iter; - GtkWidget *dialog; - GError *error = NULL; - char *path = gmpc_get_full_glade_path("preferences-esf-dialog.ui"); - xml_esf= gtk_builder_new(); - gtk_builder_add_from_file(xml_esf, path, &error); - if(error) { - debug_printf(DEBUG_ERROR, error->message); - g_error_free(error); - error = NULL; - } - q_free(path); - dialog = (GtkWidget *) gtk_builder_get_object(xml_esf, "esf_dialog"); - buffer= gtk_text_view_get_buffer(GTK_TEXT_VIEW(gtk_builder_get_object(xml_esf, "textview_markup"))); - gtk_builder_connect_signals(xml_esf, NULL); - g_signal_connect(G_OBJECT(buffer), "changed", G_CALLBACK(esf_render_example), NULL); - if(format != NULL) - { - gtk_text_buffer_set_text(buffer, format, -1); - } - q_free(str_format); - - switch(gtk_dialog_run(GTK_DIALOG(dialog))) - { - case GTK_RESPONSE_OK: - { - gtk_text_buffer_get_start_iter(buffer, &start_iter); - gtk_text_buffer_get_end_iter(buffer, &stop_iter); - str_format = g_strdup(gtk_text_buffer_get_text(buffer,&start_iter, &stop_iter, FALSE)); - } - default: - break; - } - - gtk_widget_destroy(dialog); - g_object_unref(xml_esf); - xml_esf = NULL; - buffer = NULL; - return str_format; -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/egg/eggcolumnmodel.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/egg/eggcolumnmodel.c --- gmpc-0.18.0/src/egg/eggcolumnmodel.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/egg/eggcolumnmodel.c 2009-09-21 11:15:59.000000000 +0100 @@ -47,9 +47,9 @@ static GType egg_column_model_get_column_type (GtkTreeModel *tree_model, - gint index) + gint temp_index) { - switch (index) + switch (temp_index) { case COLUMN_VISIBLE: return G_TYPE_BOOLEAN; @@ -448,7 +448,10 @@ b = b->next; if (a == NULL) - return; + { + g_free(new_order); + return; + } m++; } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/egg/eggtrayicon.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/egg/eggtrayicon.c --- gmpc-0.18.0/src/egg/eggtrayicon.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/egg/eggtrayicon.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,559 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* eggtrayicon.c - * Copyright (C) 2002 Anders Carlsson - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include -#include -#include - -#include "eggtrayicon.h" - -#include -#if defined (GDK_WINDOWING_X11) -#include -#include -#elif defined (GDK_WINDOWING_WIN32) -#include -#endif - -#ifndef EGG_COMPILATION -#ifndef _ -#define _(x) dgettext (GETTEXT_PACKAGE, x) -#define N_(x) x -#endif -#else -#define _(x) x -#define N_(x) x -#endif - -#define SYSTEM_TRAY_REQUEST_DOCK 0 -#define SYSTEM_TRAY_BEGIN_MESSAGE 1 -#define SYSTEM_TRAY_CANCEL_MESSAGE 2 - -#define SYSTEM_TRAY_ORIENTATION_HORZ 0 -#define SYSTEM_TRAY_ORIENTATION_VERT 1 - -enum { - PROP_0, - PROP_ORIENTATION -}; - -static GtkPlugClass *parent_class = NULL; - -static void egg_tray_icon_init (EggTrayIcon *icon); -static void egg_tray_icon_class_init (EggTrayIconClass *klass); - -static void egg_tray_icon_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); - -static void egg_tray_icon_realize (GtkWidget *widget); -static void egg_tray_icon_unrealize (GtkWidget *widget); - -static void egg_tray_icon_add (GtkContainer *container, - GtkWidget *widget); - -#ifdef GDK_WINDOWING_X11 -static void egg_tray_icon_update_manager_window (EggTrayIcon *icon, - gboolean dock_if_realized); -static void egg_tray_icon_manager_window_destroyed (EggTrayIcon *icon); -#endif - -GType -egg_tray_icon_get_type (void) -{ - static GType our_type = 0; - - if (our_type == 0) - { - static const GTypeInfo our_info = - { - sizeof (EggTrayIconClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) egg_tray_icon_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (EggTrayIcon), - 0, /* n_preallocs */ - (GInstanceInitFunc) egg_tray_icon_init - }; - - our_type = g_type_register_static (GTK_TYPE_PLUG, "EggTrayIcon", &our_info, 0); - } - - return our_type; -} - -static void -egg_tray_icon_init (EggTrayIcon *icon) -{ - icon->stamp = 1; - icon->orientation = GTK_ORIENTATION_HORIZONTAL; - - gtk_widget_add_events (GTK_WIDGET (icon), GDK_PROPERTY_CHANGE_MASK); -} - -static void -egg_tray_icon_class_init (EggTrayIconClass *klass) -{ - GObjectClass *gobject_class = (GObjectClass *)klass; - GtkWidgetClass *widget_class = (GtkWidgetClass *)klass; - GtkContainerClass *container_class = (GtkContainerClass *)klass; - - parent_class = g_type_class_peek_parent (klass); - - gobject_class->get_property = egg_tray_icon_get_property; - - widget_class->realize = egg_tray_icon_realize; - widget_class->unrealize = egg_tray_icon_unrealize; - - container_class->add = egg_tray_icon_add; - - g_object_class_install_property (gobject_class, - PROP_ORIENTATION, - g_param_spec_enum ("orientation", - _("Orientation"), - _("The orientation of the tray."), - GTK_TYPE_ORIENTATION, - GTK_ORIENTATION_HORIZONTAL, - G_PARAM_READABLE)); - -#if defined (GDK_WINDOWING_X11) - /* Nothing */ -#elif defined (GDK_WINDOWING_WIN32) - g_warning ("Port eggtrayicon to Win32"); -#else - g_warning ("Port eggtrayicon to this GTK+ backend"); -#endif -} - -static void -egg_tray_icon_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - EggTrayIcon *icon = EGG_TRAY_ICON (object); - - switch (prop_id) - { - case PROP_ORIENTATION: - g_value_set_enum (value, icon->orientation); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -#ifdef GDK_WINDOWING_X11 - -static void -egg_tray_icon_get_orientation_property (EggTrayIcon *icon) -{ - Display *xdisplay; - Atom type; - int format; - union { - gulong *prop; - guchar *prop_ch; - } prop = { NULL }; - gulong nitems; - gulong bytes_after; - int error, result; - - g_assert (icon->manager_window != None); - - xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon))); - - gdk_error_trap_push (); - type = None; - result = XGetWindowProperty (xdisplay, - icon->manager_window, - icon->orientation_atom, - 0, G_MAXLONG, FALSE, - XA_CARDINAL, - &type, &format, &nitems, - &bytes_after, &(prop.prop_ch)); - error = gdk_error_trap_pop (); - - if (error || result != Success) - return; - - if (type == XA_CARDINAL) - { - GtkOrientation orientation; - - orientation = (prop.prop [0] == SYSTEM_TRAY_ORIENTATION_HORZ) ? - GTK_ORIENTATION_HORIZONTAL : - GTK_ORIENTATION_VERTICAL; - - if (icon->orientation != orientation) - { - icon->orientation = orientation; - - g_object_notify (G_OBJECT (icon), "orientation"); - } - } - - if (prop.prop) - XFree (prop.prop); -} - -static GdkFilterReturn -egg_tray_icon_manager_filter (GdkXEvent *xevent, GdkEvent *event, gpointer user_data) -{ - EggTrayIcon *icon = user_data; - XEvent *xev = (XEvent *)xevent; - - if (xev->xany.type == ClientMessage && - xev->xclient.message_type == icon->manager_atom && - xev->xclient.data.l[1] == icon->selection_atom) - { - egg_tray_icon_update_manager_window (icon, TRUE); - } - else if (xev->xany.window == icon->manager_window) - { - if (xev->xany.type == PropertyNotify && - xev->xproperty.atom == icon->orientation_atom) - { - egg_tray_icon_get_orientation_property (icon); - } - if (xev->xany.type == DestroyNotify) - { - egg_tray_icon_manager_window_destroyed (icon); - } - } - return GDK_FILTER_CONTINUE; -} - -#endif - -static void -egg_tray_icon_unrealize (GtkWidget *widget) -{ -#ifdef GDK_WINDOWING_X11 - EggTrayIcon *icon = EGG_TRAY_ICON (widget); - GdkWindow *root_window; - - if (icon->manager_window != None) - { - GdkWindow *gdkwin; - - gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (widget), - icon->manager_window); - - gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); - } - - root_window = gdk_screen_get_root_window (gtk_widget_get_screen (widget)); - - gdk_window_remove_filter (root_window, egg_tray_icon_manager_filter, icon); - - if (GTK_WIDGET_CLASS (parent_class)->unrealize) - (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); -#endif -} - -#ifdef GDK_WINDOWING_X11 - -static void -egg_tray_icon_send_manager_message (EggTrayIcon *icon, - long message, - Window window, - long data1, - long data2, - long data3) -{ - XClientMessageEvent ev; - Display *display; - - ev.type = ClientMessage; - ev.window = window; - ev.message_type = icon->system_tray_opcode_atom; - ev.format = 32; - ev.data.l[0] = gdk_x11_get_server_time (GTK_WIDGET (icon)->window); - ev.data.l[1] = message; - ev.data.l[2] = data1; - ev.data.l[3] = data2; - ev.data.l[4] = data3; - - display = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon))); - - gdk_error_trap_push (); - XSendEvent (display, - icon->manager_window, False, NoEventMask, (XEvent *)&ev); - XSync (display, False); - gdk_error_trap_pop (); -} - -static void -egg_tray_icon_send_dock_request (EggTrayIcon *icon) -{ - egg_tray_icon_send_manager_message (icon, - SYSTEM_TRAY_REQUEST_DOCK, - icon->manager_window, - gtk_plug_get_id (GTK_PLUG (icon)), - 0, 0); -} - -static void -egg_tray_icon_update_manager_window (EggTrayIcon *icon, - gboolean dock_if_realized) -{ - Display *xdisplay; - - if (icon->manager_window != None) - return; - - xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon))); - - XGrabServer (xdisplay); - - icon->manager_window = XGetSelectionOwner (xdisplay, - icon->selection_atom); - - if (icon->manager_window != None) - XSelectInput (xdisplay, - icon->manager_window, StructureNotifyMask|PropertyChangeMask); - - XUngrabServer (xdisplay); - XFlush (xdisplay); - - if (icon->manager_window != None) - { - GdkWindow *gdkwin; - - gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), - icon->manager_window); - - gdk_window_add_filter (gdkwin, egg_tray_icon_manager_filter, icon); - - if (dock_if_realized && GTK_WIDGET_REALIZED (icon)) - egg_tray_icon_send_dock_request (icon); - - egg_tray_icon_get_orientation_property (icon); - } -} - -static void -egg_tray_icon_manager_window_destroyed (EggTrayIcon *icon) -{ - GdkWindow *gdkwin; - - g_return_if_fail (icon->manager_window != None); - - gdkwin = gdk_window_lookup_for_display (gtk_widget_get_display (GTK_WIDGET (icon)), - icon->manager_window); - - gdk_window_remove_filter (gdkwin, egg_tray_icon_manager_filter, icon); - - icon->manager_window = None; - - egg_tray_icon_update_manager_window (icon, TRUE); -} - -#endif - -static gboolean -transparent_expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer user_data) -{ - gdk_window_clear_area (widget->window, event->area.x, event->area.y, - event->area.width, event->area.height); - return FALSE; -} - -static void -make_transparent_again (GtkWidget *widget, GtkStyle *previous_style, - gpointer user_data) -{ - gdk_window_set_back_pixmap (widget->window, NULL, TRUE); -} - -static void -make_transparent (GtkWidget *widget, gpointer user_data) -{ - if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget)) - return; - - gtk_widget_set_app_paintable (widget, TRUE); - gtk_widget_set_double_buffered (widget, FALSE); - gdk_window_set_back_pixmap (widget->window, NULL, TRUE); - g_signal_connect (widget, "expose_event", - G_CALLBACK (transparent_expose_event), NULL); - g_signal_connect_after (widget, "style_set", - G_CALLBACK (make_transparent_again), NULL); -} - -static void -egg_tray_icon_realize (GtkWidget *widget) -{ -#ifdef GDK_WINDOWING_X11 - EggTrayIcon *icon = EGG_TRAY_ICON (widget); - GdkScreen *screen; - GdkDisplay *display; - Display *xdisplay; - char buffer[256]; - GdkWindow *root_window; - - if (GTK_WIDGET_CLASS (parent_class)->realize) - GTK_WIDGET_CLASS (parent_class)->realize (widget); - - make_transparent (widget, NULL); - - screen = gtk_widget_get_screen (widget); - display = gdk_screen_get_display (screen); - xdisplay = gdk_x11_display_get_xdisplay (display); - - /* Now see if there's a manager window around */ - g_snprintf (buffer, sizeof (buffer), - "_NET_SYSTEM_TRAY_S%d", - gdk_screen_get_number (screen)); - - icon->selection_atom = XInternAtom (xdisplay, buffer, False); - - icon->manager_atom = XInternAtom (xdisplay, "MANAGER", False); - - icon->system_tray_opcode_atom = XInternAtom (xdisplay, - "_NET_SYSTEM_TRAY_OPCODE", - False); - - icon->orientation_atom = XInternAtom (xdisplay, - "_NET_SYSTEM_TRAY_ORIENTATION", - False); - - egg_tray_icon_update_manager_window (icon, FALSE); - egg_tray_icon_send_dock_request (icon); - - root_window = gdk_screen_get_root_window (screen); - - /* Add a root window filter so that we get changes on MANAGER */ - gdk_window_add_filter (root_window, - egg_tray_icon_manager_filter, icon); -#endif -} - -static void -egg_tray_icon_add (GtkContainer *container, GtkWidget *widget) -{ - g_signal_connect (widget, "realize", - G_CALLBACK (make_transparent), NULL); - GTK_CONTAINER_CLASS (parent_class)->add (container, widget); -} - -EggTrayIcon * -egg_tray_icon_new_for_screen (GdkScreen *screen, const char *name) -{ - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - - return g_object_new (EGG_TYPE_TRAY_ICON, "screen", screen, "title", name, NULL); -} - -EggTrayIcon* -egg_tray_icon_new (const gchar *name) -{ - return g_object_new (EGG_TYPE_TRAY_ICON, "title", name, NULL); -} - -guint -egg_tray_icon_send_message (EggTrayIcon *icon, - gint timeout, - const gchar *message, - gint len) -{ - guint stamp; - - g_return_val_if_fail (EGG_IS_TRAY_ICON (icon), 0); - g_return_val_if_fail (timeout >= 0, 0); - g_return_val_if_fail (message != NULL, 0); - -#ifdef GDK_WINDOWING_X11 - if (icon->manager_window == None) - return 0; -#endif - - if (len < 0) - len = strlen (message); - - stamp = icon->stamp++; - -#ifdef GDK_WINDOWING_X11 - /* Get ready to send the message */ - egg_tray_icon_send_manager_message (icon, SYSTEM_TRAY_BEGIN_MESSAGE, - icon->manager_window, - timeout, len, stamp); - - /* Now to send the actual message */ - gdk_error_trap_push (); - while (len > 0) - { - XClientMessageEvent ev; - Display *xdisplay; - - xdisplay = GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (icon))); - - ev.type = ClientMessage; - ev.window = icon->manager_window; - ev.format = 8; - ev.message_type = XInternAtom (xdisplay, - "_NET_SYSTEM_TRAY_MESSAGE_DATA", False); - if (len > 20) - { - memcpy (&ev.data, message, 20); - len -= 20; - message += 20; - } - else - { - memcpy (&ev.data, message, len); - len = 0; - } - - XSendEvent (xdisplay, - icon->manager_window, False, StructureNotifyMask, (XEvent *)&ev); - XSync (xdisplay, False); - } - gdk_error_trap_pop (); -#endif - - return stamp; -} - -void -egg_tray_icon_cancel_message (EggTrayIcon *icon, - guint id) -{ - g_return_if_fail (EGG_IS_TRAY_ICON (icon)); - g_return_if_fail (id > 0); -#ifdef GDK_WINDOWING_X11 - egg_tray_icon_send_manager_message (icon, SYSTEM_TRAY_CANCEL_MESSAGE, - (Window)gtk_plug_get_id (GTK_PLUG (icon)), - id, 0, 0); -#endif -} - -GtkOrientation -egg_tray_icon_get_orientation (EggTrayIcon *icon) -{ - g_return_val_if_fail (EGG_IS_TRAY_ICON (icon), GTK_ORIENTATION_HORIZONTAL); - - return icon->orientation; -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/egg/eggtrayicon.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/egg/eggtrayicon.h --- gmpc-0.18.0/src/egg/eggtrayicon.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/egg/eggtrayicon.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* eggtrayicon.h - * Copyright (C) 2002 Anders Carlsson - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __EGG_TRAY_ICON_H__ -#define __EGG_TRAY_ICON_H__ - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -G_BEGIN_DECLS - -#define EGG_TYPE_TRAY_ICON (egg_tray_icon_get_type ()) -#define EGG_TRAY_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_TRAY_ICON, EggTrayIcon)) -#define EGG_TRAY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_TRAY_ICON, EggTrayIconClass)) -#define EGG_IS_TRAY_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_TRAY_ICON)) -#define EGG_IS_TRAY_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_TRAY_ICON)) -#define EGG_TRAY_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_TRAY_ICON, EggTrayIconClass)) - -typedef struct _EggTrayIcon EggTrayIcon; -typedef struct _EggTrayIconClass EggTrayIconClass; - -struct _EggTrayIcon -{ - GtkPlug parent_instance; - - guint stamp; - -#ifdef GDK_WINDOWING_X11 - Atom selection_atom; - Atom manager_atom; - Atom system_tray_opcode_atom; - Atom orientation_atom; - Window manager_window; -#endif - GtkOrientation orientation; -}; - -struct _EggTrayIconClass -{ - GtkPlugClass parent_class; -}; - -GType egg_tray_icon_get_type (void); - -EggTrayIcon *egg_tray_icon_new_for_screen (GdkScreen *screen, - const gchar *name); - -EggTrayIcon *egg_tray_icon_new (const gchar *name); - -guint egg_tray_icon_send_message (EggTrayIcon *icon, - gint timeout, - const char *message, - gint len); -void egg_tray_icon_cancel_message (EggTrayIcon *icon, - guint id); - -GtkOrientation egg_tray_icon_get_orientation (EggTrayIcon *icon); - -G_END_DECLS - -#endif /* __EGG_TRAY_ICON_H__ */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-clicklabel.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-clicklabel.gob --- gmpc-0.18.0/src/gmpc-clicklabel.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-clicklabel.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,173 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%headertop{ +#include +%} + + +class Gmpc:ClickLabel from Gtk:Event:Box +{ + /* List with the setup of the label */ + private PangoAttrList *attributes = {pango_attr_list_new()} destroywith pango_attr_list_unref; + /* size */ + private gint size = {10}; + /* do italic */ + private gint do_italic = {FALSE}; + /* The actual label containing the text */ + private GtkWidget *label = {NULL}; + /* The cursor used when mouse over */ + private GdkCursor *hand_cursor = {gdk_cursor_new(GDK_HAND2)} destroywith gdk_cursor_unref; + + /* initialize, set signal handlers */ + init(self) + { + g_signal_connect(G_OBJECT(self), "enter-notify-event",G_CALLBACK(self_focus_in_event), NULL); + g_signal_connect(G_OBJECT(self), "leave-notify-event", G_CALLBACK(self_focus_out_event), NULL); + g_signal_connect(G_OBJECT(self), "button-release-event", G_CALLBACK(self_button_release), NULL); + } + + /* This function update the list of attributes set on the GtkLabel. + * This includes font-size and italic */ + private + void setup_attributes(self) + { + PangoAttribute *attr; + /* Set italic state */ + if(self->_priv->do_italic) + { + attr = pango_attr_style_new (PANGO_STYLE_ITALIC); + }else{ + attr = pango_attr_style_new (PANGO_STYLE_NORMAL); + } + attr->start_index = 0; + attr->end_index = -1; + + /* this will update (or insert) the value in the list */ + pango_attr_list_change (self->_priv->attributes, attr); + /* set size */ + attr = pango_attr_size_new (self->_priv->size); + attr->start_index = 0; + attr->end_index = -1; + pango_attr_list_change (self->_priv->attributes, attr); + + } + /* If the left mouse button is pressed, give a "clicked" signal */ + private + gboolean button_release(self,GdkEventButton *event, gpointer data) + { + if(event->button == 1) + self_clicked(self,NULL); + /* Continue signal */ + return FALSE; + } + /* if the mouse enters the widget, change the cursor to a hand */ + private + gboolean focus_in_event(self, GdkEventFocus *event, gpointer data) + { + gdk_window_set_cursor(GTK_WIDGET(self)->window, self->_priv->hand_cursor); + return FALSE; + } + + /* if the mouse leaves the widget, change the cursor to default*/ + private + gboolean focus_out_event(self, GdkEventFocus *event, gpointer data) + { + gdk_window_set_cursor(GTK_WIDGET(self)->window,NULL); + return FALSE; + } + /********************** PUBLIC API **********************************/ + /* clicked signal */ + signal last NONE (POINTER) + void + clicked (self, gpointer data) + { + } + /* Set the paddiong on the label */ + public + void set_padding(self, gint x,gint y) + { + gtk_misc_set_padding(GTK_MISC(self->_priv->label), x,y); + } + public + void + set_line_wrap_mode(self, PangoWrapMode wrap) + { + gtk_label_set_line_wrap_mode(GTK_LABEL(self->_priv->label), wrap); + gtk_label_set_line_wrap(GTK_LABEL(self->_priv->label), TRUE); + } + + /* Set the text to be displayed */ + public + void + set_text (self , const gchar *value (check null)) + { + gtk_label_set_text(GTK_LABEL(self->_priv->label), value); + } + /* Set ellipsize mode */ + public + void + set_ellipsize(self,PangoEllipsizeMode el) + { + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->label), el); + } + /* Set the font size */ + public + void + font_size(self,gint size_diff) + { + self->_priv->size += size_diff*PANGO_SCALE; + self_setup_attributes(self); + } + /* Set italic */ + public + void + set_do_italic(self,gboolean toggle) + { + self->_priv->do_italic = toggle; + self_setup_attributes(self); + } + /* Construction function */ + public + GtkWidget *new(const gchar *value (check null)) + { + PangoContext *pc = NULL; + PangoFontDescription *pfd = NULL; + Self *lb = GET_NEW; + /* label */ + lb->_priv->label = gtk_label_new(value); + gtk_misc_set_alignment(GTK_MISC(lb->_priv->label), 0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(lb->_priv->label), PANGO_ELLIPSIZE_END); + + /* setup event box */ + gtk_event_box_set_visible_window(GTK_EVENT_BOX(lb), FALSE); + gtk_container_add(GTK_CONTAINER(lb),lb->_priv->label); + + /* Get font size */ + pc = gtk_widget_get_pango_context(GTK_WIDGET(lb->_priv->label)); + pfd = pango_context_get_font_description(pc); + lb->_priv->size = pango_font_description_get_size(pfd); + + /* Set our own attribute list */ + gtk_label_set_attributes(GTK_LABEL(lb->_priv->label), lb->_priv->attributes); + return (GtkWidget *)lb; + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc_easy_download.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc_easy_download.c --- gmpc-0.18.0/src/gmpc_easy_download.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gmpc_easy_download.c 2009-09-21 11:15:59.000000000 +0100 @@ -21,15 +21,12 @@ #include #include #include -#include #include #include #include #include "gmpc_easy_download.h" #include "main.h" -#define CURL_TIMEOUT 10 -static int quit = FALSE; /**** * ZIP MISC * **********/ @@ -81,15 +78,13 @@ return size - zs->avail_out; } } - else printf("no zs\n"); - printf("failed unzipping stream: %i\n",r); + debug_printf(DEBUG_ERROR, "failed unzipping stream: %i\n",r); return -1; } static int close_cb(void *z) { z_stream *zs = z; - printf("Close unzip stream\n"); inflateEnd(zs); g_free(zs); return 0; @@ -108,8 +103,8 @@ char *password = NULL; gint port = cfg_get_single_value_as_int_with_default(config, "Network Settings", "Proxy Port", 8080); if (cfg_get_single_value_as_int_with_default(config, "Network Settings", "Use authentication", FALSE)) { - password = cfg_get_single_value_as_string(config, "Network Settings", "Password"); - username = cfg_get_single_value_as_string(config, "Network Settings", "Username"); + password = cfg_get_single_value_as_string(config, "Network Settings", "Proxy authentication password"); + username = cfg_get_single_value_as_string(config, "Network Settings", "Proxy authentication username"); } if (value) { SoupURI *uri = NULL; @@ -140,119 +135,6 @@ } } -int gmpc_easy_download_with_headers(const char *url, gmpc_easy_download_struct * dld, ...) -{ - - SoupSession *session = NULL; - SoupMessage *msg = NULL; - int status; - int success = FALSE; - va_list ap; - char *va_entry; - /*int res; */ - if (!dld) - return 0; - if (url == NULL) - return 0; - if (url[0] == '\0') - return 0; - /** - * Make sure it's clean - */ - gmpc_easy_download_clean(dld); - - /** Check for local url */ - if (strncmp(url, "http://", 7) && g_file_test(url, G_FILE_TEST_EXISTS)) { - gsize size; - if (g_file_get_contents(url, &(dld->data), &(size), NULL)) { - dld->size = (int)size; - return 1; - } - return 0; - } - - session = soup_session_sync_new(); - gmpc_easy_download_set_proxy(session); - - msg = soup_message_new("GET", url); - - soup_message_headers_append(msg->request_headers, "Accept-Encoding", "gzip,deflate"); - - va_start(ap, dld); - va_entry = va_arg(ap, typeof(va_entry)); - while (va_entry) { - char *value = va_arg(ap, typeof(value)); - soup_message_headers_append(msg->request_headers, va_entry, value); - va_entry = va_arg(ap, typeof(va_entry)); - } - va_end(ap); - - status = soup_session_send_message(session, msg); - if (SOUP_STATUS_IS_SUCCESSFUL(status)) { - const gchar *encoding = soup_message_headers_get(msg->response_headers, "Content-Encoding"); - soup_message_body_flatten(msg->response_body); - - if (encoding && (strcmp(encoding, "gzip") == 0 || strcmp(encoding, "deflate") == 0)) { - /* 12k buffer */ - char *new_buffer = NULL; - z_stream *zs = g_malloc0(sizeof(*zs)); - long data_start = - (strcmp(encoding, "gzip") == 0) ? skip_gzip_header(msg->response_body->data, - msg->response_body->length) : 0; - if (data_start != -1) { - zs->next_in = (void *)((msg->response_body->data) + data_start); - zs->avail_in = msg->response_body->length - data_start; - if (inflateInit2(zs, -MAX_WBITS) == Z_OK) { - long total_size = 0; - int res; - do { - new_buffer = g_realloc(new_buffer, (total_size + (12 * 1024)) * sizeof(char)); - res = read_cb(zs, &new_buffer[total_size], 12 * 1024); - if (res > 0) - total_size += res; - } while (res > 0); - if (res == 0) { - dld->data = new_buffer; - dld->size = (int)total_size; - success = 1; - } else { - g_free(new_buffer); - } - } - } - close_cb(zs); - } else { - /* copy libsoup's buffer */ - dld->size = msg->response_body->length; - dld->data = (char *)g_memdup(msg->response_body->data, (guint) msg->response_body->length); - success = 1; - } - } else { - success = 0; - } - g_object_unref(msg); - g_object_unref(session); - if (success) - return 1; - if (dld->data) - q_free(dld->data); - dld->data = NULL; - return 0; -} - -int gmpc_easy_download(const char *url, gmpc_easy_download_struct * dld) -{ - return gmpc_easy_download_with_headers(url, dld, NULL); -} - -void gmpc_easy_download_clean(gmpc_easy_download_struct * dld) -{ - if (dld->data) - q_free(dld->data); - dld->data = NULL; - dld->size = 0; -} - /*** * preferences window */ @@ -382,11 +264,6 @@ gtk_widget_show_all(container); } -void quit_easy_download(void) -{ - debug_printf(DEBUG_INFO, "quitting easy download\n"); - quit = TRUE; -} gmpcPrefPlugin proxyplug_pref = { .construct = proxy_pref_construct, @@ -415,26 +292,59 @@ int is_gzip; int is_deflate; z_stream *z; + gpointer extra_data; + guint uid; + guint old_status_code; } _GEADAsyncHandler; + +static guint uid = 0; static void gmpc_easy_async_headers_update(SoupMessage * msg, gpointer data) { - const gchar *encoding = soup_message_headers_get(msg->response_headers, "Content-Encoding"); _GEADAsyncHandler *d = data; + const gchar *encoding = soup_message_headers_get(msg->response_headers, "Content-Encoding"); if (encoding) { if (strcmp(encoding, "gzip") == 0) { d->is_gzip = 1; debug_printf(DEBUG_WARNING, "Url is gzipped"); } else if (strcmp(encoding, "deflate") == 0) { d->is_deflate = 1; - debug_printf(DEBUG_WARNING, "Url is enflated"); } } + /* If a second set comes in, close that */ + else{ + d->is_gzip = 0; + d->is_deflate = 0; + } + + /** + * Don't record data from redirection, in a while it _will_ be redirected, + * We care about that + */ + if(d->old_status_code != 0 && d->old_status_code != msg->status_code) + { + g_log("EasyDownloader", G_LOG_LEVEL_DEBUG, + "Cleaning out the previous block of data: status_code: %i(old) ->%i(new)", + d->old_status_code, + msg->status_code); + /* Clear buffer */ + g_free(d->data); + d->data = NULL; + d->length = 0; + if (d->z) + close_cb(d->z); + d->z = NULL; + } + d->old_status_code = msg->status_code; } static void gmpc_easy_async_status_update(SoupMessage * msg, SoupBuffer * buffer, gpointer data) { _GEADAsyncHandler *d = data; + /* don't store error data, not used anyway */ + if(!SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)){ + return; + } if (d->is_gzip || d->is_deflate) { if (d->z == NULL) { long data_start; @@ -536,6 +446,25 @@ return d->data; } + +guchar *gmpc_easy_handler_get_data_vala_wrap(const GEADAsyncHandler * handle, gint * length) +{ + _GEADAsyncHandler *d = (_GEADAsyncHandler *) handle; + if (length) + *length = (gint)d->length; + return (guchar *)d->data; +} +void gmpc_easy_handler_set_user_data(const GEADAsyncHandler *handle, gpointer user_data) +{ + _GEADAsyncHandler *d = (_GEADAsyncHandler *) handle; + d->extra_data = user_data; +} +gpointer gmpc_easy_handler_get_user_data(const GEADAsyncHandler *handle) +{ + _GEADAsyncHandler *d = (_GEADAsyncHandler *) handle; + return d->extra_data; +} + void gmpc_easy_async_cancel(const GEADAsyncHandler * handle) { _GEADAsyncHandler *d = (_GEADAsyncHandler *) handle; @@ -544,6 +473,10 @@ GEADAsyncHandler *gmpc_easy_async_downloader(const gchar * uri, GEADAsyncCallback callback, gpointer user_data) { + if(uri == NULL) { + printf("Error\n"); + return NULL; + } return gmpc_easy_async_downloader_with_headers(uri, callback, user_data, NULL); } @@ -574,6 +507,7 @@ va_end(ap); d = g_malloc0(sizeof(*d)); + d->uid = ++uid; d->is_gzip = 0; d->is_deflate = 0; d->z = NULL; @@ -582,6 +516,8 @@ d->uri = g_strdup(uri); d->callback = callback; d->userdata = user_data; + d->extra_data = NULL; + d->old_status_code = 0; soup_message_body_set_accumulate(msg->response_body, FALSE); g_signal_connect_after(msg, "got-chunk", G_CALLBACK(gmpc_easy_async_status_update), d); g_signal_connect_after(msg, "got-headers", G_CALLBACK(gmpc_easy_async_headers_update), d); diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc_easy_download.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc_easy_download.h --- gmpc-0.18.0/src/gmpc_easy_download.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gmpc_easy_download.h 2009-09-21 11:15:59.000000000 +0100 @@ -17,21 +17,8 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -typedef void (*ProgressCallback) (int downloaded, int total, gpointer data); - -typedef struct _gmpc_easy_download_struct { - char *data; - int size; - int max_size; - ProgressCallback callback; - gpointer callback_data; -} gmpc_easy_download_struct; - -int gmpc_easy_download(const char *url, gmpc_easy_download_struct * dld); -int gmpc_easy_download_with_headers(const char *url, gmpc_easy_download_struct * dld, ...); -void gmpc_easy_download_clean(gmpc_easy_download_struct * dld); -void quit_easy_download(void); - +#ifndef __GMPC_EASY_DOWNLOAD_H__ +#define __GMPC_EASY_DOWNLOAD_H__ /** * Async easy download api * This is based on libsoup @@ -70,6 +57,12 @@ const char *gmpc_easy_handler_get_data(const GEADAsyncHandler * handle, goffset * length); -char *gmpc_easy_download_uri_escape(const char *part); +guchar *gmpc_easy_handler_get_data_vala_wrap(const GEADAsyncHandler * handle, gint * length); +void gmpc_easy_handler_set_user_data(const GEADAsyncHandler *handle, gpointer user_data); +gpointer gmpc_easy_handler_get_user_data(const GEADAsyncHandler *handle); + + +char *gmpc_easy_download_uri_escape(const char *part); +#endif /* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-metaimage.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-metaimage.gob --- gmpc-0.18.0/src/gmpc-metaimage.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-metaimage.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,965 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%ph{ +#include "main.h" +#include "metadata-cache.h" +#include "misc.h" +#include "vala/gmpc-image.h" +#include "vala/gmpc-test-plugin.h" +%} + +%headertop{ +#include +#include +#include +#ifdef GMPC_BUILD +#include +#else +#include +#endif +%} + +%{ +static unsigned int num_drag_targets = 4; /* skip hyperlinks for now */ +static GtkTargetEntry data_image_drag_target[] = +{ + { (gchar *)"image/jpeg", 0, 0 }, + { (gchar *)"image/png", 0, 1 }, + { (gchar *)"image/gif", 0, 2 }, + { (gchar *)"text/uri-list", 0, 3}, + { (gchar *)"_NETSCAPE_URL", 0,4}, + { (gchar *)"x-url/http", 0,5} +}; +%} + + +%ph{ +/** + * Indicate the state + */ +typedef enum _GmpcMetaImageState{ + STATE_NA, + STATE_FETCHING, + STATE_IMAGE, + STATE_EMPTY, + NUM_STATES +}GmpcMetaImageState; + + + +%} + + + +class Gmpc:MetaImage from Gtk:Event:Box{ + private GmpcMetaImageState state = {STATE_EMPTY}; + private int refresh = FALSE; + private gulong status_signal = {0}; + private gulong connect_signal = {0}; + private gulong meta_id = {0}; + + private gulong metadata_force_reload = {0}; + + private gchar *image_url = {NULL}; + + private mpd_Song *song = {NULL} destroywith mpd_freeSong; + + /** Public */ + + public int size = {64}; + public MetaDataType image_type = {META_ALBUM_ART}; + public MpdObj *connection= {NULL}; + public gboolean hide_on_na = {FALSE}; + public gboolean squared = {TRUE}; + public gchar *no_cover_icon = {g_strdup("gmpc-no-cover")} destroywith g_free; + public gchar *loading_cover_icon = {g_strdup("gmpc-loading-cover")} destroywith g_free; + + private gulong expose_id = {0}; + public gboolean scale_up = FALSE; + /** + * I want fully set/get control,so I don't use property stuff, + * is there a way around this? + */ + public gboolean is_visible = {TRUE}; + + property INT image_type + (nick = "Image type", + blurb = "Type of the image, like artist art", + default_value = META_ALBUM_ART, + export, + link); + + property INT size + (nick = "Size", + blurb = "Size of the image", + default_value = 64, + export, + link); + + property BOOLEAN hide_on_na + (nick = "HideOnNA", + blurb = "Hide the image when not available", + default_value = FALSE, + export, + link); + + property BOOLEAN scale_up + (nick = "Scale image up", + blurb = "Scale cover art up", + default_value = FALSE, + export, + link); + + property BOOLEAN squared + (nick = "Squared", + blurb = "Keep the widget squared", + default_value = TRUE, + link); + public void set_no_cover_icon (self, const gchar *name) + { + if(self->no_cover_icon) { + q_free(self->no_cover_icon); + } + self->no_cover_icon = g_strdup(name); + } + public void set_loading_cover_icon (self, const gchar *name) + { + if(self->loading_cover_icon) { + q_free(self->loading_cover_icon); + } + self->loading_cover_icon = g_strdup(name); + } + public void set_squared (self, const gboolean item) + { + self->squared = item; + } + public void set_connection(self, MpdObj *conn) + { + self->connection = conn; + if(conn) + { + self->_priv->status_signal = g_signal_connect_swapped(G_OBJECT(gmpcconn), + "status_changed", + G_CALLBACK(self_update_cover), + G_OBJECT(self)); + + self->_priv->connect_signal = g_signal_connect_swapped(G_OBJECT(gmpcconn), + "connection_changed", + G_CALLBACK(self_connection_changed), + G_OBJECT(self)); + } + } + private GtkWidget *image = { (GtkWidget *)gmpc_image_new()} ; + init (self) + { + GtkWidget *win = NULL; + gtk_container_add(GTK_CONTAINER(self), self->_priv->image); + gtk_container_set_resize_mode(GTK_CONTAINER(self), GTK_RESIZE_IMMEDIATE); + gtk_widget_show_all(GTK_WIDGET(self)); + + g_signal_connect_swapped(G_OBJECT(self->_priv->image), "button-press-event", G_CALLBACK(self_menu_populate_callback), self); + self->_priv->meta_id = g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(self_meta_callback), self); + gtk_widget_add_events(GTK_WIDGET(self->_priv->image), GDK_POINTER_MOTION_MASK); + gtk_widget_set_no_show_all(GTK_WIDGET(self),TRUE); + + win = gtk_window_new(GTK_WINDOW_POPUP); + gtk_window_set_resizable(GTK_WINDOW(win), FALSE); + gtk_widget_modify_bg(win, GTK_STATE_NORMAL, &(GTK_WIDGET(self)->style->black)); + gtk_container_set_border_width(GTK_CONTAINER(win), 6); + gtk_container_add(GTK_CONTAINER(win), gtk_image_new()); + + gtk_widget_set_tooltip_window(GTK_WIDGET(self), GTK_WINDOW(win)); + g_signal_connect(G_OBJECT(self), "query-tooltip", G_CALLBACK(self_tooltip_query), win); + } + private + gboolean tooltip_query(self, gint x, gint y,gboolean keyboard_mode, GtkTooltip *tip, GtkWidget *win) + { + if(self->_priv->state == STATE_IMAGE) + { + if(self->_priv->image_url) + { + gint width,height; + if(gdk_pixbuf_get_file_info(self->_priv->image_url, &width, &height)) + { + GtkWidget *image = gtk_bin_get_child(GTK_BIN(win)); + GdkPixbuf *pb = gdk_pixbuf_new_from_file_at_scale(self->_priv->image_url, (width > 350)?350:width,(height >350)?350:height, TRUE, NULL); + screenshot_add_border(&pb); + gtk_image_set_from_pixbuf(GTK_IMAGE(image), pb); + gtk_widget_show(image); + g_object_unref(pb); + return TRUE; + } + } + } + return FALSE; + } + + override (G:Object) + void + dispose(G:Object *obj) + { + Self *self = GMPC_METAIMAGE(obj); + if(self->_priv->meta_id) + { + g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->meta_id); + self->_priv->meta_id = 0; + } + if(self->_priv->metadata_force_reload) + { + g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->metadata_force_reload); + self->_priv->metadata_force_reload = 0; + } + if(self->_priv->image_url) { + q_free(self->_priv->image_url); + } + if(self->_priv->status_signal){ + g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->_priv->status_signal); + self->_priv->status_signal =0; + } + if(self->_priv->connect_signal){ + g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->_priv->connect_signal); + self->_priv->connect_signal=0; + } + PARENT_HANDLER(obj); + } + private + void + drag_data_recieved (self, + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *data, + guint info, + guint dnd_time, + GtkWidget *widget + ) + { + int found = FALSE; + if(self->_priv->song) + { + if(info < num_drag_targets) + { + gchar **uri = gtk_selection_data_get_uris(data); + /* Only one uri is interresting */ + if(uri && uri[0]) + { + gchar *path = g_filename_from_uri(uri[0], NULL, NULL); + + /* try to open it */ + if(path && gdk_pixbuf_get_file_info(path, NULL,NULL)) + { + mpd_Song *song = mpd_songDup(self->_priv->song); + /* Create MetaData object */ + MetaData* met = meta_data_new(); + met->type = self->image_type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + met->content = path; path = NULL; + met->size = -1; + /* set cache */ + meta_data_set_cache(song, META_DATA_AVAILABLE, met); + /* Signal */ + gmpc_meta_watcher_data_changed(gmw, song, self->image_type, META_DATA_AVAILABLE, met); + /* free Metadata object */ + meta_data_free(met); + found = TRUE; + mpd_freeSong(song); + } + g_free(path); + } + g_strfreev(uri); + } + } + + gtk_drag_finish(context, found, FALSE, dnd_time); + } + /* hack to make the "delayed" image load when it gets visible" + */ + private + gboolean + expose_event(self, GdkEventExpose *event, gpointer data) + { + g_signal_handler_disconnect(G_OBJECT(self), self->_priv->expose_id); + self->_priv->expose_id = 0; + self_update_cover_from_song_delayed_real(self); + return FALSE; + } + + public + GtkWidget *new_size(int type, int size) + { + Self *gmi = GET_NEW; + gmi->image_type = type; + gmi->size = size; + + + gtk_event_box_set_visible_window(GTK_EVENT_BOX(gmi), FALSE); + gtk_drag_dest_set(GTK_WIDGET(gmi), + GTK_DEST_DEFAULT_ALL, + data_image_drag_target, num_drag_targets, + GDK_ACTION_COPY|GDK_ACTION_LINK|GDK_ACTION_DEFAULT|GDK_ACTION_MOVE); + + g_signal_connect_swapped (G_OBJECT (gmi),"drag-data-received", + GTK_SIGNAL_FUNC (self_drag_data_recieved),gmi); + + gmi->_priv->metadata_force_reload = g_signal_connect_swapped(G_OBJECT(gmw), "force-reload", G_CALLBACK(self_reload_image), gmi); + + return (GtkWidget *)gmi; + } + public + GtkWidget * new (int type) + { + Self *gmi = GET_NEW; + gmi->image_type = type; + + gtk_event_box_set_visible_window(GTK_EVENT_BOX(gmi), FALSE); + gtk_drag_dest_set(GTK_WIDGET(gmi), + GTK_DEST_DEFAULT_ALL, + data_image_drag_target, num_drag_targets, + GDK_ACTION_COPY|GDK_ACTION_LINK|GDK_ACTION_DEFAULT|GDK_ACTION_MOVE); + g_signal_connect_swapped (G_OBJECT (gmi),"drag-data-received", + GTK_SIGNAL_FUNC (self_drag_data_recieved),gmi); + gmi->_priv->metadata_force_reload = g_signal_connect_swapped(G_OBJECT(gmw), "force-reload", G_CALLBACK(self_reload_image), gmi); + return (GtkWidget *)gmi; + } + + public + void + update_cover(self, MpdObj *mi, ChangedStatusType what, GmpcConnection *gc) + { + + if(self->connection && what&(MPD_CST_STATE|MPD_CST_SONGID|MPD_CST_SONGPOS|MPD_CST_PLAYLIST) && self->is_visible) + { + int state = mpd_player_get_state(self->connection); + if(state == MPD_PLAYER_STOP || state == MPD_PLAYER_UNKNOWN) + { + self->_priv->refresh = TRUE; + self_set_cover_na(self); + } + else { + mpd_Song *song = mpd_playlist_get_current_song(self->connection); + if(song) + { + if( self->_priv->refresh == FALSE && + self->_priv->song && + self->_priv->song->artist && + song->artist && + strcmp(song->artist, self->_priv->song->artist) == 0) + { + /* If we are artist iamge, don't update, same artist */ + if(self->image_type == META_ARTIST_ART ) return; + /* If we are album, check if album matches too */ + else if(self->image_type == META_ALBUM_ART && + self->_priv->song->album && song->album && + strcmp(self->_priv->song->album, song->album) == 0){ + return; + } + } + self_update_cover_from_song(self, song); + } + else + { + self_set_cover_na(self); + } + self->_priv->refresh = FALSE; + } + + } + } + private + void + connection_changed(self,MpdObj *mi, int connect, GmpcConnection *gmpconn) + { + if(!connect) + { + self_set_cover_na(self); + } + else + { + if(self->connection) + { + int state = mpd_player_get_state(self->connection); + if(state != MPD_PLAYER_STOP && state != MPD_PLAYER_UNKNOWN) + { + mpd_Song *song = mpd_playlist_get_current_song(self->connection); + if(song){ + self_update_cover_from_song(self, song); + } + } + } + + } + + } + + public + void + update_cover_from_song(self, mpd_Song *song) + { + MetaDataResult ret; + MetaData *met= NULL; + + + if(self->_priv->song) + mpd_freeSong(self->_priv->song); + self->_priv->song = NULL; + + if(!song) + { + self_set_cover_na(self); + return; + } + self->_priv->song = mpd_songDup(song); + + ret = gmpc_meta_watcher_get_meta_path(gmw,song, self->image_type, &met); + if(ret == META_DATA_FETCHING) + { + self_set_cover_fetching(self); + }else if (ret == META_DATA_AVAILABLE) { + if(met->content_type == META_DATA_CONTENT_URI) + { + const gchar *path = meta_data_get_uri(met); + self_set_cover_from_path(self,path); + }else{ + self_set_cover_na(self); + } + } else { + self_set_cover_na(self); + } + if(met) + { + meta_data_free(met); + } + } + private + gboolean + update_cover_from_song_delayed_real(self) + { + MetaData *met= NULL; + int ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->image_type, &met); + if(ret == META_DATA_FETCHING) + { + self_set_cover_fetching(self); + }else if (ret == META_DATA_AVAILABLE) { + if(met->content_type == META_DATA_CONTENT_URI) + { + const gchar *path = meta_data_get_uri(met); + self_set_cover_from_path(self,path); + } else { + self_set_cover_na(self); + } + } + else{ + self_set_cover_na(self); + } + if(met) + { + meta_data_free(met); + } + + return FALSE; + } + public + void + update_cover_from_song_delayed(self, mpd_Song *song) + { + if(self->_priv->song) + mpd_freeSong(self->_priv->song); + + gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); + self->_priv->song = mpd_songDup(song); + /* hack to make it load when it gets visible */ + self->_priv->expose_id = g_signal_connect(G_OBJECT(self), "expose-event", G_CALLBACK(self_expose_event) , NULL); + } + + private + void + meta_callback(GmpcMetaWatcher *gmv, mpd_Song *song, MetaDataType type, MetaDataResult ret, MetaData *met,gpointer data) + { + Self *self = data; + if(!song || !self || !self->_priv || !self->_priv->song) + return; + + /** + * Check for fields + */ + if(self->image_type != type) + return; + + if(!gmpc_meta_watcher_match_data(self->image_type, self->_priv->song, song)) + { + return; + } + + /** + * If mpd is stopped before the result is back, set the cover to na, and ignore the result + */ + if(self->connection && mpd_player_get_state(self->connection) == MPD_PLAYER_STOP) + { + self_set_cover_na(self); + } + else + { + if(ret == META_DATA_AVAILABLE) { + if(met->content_type == META_DATA_CONTENT_URI){ + const char *path = meta_data_get_uri(met); + self_set_cover_from_path(self,path); + }else{ + self_set_cover_na(self); + debug_printf(DEBUG_ERROR, "Method not implemented: %i", met->content_type); + } + } else if (ret == META_DATA_FETCHING) { + self_set_cover_fetching(self); + } else { + self_set_cover_na(self); + } + } + } + + + public + void + set_cover_na(self) + { + int border = FALSE; + GError *error = NULL; + GdkPixbuf *pb2 = NULL; + + if(self->_priv->state == STATE_NA) { + return; + } + self->_priv->state = STATE_NA; + + if(self->_priv->image_url) + { + q_free(self->_priv->image_url); + self->_priv->image_url = NULL; + } + if(self->hide_on_na) + { + gtk_widget_hide(GTK_WIDGET(self)); + return; + } + + if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART){ + pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "stylized-no-cover", self->size, 0,&error); + border = TRUE; + if(error) { + debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); + g_error_free(error); + error = NULL; + } + } + if(!pb2){ + pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), self->no_cover_icon, self->size, 0,&error); + if(error) { + debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); + g_error_free(error); + error = NULL; + } + border = FALSE; + } + + if(pb2) { + if(self->squared) { + gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); + } else { + gtk_widget_set_size_request(GTK_WIDGET(self), gdk_pixbuf_get_width(pb2), gdk_pixbuf_get_height(pb2)); + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + } + gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb2,border); + g_object_unref(pb2); + } else { + /* If failed to load an image, clear it */ + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + } + } + public + void + set_cover_fetching(self) + { + int border = FALSE; + GError *error = NULL; + GdkPixbuf *pb2 = NULL; + if(self->_priv->state == STATE_FETCHING) { + return; + } + self->_priv->state = STATE_FETCHING; + if(self->_priv->image_url) + { + q_free(self->_priv->image_url); + self->_priv->image_url = NULL; + } + if(self->hide_on_na) + { + gtk_widget_hide(GTK_WIDGET(self)); + } + + + if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART){ + pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "stylized-fetching-cover", self->size, 0,&error); + if(error) { + debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); + g_error_free(error); + error = NULL; + } + border=TRUE; +// if(pb2) + // screenshot_add_border(&pb2); + } + if(!pb2){ + pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), self->loading_cover_icon, self->size, 0,&error); + if(error) { + debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); + g_error_free(error); + error = NULL; + } + border = FALSE; + + } + + if(self->squared) { + gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); + } else { + gtk_widget_set_size_request(GTK_WIDGET(self), gdk_pixbuf_get_width(pb2), gdk_pixbuf_get_height(pb2)); + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + } + + if(pb2) { +// gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb2,border); + g_object_unref(pb2); + } else { + /* If failed to load an image, clear it */ + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + } + } + + public + void + set_cover_from_path(self, const gchar *path) + { + int width = 0; + int height = 0; + GdkPixbuf *pb = NULL; + + self->_priv->state = STATE_IMAGE; + + if(self->_priv->image_url) + { + if(strcmp(path, self->_priv->image_url) == 0) + { + return; + } + q_free(self->_priv->image_url); + self->_priv->image_url = NULL; + } + + if(gdk_pixbuf_get_file_info(path,&width, &height)) + { + int set = 0; + /* save url */ + self->_priv->image_url = g_strdup(path); + + if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART) + { + int tempw,temph; + int size = (self->size > MIN(width,height))? MIN(width,height):self->size; + float spineRatio = 5.0/65.0; + int spineWidth = (size)*spineRatio; + GdkPixbuf *blank=NULL,*pb2=NULL; + const gchar *path2; + GtkIconInfo *ii = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(), + "stylized-cover", + size, 0); + if(self->scale_up) { + size = self->size; + } + /* load the case */ + if(ii){ + path2 = gtk_icon_info_get_filename(ii); + if(path2){ + pb2 = gdk_pixbuf_new_from_file_at_scale(path2,size, size,TRUE,NULL); + } + gtk_icon_info_free(ii); + } + if(pb2 != NULL) + { + /* Scale the cover to fit inside the case */ + tempw = gdk_pixbuf_get_width(pb2)-spineWidth; + if((gdk_pixbuf_get_height(pb2)/(double)height)*width < tempw){ + pb = gdk_pixbuf_new_from_file_at_scale(path,tempw, -1,TRUE,NULL); + }else{ + pb = gdk_pixbuf_new_from_file_at_scale(path,-1,gdk_pixbuf_get_height(pb2),TRUE,NULL); + } + + width = gdk_pixbuf_get_width(pb2); + height = gdk_pixbuf_get_height(pb2); + + /* render */ + blank = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8,width,height); + gdk_pixbuf_fill(blank, 0x000000FF); + tempw = ((width-spineWidth)>= gdk_pixbuf_get_width(pb))?gdk_pixbuf_get_width(pb):(width-spineWidth); + temph = (height >= gdk_pixbuf_get_height(pb))? gdk_pixbuf_get_height(pb):height; + gdk_pixbuf_copy_area(pb, 0,0, + tempw,temph, + blank,width-tempw,0); + if(pb2) + { + gdk_pixbuf_composite(pb2,blank,0,0,gdk_pixbuf_get_width(pb2),gdk_pixbuf_get_height(pb2),0,0,1,1,GDK_INTERP_BILINEAR,250); + g_object_unref(pb2); + } + g_object_unref(pb); + pb = blank; + + if(!self->squared) + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + + // screenshot_add_border(&pb); + gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb,TRUE); + g_object_unref(pb); + set = 1; + } + } + if(!set){ + int size = (self->size > MIN(width,height))? MIN(width,height):self->size; + /* calculate it */ + if(width > height) { + height = (height*size)/((gdouble)width); + width = size; + } + else { + width = (width*size)/((gdouble)height); + height = size; + } + pb = gdk_pixbuf_new_from_file_at_scale(path,size,size,TRUE,NULL); + if(!self->squared) + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb,TRUE); + g_object_unref(pb); + } + /** + * Set sizing, also set size on non-squared, so the widget resizes propperly + */ + if(self->squared) + { + gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); + } + else + { + gtk_widget_set_size_request(GTK_WIDGET(self), width+2, height+2); + } + } + else + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + if(self->is_visible) + { + gtk_widget_show(GTK_WIDGET(self)); + } + } + + public + void + set_is_visible(self, gboolean is_visible) + { + self->is_visible = is_visible; + if(self->is_visible) + { + if(self->connection) + { + self_update_cover(self,self->connection, MPD_CST_STATE, NULL); + } + } else { + gtk_widget_hide(GTK_WIDGET(self)); + } + } + + public + void + query_refetch(self) + { + if(self->_priv->song) + { + MetaDataResult ret; + MetaData *met = NULL; + + ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->image_type|META_QUERY_NO_CACHE, &met); + if(ret == META_DATA_FETCHING) + { + self_set_cover_fetching(self); + }else if (ret == META_DATA_AVAILABLE) { + if(met->content_type == META_DATA_CONTENT_URI) + { + const gchar *path = meta_data_get_uri(met); + self_set_cover_from_path(self,path); + }else{ + debug_printf(DEBUG_ERROR, "Not implemented"); + self_set_cover_na(self); + } + } else { + self_set_cover_na(self); + } + if(met) + { + meta_data_free(met); + } + } + } + + + private + gboolean + menu_populate_callback(self,GdkEventButton *event, gpointer data) + { + if(self->_priv->song && event->button == 3) + { + GtkWidget *menu = gtk_menu_new(); + GtkWidget *item = NULL; + + item = gtk_image_menu_item_new_with_label(_("Refetch")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_query_refetch),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_with_label(_("Select file")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_file),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_clear_entry),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_with_label(_("Metadata selector")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_metadata_editor),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + gtk_widget_show_all(menu); + gtk_menu_popup(GTK_MENU(menu), NULL, NULL,NULL, NULL, event->button, event->time); + return TRUE; + } + return FALSE; + } + + private + void + clear_entry(self) + { + MetaData *met = meta_data_new(); + met->content_type = META_DATA_CONTENT_EMPTY; + met->plugin_name = "User set"; + met->type = self->image_type; + meta_data_set_cache(self->_priv->song, META_DATA_UNAVAILABLE, met); + gmpc_meta_watcher_data_changed(gmw, self->_priv->song, self->image_type, META_DATA_UNAVAILABLE, NULL); + meta_data_free(met); + } + private void + select_metadata_editor(self) + { + gmpc_meta_data_edit_window_new(self->_priv->song,self->image_type); + } + + public + void + select_file(self) + { + mpd_Song *song = mpd_songDup(self->_priv->song); + MetaDataType type = self->image_type; + GtkFileFilter *gff = gtk_file_filter_new(); + GtkWidget *fcd = gtk_file_chooser_dialog_new(_("Select File"),NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, + NULL); + gtk_file_filter_set_name(gff, _("Images")); + gtk_file_filter_add_pixbuf_formats(gff); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); + + gff = gtk_file_filter_new(); + gtk_file_filter_set_name(gff, _("All")); + gtk_file_filter_add_pattern(gff, "*"); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); + + gtk_widget_show_all(fcd); + switch(gtk_dialog_run(GTK_DIALOG(fcd))) + { + case GTK_RESPONSE_ACCEPT: + { + gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fcd)); + MetaData *met = meta_data_new(); + met->type = type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + met->content = filename; + met->size = -1; + meta_data_set_cache(song,META_DATA_AVAILABLE, met); + gmpc_meta_watcher_data_changed(gmw, song, type, META_DATA_AVAILABLE, met); + meta_data_free(met); + } + default: + break; + } + gtk_widget_destroy(fcd); + mpd_freeSong(song); + } + + public + void + reload_image(self) + { + gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); + switch(self->_priv->state) + { + case STATE_NA: + self->_priv->state = STATE_EMPTY; + self_set_cover_na(self); + break; + case STATE_FETCHING: + self->_priv->state = STATE_EMPTY; + self_set_cover_fetching(self); + break; + case STATE_IMAGE: + if(self->_priv->image_url) + { + gchar *temp = self->_priv->image_url; + self->_priv->image_url = NULL; + + self_set_cover_from_path(self, temp); + g_free(temp); + } + /* fix bitching */ + case STATE_EMPTY: + case NUM_STATES: + default: + break; + } + } + + public + void + set_image_text(self, gchar *text) + { + gmpc_image_set_text(GMPC_IMAGE(self->_priv->image), text); + + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-meta-text-view.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-meta-text-view.gob --- gmpc-0.18.0/src/gmpc-meta-text-view.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-meta-text-view.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,482 @@ +/* Gnome M usic Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%headertop{ +#include +#include +#include +#include +#include "main.h" +#include "misc.h" +%} +%ph{ +#include "vala/gmpc-test-plugin.h" +#include "metadata-cache.h" +%} + +class Gmpc:Meta:Text:View from Gtk:Text:View { + private GtkTextBuffer *buffer = {gtk_text_buffer_new(NULL)} unrefwith g_object_unref; + private mpd_Song *song = {NULL} destroywith mpd_freeSong; + private MetaDataType type = {META_ARTIST_TXT}; + private gulong meta_id = {0}; + private GtkWidget *edit = {NULL}; + private GtkWidget *cancel = {NULL}; + private MetaData *met = {NULL} destroywith meta_data_free; + + public gboolean use_monospace = {FALSE}; + + private gboolean + key_press_event(self, GdkEventKey *key, gpointer user_data) + { + if(key->keyval == GDK_Escape) + { + if(self->_priv->cancel){ + gtk_widget_activate(self->_priv->cancel); + } + return FALSE; + } + return FALSE; + } + + init (self) + { + gtk_text_view_set_buffer(GTK_TEXT_VIEW(self), self->_priv->buffer); + gtk_text_view_set_editable(GTK_TEXT_VIEW(self), FALSE); + gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(self), GTK_WRAP_WORD); + g_signal_connect(G_OBJECT(self), "key-press-event", G_CALLBACK(self_key_press_event), NULL); + + g_signal_connect(G_OBJECT(self), "populate-popup", G_CALLBACK(self_menu_populate_callback), NULL); + self->_priv->meta_id= g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(self_meta_callback), self); + } + + public + GtkWidget * new (int type) + { + Self *gmi = GET_NEW; + gmi->_priv->type = type; + gtk_text_buffer_create_tag (gmi->_priv->buffer, "not_editable", + "editable", FALSE, + NULL); + + gtk_text_buffer_create_tag (gmi->_priv->buffer, "monospace", + "family", "Monospace", + "family-set", TRUE, + NULL); + return (GtkWidget *)gmi; + } + + private + void + menu_populate_callback(self, GtkMenu *menu, gpointer data) + { + if(self->_priv->song) + { + GtkWidget *item = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + + item = gtk_image_menu_item_new_with_label(_("Refetch")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_query_refetch),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_with_label(_("Select file")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_file),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_clear_entry),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + item = gtk_image_menu_item_new_with_label(_("Metadata selector")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_metadata_editor),self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + + gtk_widget_show_all(GTK_WIDGET(menu)); + } + } + + private void + select_metadata_editor(self) + { + gmpc_meta_data_edit_window_new(self->_priv->song,self->_priv->type); + } + + public + void + query_refetch(self) + { + if(self->_priv->song) + { + MetaData *met= NULL; + MetaDataResult ret; + ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->_priv->type|META_QUERY_NO_CACHE, &met); + if(ret == META_DATA_FETCHING) { + self_set_text_fetching(self); + }else if (ret == META_DATA_AVAILABLE) { + self_set_text_from_metadata(self, met); + } else { + self_set_text_na(self); + } + if(met) + { + meta_data_free(met); + } + } + } + + public + void + query_text_from_song(self, mpd_Song *song) + { + MetaData *met = NULL; + MetaDataResult ret; + + if(self->_priv->song) + { + mpd_freeSong(self->_priv->song); + } + self->_priv->song = mpd_songDup(song); + + + ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->_priv->type, &met); + if(ret == META_DATA_FETCHING) + { + self_set_text_fetching(self); + }else if (ret == META_DATA_AVAILABLE) { + self_set_text_from_metadata(self,met); + } else { + self_set_text_na(self); + } + if(met) + { + meta_data_free(met); + } + } + + private void + cancel_button_clicked(self, GtkWidget *button) + { + gtk_text_view_set_editable(GTK_TEXT_VIEW(self), FALSE); + if(self->_priv->met) + { + MetaData *met = self->_priv->met; + self->_priv->met = NULL; + /* Create a copy as self_set_from_path modifies self->_priv->path */ + self_set_text_from_metadata(self, met); + meta_data_free(met); + }else self_set_text_na(self); + } + + private void + edit_button_clicked(self, GtkWidget *button) + { + if(gtk_text_view_get_editable(GTK_TEXT_VIEW(self))) + { + MetaData *met; + gchar *content = NULL; + GtkTextIter iter_start, iter_end; + + /* Get start and end of text, and store it */ + gtk_text_buffer_get_start_iter(self->_priv->buffer, &iter_start); + gtk_text_buffer_get_end_iter(self->_priv->buffer, &iter_end); + content = gtk_text_buffer_get_text(self->_priv->buffer, &iter_start, &iter_end, FALSE); + gtk_text_view_set_editable(GTK_TEXT_VIEW(self), FALSE); + + /* Copy path, because signal callback my destroy path first */ + met = meta_data_new(); + met->plugin_name = "User set"; + met->type = self->_priv->type; + if(content){ + met->content_type = META_DATA_CONTENT_TEXT; + met->content = g_strstrip(content);met->size = -1; + }else { + met->content_type = META_DATA_CONTENT_EMPTY; + } + meta_data_set_cache(self->_priv->song, META_DATA_AVAILABLE, met); + gmpc_meta_watcher_data_changed(gmw, self->_priv->song, self->_priv->type, META_DATA_AVAILABLE, met); + meta_data_free(met); + + }else{ + gtk_widget_show(self->_priv->cancel); + gtk_text_view_set_editable(GTK_TEXT_VIEW(self), TRUE); + gtk_button_set_label(GTK_BUTTON(button), GTK_STOCK_SAVE); + } + + } + private + void + set_text(self,const gchar *text, gsize length, int ro) + { + GtkTextIter iter; + GtkTextIter end_iter; + gtk_text_buffer_set_text(self->_priv->buffer, text, length); + + gtk_text_buffer_get_start_iter(self->_priv->buffer, &iter); + gtk_text_buffer_get_end_iter(self->_priv->buffer, &end_iter); + if(self->use_monospace) { + gtk_text_buffer_apply_tag_by_name(self->_priv->buffer, "monospace",&iter, &end_iter); + } + if(!ro) + { + GtkTextChildAnchor *anch; + self->_priv->edit = gtk_button_new_from_stock(GTK_STOCK_EDIT); + self->_priv->cancel = gtk_button_new_from_stock(GTK_STOCK_CANCEL); + + gtk_text_view_set_editable(GTK_TEXT_VIEW(self), FALSE); + gtk_widget_set_no_show_all(self->_priv->cancel, TRUE); + /* Add 2 empty lines at the end, and make it non-editable */ + gtk_text_buffer_get_end_iter(self->_priv->buffer, &end_iter); + gtk_text_buffer_insert_with_tags_by_name(self->_priv->buffer, &end_iter, "\n\n", -1,"not_editable", NULL); + + /* Add edit widget */ + anch = gtk_text_buffer_create_child_anchor(self->_priv->buffer, &end_iter); + gtk_text_buffer_get_iter_at_child_anchor(self->_priv->buffer, &iter,anch); + /* Make widget non-editable */ + gtk_text_buffer_apply_tag_by_name(self->_priv->buffer, "not_editable",&iter, &end_iter); + /* attach widget to anchor */ + gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(self), self->_priv->edit, anch); + + /* Add edit widget */ + gtk_text_buffer_get_end_iter(self->_priv->buffer, &end_iter); + anch = gtk_text_buffer_create_child_anchor(self->_priv->buffer, &end_iter); + gtk_text_buffer_get_iter_at_child_anchor(self->_priv->buffer, &iter,anch); + /* Make widget non-editable */ + gtk_text_buffer_apply_tag_by_name(self->_priv->buffer, "not_editable",&iter, &end_iter); + /* attach widget to anchor */ + gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(self), self->_priv->cancel, anch); + + /* show button */ + gtk_widget_show(self->_priv->edit); + g_signal_connect_swapped(self->_priv->edit, "clicked",G_CALLBACK(self_edit_button_clicked), self); + g_signal_connect_swapped(self->_priv->cancel, "clicked",G_CALLBACK(self_cancel_button_clicked), self); + } + gtk_text_buffer_get_start_iter(self->_priv->buffer, &iter); + gtk_text_buffer_place_cursor(self->_priv->buffer, &iter); + } + + signal last NONE (STRING) + void + set_text_from_path(self,const gchar *path) + { + gchar *content=NULL; + gsize size = 0; + if(g_file_get_contents (path,&content,&size,NULL)) + { + gchar *new_data = NULL; + gsize new_size = 0; + if(g_utf8_validate(content, size, NULL)) + { + self_set_text(self, content, size, FALSE); + } + else + { + new_data = g_locale_to_utf8(content, size, NULL, &new_size, NULL); + if(new_data) + { + self_set_text(self, new_data, new_size,FALSE); + g_free(new_data); + } + else + { + new_data = g_strdup_printf("%s: '%s' %s", _("Failed to open file:"), path,_("because of encoding issues")); + self_set_text(self, new_data, -1,TRUE); + g_free(new_data); + } + } + g_free(content); + } + } + + private + void + set_text_from_metadata(self, MetaData *met) + { + if(met->content_type == META_DATA_CONTENT_URI) { + const gchar *path = meta_data_get_uri(met); + self_set_text_from_path(self, path); + }else if(met->content_type == META_DATA_CONTENT_TEXT) { + const gchar *text = meta_data_get_text(met); + self_set_text(self,text, -1, FALSE); + }else if (met->content_type == META_DATA_CONTENT_HTML) { + /* TODO: make utf-8 compatible */ + const gchar *text = meta_data_get_html(met); + if(text) + { + /* Get byte length */ + gsize length = strlen(text); + gchar *data = g_malloc0(length+1); + gsize i; + int depth=0,j=0; + for(i=0; i') depth--; + else if(!depth){ + data[j] = text[i]; + j++; + } + } + data[j] = '\0'; + self_set_text(self,data, -1, FALSE); + g_free(data); + }else{ + self_set_text_na(self); + } + } + if(self->_priv->met) meta_data_free(self->_priv->met); + self->_priv->met = meta_data_dup(met); + } + + signal last NONE (NONE) + void + set_text_fetching(self) + { + if(self->_priv->met) meta_data_free(self->_priv->met); + self->_priv->met = NULL; + if(self->_priv->type == META_SONG_TXT) + { + self_set_text(self, _("Fetching Lyrics"), -1,TRUE); + } + else if (self->_priv->type == META_ARTIST_TXT) + { + self_set_text(self, _("Fetching Artist Info"), -1,TRUE); + } + else if (self->_priv->type == META_SONG_GUITAR_TAB) + { + self_set_text(self, _("Fetching Guitar tab"), -1,TRUE); + } + else + { + self_set_text(self, _("Fetching Album Info"), -1,TRUE); + } + } + + signal last NONE (NONE) + void + set_text_na(self) + { + if(self->_priv->met) meta_data_free(self->_priv->met); + self->_priv->met = NULL; + + self_set_text(self, _("Not Available"), -1,FALSE); + } + + private + void + meta_callback(GmpcMetaWatcher *mw , mpd_Song *song, MetaDataType type, MetaDataResult ret, MetaData *met,gpointer data) + { + Self *self = data; + /** + * Check for fields + */ + if(self->_priv->type != type) + return; + + if(!gmpc_meta_watcher_match_data(self->_priv->type, self->_priv->song, song)) + { + return; + } + if(ret == META_DATA_AVAILABLE) { + self_set_text_from_metadata(self,met); + } else if (ret == META_DATA_FETCHING) { + self_set_text_fetching(self); + } else { + self_set_text_na(self); + } + } + override (G:Object) + void + finalize (G:Object *obj) + { + + PARENT_HANDLER(obj); + } + override (G:Object) + void + dispose (G:Object *obj) + { + Self *self = GMPC_META_TEXT_VIEW(obj); + if(self->_priv->meta_id) + { + g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->meta_id); + self->_priv->meta_id = 0; + } + + PARENT_HANDLER(obj); + } + public + void + clear_entry(self) + { + MetaData *met = meta_data_new(); + met->type = self->_priv->type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_EMPTY; + meta_data_set_cache(self->_priv->song, META_DATA_UNAVAILABLE, met); + gmpc_meta_watcher_data_changed(gmw, self->_priv->song, self->_priv->type, META_DATA_UNAVAILABLE, NULL); + meta_data_free(met); + } + public + void + select_file(self) + { + mpd_Song *song = mpd_songDup(self->_priv->song); + MetaDataType type = self->_priv->type; + GtkFileFilter *gff = gtk_file_filter_new(); + GtkWidget *fcd = gtk_file_chooser_dialog_new(_("Select File"),NULL, + GTK_FILE_CHOOSER_ACTION_OPEN, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, + NULL); + gtk_file_filter_set_name(gff, _("Text Document")); + gtk_file_filter_add_mime_type(gff, "text/plain"); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); + gff = gtk_file_filter_new(); + gtk_file_filter_set_name(gff, _("All")); + gtk_file_filter_add_pattern(gff, "*"); + gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); + + gtk_widget_show_all(fcd); + switch(gtk_dialog_run(GTK_DIALOG(fcd))) + { + case GTK_RESPONSE_ACCEPT: + { + gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fcd)); + MetaData *met = meta_data_new(); + met->type = type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + met->content = filename; met->size =-1; + meta_data_set_cache(song, META_DATA_AVAILABLE, met); + gmpc_meta_watcher_data_changed(gmw, song, type, META_DATA_AVAILABLE, met); + + meta_data_free(met); + } + default: + break; + } + gtk_widget_destroy(fcd); + mpd_freeSong(song); + + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-meta-watcher.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-meta-watcher.gob --- gmpc-0.18.0/src/gmpc-meta-watcher.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-meta-watcher.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,158 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 +%ht{ +#include +#include +#include +#include "metadata.h" + +%} + + +class Gmpc:Meta:Watcher from G:Object { + init(self) + { + } + + public + GmpcMetaWatcher * new (void) + { + return GET_NEW; + } + + signal last NONE (POINTER, INT, INT, POINTER) + void + data_changed(self, mpd_Song *song, MetaDataType type,MetaDataResult result, MetaData *met) + { + } + + /** + * This signal forces metadata widgets to re-display itself + * F.e. because stylized is enabled/disabled + */ + signal last NONE (NONE) + void + force_reload(self) + { + + } + + + + public + gboolean + match_data(MetaDataType type, mpd_Song *song1, mpd_Song *song2) + { + if(song1 == NULL || song2 == NULL) + return FALSE; + switch(type) + { + case META_GENRE_SIMILAR: + if(song1->genre && song2->genre && !strcmp(song1->genre, song2->genre)) + return TRUE; + return FALSE; + case META_SONG_TXT: + case META_SONG_GUITAR_TAB: + if(song1->artist && song2->artist && !strcmp(song1->artist, song2->artist)) + if(song1->title && song2->title && !strcmp(song1->title, song2->title)) + return TRUE; + return FALSE; + + case META_ALBUM_TXT: + case META_ALBUM_ART: + if(song1->album == NULL || song2->album == NULL || strcmp(song1->album, song2->album)) + { + return FALSE; + } + case META_ARTIST_SIMILAR: + case META_ARTIST_TXT: + case META_ARTIST_ART: + if(song1->albumartist && song2->albumartist && !strcmp(song1->albumartist, song2->albumartist)) + { + return TRUE; + } + if(song1->artist && song2->artist && !strcmp(song1->artist, song2->artist)) + { + return TRUE; + } + /* if we rewrite the artist, to be various (collection) also "see that" */ + if((song1->artist && !strcmp(song1->artist, "Various Artists")) && + (song2->artist && !strcmp(song2->artist, "Various Artists"))) + { + return TRUE; + } + break; + case META_SONG_SIMILAR: + if(song1->title == NULL || song2->title == NULL || strcmp(song1->title, song2->title)) + { + return FALSE; + } + if(song1->artist && song2->artist && !strcmp(song1->artist, song2->artist)) + { + + return TRUE; + } + /* if we rewrite the artist, to be various (collection) also "see that" */ + if((song1->artist && !strcmp(song1->artist, "Various Artists")) || + (song2->artist && !strcmp(song2->artist, "Various Artists"))) + { + return TRUE; + } + case META_QUERY_DATA_TYPES: + case META_QUERY_NO_CACHE: + default: + break; + } + return FALSE; + } + + public + void + get_meta_path_callback(self, mpd_Song *song, MetaDataType type, MetaDataCallback callback, gpointer data) + { + MetaData *met = NULL; + MetaDataResult ret; + + if(!self_match_data(type&META_QUERY_DATA_TYPES, song,song)) + { + callback(song, META_DATA_UNAVAILABLE, NULL, data); + g_warning("Query is invalid"); + return; + } + ret = meta_data_get_path(song, type, &met,callback,data); + callback(song,ret,met,data); + if(met) meta_data_free(met); + } + + public + MetaDataResult + get_meta_path(self, mpd_Song *song, MetaDataType type, MetaData **met) + { + g_assert(met != NULL); + + if(!self_match_data(type&META_QUERY_DATA_TYPES, song,song)) + { + return META_DATA_UNAVAILABLE; + } + + return meta_data_get_path(song, type, met,NULL,NULL); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-mpddata-model.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-mpddata-model.gob --- gmpc-0.18.0/src/gmpc-mpddata-model.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-mpddata-model.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,1306 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%ht{ +#include +#include +#include +%} + +%privateheader{ +//#include "playlist3.h" +#include "config1.h" +#include "config-defaults.h" +#include "main.h" +#include "misc.h" + +%} +%h{ +#define GMPC_MPD_DATA_MODEL(a) GMPC_MPDDATA_MODEL(a) + enum + { + MPDDATA_MODEL_COL_MPDSONG = 0, /* get the mpd_Song */ + MPDDATA_MODEL_COL_PLAYING, /* Shows if this song is the current song */ + MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT, /* Shows if this song is the current song */ + MPDDATA_MODEL_COL_PATH, /* Path to song/file/directory */ + MPDDATA_MODEL_COL_MARKUP, /* a string that has FALSEmarkup */ + MPDDATA_MODEL_COL_SONG_ARTIST, /* artist name */ + MPDDATA_MODEL_COL_SONG_ALBUM, /* album name */ + MPDDATA_MODEL_COL_SONG_TITLE, /* song title */ + MPDDATA_MODEL_COL_SONG_TITLEFILE, /* song title */ + MPDDATA_MODEL_COL_SONG_GENRE, /* song genre */ + MPDDATA_MODEL_COL_SONG_TRACK, /* song track */ + MPDDATA_MODEL_COL_SONG_NAME, /* stream name */ + MPDDATA_MODEL_COL_SONG_COMPOSER, /* composer name */ + MPDDATA_MODEL_COL_SONG_PERFORMER, /* performer */ + MPDDATA_MODEL_COL_SONG_DATE, /* date */ + MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, /* length formatted */ + MPDDATA_MODEL_COL_SONG_DISC, /* disc */ + MPDDATA_MODEL_COL_SONG_COMMENT, /* comment */ + MPDDATA_MODEL_COL_SONG_POS, /* position */ + MPDDATA_MODEL_COL_SONG_ALBUMARTIST, + MPDDATA_MODEL_COL_PATH_EXTENSION, /* Extention */ + MPDDATA_MODEL_COL_PATH_DIRECTORY, /* Directory */ + MPDDATA_MODEL_COL_SONG_ID, /* col id */ + MPDDATA_MODEL_COL_ICON_ID, /* icon id */ + MPDDATA_MODEL_COL_SONG_LENGTH, /* length */ + MPDDATA_MODEL_TAG_TYPE, /* tag type */ + MPDDATA_MODEL_ROW_TYPE, /* type of the row */ + MPDDATA_MODEL_META_DATA, /* metadata */ + MPDDATA_MODEL_USERDATA, + MPDDATA_MODEL_N_COLUMNS + } ; +%} + + class Gmpc:MpdData:Model from G:Object + (interface Gtk:Tree:Sortable) + (interface Gtk:Tree:Model) +{ + private gint stamp = {g_random_int()}; + public GType types[MPDDATA_MODEL_N_COLUMNS]; + private MpdData *data = NULL; + public gint num_rows = 0; + private GdkPixbuf **images = NULL; + private gchar *req_artist = {NULL} destroywith g_free; + public gint icon_size = {cfg_get_single_value_as_int_with_default(config, "gmpc-mpddata-model", "icon-size", 32)}; + + /* sorting */ + private GtkSortType sort_order = GTK_SORT_ASCENDING; + private int sort_column = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; + private int old_sort_column = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; + public gboolean has_up = FALSE; + private gchar *markup = {cfg_get_single_value_as_string_with_default(config, "playlist", "browser_markup",DEFAULT_MARKUP_BROWSER)} destroywith g_free; + + private gulong playtime = {0}; + + + private gboolean use_images = TRUE; + + property BOOLEAN has_up + (nick = "Has Up", + blurb = "Show an 'up row", + default_value = FALSE, + export, + link); + + init(self) + { + self->types[MPDDATA_MODEL_COL_MPDSONG] = G_TYPE_POINTER; + self->types[MPDDATA_MODEL_COL_MARKUP] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_PLAYING] = G_TYPE_BOOLEAN; + self->types[MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT] = G_TYPE_INT; + self->types[MPDDATA_MODEL_COL_PATH] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_ARTIST] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_ALBUM] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_TITLE] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_TITLEFILE] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_TRACK] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_GENRE] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_NAME] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_COMPOSER] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_PERFORMER]= G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_DATE] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_LENGTH] = G_TYPE_INT; + self->types[MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_DISC] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_COMMENT] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_POS] = G_TYPE_INT; + self->types[MPDDATA_MODEL_COL_SONG_ALBUMARTIST] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_PATH_EXTENSION] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_PATH_DIRECTORY] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_COL_SONG_ID] = G_TYPE_INT; + self->types[MPDDATA_MODEL_COL_ICON_ID] = G_TYPE_STRING; + self->types[MPDDATA_MODEL_TAG_TYPE] = G_TYPE_INT; + self->types[MPDDATA_MODEL_ROW_TYPE] = G_TYPE_INT; + self->types[MPDDATA_MODEL_USERDATA] = G_TYPE_POINTER; + self->types[MPDDATA_MODEL_META_DATA] = GDK_TYPE_PIXBUF; + } + class_init(klass); + + public + Gmpc:MpdData:Model *new (void) + { + return GET_NEW; + } + + override (G:Object) + void + finalize (G:Object *obj) + { + int i =0; + Self *self = GMPC_MPDDATA_MODEL(obj); + + if(self->_priv->data) + { + mpd_data_free(self->_priv->data); + self->_priv->data = NULL; + } + if(self->_priv->images && self->_priv->use_images) + { + for(i=0;inum_rows;i++) + { + if(self->_priv->images[i]) { + g_object_unref(self->_priv->images[i]); + self->_priv->images[i] = NULL; + } + } + q_free(self->_priv->images); + /* q_free should do it, but force it */ + self->_priv->images = NULL; + } + PARENT_HANDLER(obj); + } + /* function implemented for the Gtk:Tree:Model interface */ + interface Gtk:Tree:Model + private GtkTreeModelFlags + get_flags (Gtk:Tree:Model *self (check null type)) + { + /* Here would be the implementation */ + return (GtkTreeModelFlags)GTK_TREE_MODEL_LIST_ONLY; + } + + + interface Gtk:Tree:Model + public + gboolean iter_children(Gtk:Tree:Model *model, GtkTreeIter *iter, GtkTreeIter *parent) + { + Self *self = GMPC_MPDDATA_MODEL(model); + if(parent) + return FALSE; + if(self->num_rows == 0) + return FALSE; + /* Set iter to first item in list */ + iter->stamp = self->_priv->stamp; + iter->user_data = self->_priv->data; + iter->user_data2 = GINT_TO_POINTER(0); + iter->user_data3 = NULL; /* unused */ + + return TRUE; + } + /** + * Unused, not known in the model directly? + */ + interface Gtk:Tree:Model + public + gint get_n_columns(Gtk:Tree:Model *model) + { + return MPDDATA_MODEL_N_COLUMNS; + } + + interface Gtk:Tree:Model + private gboolean + get_iter(Gtk:Tree:Model *model (check null type), + Gtk:Tree:Iter *iter (check null), + Gtk:Tree:Path *path (check null)) + { + Self *self = GMPC_MPDDATA_MODEL(model); + MpdData_real *data = NULL; + gint i=0; + const gint *indices = gtk_tree_path_get_indices(path); + gint depth = gtk_tree_path_get_depth(path); + gint n = indices[0]; /* the n-th top level row */ + + /* No Children */ + g_assert(depth == 1); + + if (n >= self->num_rows || n < 0) + return FALSE; + + g_assert(nnum_rows); + /* If it is the first item in a has_up list, do nothing */ + if(self->has_up && n == 0){ + data = NULL; + goto end; + } + data = (MpdData_real *)self->_priv->data; + + if(self->has_up) + i=1; + + for(; i < (n);i++) + { + data = data->next; + } +end: + iter->stamp = self->_priv->stamp; + iter->user_data = data; + iter->user_data2 = GINT_TO_POINTER(n); + return TRUE; + } + + interface Gtk:Tree:Model + private gboolean + iter_next(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null)) + { + Self *self = GMPC_MPDDATA_MODEL(model); + MpdData *data = iter->user_data; + int n = GPOINTER_TO_INT(iter->user_data2) ; + /* if the row is the last row in the list or bigger then the last row, return FALSE */ + if(n >= self->num_rows) + { + return FALSE; + } + /* if the row is the first row in the list, and it has a "go-up" entry, + * it can have a next entry + */ + if(data == NULL && n == 0 && self->has_up == TRUE) + { + iter->user_data = (MpdData *)self->_priv->data; + iter->user_data2 = GINT_TO_POINTER(1); + if(iter->user_data == NULL) + return FALSE; + return TRUE; + } + if(mpd_data_get_next_real(data,FALSE) == NULL) + { + return FALSE; + } + iter->user_data = (MpdData *)mpd_data_get_next_real(data,FALSE); + iter->user_data2 = GINT_TO_POINTER(n+1); + g_assert(iter->user_data != NULL); + return TRUE; + } + + interface Gtk:Tree:Model + private gboolean + iter_has_child(Gtk:Tree:Model *self (check null type), GtkTreeIter *iter) + { + return FALSE; + } + interface Gtk:Tree:Model + private gint + iter_n_children(Gtk:Tree:Model *model (check null type), GtkTreeIter *iter) + { + Self *list = GMPC_MPDDATA_MODEL(model); + if(iter) + return 0; + return list->num_rows; + } + + interface Gtk:Tree:Model + private gboolean + iter_parent(Gtk:Tree:Model *model (check null type), Gtk:Tree:Iter *iter, Gtk:Tree:Iter *child) + { + return FALSE; + } + private + void + cover_art_fetched(mpd_Song *song, MetaDataResult ret,MetaData *met,GtkTreeRowReference *ref) + { + + if(ref) + { + GtkTreePath *path =gtk_tree_row_reference_get_path(ref); + GtkTreeModel *model = gtk_tree_row_reference_get_model(ref); + if(path && model) + { + int n; + Self *self = GMPC_MPDDATA_MODEL(model); + GtkTreeIter iter; + + g_assert(self->_priv->use_images == TRUE); + + gtk_tree_model_get_iter(model, &iter, path); + n = GPOINTER_TO_INT(iter.user_data2) ; + if(ret == META_DATA_AVAILABLE) + { + + GdkPixbuf *pb = NULL; + if(met->content_type == META_DATA_CONTENT_URI) + { + const gchar *coverpath = meta_data_get_uri(met); + pb = gdk_pixbuf_new_from_file_at_size(coverpath,self->icon_size,self->icon_size,NULL); + screenshot_add_border(&pb); + }else{ + pb = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-no-cover", self->icon_size, 0,NULL); + } + if(self->_priv->images[n]) g_object_unref(self->_priv->images[n]); + self->_priv->images[n] = pb; + } + else if(ret == META_DATA_UNAVAILABLE) + { + GdkPixbuf *pb2; + pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-no-cover", self->icon_size, 0,NULL); + if(self->_priv->images[n]) g_object_unref(self->_priv->images[n]); + self->_priv->images[n] = pb2; + } + gtk_tree_model_row_changed(model,path, &iter); + gtk_tree_path_free(path); + } + + if(ret == META_DATA_AVAILABLE || ret == META_DATA_UNAVAILABLE) + { + if(ref) + { + gtk_tree_row_reference_free(ref); + } + } + } + } + + interface Gtk:Tree:Model + public void + get_value(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), gint column (check >= 0 < MPDDATA_MODEL_N_COLUMNS), GValue *value (check null)) + { + Self *self = GMPC_MPDDATA_MODEL(model); + MpdData_real *data = iter->user_data; + int n = GPOINTER_TO_INT(iter->user_data2); + + if(self->_priv->data == NULL) + g_warning("self->_priv->data == NULL"); + /* set value to the correct type */ + g_value_init(value, self->types[column]); + + /** + * Sanity checks + */ + g_assert((n < self->num_rows || n == 0)); + g_assert(!(data == NULL && n != 0)); + + /* handle row up */ + if(data == NULL && n == 0) + { + switch(column) + { + case MPDDATA_MODEL_COL_ICON_ID: + g_value_set_string(value, GTK_STOCK_GO_UP); + break; + case MPDDATA_MODEL_ROW_TYPE: + /** + * Make define + */ + g_value_set_int(value, -1); + break; + case MPDDATA_MODEL_COL_SONG_TITLE: + case MPDDATA_MODEL_COL_MARKUP: + { + g_value_set_string(value,".."); + break; + } + default: + break; + } + return; + } + + if(column == MPDDATA_MODEL_META_DATA) + { + if(self->_priv->use_images && self->_priv->images) + { + if(self->_priv->images[n] == NULL) + { + if(data->type == MPD_DATA_TYPE_TAG && (data->tag_type == MPD_TAG_ITEM_ARTIST || data->tag_type == MPD_TAG_ITEM_ALBUM_ARTIST) ) + { + mpd_Song *song; + GtkTreePath *path; + GtkTreeRowReference *ref; + self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-loading-cover", self->icon_size, 0,NULL); + song = mpd_newSong(); + song->artist = g_strdup(data->tag); + song->album = NULL; + path = gtk_tree_model_get_path(GTK_TREE_MODEL(self), iter); + ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(self),path); + gmpc_meta_watcher_get_meta_path_callback(gmw,song, META_ARTIST_ART, (MetaDataCallback)self_cover_art_fetched, (gpointer)ref); + mpd_freeSong(song); + gtk_tree_path_free(path); + } + + else if(data->type == MPD_DATA_TYPE_TAG && data->tag_type == MPD_TAG_ITEM_ALBUM && self->_priv->req_artist) + { + mpd_Song *song; + GtkTreePath *path; + GtkTreeRowReference *ref; + self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-loading-cover", self->icon_size, 0,NULL); + song = mpd_newSong(); + song->artist = g_strdup(self->_priv->req_artist); + song->albumartist = g_strdup(self->_priv->req_artist); + song->album = g_strdup(data->tag); + path = gtk_tree_model_get_path(GTK_TREE_MODEL(self), iter); + ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(self),path); + gmpc_meta_watcher_get_meta_path_callback(gmw,song, META_ALBUM_ART, (MetaDataCallback)self_cover_art_fetched, ref); + mpd_freeSong(song); + gtk_tree_path_free(path); + } + else if(data->type == MPD_DATA_TYPE_SONG&& data->song && data->song->album && (data->song->artist || self->_priv->req_artist)) + { + mpd_Song *song; + GtkTreePath *path; + GtkTreeRowReference *ref; + self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-loading-cover", self->icon_size, 0,NULL); + song = mpd_newSong(); + song->artist = g_strdup((data->song->artist)?data->song->artist:self->_priv->req_artist); + song->albumartist = g_strdup((data->song->albumartist)?data->song->albumartist:self->_priv->req_artist); + song->album = g_strdup(data->song->album); + path = gtk_tree_model_get_path(GTK_TREE_MODEL(self), iter); + ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(self),path); + gmpc_meta_watcher_get_meta_path_callback(gmw,song, META_ALBUM_ART, (MetaDataCallback)self_cover_art_fetched, ref); + mpd_freeSong(song); + gtk_tree_path_free(path); + } + else + { + self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-no-cover", self->icon_size, 0,NULL); + } + } + g_value_set_object(value, self->_priv->images[n]); + }else{ + g_value_set_object(value,NULL); + } + } + if(column == MPDDATA_MODEL_USERDATA) + { + g_value_set_pointer(value,data->userdata); + + } + /* handle row type, this is independent of the row type */ + if(column == MPDDATA_MODEL_ROW_TYPE) + { + g_value_set_int(value, data->type); + return; + } + if (data->type == MPD_DATA_TYPE_TAG) { + switch(column) + { + case MPDDATA_MODEL_COL_ICON_ID: + switch(data->tag_type) + { + case MPD_TAG_ITEM_ALBUM: + g_value_set_string(value, "media-album"); + break; + case MPD_TAG_ITEM_ARTIST: + g_value_set_string(value, "media-artist"); + break; + default: + g_value_set_string(value, "media-tag"); + } + break; + case MPDDATA_MODEL_COL_SONG_TITLE: + case MPDDATA_MODEL_COL_MARKUP: + { + g_value_set_string(value, data->tag); + break; + } + case MPDDATA_MODEL_COL_PATH: + g_value_set_string(value, data->tag); + break; + case MPDDATA_MODEL_TAG_TYPE: + g_value_set_int(value, data->tag_type); + break; + default: + break; + } + } else if(data->type == MPD_DATA_TYPE_DIRECTORY) { + switch(column) + { + case MPDDATA_MODEL_COL_ICON_ID: + g_value_set_string(value, GTK_STOCK_OPEN); + break; + case MPDDATA_MODEL_COL_SONG_TITLE: + case MPDDATA_MODEL_COL_SONG_TITLEFILE: + case MPDDATA_MODEL_COL_MARKUP: + { + gchar *basename = g_path_get_basename(data->directory); + g_value_set_string(value, basename); + g_free(basename); + break; + } + case MPDDATA_MODEL_COL_PATH: + g_value_set_string(value, data->directory); + break; + default: + break; + } + } + else if(data->type == MPD_DATA_TYPE_PLAYLIST) + { + switch(column) + { + case MPDDATA_MODEL_COL_ICON_ID: + g_value_set_string(value, "media-playlist"); + break; + case MPDDATA_MODEL_COL_SONG_TITLE: + case MPDDATA_MODEL_COL_SONG_TITLEFILE: + case MPDDATA_MODEL_COL_MARKUP: + { + gchar *basename = g_path_get_basename(data->playlist->path); + g_value_set_string(value, basename); + g_free(basename); + break; + } + case MPDDATA_MODEL_COL_PATH: + g_value_set_string(value, data->playlist->path); + break; + default: + break; + } + } + else if(data->type == MPD_DATA_TYPE_SONG) + { + mpd_Song *song = data->song; + switch (column) { + case MPDDATA_MODEL_COL_MPDSONG: + g_value_set_pointer(value, song); + break; + case MPDDATA_MODEL_COL_PLAYING: + g_value_set_boolean(value, FALSE); + break; + case MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT: + g_value_set_int(value, PANGO_WEIGHT_NORMAL); + break; + case MPDDATA_MODEL_COL_MARKUP: + { + /* we want to go cache this stuff */ + gchar buffer[1024]; + mpd_song_markup(buffer, 1024, GMPC_MPDDATA_MODEL(model)->_priv->markup, song); + g_value_set_string(value, buffer); + break; + } + case MPDDATA_MODEL_COL_PATH: + g_value_set_string(value, song->file); + break; + case MPDDATA_MODEL_COL_PATH_EXTENSION: + { + int j = strlen(song->file); + for(;j>0&&song->file[j] != '.';j--); + g_value_set_string(value, &(song->file)[j+1]); + break; + } + case MPDDATA_MODEL_COL_PATH_DIRECTORY: + { + gchar *dir = g_path_get_dirname(song->file); + g_value_set_string(value, dir); + g_free(dir); + break; + } + case MPDDATA_MODEL_COL_SONG_ARTIST: + g_value_set_string(value, song->artist); + break; + case MPDDATA_MODEL_COL_SONG_ALBUM: + g_value_set_string(value, song->album); + break; + case MPDDATA_MODEL_COL_SONG_TITLE: + /* If there is a song available use that, else use the filename */ + if(song->title) { + g_value_set_string(value, song->title); + } else { + /* Use the markup stuff, this makes sure it gets processed equaly */ + gchar buffer[1024]; + mpd_song_markup(buffer, 1024, "%shortfile%", song); + g_value_set_string(value, buffer); + } + break; + case MPDDATA_MODEL_COL_SONG_TITLEFILE: + { + gchar *path = g_path_get_basename(song->file); + g_value_set_string(value, path); + g_free(path); + } + break; + case MPDDATA_MODEL_COL_SONG_GENRE: + g_value_set_string(value, song->genre); + break; + case MPDDATA_MODEL_COL_SONG_TRACK: + g_value_set_string(value, song->track); + break; + case MPDDATA_MODEL_COL_SONG_NAME: + g_value_set_string(value, song->name); + break; + case MPDDATA_MODEL_COL_SONG_COMPOSER: + g_value_set_string(value, song->composer); + break; + case MPDDATA_MODEL_COL_SONG_PERFORMER: + g_value_set_string(value, song->performer); + break; + case MPDDATA_MODEL_COL_SONG_DATE: + g_value_set_string(value, song->date); + break; + case MPDDATA_MODEL_COL_SONG_LENGTH: + g_value_set_int(value, song->time); + break; + case MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT: + { + if(song->time >= 0) { + gchar *strdata = g_strdup_printf("%02i:%02i", + song->time/60, song->time%60); + g_value_set_string(value, strdata); + g_free(strdata); + } else { + g_value_set_string(value, "n/a"); + } + } + break; + case MPDDATA_MODEL_COL_SONG_DISC: + g_value_set_string(value, song->disc); + break; + case MPDDATA_MODEL_COL_SONG_COMMENT: + g_value_set_string(value, song->comment); + break; + case MPDDATA_MODEL_COL_SONG_POS: + g_value_set_int(value, song->pos+1); + break; + case MPDDATA_MODEL_COL_SONG_ALBUMARTIST: + g_value_set_string(value, song->albumartist); + break; + case MPDDATA_MODEL_COL_SONG_ID: + g_value_set_int(value, song->id); + break; + + case MPDDATA_MODEL_COL_ICON_ID: + if (strstr(song->file, "://")) { + g_value_set_string(value, "media-stream"); + } else { + g_value_set_string(value, "media-audiofile"); + } + break; + default: + break; + } + } + } + + interface Gtk:Tree:Model + private gboolean + iter_nth_child(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), GtkTreeIter *parent, gint n (check >=0)) + { + Self *self = GMPC_MPDDATA_MODEL(model); + int i; + MpdData_real *data = NULL; + if(parent) + return FALSE; + if (n >= self->num_rows || n < 0) + return FALSE; + + data = (MpdData_real *)self->_priv->data; + i=0; + if(self->has_up) + i=1; + for(; i < (n);i++) + { + data = data->next;//mpd_data_get_next_real(data, FALSE); + g_assert(data != NULL); + } + + if(self->has_up && n == 0) + data = NULL; + + iter->stamp = self->_priv->stamp; + iter->user_data = data; + iter->user_data2 = GINT_TO_POINTER(n); + return TRUE; + } + + interface Gtk:Tree:Model + private GtkTreePath * + get_path(Gtk:Tree:Model *self (check null type), GtkTreeIter *iter (check null)) + { + GtkTreePath *path = NULL; + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path, GPOINTER_TO_INT(iter->user_data2)); + return path; + } + + interface Gtk:Tree:Model + private GType + get_column_type(Gtk:Tree:Model *model(check null type), gint ind (check >= 0)) + { + Self *self = GMPC_MPDDATA_MODEL(model); + return self->types[ind]; + } + public + void + set_request_artist(self, const char *artist) + { + int i; + GtkTreePath *path = NULL; + GtkTreeIter iter; + if(self->_priv->req_artist) + q_free(self->_priv->req_artist); + self->_priv->req_artist = (artist != NULL && artist[0] != '\0')?g_strdup(artist):NULL; + /* Free possible stored images */ + if(self->_priv->images && self->_priv->use_images) + { + MpdData *data2 = mpd_data_get_first(self->_priv->data); + for(i=0;inum_rows;i++) + { + if(self->_priv->images[i]){ + g_object_unref(self->_priv->images[i]); + self->_priv->images[i] = NULL; + + /* Update the view */ + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + iter.stamp = self->_priv->stamp; + iter.user_data = data2; + iter.user_data2 = GINT_TO_POINTER(i); + /* propegate change */ + gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + } + data2 = mpd_data_get_next_real(data2,FALSE); + } + } + } + public + const char * + get_request_artist(self) + { + return self->_priv->req_artist; + } + public + long unsigned set_mpd_data(self, MpdData *data2) + { + int i; + long unsigned retval = 0; + GtkTreeIter iter; + GtkTreePath *path = NULL; + int old_num_rows = self->num_rows; + /* Do some cleanup, like removing rows, and so */ + /* loop and remove */ + while ( self->num_rows > 0 ) { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path, self->num_rows - 1 ); + /* propegate change */ + gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); + gtk_tree_path_free(path); + self->num_rows--; + } + + + /** + * Free if there is a list and set it to NULL + */ + if(self->_priv->data) + mpd_data_free(self->_priv->data); + self->_priv->data = NULL; + + if(self->num_rows != 0) + debug_printf(DEBUG_ERROR,"not every row cleared %i\n",self->num_rows); + self->num_rows =0; + /* Free possible stored images */ + if(self->_priv->images && self->_priv->use_images) + { + for(i=0;i< old_num_rows;i++) + { + if(self->_priv->images[i]) + g_object_unref(self->_priv->images[i]); + } + q_free(self->_priv->images); + } + if(data2 == NULL) + { + self->_priv->playtime = 0; + self_playtime_changed(self, self->_priv->playtime); + return 0; + } + + self->_priv->data = mpd_data_get_first(data2); + data2 = NULL; + if(self->_priv->sort_column == MPDDATA_MODEL_COL_ICON_ID) + { + self->_priv->data = misc_sort_mpddata_by_album_disc_track(self->_priv->data); + } + else if ( self->_priv->sort_column != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID ) + { + self->_priv->data = misc_sort_mpddata(self->_priv->data,(GCompareDataFunc)self_sort_func,self ); + } + + if(self->has_up) { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path, self->num_rows); + iter.stamp = self->_priv->stamp; + iter.user_data = NULL; + iter.user_data2 = GINT_TO_POINTER(self->num_rows); + + self->num_rows++; + /* propegate change */ + gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + } + for(data2 = mpd_data_get_first(self->_priv->data);data2; data2 = mpd_data_get_next_real(data2,FALSE)) { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,self->num_rows); + iter.stamp = self->_priv->stamp; + iter.user_data = data2; + iter.user_data2 = GINT_TO_POINTER(self->num_rows); + + self->num_rows++; + /* propegate change */ + gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + if(data2->type == MPD_DATA_TYPE_SONG) + { + if(data2->song && data2->song->time > 0) + retval+= data2->song->time; + } + } + if(self->_priv->use_images) + { + self->_priv->images = g_malloc0((self->num_rows)*sizeof(*(self->_priv->images))); + } + + self->_priv->playtime = retval; + self_playtime_changed(self, self->_priv->playtime); + return retval; + } + + /* Sorting */ + interface Gtk:Tree:Sortable + private + gboolean get_sort_column_id (Gtk:Tree:Sortable *model , gint *sort_column_id, GtkSortType *order) + { + Self *self = GMPC_MPDDATA_MODEL(model); + if(sort_column_id) + *sort_column_id = self->_priv->sort_column; + if(order) + *order = self->_priv->sort_order; + return TRUE; + } + + interface Gtk:Tree:Sortable + private + void set_sort_column_id (Gtk:Tree:Sortable *model , gint sort_column_id, GtkSortType order) + { + Self *self = GMPC_MPDDATA_MODEL(model); + gint old_col = self->_priv->sort_column; + GtkSortType old_ord = self->_priv->sort_order; + self->_priv->sort_column = sort_column_id; + self->_priv->sort_order = order; + /* trigger signal */ + if(old_col != sort_column_id || old_ord != order) + gtk_tree_sortable_sort_column_changed(model); + self->_priv->old_sort_column = self->_priv->sort_column; + + } + + interface Gtk:Tree:Sortable + private + gboolean + has_default_sort_func(Gtk:Tree:Sortable *model) + { + return FALSE; + } + private + int sort_func(gpointer ppaa, gpointer ppbb, Self *self) + { + MpdData_real *a = *(MpdData_real **)ppaa; + MpdData_real *b = *(MpdData_real **)ppbb; + int fact = (self->_priv->sort_order == GTK_SORT_ASCENDING)?-1:1; + + if(a->type != b->type ) + { + int val = a->type - b->type; + return val; + } + else if(a->type == b->type) + { + int val=0; + GtkTreeIter iter; + GValue va = {0,},vb = {0,}; + /* Get values from tree view, so we don't have to replicate code to sort the right entries */ + iter.user_data = a; + iter.user_data2 = GPOINTER_TO_INT(0); + gtk_tree_model_get_value(GTK_TREE_MODEL(self), &iter, self->_priv->sort_column, &va); + iter.user_data = b; + gtk_tree_model_get_value(GTK_TREE_MODEL(self), &iter, self->_priv->sort_column, &vb); + /* if the type is a directory or a tag, always sort on the title column */ + if(a->type == MPD_DATA_TYPE_DIRECTORY || b->type == MPD_DATA_TYPE_TAG) + { + const char *ca,*cb; + ca = g_value_get_string(&va); + cb = g_value_get_string(&vb); + if(ca && cb) { + gchar *aa,*bb; + aa = g_utf8_strdown(ca, -1); + bb = g_utf8_strdown(cb, -1); + val = g_utf8_collate(aa,bb); + g_free(aa); + g_free(bb); + } else { + val = (ca == NULL)?((cb==NULL)?0:-1):1; + } + g_value_unset(&va); + g_value_unset(&vb); + /* return */ + return val*fact; + } + if(self->_priv->sort_column == MPDDATA_MODEL_COL_SONG_TRACK) + { + const char *ca = g_value_get_string(&va); + const char *cb = g_value_get_string(&vb); + gint ca1 = (ca)?atoi(ca):0; + gint cb1 = (cb)?atoi(cb):0; + g_value_unset(&va); + g_value_unset(&vb); + return fact*(ca1-cb1); + } + else if(self->types[self->_priv->sort_column] == G_TYPE_INT) + { + val = g_value_get_int(&va) - g_value_get_int(&vb); + } + else if (self->types[self->_priv->sort_column] == G_TYPE_STRING) + { + const char *ca = g_value_get_string(&va); + const char *cb = g_value_get_string(&vb); + if(ca && cb) { + gchar *aa,*bb; + aa = g_utf8_normalize(ca, -1,G_NORMALIZE_ALL); + bb = g_utf8_normalize(cb, -1,G_NORMALIZE_ALL); + val = g_utf8_collate(aa,bb); + g_free(aa); + g_free(bb); + } else { + val = (ca == NULL)?((cb==NULL)?0:-1):1; + } + } + g_value_unset(&va); + g_value_unset(&vb); + return fact*val; + } + return 0; + } + + interface Gtk:Tree:Sortable + private + void + sort_column_changed(Gtk:Tree:Sortable *model) + { + Self *self = GMPC_MPDDATA_MODEL(model); + if(!self->_priv->data || !(((MpdData_real *)self->_priv->data)->next)) + return; + if(self->_priv->sort_column == MPDDATA_MODEL_COL_ICON_ID) + { + self->_priv->data = misc_sort_mpddata_by_album_disc_track(self->_priv->data); + } + else if(self->_priv->sort_column != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) + { + self->_priv->data = misc_sort_mpddata(self->_priv->data,(GCompareDataFunc)self_sort_func,self ); + } + self->_priv->old_sort_column = self->_priv->sort_column; + + /* tell the view that rows have changed */ + { + int i=0; + GtkTreePath *path = NULL; + GtkTreeIter iter; + MpdData *data2 = mpd_data_get_first(self->_priv->data); + if(self->has_up) i = 1; + for(;data2; data2 = mpd_data_get_next_real(data2,FALSE)) + { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + iter.stamp = self->_priv->stamp; + iter.user_data = data2; + iter.user_data2 = GINT_TO_POINTER(i); + + /* propegate change */ + gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + i++; + } + } + } + + private + int + test_sort_func(gpointer ppaa, gpointer ppbb, Self *self) + { + MpdData_real *a = *(MpdData_real **)ppaa; + MpdData_real *b = *(MpdData_real **)ppbb; + return strcmp(a->tag, b->tag); + } + + /** + * For now this assumes tag list only. + */ + public + long unsigned set_mpd_data_slow (self, MpdData *data2) + { + MpdData_real *new_list = NULL; + int i=0; + int items=0; + MpdData_real *original = (MpdData_real *)mpd_data_get_first(self->_priv->data); + MpdData_real *new = (MpdData_real *) data2; + GtkTreePath *path =NULL; + GtkTreeIter iter; + int old_list_size = self->num_rows; + + /* sort it identical */ + data2 = misc_sort_mpddata(data2,(GCompareDataFunc)self_test_sort_func,self ); + new = (MpdData_real *)data2; + + if(new) { + MpdData_real *n = new->first; + while(n) { + items++; + n = n->next; + } + } + + + /* Free possible stored images */ + /** + * TODO: Don't free the list, but grow it to MAX(items, self->num_rows); + * Then after updating, resize it to new size + */ + /* Grow the list when needed */ + + if(self->_priv->use_images) + { + /* Clean them, they might not be in the right place anymore */ + for(i=0;i< old_list_size; i++) + { + if(self->_priv->images[i] != NULL) g_object_unref(self->_priv->images[i]); + self->_priv->images[i] = NULL; + } + if(items > self->num_rows) + { + self->_priv->images = g_realloc(self->_priv->images, items*sizeof(GdkPixbuf *)); + /* set the new ones to NUll */ + for(i=self->num_rows;i_priv->images[i] = NULL; + } + } + } + + + + + i=0; + /* compare lists */ + if(self->_priv->data && original == NULL) g_warning("weirdness\n"); + if(self->_priv->data) + { + int has_next; + do + { + has_next = 0; + if(new == NULL) + { + if(self->num_rows > items) + { + MpdData_real *n = original->next; + /* remove current row */ + self->num_rows--; + + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + + /* propegate change */ + gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); + gtk_tree_path_free(path); + + original =(MpdData_real *) mpd_data_delete_item((MpdData *)original); + self->_priv->data = mpd_data_get_first((MpdData *)original); + + original=n; + has_next = (original )?1:0; + } + } + else + { + int compare = strcmp(new->tag, original->tag); + if(compare < 0) + { + /* add */ + MpdData_real *n = (MpdData_real *) mpd_new_data_struct(); + n->type = MPD_DATA_TYPE_TAG; + n->tag_type = new->tag_type; + n->tag = new->tag; + new->tag = NULL; + + /* add */ + + self->num_rows++; + n->prev = original->prev; + + if(original->prev) + original->prev->next = n; + n->next = original; + n->first = original->first; + original->prev = n; + if(n->prev == NULL){ + MpdData_real *fiter; + for(fiter = n;fiter;fiter = fiter->next){ + fiter->first = n; + } + } + + self->_priv->data = mpd_data_get_first((MpdData *)original); + { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + iter.stamp = self->_priv->stamp; + iter.user_data = n; + iter.user_data2 = GINT_TO_POINTER(i); + + gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + } + /* mark for insert */ + new=new->next; + i++; + has_next = 1; + } + else if (compare > 0) + { + MpdData_real *n = original->next; + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + /* propegate change */ + + self->num_rows--; + gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); + gtk_tree_path_free(path); + + + original = (MpdData_real *)mpd_data_delete_item((MpdData *)original); + self->_priv->data = mpd_data_get_first((MpdData *)original); + original = n; + //original = original->next; + has_next = (original )?1:0; + + }else{ + new = new->next; + original = original->next; + has_next = (original )?1:0; + i++; + } + } + }while(has_next); + } + /* add entries remaining in new */ + if(new) + { + + new_list = (MpdData_real *) self->_priv->data; + while(new_list && new_list->next) new_list = new_list->next; + do{ + new_list = (MpdData_real *)mpd_new_data_struct_append((MpdData*)new_list); + new_list->type = MPD_DATA_TYPE_TAG; + new_list->tag_type = new->tag_type; + new_list->tag = new->tag; + new->tag = NULL; + + self->_priv->data = (MpdData *)new_list->first; + if(self->_priv->data == NULL) g_warning("self->_priv->data == NULL"); + self->num_rows++; + { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path,i); + iter.stamp = self->_priv->stamp; + iter.user_data = new_list; + iter.user_data2 = GINT_TO_POINTER(i); + + gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + } + + new = new->next; + i++; + }while(new); + } + + + if(self->_priv->use_images){ + if(self->num_rows < old_list_size){ + for(i=self->num_rows;i< old_list_size; i++) + { + /* clean it */ + if(self->_priv->images[i] != NULL) g_object_unref(self->_priv->images[i]); + } + self->_priv->images = g_realloc(self->_priv->images, (self->num_rows)*sizeof(GdkPixbuf *)); + } + } + + + + if(data2) + mpd_data_free(data2); + + g_assert(items == self->num_rows); + return 0; + } + + signal last NONE (LONG) + void + playtime_changed(self, gulong playtime) + { + return; + } + + public + gulong + get_playtime(self) + { + return self->_priv->playtime; + } + public + gint + get_pos( self, GtkTreeIter *iter) + { + g_assert(iter->stamp == self->_priv->stamp); + return GPOINTER_TO_INT(iter->user_data2); + } + + public + void + disable_image(self) + { + g_assert(self->_priv->data == NULL); + self->_priv->use_images = FALSE; + } + + public + MpdData * + steal_mpd_data(self) + { + GtkTreePath *path; + int i; + int old_num_rows = self->num_rows; + MpdData *data = self->_priv->data; + while ( self->num_rows > 0 ) { + path = gtk_tree_path_new(); + gtk_tree_path_append_index(path, self->num_rows - 1 ); + /* propegate change */ + gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); + gtk_tree_path_free(path); + self->num_rows--; + } + + /* Clear */ + self->_priv->data = NULL; + /* Free possible stored images */ + if(self->_priv->images && self->_priv->use_images) + { + for(i=0;i< old_num_rows;i++) + { + if(self->_priv->images[i]) + g_object_unref(self->_priv->images[i]); + } + q_free(self->_priv->images); + } + self->_priv->playtime = 0; + self_playtime_changed(self, self->_priv->playtime); + + return mpd_data_get_first(data); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-mpddata-model-playlist.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-mpddata-model-playlist.gob --- gmpc-0.18.0/src/gmpc-mpddata-model-playlist.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-mpddata-model-playlist.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,509 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%a{ +#include "gmpc-mpddata-model.h" + +#include "gmpc-connection.h" +%} +%h{ +#include "gmpc-mpddata-model-private.h" +%} +%{ +#define BLOCK_SIZE 200 +%} +/** + * This is a Special version of Gmpc:MpdData:Model that is made to show the current playlist, and keep in sync with it. + * This is to replace the old playlist-lis backend. + * Use this model with Gmpc:MpdData:Treeview + */ + +class Gmpc:MpdData:Model:Playlist from Gmpc:MpdData:Model + (interface Gtk:Tree:Model) + (interface Gtk:Tree:Drag:Source) + (interface Gtk:Tree:Drag:Dest) +{ + private GmpcConnection *conn = {NULL}; + private unsigned int status_changed = 0; + private unsigned int connection_changed = 0; + private MpdObj *mi; + private long long playlist_id = {0}; + private unsigned long total_time = {0}; + private unsigned long loaded_songs = {0}; + private int old_highlight = -1; + + private guint update_timeout = {0}; + private guint last_pos = {0}; + + private gboolean update_callback(self) + { + static const unsigned int step_size = 100; + unsigned int num_rows = GMPC_MPDDATA_MODEL(self)->num_rows; + if(self->_priv->loaded_songs _priv->data; + data = mpd_data_get_first(data); + if(!data) return TRUE; + for(i=0; i < (self->_priv->last_pos);i++) + { + data = (MpdData *)mpd_data_get_next_real(data,FALSE); + } + + + for(i=0;i< step_size && data;i++) + { + if(data->song == NULL) + { + data->song = mpd_playlist_get_song_from_pos(self->_priv->mi,i+self->_priv->last_pos); + if(data->song) + { + self->_priv->loaded_songs++; + if(data->song->time>0) + { + self->_priv->total_time += data->song->time; + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + } + + } + data = mpd_data_get_next_real(data, FALSE); + } + self->_priv->last_pos += step_size; + } + else + { + self->_priv->last_pos = 0; + } + return TRUE; + } + +override (G:Object) + void + finalize (G:Object *obj) + { + Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(obj); + if(self->_priv->status_changed > 0) + { + g_signal_handler_disconnect(G_OBJECT(gmpcconn),self->_priv->status_changed); + self->_priv->status_changed = 0; + } + if(self->_priv->connection_changed > 0) + { + g_signal_handler_disconnect(G_OBJECT(gmpcconn),self->_priv->connection_changed); + self->_priv->connection_changed = 0; + } + if(self->_priv->update_timeout > 0) + { + g_source_remove(self->_priv->update_timeout); + self->_priv->update_timeout = 0; + } + PARENT_HANDLER(obj); + } + public + Gmpc:MpdData:Model:Playlist *new (Gmpc:Connection *conn (check type null), MpdObj *mi(check null)) + { + Self *self = GET_NEW; + self->_priv->conn = conn; + self->_priv->status_changed = g_signal_connect_swapped(G_OBJECT(conn), "status_changed", G_CALLBACK(self_status_changed), self); + self->_priv->connection_changed = g_signal_connect_swapped(G_OBJECT(conn), "connection_changed", G_CALLBACK(self_connection_changed), self); + self->_priv->mi = mi; + + if(cfg_get_single_value_as_int_with_default(config, "playlist", "background-loading", FALSE)) + { + self->_priv->update_timeout = g_timeout_add_seconds(1, (GSourceFunc)(self_update_callback), self); + } + return self; + } + private + void + status_changed(self, MpdObj *mi, ChangedStatusType what, Gmpc:Connection *conn (check type)) + { + if(what&MPD_CST_PLAYLIST) + { + MpdData *data = NULL; + int new_length = mpd_playlist_get_playlist_length(mi); + + int old_length = GMPC_MPDDATA_MODEL(self)->num_rows; + /* if it was empty just add everything */ + if(new_length == 0) + { + self->_priv->loaded_songs=0; + self->_priv->total_time =0; + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + + + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), NULL); + + + } + else if(old_length == 0) + { + int i; + for(i = new_length; i > 0; i--) + { + data= mpd_new_data_struct_append(data); + data->type = MPD_DATA_TYPE_SONG; + data->song = NULL; + } + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), mpd_data_get_first(data)); + } + else + { + data = mpd_playlist_get_changes_posid(mi, self->_priv->playlist_id); + /* if the new length is shorter then the old, remove rows at the end */ + if(new_length < old_length) + { + int i; + MpdData_real *odata = (MpdData_real *)mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); + while(odata->next)odata = odata->next; + /* data should be last */ + + for(i=old_length-1;i>=new_length;i--) + { + GtkTreePath *path = gtk_tree_path_new(); + gtk_tree_path_append_index(path, i); + gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); + gtk_tree_path_free(path); + + if(odata->song) + { + self->_priv->loaded_songs--; + if(odata->song->time > 0) + { + self->_priv->total_time -= odata->song->time; + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + } + + odata = (MpdData_real *)mpd_data_delete_item((MpdData *)odata); + GMPC_MPDDATA_MODEL(self)->num_rows--; + } + } + /* if it's longer, append rows */ + else if ( new_length > old_length) + { + int i; + MpdData_real *odata = (MpdData_real *)mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); + /* get the last element */ + while(odata->next) odata = odata->next; + for(i=old_length; i< new_length;i++) + { + GtkTreePath *path = gtk_tree_path_new(); + GtkTreeIter iter; + /* Append node */ + odata = (MpdData_real *)mpd_new_data_struct_append((MpdData *)odata); + odata->type = MPD_DATA_TYPE_SONG; + odata->song = NULL; + /* Create iter */ + iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; + iter.user_data = NULL; + iter.user_data2 = GINT_TO_POINTER(GMPC_MPDDATA_MODEL(self)->num_rows); + /* show the path */ + gtk_tree_path_append_index(path, i); + /* insert it */ + gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + GMPC_MPDDATA_MODEL(self)->num_rows++; + + } + } + /* Now mark the changed rows */ + if(data) + { + int i=0; + MpdData_real *list_iter =(MpdData_real *) mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); + MpdData_real *data_iter =(MpdData_real *) mpd_data_get_first(data); + while(data_iter) + { + GtkTreeIter iter; + GtkTreePath *path = gtk_tree_path_new(); + /* get the right entry */ + for(;i!= data_iter->song->pos;i++) + list_iter = list_iter->next; + + if(list_iter->song) + { + self->_priv->loaded_songs--; + if(list_iter->song->time > 0) + { + self->_priv->total_time -= list_iter->song->time; + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + } + + if(list_iter->song) + mpd_freeSong(list_iter->song); + list_iter->song = NULL; + + iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; + iter.user_data = NULL; + iter.user_data2 = GINT_TO_POINTER(i); + gtk_tree_path_append_index(path, i); + gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); + + + gtk_tree_path_free(path); + data_iter = data_iter->next; + } + mpd_data_free(data); + } + } + if(GMPC_MPDDATA_MODEL(self)->num_rows != new_length) + { + debug_printf(DEBUG_ERROR, "Playlist out of sync: %i-%i \n",GMPC_MPDDATA_MODEL(self)->num_rows,new_length); + } + self->_priv->playlist_id = mpd_playlist_get_playlist_id(mi); + } + if(what&(MPD_CST_SONGID|MPD_CST_SONGPOS|MPD_CST_STATE)) + { + GtkTreeIter iter; + GtkTreePath *path = NULL; + int i = mpd_player_get_current_song_pos(self->_priv->mi); + if(self->_priv->old_highlight >= 0) + { + /* get the right entry */ + path = gtk_tree_path_new(); + iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; + iter.user_data = NULL; + iter.user_data2 = GINT_TO_POINTER(self->_priv->old_highlight); + gtk_tree_path_append_index(path, self->_priv->old_highlight); + gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); + gtk_tree_path_free(path); + self->_priv->old_highlight = -1; + } + if(i >= 0) + { + /* get the right entry */ + path = gtk_tree_path_new(); + iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; + iter.user_data = NULL; + iter.user_data2 = GINT_TO_POINTER(i); + gtk_tree_path_append_index(path, i); + gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); + self_current_song_changed(self, path, &iter); + gtk_tree_path_free(path); + self->_priv->old_highlight = i; + } + } + + } + + signal last NONE (POINTER, POINTER) + void + current_song_changed(self, GtkTreePath *path,GtkTreeIter *iter) + { + + } + + signal last NONE (LONG, LONG) + void + total_playtime_changed(self, unsigned long loaded_songs, unsigned long total_playtime) + { + } + + private + void + connection_changed(self, MpdObj *mi, int connect, Gmpc:Connection *conn (check type)) + { + if(connect == 0) + { + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), NULL); + self->_priv->playlist_id = 0; + self->_priv->loaded_songs = 0; + self->_priv->total_time = 0; + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + } + + public + gboolean + is_current_song(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null)) + { + Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(model); + int n = GPOINTER_TO_INT(iter->user_data2); + if(n == self->_priv->old_highlight) + return TRUE; + return FALSE; + } + + + + /** + * "override" the get_value method, because we need to fetch the value before it's available. + * So after we fetch it, let the Gmpc:MpdData:Model handle the hard work again. + */ + interface Gtk:Tree:Model + private void + get_value(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), gint column (check >= 0 < MPDDATA_MODEL_N_COLUMNS), GValue *value (check null)) + { + Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(model); + MpdData_real *data = iter->user_data; + int n = GPOINTER_TO_INT(iter->user_data2); + if(data == NULL) { + g_warning("data == NULL :: %i:: %i:: %i :: %i",n, GMPC_MPDDATA_MODEL(self)->num_rows, + GMPC_MPDDATA_MODEL(self)->_priv->stamp, + iter->stamp + + ); + + g_value_init(value, GMPC_MPDDATA_MODEL(self)->types[column]); + return; + } + if(data->song == NULL) + { + int rs = n - n%BLOCK_SIZE; + int end = ((rs+(BLOCK_SIZE-1)) >= GMPC_MPDDATA_MODEL(self)->num_rows)? GMPC_MPDDATA_MODEL(self)->num_rows-1:rs+(BLOCK_SIZE-1); + + MpdData_real *edit =(MpdData_real *) data; + MpdData_real *miter,*data2 = (MpdData_real *)mpd_playlist_get_song_from_pos_range(self->_priv->mi,rs, end); + + /* rewind to start block */ + while(n>rs){ edit = edit->prev; rs++;} + + data2 =(MpdData_real *) mpd_data_get_first((MpdData *)data2); + miter =data2; + while(data2){ + if(edit->song == NULL) + { + edit->song = data2->song; + data2->song = NULL; + self->_priv->loaded_songs++; + if(edit->song->time>0) + { + self->_priv->total_time += edit->song->time; + } + } + edit = edit->next; + data2 = data2->next; + } + mpd_data_free((MpdData *)miter); + + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + /** + * If the fetch failed, return an empty value, otherwise we will get crashes + */ + if(data->song == NULL) + { + g_value_init(value, GMPC_MPDDATA_MODEL(self)->types[column]); + debug_printf(DEBUG_ERROR,"failed to get song entry\n"); + return; + } + if(column == MPDDATA_MODEL_COL_ICON_ID) + { + if(n == mpd_player_get_current_song_pos(self->_priv->mi)) + { + g_value_init(value, GMPC_MPDDATA_MODEL(self)->types[column]); + g_value_set_string(value, "gtk-media-play-ltr"); + return; + } + + } + /** + * Call the parent function again + */ + if(n < GMPC_MPDDATA_MODEL(self)->num_rows) + gmpc_mpddata_model_get_value(model, iter, column, value); + } + /** + * Moving interface + */ + interface Gtk:Tree:Drag:Source + private + gboolean row_draggable (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) + { + return TRUE; + } + + interface Gtk:Tree:Drag:Source + private + gboolean drag_data_delete (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) + { + return TRUE; + } + interface Gtk:Tree:Drag:Source + private + gboolean drag_data_get (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path, Gtk:Selection:Data *selection_data) + { + return FALSE; + } + + interface Gtk:Tree:Drag:Dest + private gboolean row_drop_possible + (Gtk:Tree:Drag:Dest *drag_dest, + Gtk:Tree:Path *dest, + Gtk:Selection:Data *selection_data) + { + return TRUE; + } + + interface Gtk:Tree:Drag:Dest + private gboolean drag_data_received + (Gtk:Tree:Drag:Dest *drag_dest, + Gtk:Tree:Path *dest, + Gtk:Selection:Data *selection_data) + { + GtkTreePath *path=NULL; + GtkTreeModel *model=NULL; + + Self *self = NULL; + gint *ind = NULL, *ind2 = NULL; + if(dest == NULL || !gtk_tree_get_row_drag_data(selection_data, &model, &path)) + { + return FALSE; + } + if(GMPC_MPDDATA_MODEL(model)->num_rows < 2) + { + gtk_tree_path_free(path); + return FALSE; + } + self = GMPC_MPDDATA_MODEL_PLAYLIST(model); + ind = gtk_tree_path_get_indices(dest); + ind2 = gtk_tree_path_get_indices(path); + if(ind && ind2) + { + int original = ind2[0]; + int destination = ind[0]; + /* if(destination >0 && ind[1] != '\0') destination--; */ + if(destination > original) destination--; + mpd_playlist_move_pos(self->_priv->mi,original,destination); + } + gtk_tree_path_free(path); + return TRUE; + } + public + void + trigger_total_playtime_signal(self) + { + self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); + } + public + void + get_total_playtime(self, unsigned long *loaded_songs, unsigned long *total_time) + { + if(loaded_songs) + (*loaded_songs) = self->_priv->loaded_songs; + if(total_time) + (*total_time)= self->_priv->total_time; + } +} + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-mpddata-model-sort.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-mpddata-model-sort.gob --- gmpc-0.18.0/src/gmpc-mpddata-model-sort.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-mpddata-model-sort.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,122 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%ht{ +#include +#include +#include +#include "gmpc-mpddata-model.h" +#include "gmpc-mpddata-model-private.h" +%} + + + + +class Gmpc:MpdData:Model:Sort from Gmpc:MpdData:Model + (interface Gtk:Tree:Drag:Source) + (interface Gtk:Tree:Drag:Dest) +{ + public gchar *playlist = {NULL} destroywith g_free; + + property STRING playlist + (nick = "playlist", + blurb = "The current playlist name", + default_value = NULL, + export, + link); + + + interface Gtk:Tree:Drag:Source + private + gboolean row_draggable (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) + { + if(mpd_server_check_version(connection, 0,13,0)) + { + return TRUE; + } + return FALSE; + } + + interface Gtk:Tree:Drag:Source + private + gboolean drag_data_get (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path, Gtk:Selection:Data *selection_data) + { + return FALSE; + } + interface Gtk:Tree:Drag:Source + private + gboolean drag_data_delete (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) + { + return TRUE; + } + + interface Gtk:Tree:Drag:Dest + private gboolean drag_data_received + (Gtk:Tree:Drag:Dest *drag_dest, + Gtk:Tree:Path *dest, + Gtk:Selection:Data *selection_data) + { + GtkTreePath *path=NULL; + GtkTreeModel *model=NULL; + gint *ind = NULL, *ind2 = NULL; + if(dest == NULL || !gtk_tree_get_row_drag_data(selection_data, &model, &path)) + { + return FALSE; + } + if(GMPC_MPDDATA_MODEL(model)->num_rows < 2) + { + gtk_tree_path_free(path); + return FALSE; + } + ind = gtk_tree_path_get_indices(dest); + ind2 = gtk_tree_path_get_indices(path); + if(ind && ind2 && GMPC_MPDDATA_MODEL_SORT(model)->playlist) + { + MpdData *data = NULL; + int original = ind2[0]; + int destination = ind[0]; + /* if(destination >0 && ind[1] != '\0') destination--; */ + if(destination > original) destination--; + mpd_database_playlist_move(connection, GMPC_MPDDATA_MODEL_SORT(model)->playlist,original,destination); + data = mpd_database_get_playlist_content(connection, GMPC_MPDDATA_MODEL_SORT(model)->playlist); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), data); + } + gtk_tree_path_free(path); + return TRUE; + } + + interface Gtk:Tree:Drag:Dest + private gboolean row_drop_possible + (Gtk:Tree:Drag:Dest *drag_dest, + Gtk:Tree:Path *dest, + Gtk:Selection:Data *selection_data) + { + return TRUE; + } + + + + public + Gmpc:MpdData:Model:Sort *new (void) + { + return GET_NEW; + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-mpddata-treeview.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-mpddata-treeview.gob --- gmpc-0.18.0/src/gmpc-mpddata-treeview.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-mpddata-treeview.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,1043 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 + +%ht{ +#include +#include +%} +%privateheader{ +#include "main.h" +#include "config.h" +#include +#include "gmpc-mpddata-model.h" +#include "eggcolumnchooserdialog.h" +#include "gmpc-mpddata-model-playlist.h" +#include "gmpc-metaimage.h" +%} + +%h{ + +#define NUM_COLS 19 +#define MOUSE_OFFSET 10 +#define ENABLE_GRADIENT_LOOK 1 +#define BACKGROUND_OPACITY 0.92 +#define BOTTOM_GRADIENT_HEIGHT 30 +%} + + +%{ +static int col_ids[NUM_COLS] = { + MPDDATA_MODEL_COL_MARKUP, + MPDDATA_MODEL_COL_SONG_ARTIST, /* album name */ + MPDDATA_MODEL_COL_SONG_ALBUM, /* album name */ + MPDDATA_MODEL_COL_SONG_TITLE, /* song title */ + MPDDATA_MODEL_COL_SONG_TITLEFILE, /* song title */ + MPDDATA_MODEL_COL_SONG_GENRE, /* song genre */ + MPDDATA_MODEL_COL_SONG_TRACK, /* song track */ + MPDDATA_MODEL_COL_SONG_NAME, /* stream name */ + MPDDATA_MODEL_COL_SONG_COMPOSER, /* composer name */ + MPDDATA_MODEL_COL_SONG_PERFORMER, /* performer */ + MPDDATA_MODEL_COL_SONG_DATE, /* date */ + MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, /* length formatted */ + MPDDATA_MODEL_COL_SONG_DISC, /* disc */ + MPDDATA_MODEL_COL_SONG_COMMENT, /* comment */ + MPDDATA_MODEL_COL_ICON_ID, /* icon id */ + MPDDATA_MODEL_COL_SONG_POS, + MPDDATA_MODEL_COL_SONG_ALBUMARTIST, + MPDDATA_MODEL_COL_PATH_EXTENSION, /* Extension */ + MPDDATA_MODEL_COL_PATH_DIRECTORY /* Directory */ +}; +static const gchar *col_names[NUM_COLS] = { + N_("Markup"), + N_("Artist"), + N_("Album"), + N_("Title"), + N_("File"), + N_("Genre"), + N_("Track"), + N_("Name"), + N_("Composer"), + N_("Performer"), + N_("Date"), + N_("Duration"), + N_("Disc"), + N_("Comment"), + N_("Icon Id"), + N_("Position"), + N_("AlbumArtist"), + N_("Extension"), + N_("Directory") +}; + +static gint col_enabled[NUM_COLS] = { + FALSE,//"Markup", + TRUE, //"Artist", + TRUE,//"Album", + TRUE,//"Title", + FALSE,//"File", + FALSE,//"Genre", + FALSE,//"Track", + FALSE,//"Name", + FALSE,//"Composer", + FALSE,//"Performer", + FALSE,//"Date", + FALSE,//"Duration", + FALSE,//"Disc", + FALSE,//"Comment", + TRUE,//"Icon Id" + FALSE,//"Position" + FALSE,//"AlbumArtist" + FALSE,//Extension + FALSE//Directory + +}; +static gint col_position[NUM_COLS] = { + 14,//"Markup", + 3, //"Artist", + 2,//"Album", + 1,//"Title", + 4,//"File", + 5,//"Genre", + 6,//"Track", + 7,//"Name", + 8,//"Composer", + 9,//"Performer", + 10,//"Date", + 11,//"Duration", + 12,//"Disc", + 13,//"Comment", + 0,//"Icon Id" + 15, // "Position" + 18, // "AlbumArtist" + 16,// Extension + 17 // Directory +}; + +static GList *paste_queue = NULL; +%} + +class Gmpc:MpdData:Treeview from Gtk:Tree:View { + private gchar *name = {NULL} destroywith g_free; + private gboolean do_sort = {TRUE}; + private GtkTreeViewColumn *columns[NUM_COLS]; + /* Tooltip */ + private GtkWidget *tooltip_window = {NULL}; + private GtkWidget *tw_image = {NULL}; + private GtkWidget *tw_title = {NULL}; + private GtkWidget *tw_artist = {NULL}; + private GtkWidget *tw_album = {NULL}; + private GtkWidget *tw_genre = {NULL}; + private GtkWidget *tw_date = {NULL}; + private GtkWidget *tw_length = {NULL}; + private gchar *file = NULL; + + private gboolean pressed = FALSE; + + + + + + + public + GtkWidget * new (const char *name (check null), gboolean sort, Gtk:Tree:Model *model (check type null)) + { + Self *self = GET_NEW; + self->_priv->name = g_strdup(name); + self->_priv->do_sort = sort; + + gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(self), TRUE); + gtk_tree_view_set_model(GTK_TREE_VIEW(self), model); + /* init the tree */ + self_do_init(self); + /* set tooltip */ + self_enable_tooltip(self); + g_signal_connect(G_OBJECT(self), "key-release-event", G_CALLBACK(self_paste_key_release_event), NULL); + + return (GtkWidget *)self; + } + private + void do_init (self) + { + int i=0; + gchar *conf_size,*conf_opt = g_strdup_printf("%s-colpos", self->_priv->name); + GtkTreeViewColumn *col = NULL; + for(i = 0;i< NUM_COLS;i++) + { + int conf_pos = cfg_get_single_value_as_int_with_default(config, conf_opt,col_names[i], col_position[i]); + col = self_add_column(self,col_names[i],col_ids[i],conf_pos); + g_object_set_data(G_OBJECT(col), "id",GINT_TO_POINTER(i)); + } + q_free(conf_opt); + conf_opt = g_strdup_printf("%s-colshow", self->_priv->name); + conf_size = g_strdup_printf("%s-colsize", self->_priv->name); + for(i = 0;i< NUM_COLS;i++) + { + int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(self->_priv->columns[i]), "id")); + int col_size= cfg_get_single_value_as_int_with_default(config, conf_size,col_names[id], 200); + int col_show= cfg_get_single_value_as_int_with_default(config, conf_opt,col_names[id], col_enabled[id]); + gtk_tree_view_column_set_visible(self->_priv->columns[i],col_show); + gtk_tree_view_append_column(GTK_TREE_VIEW(self), self->_priv->columns[i]); + /* don't set the icon column */ + if(col_ids[id]!= MPDDATA_MODEL_COL_ICON_ID) + gtk_tree_view_column_set_fixed_width(self->_priv->columns[i], col_size); + + g_signal_connect_swapped(G_OBJECT(self->_priv->columns[i]), "notify::width", G_CALLBACK(self_column_width), self); + } + /* set the last column small, to stop weird grows */ + //for(i=NUM_COLS-1; i>=0 && !gtk_tree_view_column_get_visible(self->_priv->columns[i]);i--); + //gtk_tree_view_column_set_fixed_width(self->_priv->columns[i], 150); + + q_free(conf_opt); + q_free(conf_size); + + /* */ + gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)), GTK_SELECTION_MULTIPLE); + gtk_tree_view_set_fixed_height_mode(GTK_TREE_VIEW(self), TRUE); + gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(self), TRUE); + + if(self->_priv->do_sort) + { + int sort_col = cfg_get_single_value_as_int_with_default(config, self->_priv->name, "sort-column",MPDDATA_MODEL_COL_SONG_TITLE); + int sort_order = cfg_get_single_value_as_int_with_default(config, self->_priv->name, "sort-order", GTK_SORT_ASCENDING); + if(((sort_col < MPDDATA_MODEL_N_COLUMNS && sort_col >= 0) || sort_col == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID )&& (sort_order == GTK_SORT_ASCENDING || sort_order == GTK_SORT_DESCENDING)) { + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(self))),sort_col, sort_order); + } + } + } + + /** + * Save Column Setup + */ + private + void + save_column_setup (self) + { + int i=0; + GList *iter,*cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(self)); + gchar *conf_pos = NULL; + gchar *conf_show = NULL; + + i = g_list_length(cols); + + if(i != NUM_COLS) + { + g_list_free(cols); + return; + } + conf_pos = g_strdup_printf("%s-colpos", self->_priv->name); + conf_show = g_strdup_printf("%s-colshow", self->_priv->name); + // conf_size = g_strdup_printf("%s-colsize", self->_priv->name); + i=0; + for(iter = cols; iter; iter = g_list_next(iter)) + { + GtkTreeViewColumn *column = iter->data; + int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "id")); + cfg_set_single_value_as_int(config, conf_pos, col_names[id], i); + cfg_set_single_value_as_int(config, conf_show, col_names[id], gtk_tree_view_column_get_visible(column)); + /* only save width on > 0 columns */ + //if(gtk_tree_view_column_get_width(column) > 0) + // cfg_set_single_value_as_int(config, conf_size, col_names[id], gtk_tree_view_column_get_width(column)); + i++; + } + q_free(conf_pos); + q_free(conf_show); + // q_free(conf_size); + g_list_free(cols); + + if(self->_priv->do_sort) + { + int sort_col; + GtkSortType sort_order; + gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(self))), &sort_col, &sort_order); + cfg_set_single_value_as_int(config, self->_priv->name, "sort-column",sort_col); + cfg_set_single_value_as_int(config, self->_priv->name, "sort-order", sort_order); + } + } + + override (G:Object) + void + dispose (G:Object *obj) + { + Self *self = GMPC_MPDDATA_TREEVIEW(obj); + self_save_column_setup(self); + PARENT_HANDLER(obj); + } + private + void + highlight_row (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gpointer data) + { + + if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(tree_model) && gmpc_mpddata_model_playlist_is_current_song(tree_model, iter)) + g_object_set(G_OBJECT(cell), "weight", 800,NULL); + else + g_object_set(G_OBJECT(cell), "weight", 400,NULL); + + } + private + void + column_width(self, GParamSpec *argc, GtkTreeViewColumn *column) + { + if(self->_priv->pressed) + { + int width = gtk_tree_view_column_get_width(column); + int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "id")); + gchar *conf_size = g_strdup_printf("%s-colsize", self->_priv->name); + int w = cfg_get_single_value_as_int(config, conf_size, col_names[id]); + if(w != width) + { + cfg_set_single_value_as_int(config, conf_size, col_names[id],width); + } + q_free(conf_size); + } + } + + private + GtkTreeViewColumn * + add_column(self, const char *columnname, int valuerow, int position) + { + GtkCellRenderer *renderer; + GtkTreeViewColumn *column = NULL; + GValue value = {0,}; + + if(valuerow == MPDDATA_MODEL_COL_ICON_ID) + { + renderer = gtk_cell_renderer_pixbuf_new(); + g_value_init(&value, G_TYPE_FLOAT); + g_value_set_float(&value, 0.0); + g_object_set_property(G_OBJECT(renderer), "xalign", &value); + + column = gtk_tree_view_column_new (); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column,renderer,"icon-name", MPDDATA_MODEL_COL_ICON_ID,NULL); + + gtk_tree_view_column_set_resizable(column, TRUE); + gtk_tree_view_column_set_fixed_width(column, 20); + } + else{ + renderer = gtk_cell_renderer_text_new(); + column = gtk_tree_view_column_new_with_attributes (_(columnname), renderer, + "text", valuerow,NULL); + g_value_init(&value, G_TYPE_INT); + g_value_set_int(&value, PANGO_ELLIPSIZE_END); + g_object_set_property(G_OBJECT(renderer), "ellipsize", &value); + gtk_tree_view_column_set_resizable(column, TRUE); + if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(gtk_tree_view_get_model(GTK_TREE_VIEW(self)))) + { + g_object_set(G_OBJECT(renderer), "weight-set", TRUE, NULL); + gtk_tree_view_column_set_cell_data_func (column,renderer,self_highlight_row, NULL, NULL); + } + + } + gtk_tree_view_column_set_sizing(column,GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_column_set_reorderable(column, TRUE); + + self->_priv->columns[position] = column; + + if(self->_priv->do_sort) + { + gtk_tree_view_column_set_sort_column_id(column,valuerow); + gtk_tree_view_column_set_sort_indicator(column, TRUE); + } + + return column; + } + /** + * Opens a column editor + */ + public + void + edit_columns(self) + { + GtkWidget *dialog = egg_column_chooser_dialog_new(GTK_TREE_VIEW(self)); + gtk_widget_show_all(dialog); + gtk_dialog_run(GTK_DIALOG(dialog)); + self_save_column_setup(self); + } + + override (G:Object) + void + finalize(G:Object *obj) + { + Self *self = SELF(obj); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(obj)); + if(model) + { + gtk_tree_view_set_model(GTK_TREE_VIEW(obj),NULL); + g_object_unref(model); + } + if(self->_priv->tooltip_window) + { + gtk_widget_destroy(self->_priv->tooltip_window); + self->_priv->tooltip_window = NULL; + } + if(self->_priv->file) + { + g_free(self->_priv->file); + self->_priv->file = NULL; + } + PARENT_HANDLER(obj); + } + + /**** + * TREEVIEW POPUP + */ + private gboolean query_tooltip(self, + gint x, gint y, + gboolean keyboard_tip, + GtkTooltip *tooltip, + gpointer data) + { + GtkTreeView *treeview = GTK_TREE_VIEW(self); + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); + GtkTreeIter iter; + GtkTreePath *path = NULL; + mpd_Song *song = NULL; + int show = FALSE; + + if(!cfg_get_single_value_as_int_with_default(config, "GmpcTreeView", "show-tooltip", TRUE)) + return FALSE; + if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW(treeview), &x, &y, + keyboard_tip, + &model, &path, &iter)) + return FALSE; + + + gtk_tree_model_get(model, &iter,MPDDATA_MODEL_COL_MPDSONG, &song, -1); + if(song) + { + show = TRUE; + /* makes it look a bit nicer */ + if(self->_priv->file && song->file && strcmp(self->_priv->file, song->file)) + { + show = FALSE; + g_free(self->_priv->file);self->_priv->file = NULL; + } + else if(!(self->_priv->file && song->file && strcmp(self->_priv->file, song->file) == 0)) + { + gchar *temp; + + gmpc_metaimage_update_cover_from_song(GMPC_METAIMAGE(self->_priv->tw_image), song); + if(self->_priv->file) + g_free(self->_priv->file); + self->_priv->file = NULL; + if(song->file) + self->_priv->file = g_strdup(song->file); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_TITLE, &temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_title), temp); + g_free(temp); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_ARTIST,&temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_artist), temp); + g_free(temp); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_ALBUM, &temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_album), temp); + g_free(temp); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_GENRE, &temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_genre), temp); + g_free(temp); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_DATE, &temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_date), temp); + g_free(temp); + + gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, &temp, -1); + gtk_label_set_text(GTK_LABEL(self->_priv->tw_length), temp); + g_free(temp); + + + + } + } + gtk_tree_path_free(path); + return show; + } + + + private + gboolean + tooltip_expose_event(GtkWidget *widget, GdkEventExpose *event,gpointer data) + { + int stripe_x = 1; + int stripe_y = 1; + int stripe_height = widget->allocation.height;// 128+8; + GdkColor color; + GtkStyle *style = gtk_widget_get_style(widget); + GdkColor *background_color = &style->base[GTK_STATE_NORMAL]; + cairo_t *context; + cairo_surface_t *surface; + cairo_t *cr; + GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(widget)); +#ifdef ENABLE_GRADIENT_LOOK + cairo_pattern_t *gradient; + double r, g, b; + int gradient_y = widget->allocation.height - BOTTOM_GRADIENT_HEIGHT; +#endif + + + context = gdk_cairo_create(widget->window); + + cairo_set_operator(context, CAIRO_OPERATOR_SOURCE); + surface = cairo_surface_create_similar(cairo_get_target(context), + CAIRO_CONTENT_COLOR_ALPHA, + widget->allocation.width, + widget->allocation.height); + cr = cairo_create(surface); + + + + + if (gdk_screen_is_composited(screen)) + { + cairo_set_source_rgba(cr, + background_color->red / 65535.0, + background_color->green / 65535.0, + background_color->blue / 65535.0, + BACKGROUND_OPACITY); + } + else + { + gdk_cairo_set_source_color(cr, background_color); + } + + cairo_rectangle(cr, 0, 0, + widget->allocation.width, + widget->allocation.height); + cairo_fill(cr); + +#ifdef ENABLE_GRADIENT_LOOK + /* Add a very subtle gradient to the bottom of the notification */ + gradient = cairo_pattern_create_linear(0, gradient_y, 0, + widget->allocation.height); + cairo_pattern_add_color_stop_rgba(gradient, 0, 0, 0, 0, 0); + cairo_pattern_add_color_stop_rgba(gradient, 1, 0, 0, 0, 0.15); + cairo_rectangle(cr, 0, gradient_y, widget->allocation.width, + BOTTOM_GRADIENT_HEIGHT); + cairo_set_source(cr, gradient); + cairo_fill(cr); + cairo_pattern_destroy(gradient); +#endif + + cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); + cairo_set_line_width(cr, 1.0); + cairo_rectangle(cr, 0.5, 0.5,widget->allocation.width - 0.5, widget->allocation.height - 0.5); + cairo_stroke(cr); + + + color = style->bg[GTK_STATE_SELECTED]; + + cairo_rectangle(cr, stripe_x, stripe_y, 160, stripe_height); + +#ifdef ENABLE_GRADIENT_LOOK + r = color.red / 65535.0; + g = color.green / 65535.0; + b = color.blue / 65535.0; + + gradient = cairo_pattern_create_linear(stripe_x, 0, 160, 0); + cairo_pattern_add_color_stop_rgba(gradient, 0, r, g, b, 1); + cairo_pattern_add_color_stop_rgba(gradient, 1, r, g, b, 0); + cairo_set_source(cr, gradient); + cairo_fill(cr); + cairo_pattern_destroy(gradient); +#else + gdk_cairo_set_source_color(cr, &color); + cairo_fill(cr); +#endif + + cairo_destroy(cr); + cairo_set_source_surface(context, surface, 0, 0); + cairo_paint(context); + cairo_surface_destroy(surface); + cairo_destroy(context); + + return FALSE;//GTK_WIDGET_CLASS(parent_class)->expose_event(widget, event); + } + + private void enable_tooltip(self) + { + gchar *markup = NULL; + GdkScreen *screen; + GdkColormap *colormap; + GtkWidget *treeview = GTK_WIDGET(self); + GtkWidget *table = gtk_table_new(6,2, FALSE); + GtkWidget *vbox = gtk_hbox_new(FALSE, 0); + GtkWidget *label,*ali; + GtkSizeGroup *group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); + self->_priv->tooltip_window = gtk_window_new(GTK_WINDOW_POPUP); + screen = gtk_window_get_screen(GTK_WINDOW(self->_priv->tooltip_window)); + colormap = gdk_screen_get_rgba_colormap(screen); + + if (colormap != NULL && gdk_screen_is_composited(screen)) + { + gtk_widget_set_colormap(self->_priv->tooltip_window, colormap); + } + + + gtk_widget_set_size_request(GTK_WIDGET(self->_priv->tooltip_window), 3*128,-1); + + gtk_widget_set_app_paintable(self->_priv->tooltip_window, TRUE); + g_signal_connect(G_OBJECT(self->_priv->tooltip_window), "expose-event", G_CALLBACK(self_tooltip_expose_event), self); + + gtk_container_add(GTK_CONTAINER(self->_priv->tooltip_window), vbox); + self->_priv->tw_image = gmpc_metaimage_new(META_ALBUM_ART); + + ali = gtk_alignment_new(0.0f, 0.0f, 0.0f, 0.0f); + gtk_alignment_set_padding(GTK_ALIGNMENT(ali), 4,4,4,4); + gtk_container_add(GTK_CONTAINER(ali), self->_priv->tw_image); + gmpc_metaimage_set_size(GMPC_METAIMAGE(self->_priv->tw_image), 128); + + gtk_box_pack_start(GTK_BOX(vbox), ali, FALSE, FALSE, 0); + + gtk_table_set_row_spacings(GTK_TABLE(table), 6); + gtk_table_set_col_spacings(GTK_TABLE(table), 6); + /* set layout up */ + gtk_container_set_border_width(GTK_CONTAINER(vbox),1); + gtk_container_set_border_width(GTK_CONTAINER(table), 6); + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Title")); + gtk_label_set_markup(GTK_LABEL(label), markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_title = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_title), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_title), PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_title, 1,2,0,1,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Artist")); + gtk_label_set_markup(GTK_LABEL(label),markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_artist = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_artist), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_artist),PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_artist, 1,2,1,2,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Album")); + gtk_label_set_markup(GTK_LABEL(label),markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_album = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_album), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_album),PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_album, 1,2,2,3,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Genre")); + gtk_label_set_markup(GTK_LABEL(label), markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,3,4,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_genre = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_genre), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_genre),PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_genre, 1,2,3,4,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Date")); + gtk_label_set_markup(GTK_LABEL(label), markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,4,5,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_date = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_date), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_date),PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_date, 1,2,4,5,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + label = gtk_label_new(""); + gtk_size_group_add_widget(group, label); + markup = g_markup_printf_escaped("%s:", _("Duration")); + gtk_label_set_markup(GTK_LABEL(label), markup); + g_free(markup); + gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); + gtk_table_attach(GTK_TABLE(table), label, 0,1,5,6,GTK_FILL, GTK_FILL,0,0); + self->_priv->tw_length = gtk_label_new("n/a"); + gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_length), 0.0,0.5); + gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_length),PANGO_ELLIPSIZE_END); + gtk_table_attach(GTK_TABLE(table), self->_priv->tw_length, 1,2,5,6,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); + + + + + g_object_unref(group); + + gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); + + + + g_signal_connect(G_OBJECT(treeview), + "query-tooltip", + G_CALLBACK(self_query_tooltip), + NULL); + gtk_widget_set_tooltip_window(treeview, GTK_WINDOW(self->_priv->tooltip_window)); + gtk_widget_show_all(vbox); + } + + + + + + /** + * Right mouse click behaviour fix + */ + private + gboolean click_fix (self, GdkEventButton *event) + { + GtkTreePath *path = NULL; + self->_priv->pressed = TRUE; + if(event->button == 3 && event->window != NULL && gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(self), event->x, event->y,&path,NULL,NULL,NULL)) + { + GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(self)); + if(gtk_tree_selection_path_is_selected(sel, path)) + { + gtk_tree_path_free(path); + return TRUE; + + } + } + if(path) { + gtk_tree_path_free(path); + } + return FALSE; + } + + private + gboolean click_released (self, GdkEventButton *event) + { + self->_priv->pressed = FALSE; + return FALSE; + } + public + void + enable_click_fix(self) + { + g_signal_connect(G_OBJECT(self), "button-press-event", G_CALLBACK(self_click_fix), NULL); + + g_signal_connect(G_OBJECT(self), "button-release-event", G_CALLBACK(self_click_released), NULL); + } + /** + * Copy paste stuff + */ + signal last NONE (POINTER) + void + paste_before(self, GList *items) + { + } + + signal last NONE (POINTER) + void + paste_after(self, const GList *items) + { + } + signal last NONE (NONE) + void + cut(self) + { + } + + private + int + paste_key_release_event(self, GdkEventKey *event,gpointer data) + { + if(event->keyval == GDK_Menu) { + GdkEventButton bevent; + gboolean value = FALSE; + bevent.window = NULL; + bevent.button = 3; + bevent.time = event->time; + g_signal_emit_by_name(self, "button-press-event", &bevent, &value,NULL); + if(!value){ + g_signal_emit_by_name(self, "button-release-event", &bevent, &value,NULL); + } + + return TRUE; + } + if (event->keyval == GDK_c && event->state&GDK_CONTROL_MASK) + { + self_paste_copy_songs(self, NULL); + return TRUE; + } + if(paste_queue ) + { + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_BEFORE_SIGNAL], 0, TRUE)) + { + if (event->keyval == GDK_b && event->state&GDK_CONTROL_MASK) + { + self_paste_paste_before_songs(self, NULL); + return TRUE; + + } + } + + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_AFTER_SIGNAL], 0, TRUE)) + { + if (event->keyval == GDK_v && event->state&GDK_CONTROL_MASK) + { + self_paste_paste_after_songs(self, NULL); + return TRUE; + } + } + } + + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection(GTK_TREE_VIEW(self))) > 0) + { + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[CUT_SIGNAL], 0, TRUE)) + { + if (event->keyval == GDK_x && event->state&GDK_CONTROL_MASK) + { + self_paste_cut_songs(self, NULL); + return TRUE; + } + } + } + return FALSE; + } + private + void + paste_cut_songs(self, GtkMenuItem *item) + { + self_paste_copy_songs(self, item); + self_cut(self); + } + private + void + paste_paste_after_songs(self, GtkMenuItem *menuitem) + { + self_paste_after(self, g_list_first(paste_queue)); + /* free old entries + g_list_foreach(paste_queue, (GFunc)g_free, NULL); + g_list_free(paste_queue); + paste_queue = NULL; + */ + } + + private + void + paste_paste_before_songs(self, GtkMenuItem *menuitem) + { + self_paste_before(self, g_list_first(paste_queue)); + /* free old entries + g_list_foreach(paste_queue, (GFunc)g_free, NULL); + g_list_free(paste_queue); + paste_queue = NULL; + */ + } + + private + void + paste_copy_songs(self, GtkMenuItem *menitem) + { + GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self)); + /* free old entries */ + g_list_foreach(paste_queue, (GFunc)g_free, NULL); + g_list_free(paste_queue); + paste_queue = NULL; + /* check if where connected */ + /* see if there is a row selected */ + if (gtk_tree_selection_count_selected_rows (selection) > 0) + { + GList *list = NULL, *llist = NULL; + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self)); + /* start a command list */ + /* grab the selected songs */ + list = gtk_tree_selection_get_selected_rows (selection, &model); + /* grab the last song that is selected */ + llist = g_list_last (list); + /* remove every selected song one by one */ + do{ + GtkTreeIter iter; + gtk_tree_model_get_iter (model, &iter,(GtkTreePath *) llist->data); + /* Trick that avoids roundtrip to mpd */ + { + char *path = NULL; + int type = 0; + /* this one allready has the pos. */ + gtk_tree_model_get (model, &iter, + MPDDATA_MODEL_ROW_TYPE,&type, + MPDDATA_MODEL_COL_PATH, &path, + -1); + debug_printf(DEBUG_INFO, "Copying song, into queue: %s\n", path); + if(type == MPD_DATA_TYPE_SONG) { + paste_queue = g_list_prepend(paste_queue, path); + } else if (type == MPD_DATA_TYPE_DIRECTORY) { + MpdData *data = mpd_database_get_directory_recursive(connection, path); + for(;data; data= mpd_data_get_next(data)){ + if(data->type == MPD_DATA_TYPE_SONG) { + paste_queue = g_list_prepend(paste_queue, g_strdup(data->song->file)); + } + } + g_free(path); + } else if (type == MPD_DATA_TYPE_PLAYLIST) { + MpdData *data = mpd_database_get_playlist_content(connection, path); + for(;data; data= mpd_data_get_next(data)){ + if(data->type == MPD_DATA_TYPE_SONG) { + paste_queue = g_list_prepend(paste_queue, g_strdup(data->song->file)); + } + } + g_free(path); + } + } + } while ((llist = g_list_previous (llist))); + /* free list */ + g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); + g_list_free (list); + } + paste_queue = g_list_reverse(paste_queue); + } + + public + int + right_mouse_intergration(self, GtkMenu *menu) + { + int retv = 0; + int i; + GtkWidget *menu_item; + GtkTreeSelection *selection = NULL; + GtkWidget *submenu = gtk_menu_new(); + for(i=0; i< num_plugins;i++) + { + if(gmpc_plugin_get_enabled(plugins[i])) + { + retv += gmpc_plugin_browser_song_list_option_menu(plugins[i],self, GTK_MENU(submenu)); + } + } + /* If no submenu item was added, destroy the submenu */ + if(!retv) gtk_widget_destroy(submenu); + else{ + GList *temp = gtk_container_get_children(GTK_CONTAINER(menu)); + if(temp){ + menu_item = gtk_separator_menu_item_new(); + g_list_free(temp); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + } + /* Add a tools menu item with the previously generated menu as submenu */ + menu_item = gtk_menu_item_new_with_label(_("Tools")); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + } + + + /** + * Paste integration + */ + + selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(self)); + if(selection && gtk_tree_selection_count_selected_rows(selection)) + { + GList *temp = gtk_container_get_children(GTK_CONTAINER(menu)); + if(temp){ + menu_item = gtk_separator_menu_item_new(); + g_list_free(temp); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + } + + menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY, NULL); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_copy_songs), self); + retv++; + } + if(paste_queue ) + { + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_BEFORE_SIGNAL], 0, TRUE)) + { + menu_item = gtk_image_menu_item_new_with_label(_("Paste before")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), + gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_paste_before_songs), self); + retv++; + } + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_AFTER_SIGNAL], 0, TRUE)) + { + menu_item = gtk_image_menu_item_new_with_label(_("Paste after")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), + gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_paste_after_songs), self); + retv++; + } + } + + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection(GTK_TREE_VIEW(self))) > 0) + { + if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[CUT_SIGNAL], 0, TRUE)) + { + menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CUT,NULL); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), + gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_cut_songs), self); + retv++; + } + } + + { + GList *temp = gtk_container_get_children(GTK_CONTAINER(menu)); + if(temp){ + menu_item = gtk_separator_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + g_list_free(temp); + retv++; + } + } + /** Edit column */ + menu_item = gtk_image_menu_item_new_with_label(_("Edit Columns")); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)); + g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_edit_columns), self); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); + retv++; + + return retv; + } + + public + void + cleanup(void) + { + if(paste_queue) + { + g_list_foreach(paste_queue, (GFunc)g_free, NULL); + g_list_free(paste_queue); + } + paste_queue = NULL; + } +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-profiles.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-profiles.gob --- gmpc-0.18.0/src/gmpc-profiles.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-profiles.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,637 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.0 +%ht{ +#include +#include +#include +#include +#include "config1.h" +%} +%privateheader{ + #include "main.h" + #include "plugin.h" + #include "playlist3-messages.h" +%} +%h{ + enum { + PROFILE_ADDED, + PROFILE_REMOVED, + PROFILE_COL_CHANGED, + PROFILE_CURRENT + }; + enum { + PROFILE_COL_NAME, + PROFILE_COL_HOSTNAME, + PROFILE_COL_PORT, + PROFILE_COL_DO_AUTH, + PROFILE_COL_PASSWORD, + PROFILE_COL_MUSIC_DIRECTORY, + PROFILE_NUM_COLS + }; + + typedef struct { + gchar *id; + gchar *name; + gchar *hostname; + int port; + gboolean do_auth; + gchar *password; + gchar *music_directory; + }Profile; + +%} + +class Gmpc:Profiles from G:Object +{ + private config_obj *profiles = {NULL}; + private Profile **list = {NULL}; + private int num_profiles = {0}; + + + /* Connect on button press event */ + private + void + connect_to_profile_button(self, GtkWidget *button) + { + gchar *id = g_object_get_data(G_OBJECT(button), "profile-id"); + if(id) + { + self_set_current(self, id); + mpd_disconnect(connection); + connect_to_mpd(); + } + } + /* signal with (self, id) */ + signal last NONE (INT, INT,STRING) + void + changed(self,const int changed, const int col, const char * id) + { + if(changed == PROFILE_ADDED) + { + GtkWidget *connect_button = gtk_button_new_from_stock(GTK_STOCK_CONNECT); + gchar *message = g_markup_printf_escaped("%s: '%s'", _("Added profile"),self_get_name(self,id)); + playlist3_show_error_message(message, ERROR_INFO); + + g_object_set_data_full(G_OBJECT(connect_button), "profile-id", g_strdup(id), (GDestroyNotify)g_free); + g_signal_connect_swapped(G_OBJECT(connect_button), "clicked", G_CALLBACK(self_connect_to_profile_button), self); + playlist3_error_add_widget(connect_button); + q_free(message); + + debug_printf(DEBUG_INFO,"Item %s added\n", id); + } + else if(changed == PROFILE_REMOVED) + { + debug_printf(DEBUG_INFO,"Item %s removed\n", id); + } + else if(changed == PROFILE_COL_CHANGED) + { + /* Disabled because of grand spamming charges */ + /* + gchar *message = g_markup_printf_escaped("%s: '%s'", _("Changed profile"),self_get_name(self,id)); + playlist3_show_error_message(message, ERROR_INFO); + q_free(message); + */ + debug_printf(DEBUG_INFO,"Item %s changed col: %i\n", id, col); + } + } + + + /** + * New + */ + public + GmpcProfiles * + new(void) + { + return (GmpcProfiles *)GET_NEW; + } + + + /** + * init + * */ + init(self) + { + /** + * Get Profile + */ + gchar *url = cfg_get_single_value_as_string(config, "connection", "profile-file"); + if(!url) + { + url = gmpc_get_user_path("profiles.cfg"); + cfg_set_single_value_as_string(config, "connection", "profile-file",url); + } + self->_priv->profiles = cfg_open(url); + if(self->_priv->profiles == NULL) + { + /** + * Show gtk error message and quit + */ + debug_printf(DEBUG_ERROR,"Failed to save/load Profile file:\n%s\n",url); + abort(); + } + g_free(url); + self_load_from_config(self); + if(self->_priv->num_profiles == 0) + { + self_add_default(self); + self_load_from_config(self); + } + } + /** + * Add default values + */ + private + void + add_default(self) + { + cfg_set_single_value_as_string(config, "connection", "currentprofile", "Default"); + cfg_set_single_value_as_string(self->_priv->profiles, "Default", "hostname", "localhost"); + cfg_set_single_value_as_string(self->_priv->profiles, "Default", "name", "Default"); + cfg_set_single_value_as_string(self->_priv->profiles, "Default", "password",""); + cfg_set_single_value_as_int(self->_priv->profiles, "Default", "portnumber",6600); + cfg_set_single_value_as_int(self->_priv->profiles, "Default", "useauth",FALSE); + + cfg_set_single_value_as_string(self->_priv->profiles, "Default", "music directory",""); + } + + /********* + * PROFILE + */ + /* free a profile */ + public + void + free_profile(Profile *profile) + { + if(profile->name) + g_free(profile->name); + if(profile->id) + g_free(profile->id); + if(profile->hostname) + g_free(profile->hostname); + if(profile->password) + g_free(profile->password); + if(profile->music_directory) + g_free(profile->music_directory); + g_free(profile); + } + + public + Profile * + new_profile(void) + { + Profile *retv = g_malloc0(sizeof(*retv)); + /* Init values */ + retv->name = NULL; + retv->id = NULL; + retv->password = NULL; + retv->hostname = NULL; + retv->port = 6600; + retv->do_auth = FALSE; + retv->music_directory = NULL; + + return retv; + } + + private + void + load_from_config(self) + { + conf_mult_obj *iter,*mult = cfg_get_class_list(self->_priv->profiles); + /* free the old list */ + for(iter = mult;iter;iter = iter->next) + { + Profile *prof = self_new_profile(); + + self->_priv->num_profiles++; + self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); + self->_priv->list[self->_priv->num_profiles] = NULL; + self->_priv->list[self->_priv->num_profiles-1] = prof; + + prof->id = g_strdup(iter->key); + prof->name = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "name"); + prof->hostname = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "hostname"); + prof->password = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "password"); + prof->port = cfg_get_single_value_as_int(self->_priv->profiles, prof->id, "portnumber"); + prof->do_auth = cfg_get_single_value_as_int(self->_priv->profiles, prof->id, "useauth"); + + prof->music_directory = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "music directory"); + } + cfg_free_multiple(mult); + } + + /** + * get profile + */ + private + Profile * + get_profile(self , const gchar *id(check null)) + { + int i = 0; + if(self->_priv->list) + { + for(i=0;self->_priv->list[i]; i++) + { + if(!strcmp(self->_priv->list[i]->id, id)) + return self->_priv->list[i]; + } + } + return NULL; + } + + /** + * get hostname + */ + public + gchar * + get_hostname(self,const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return NULL; + return prof->hostname; + } + /** + * get name + */ + public + const gchar * + get_name(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return NULL; + return prof->name; + } + /** + * get id + */ + public + const gchar * + get_id(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return NULL; + return prof->id; + } + /** + * get password + */ + public + gchar * + get_password(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return NULL; + return prof->password; + } + + /** + * get music directory + */ + public + gchar * + get_music_directory(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return NULL; + return prof->music_directory; + } + /** + * get port + */ + public + int + get_port(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return -1; + return prof->port; + } + + /** + * get do_auth + */ + public + gboolean + get_do_auth(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return FALSE; + return prof->do_auth; + } + + /** + * Create new item + */ + public + gchar * + create_new_item(self, const gchar *id) + { + return self_create_new_item_with_name(self, id, "New Profile"); + } + public + gchar* + create_new_item_with_name(self, const gchar *id, const gchar *name) + { + Profile *prof = g_malloc0(sizeof(*prof)); + if(!id) + prof->id = g_strdup_printf("%u",g_random_int()); + else + prof->id = g_strdup(id); + if(!name) + prof->name = g_strdup("New Profile"); + else + prof->name = g_strdup(name); + prof->hostname = g_strdup("localhost"); + prof->password= g_strdup(""); + prof->port = 6600; + prof->do_auth = 0; + + /* safe this to the config file */ + cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "name", prof->name); + cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "hostname", prof->hostname); + cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "password", prof->password); + cfg_set_single_value_as_int(self->_priv->profiles, prof->id, "portnumber", prof->port); + cfg_set_single_value_as_int(self->_priv->profiles, prof->id, "useauth", prof->do_auth); + cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "music directory", prof->music_directory); + + self->_priv->num_profiles++; + self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); + self->_priv->list[self->_priv->num_profiles] = NULL; + self->_priv->list[self->_priv->num_profiles-1] = prof; + /* propagate */ + self_changed(self,PROFILE_ADDED,-1, prof->id); + return prof->id; + } + public + void + remove_item(self, const gchar *id) + { + gchar *message = NULL; + int i=0; + Profile *prof = self_get_profile(self, id); + if(!prof) + { + debug_printf(DEBUG_WARNING, "Trying to remove not-existing profile: %i\n", id); + return; + } + /* Generate removal message before the actual profile is destroyed */ + message = g_markup_printf_escaped("%s: '%s'", _("Removed profile"),self_get_name(self,id)); + + for(i=0; self->_priv->list[i] && self->_priv->list[i] != prof;i++); + if(self->_priv->list[i] == prof) + { + for(; self->_priv->list[i] ;i++) + { + self->_priv->list[i] = self->_priv->list[i+1]; + } + self->_priv->num_profiles--; + self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); + + cfg_remove_class(self->_priv->profiles, (char *)id); + self_free_profile(prof); + } + + /* Display the message */ + playlist3_show_error_message(message, ERROR_INFO); + q_free(message); + + self_changed(self,PROFILE_REMOVED,-1, id); + } + + /** + * GET CURRENT + */ + public + gchar * + get_current(self) + { + gchar *id = cfg_get_single_value_as_string_with_default(config, "connection", "currentprofile", "Default"); + Profile *prof = self_get_profile(self, id); + /* if not available get the first one */ + if(!prof) + { + g_free(id); + if(self->_priv->list != NULL && self->_priv->list[0]) + { + self_set_current(self, self->_priv->list[0]->id); + } else { + self_add_default(self); + self_load_from_config(self); + self_changed(self, PROFILE_ADDED, -1,"Default"); + } + id = cfg_get_single_value_as_string_with_default(config, "connection", "currentprofile", "Default"); + } + return id; + } + + signal last NONE (STRING) + void + set_current(self, const gchar *id(check null)) + { + Profile *prof = self_get_profile(self, id); + if(prof){ + cfg_set_single_value_as_string(config, "connection", "currentprofile", (char *)id); + + self_changed(self, PROFILE_CURRENT,0, id); + } + + } + public + GList * + get_profiles_ids(self) + { + GList *list = NULL; + int i=0; + for(i=0; self->_priv->list[i] ; i++) + { + list = g_list_append(list,g_strdup(self->_priv->list[i]->id)); + } + return list; + } + + /** + * set field + */ + public + void + set_name(self, const gchar *id (check null), const gchar *value (check null)) + { + Profile *prof = self_get_profile(self, id); + + if(!prof) + return ; + + if((value && prof->name && g_utf8_collate(value, prof->name) == 0)|| (value == NULL && prof->name == NULL)) + return; + + if(prof->name) + g_free(prof->name); + + prof->name = g_strdup(value); + cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "name",prof->name); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_NAME,id); + } + + public + void + set_hostname(self, const gchar *id (check null), const gchar *value (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return ; + + if((value && prof->hostname && g_utf8_collate(value, prof->hostname) == 0)|| (value == NULL && prof->hostname == NULL)) + return; + + if(prof->hostname) + g_free(prof->hostname); + prof->hostname = g_strdup(value); + cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "hostname",prof->hostname); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_HOSTNAME,id); + } + /** + * Set Password + */ + public + void + set_password(self,const gchar *id (check null), gchar *value) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return ; + + if((value && prof->password && g_utf8_collate(value, prof->password) == 0)|| (value == NULL && prof->password == NULL)) + return; + + if(prof->password) + g_free(prof->password); + if(value) + prof->password = g_strdup(value); + else + prof->password = g_strdup(""); + cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "password",prof->password); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_PASSWORD,id); + } + + /** + * Set Port + */ + public + void + set_port(self, const gchar *id (check null), int value) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return ; + if(value == prof->port) + return; + prof->port = value; + cfg_set_single_value_as_int(self->_priv->profiles, (char *)id, "portnumber",prof->port); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_PORT,id); + } + + /** + * Set music directory + */ + public + void + set_music_directory(self,const gchar *id (check null), gchar *value) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return ; + + if((value && prof->music_directory && g_utf8_collate(value, prof->music_directory) == 0)|| (value == NULL && prof->music_directory == NULL)) + return; + + if(prof->music_directory) + g_free(prof->music_directory); + if(value) + prof->music_directory = g_strdup(value); + else + prof->music_directory = g_strdup(""); + cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "music directory",prof->music_directory); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_MUSIC_DIRECTORY,id); + } + + + /** + * Set do auth + */ + public + void + set_do_auth(self,const gchar *id (check null), int value) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return ; + if(prof->do_auth == value) + return; + prof->do_auth = value; + cfg_set_single_value_as_int(self->_priv->profiles,(char *)id, "useauth",prof->do_auth); + self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_DO_AUTH,id); + } + /** + * Has profile with id + */ + public + gboolean + has_profile(self, const gchar *id (check null)) + { + Profile *prof = self_get_profile(self, id); + if(!prof) + return FALSE; + else + return TRUE; + + } + override (G:Object) + void + finalize (G:Object *obj) + { + Self *self = GMPC_PROFILES(obj); + if(self->_priv->list) + { + int i = 0; + do{ + Profile * prof = self->_priv->list[i]; + self_free_profile(prof); + self->_priv->list[i] = NULL; + i++; + }while(self->_priv->list[i]); + g_free(self->_priv->list); + self->_priv->list = NULL; + } + if(self->_priv->profiles) + { + cfg_close(self->_priv->profiles); + self->_priv->profiles= NULL; + } + PARENT_HANDLER(obj); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-stats-label.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-stats-label.gob --- gmpc-0.18.0/src/gmpc-stats-label.gob 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gmpc-stats-label.gob 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,163 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +requires 2.0.10 + +%ph{ +#include "main.h" +#include "misc.h" +%} + +%h{ + typedef enum _LabelType { + ARTIST_NUM_SONGS, + ARTIST_PLAYTIME_SONGS, + ARTIST_GENRES_SONGS, + ARTIST_DATES_SONGS, + ALBUM_NUM_SONGS, + ALBUM_PLAYTIME_SONGS, + ALBUM_GENRES_SONGS, + ALBUM_DATES_SONGS + }LabelType; +%} +%ht{ +#include +#include +%} + +class Gmpc:Stats:Label from Gtk:Label +{ + private LabelType ltype = ARTIST_NUM_SONGS; + private mpd_Song *song = {NULL} destroywith mpd_freeSong; + private gulong ll_signal = 0; + + private + gboolean + idle_handler(self) + { + if(self->_priv->ltype == ARTIST_NUM_SONGS || self->_priv->ltype == ALBUM_NUM_SONGS) + { + MpdDBStats *stats = NULL; + mpd_database_search_stats_start(connection); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); + if(self->_priv->ltype == ALBUM_NUM_SONGS) { + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, self->_priv->song->album); + } + stats = mpd_database_search_stats_commit(connection); + if(stats) { + char *buffer = g_strdup_printf("%i", stats->numberOfSongs); + gtk_label_set_text(GTK_LABEL(self), buffer); + q_free(buffer); + mpd_database_search_free_stats(stats); + } else { + gtk_label_set_text(GTK_LABEL(self), ""); + } + }else if (self->_priv->ltype == ARTIST_PLAYTIME_SONGS || self->_priv->ltype == ALBUM_PLAYTIME_SONGS ) + { + MpdDBStats *stats = NULL; + mpd_database_search_stats_start(connection); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); + if(self->_priv->ltype == ALBUM_PLAYTIME_SONGS) { + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, self->_priv->song->album); + } + stats = mpd_database_search_stats_commit(connection); + if(stats) { + char *buffer = format_time_real(stats->playTime,""); + gtk_label_set_text(GTK_LABEL(self), buffer); + q_free(buffer); + mpd_database_search_free_stats(stats); + } else { + gtk_label_set_text(GTK_LABEL(self), ""); + } + }else if (self->_priv->ltype == ARTIST_GENRES_SONGS|| self->_priv->ltype == ALBUM_GENRES_SONGS) + { + GString *string = NULL; + MpdData *data = NULL; + mpd_database_search_field_start(connection, MPD_TAG_ITEM_GENRE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); + if(self->_priv->ltype == ALBUM_GENRES_SONGS) { + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, self->_priv->song->album); + } + string = g_string_new(""); + for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) + { + if(strlen(data->tag) > 0) + g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); + } + if(string->len >0) { + gtk_label_set_text(GTK_LABEL(self), string->str); + } else { + gtk_label_set_text(GTK_LABEL(self),_("n/a")); + } + g_string_free(string, TRUE); + } + else if (self->_priv->ltype == ARTIST_DATES_SONGS || self->_priv->ltype == ALBUM_DATES_SONGS) + { + GString *string = NULL; + MpdData *data = NULL; + mpd_database_search_field_start(connection, MPD_TAG_ITEM_DATE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); + if(self->_priv->ltype == ALBUM_DATES_SONGS) { + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, self->_priv->song->album); + } + string = g_string_new(""); + for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) + { + if(strlen(data->tag) > 0) + g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); + } + if(string->len >0) { + gtk_label_set_text(GTK_LABEL(self), string->str); + } else { + gtk_label_set_text(GTK_LABEL(self), _("n/a")); + } + g_string_free(string, TRUE); + } + + return FALSE; + } + + /* This implements lazy loading, the data will only be fetched when the widget is visible for the first time. */ + private + gboolean + expose_event(self, GdkEventExpose *event, gpointer data) + { + gchar *string = g_markup_printf_escaped("%s", _("Loading")); + gtk_label_set_markup(GTK_LABEL(self),string); + g_free(string); + self_idle_handler(self); + if(self->_priv->ll_signal) { + g_signal_handler_disconnect(self, self->_priv->ll_signal); + self->_priv->ll_signal = 0; + } + return FALSE; + } + /* Constructor */ + public + GtkWidget * + new(LabelType ltype, mpd_Song *song) + { + Self *self = GET_NEW; + self->_priv->song = mpd_songDup(song); + self->_priv->ltype = ltype; + /* Set expose signal, so I know when it is visible for the first time */ + self->_priv->ll_signal = g_signal_connect(G_OBJECT(self), "expose-event", G_CALLBACK(self_expose_event), NULL); + return (GtkWidget *)self; + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gmpc-version.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gmpc-version.h --- gmpc-0.18.0/src/gmpc-version.h 2009-03-09 16:23:21.000000000 +0000 +++ gmpc-0.19.0/src/gmpc-version.h 2009-09-21 11:15:59.000000000 +0100 @@ -18,9 +18,9 @@ */ #ifndef GMPC_VERSION -#define GMPC_VERSION "0.18.0" +#define GMPC_VERSION "0.19.0" #define GMPC_MAJOR_VERSION (0) -#define GMPC_MINOR_VERSION (18) +#define GMPC_MINOR_VERSION (19) #define GMPC_MICRO_VERSION (0) #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-clicklabel.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-clicklabel.gob --- gmpc-0.18.0/src/gob/gmpc-clicklabel.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-clicklabel.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,236 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%headertop{ -#include -%} - - -class Gmpc:ClickLabel from Gtk:Event:Box -{ - private gint size = {10}; - public gint do_italic = {FALSE}; - public gint do_bold = {TRUE}; - public GtkWidget *label = {NULL}; - private GdkCursor *hand_cursor = {gdk_cursor_new(GDK_HAND2)} destroywith gdk_cursor_unref; - - property INT do_bold - (nick = "Bold when mouse over", - blurb = "Bold when mouse over", - default_value = TRUE, - export, - link); - - /* initialize, set signal handlers */ - init(self) - { - g_signal_connect(G_OBJECT(self), "enter-notify-event",G_CALLBACK(self_focus_in_event), NULL); - g_signal_connect(G_OBJECT(self), "leave-notify-event", G_CALLBACK(self_focus_out_event), NULL); - g_signal_connect(G_OBJECT(self), "button-release-event", G_CALLBACK(self_button_release), NULL); - } - - public - void set_padding(self, gint x,gint y) - { - gtk_misc_set_padding(GTK_MISC(self->label), x,y); - } - /* passing along the signal */ - private - void button_release(self,GdkEventButton *event, gpointer data) - { - self_clicked(self,NULL); - } - private - gboolean focus_in_event(self, GdkEventFocus *event, gpointer data) - { - PangoAttrList *attrs = NULL; - PangoAttribute *attr = NULL; - attrs = pango_attr_list_new (); - if(self->do_bold) - { - attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - if(self->do_italic) - { - attr = pango_attr_style_new (PANGO_STYLE_ITALIC); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - - attr = pango_attr_size_new (self->_priv->size); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - - gtk_label_set_attributes(GTK_LABEL(self->label), attrs); - pango_attr_list_unref (attrs); - gdk_window_set_cursor(GTK_WIDGET(self)->window, self->_priv->hand_cursor); - return FALSE; - } - private - gboolean focus_out_event(self, GdkEventFocus *event, gpointer data) - { - PangoAttrList *attrs = NULL; - PangoAttribute *attr = NULL; - attrs = pango_attr_list_new (); - - attr = pango_attr_size_new (self->_priv->size); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - - if(self->do_italic) - { - attr = pango_attr_style_new (PANGO_STYLE_ITALIC); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - - - gtk_label_set_attributes(GTK_LABEL(self->label), attrs); - pango_attr_list_unref(attrs); - gdk_window_set_cursor(GTK_WIDGET(self)->window,NULL); - return FALSE; - } - - /* clicked signal */ - signal last NONE (POINTER) - void - clicked (self, gpointer data) - { - - } - public - void - set_text (self , const gchar *value (check null)) - { - gtk_label_set_text(GTK_LABEL(self->label), value); - } - public - void - set_ellipsize(self,PangoEllipsizeMode el) - { - gtk_label_set_ellipsize(GTK_LABEL(self->label), el); - } - public - void - font_size(self,gint size_diff) - { - PangoAttrList *attrs = NULL; - PangoAttribute *attr = NULL; - self->_priv->size += size_diff*PANGO_SCALE; - - - - attrs = pango_attr_list_new (); - attr = pango_attr_size_new (self->_priv->size); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - if(self->do_italic) - { - attr = pango_attr_style_new (PANGO_STYLE_ITALIC); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - - - gtk_label_set_attributes(GTK_LABEL(self->label), attrs); - pango_attr_list_unref(attrs); - } - - public - void - set_do_italic(self,gboolean toggle) - { - PangoAttrList *attrs = NULL; - PangoAttribute *attr = NULL; - self->do_italic = toggle; - - - - attrs = pango_attr_list_new (); - attr = pango_attr_size_new (self->_priv->size); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - if(self->do_italic) - { - attr = pango_attr_style_new (PANGO_STYLE_ITALIC); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - - gtk_label_set_attributes(GTK_LABEL(self->label), attrs); - pango_attr_list_unref(attrs); - } - - public - GtkWidget *new(const gchar *value (check null)) - { - PangoContext *pc = NULL; - PangoFontDescription *pfd = NULL; - PangoAttrList *attrs = NULL; - PangoAttribute *attr = NULL; - Self *lb = GET_NEW; - /* create strings, should make this smarter */ - /* label */ - lb->label = gtk_label_new(value); - //gtk_label_set_markup(GTK_LABEL(lb->label), lb->_priv->text); - gtk_misc_set_alignment(GTK_MISC(lb->label), 0,0.5); - /* setup event box */ - gtk_event_box_set_visible_window(GTK_EVENT_BOX(lb), FALSE); - gtk_container_add(GTK_CONTAINER(lb),lb->label); - gtk_label_set_ellipsize(GTK_LABEL(lb->label), PANGO_ELLIPSIZE_END); - - pc = gtk_widget_get_pango_context(GTK_WIDGET(lb->label)); - pfd = pango_context_get_font_description(pc); - lb->_priv->size = pango_font_description_get_size(pfd); - - attrs = pango_attr_list_new (); - attr = pango_attr_size_new (lb->_priv->size); - attr->start_index = 0; - attr->end_index = -1; - - if(lb->do_italic) - { - attr = pango_attr_style_new (PANGO_STYLE_ITALIC); - attr->start_index = 0; - attr->end_index = -1; - pango_attr_list_change (attrs, attr); - } - pango_attr_list_change (attrs, attr); - - gtk_label_set_attributes(GTK_LABEL(lb->label), attrs); - pango_attr_list_unref(attrs); - - return (GtkWidget *)lb; - } - -} - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-clicklabel.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-clicklabel.h --- gmpc-0.18.0/src/gob/gmpc-clicklabel.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-clicklabel.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,110 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include - -#ifndef __GMPC_CLICKLABEL_H__ -#define __GMPC_CLICKLABEL_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_CLICKLABEL (gmpc_clicklabel_get_type()) -#define GMPC_CLICKLABEL(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_clicklabel_get_type(), GmpcClickLabel) -#define GMPC_CLICKLABEL_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_clicklabel_get_type(), GmpcClickLabel const) -#define GMPC_CLICKLABEL_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_clicklabel_get_type(), GmpcClickLabelClass) -#define GMPC_IS_CLICKLABEL(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_clicklabel_get_type ()) - -#define GMPC_CLICKLABEL_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_clicklabel_get_type(), GmpcClickLabelClass) - -/* Private structure type */ -typedef struct _GmpcClickLabelPrivate GmpcClickLabelPrivate; - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_CLICKLABEL__ -#define __TYPEDEF_GMPC_CLICKLABEL__ -typedef struct _GmpcClickLabel GmpcClickLabel; -#endif -struct _GmpcClickLabel { - GtkEventBox __parent__; - /*< public >*/ - gint do_italic; - gint do_bold; - GtkWidget * label; - /*< private >*/ - GmpcClickLabelPrivate *_priv; -}; - -/* - * Class definition - */ -typedef struct _GmpcClickLabelClass GmpcClickLabelClass; -struct _GmpcClickLabelClass { - GtkEventBoxClass __parent__; - /*signal*/void (* clicked) (GmpcClickLabel * self, gpointer data); -}; - - -/* - * Public methods - */ -GType gmpc_clicklabel_get_type (void); -gint gmpc_clicklabel_get_do_bold (GmpcClickLabel * self); -void gmpc_clicklabel_set_do_bold (GmpcClickLabel * self, - gint val); -void gmpc_clicklabel_set_padding (GmpcClickLabel * self, - gint x, - gint y); -void gmpc_clicklabel_clicked (GmpcClickLabel * self, - gpointer data); -void gmpc_clicklabel_set_text (GmpcClickLabel * self, - const gchar * value); -void gmpc_clicklabel_set_ellipsize (GmpcClickLabel * self, - PangoEllipsizeMode el); -void gmpc_clicklabel_font_size (GmpcClickLabel * self, - gint size_diff); -void gmpc_clicklabel_set_do_italic (GmpcClickLabel * self, - gboolean toggle); -GtkWidget * gmpc_clicklabel_new (const gchar * value); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_clicklabel_connect__clicked(object,func,data) g_signal_connect(GMPC_CLICKLABEL(__extension__ ({GmpcClickLabel *___object = (object); ___object; })),"clicked",(GCallback) __extension__ ({void (* ___clicked) (GmpcClickLabel * ___fake___self, gpointer ___fake___data, gpointer ___data ) = (func); ___clicked; }), (data)) -#define gmpc_clicklabel_connect_after__clicked(object,func,data) g_signal_connect_after(GMPC_CLICKLABEL(__extension__ ({GmpcClickLabel *___object = (object); ___object; })),"clicked",(GCallback) __extension__ ({void (* ___clicked) (GmpcClickLabel * ___fake___self, gpointer ___fake___data, gpointer ___data ) = (func); ___clicked; }), (data)) -#define gmpc_clicklabel_connect_data__clicked(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CLICKLABEL(__extension__ ({GmpcClickLabel *___object = (object); ___object; })),"clicked",(GCallback) __extension__ ({void (* ___clicked) (GmpcClickLabel * ___fake___self, gpointer ___fake___data, gpointer ___data ) = (func); ___clicked; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_clicklabel_connect__clicked(object,func,data) g_signal_connect(GMPC_CLICKLABEL(object),"clicked",(GCallback)(func),(data)) -#define gmpc_clicklabel_connect_after__clicked(object,func,data) g_signal_connect_after(GMPC_CLICKLABEL(object),"clicked",(GCallback)(func),(data)) -#define gmpc_clicklabel_connect_data__clicked(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CLICKLABEL(object),"clicked",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -/* - * Argument wrapping macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define GMPC_CLICKLABEL_PROP_DO_BOLD(arg) "do_bold", __extension__ ({gint z = (arg); z;}) -#define GMPC_CLICKLABEL_GET_PROP_DO_BOLD(arg) "do_bold", __extension__ ({gint *z = (arg); z;}) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define GMPC_CLICKLABEL_PROP_DO_BOLD(arg) "do_bold",(gint )(arg) -#define GMPC_CLICKLABEL_GET_PROP_DO_BOLD(arg) "do_bold",(gint *)(arg) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-connection.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-connection.gob --- gmpc-0.18.0/src/gob/gmpc-connection.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-connection.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,52 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 -%headertop{ - #include - #include - #include -%} - - -class Gmpc:Connection from G:Object{ - - signal last NONE (POINTER, INT) - void - connection_changed(self, MpdObj *mi,int connect) - { - debug_printf(DEBUG_INFO, "Connection Changed fired: %i\n", connect); - if(mpd_check_connected(mi) != connect) - { - debug_printf(DEBUG_ERROR, "Connection state differs from actual state: act: %i connect: %i\n", !connect, connect); - } - } - signal last NONE (POINTER, INT) - void - status_changed(self, MpdObj *mi,ChangedStatusType what) - { - } - - public - GObject * - new(void) - { - return (GObject *)GET_NEW; - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-connection.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-connection.h --- gmpc-0.18.0/src/gob/gmpc-connection.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-connection.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,88 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - - #include - #include - #include - -#ifndef __GMPC_CONNECTION_H__ -#define __GMPC_CONNECTION_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_CONNECTION (gmpc_connection_get_type()) -#define GMPC_CONNECTION(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_connection_get_type(), GmpcConnection) -#define GMPC_CONNECTION_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_connection_get_type(), GmpcConnection const) -#define GMPC_CONNECTION_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_connection_get_type(), GmpcConnectionClass) -#define GMPC_IS_CONNECTION(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_connection_get_type ()) - -#define GMPC_CONNECTION_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_connection_get_type(), GmpcConnectionClass) - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_CONNECTION__ -#define __TYPEDEF_GMPC_CONNECTION__ -typedef struct _GmpcConnection GmpcConnection; -#endif -struct _GmpcConnection { - GObject __parent__; -}; - -/* - * Class definition - */ -typedef struct _GmpcConnectionClass GmpcConnectionClass; -struct _GmpcConnectionClass { - GObjectClass __parent__; - /*signal*/void (* connection_changed) (GmpcConnection * self, MpdObj * mi, int connect); - /*signal*/void (* status_changed) (GmpcConnection * self, MpdObj * mi, ChangedStatusType what); -}; - - -/* - * Public methods - */ -GType gmpc_connection_get_type (void); -void gmpc_connection_connection_changed (GmpcConnection * self, - MpdObj * mi, - int connect); -void gmpc_connection_status_changed (GmpcConnection * self, - MpdObj * mi, - ChangedStatusType what); -GObject * gmpc_connection_new (void); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_connection_connect__connection_changed(object,func,data) g_signal_connect(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"connection_changed",(GCallback) __extension__ ({void (* ___connection_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, int ___fake___connect, gpointer ___data ) = (func); ___connection_changed; }), (data)) -#define gmpc_connection_connect_after__connection_changed(object,func,data) g_signal_connect_after(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"connection_changed",(GCallback) __extension__ ({void (* ___connection_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, int ___fake___connect, gpointer ___data ) = (func); ___connection_changed; }), (data)) -#define gmpc_connection_connect_data__connection_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"connection_changed",(GCallback) __extension__ ({void (* ___connection_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, int ___fake___connect, gpointer ___data ) = (func); ___connection_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#define gmpc_connection_connect__status_changed(object,func,data) g_signal_connect(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"status_changed",(GCallback) __extension__ ({void (* ___status_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, ChangedStatusType ___fake___what, gpointer ___data ) = (func); ___status_changed; }), (data)) -#define gmpc_connection_connect_after__status_changed(object,func,data) g_signal_connect_after(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"status_changed",(GCallback) __extension__ ({void (* ___status_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, ChangedStatusType ___fake___what, gpointer ___data ) = (func); ___status_changed; }), (data)) -#define gmpc_connection_connect_data__status_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CONNECTION(__extension__ ({GmpcConnection *___object = (object); ___object; })),"status_changed",(GCallback) __extension__ ({void (* ___status_changed) (GmpcConnection * ___fake___self, MpdObj * ___fake___mi, ChangedStatusType ___fake___what, gpointer ___data ) = (func); ___status_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_connection_connect__connection_changed(object,func,data) g_signal_connect(GMPC_CONNECTION(object),"connection_changed",(GCallback)(func),(data)) -#define gmpc_connection_connect_after__connection_changed(object,func,data) g_signal_connect_after(GMPC_CONNECTION(object),"connection_changed",(GCallback)(func),(data)) -#define gmpc_connection_connect_data__connection_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CONNECTION(object),"connection_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#define gmpc_connection_connect__status_changed(object,func,data) g_signal_connect(GMPC_CONNECTION(object),"status_changed",(GCallback)(func),(data)) -#define gmpc_connection_connect_after__status_changed(object,func,data) g_signal_connect_after(GMPC_CONNECTION(object),"status_changed",(GCallback)(func),(data)) -#define gmpc_connection_connect_data__status_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_CONNECTION(object),"status_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-liststore-sort.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-liststore-sort.gob --- gmpc-0.18.0/src/gob/gmpc-liststore-sort.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-liststore-sort.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,118 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/** - * This gob file provides a hack, so rows in a gtk_list_store can be moved, (with gtk_tree_reorderable enabled) - * While the gtk_tree_row_reference stays in tracked. - */ -requires 2.0.0 - -%ht{ -#include -#include -#include -#include "gmpc-mpddata-model.h" -#include "gmpc-mpddata-model-private.h" -%} - - - - -class Gmpc:ListStore:Sort from Gtk:List:Store - (interface Gtk:Tree:Drag:Source) - (interface Gtk:Tree:Drag:Dest) -{ - - interface Gtk:Tree:Drag:Source - private - gboolean row_draggable (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - return TRUE; - } - - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_get (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path, Gtk:Selection:Data *selection_data) - { - return FALSE; - } - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_delete (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - return TRUE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean drag_data_received - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - GtkTreePath *path=NULL; - GtkTreeModel *model=NULL; - GtkTreeIter desti, sourcei; - gboolean dest_v; - if(dest == NULL || !gtk_tree_get_row_drag_data(selection_data, &model, &path)) - { - return FALSE; - } - dest_v= gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &desti, dest); - if(gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &sourcei, path)) - { - if(dest_v) - gtk_list_store_move_before(GTK_LIST_STORE(model), &sourcei, &desti); - else - gtk_list_store_move_before(GTK_LIST_STORE(model), &sourcei, NULL); - - } - gtk_tree_path_free(path); - return TRUE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean row_drop_possible - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - return TRUE; - } - - public - Gmpc:ListStore:Sort *new (gint n_columns, ...) - { - Self *self = GET_NEW; - va_list args; - gint i; - GType types[n_columns]; - - g_return_val_if_fail (n_columns > 0, NULL); - - va_start (args, n_columns); - for (i = 0; i < n_columns; i++){ - GType type = va_arg (args, GType); - types[i] = type; - } - va_end (args); - gtk_list_store_set_column_types(GTK_LIST_STORE(self), n_columns, types); - - return self; - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-metaimage.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-metaimage.gob --- gmpc-0.18.0/src/gob/gmpc-metaimage.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-metaimage.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,870 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%ph{ -#include "main.h" -#include "misc.h" -#include "vala/gmpc_image.h" -%} - -%headertop{ -#include -#include -#ifdef GMPC_BUILD -#include -#else -#include -#endif -%} - -%{ -static int num_drag_targets = 4; /* skip hyperlinks for now */ -static GtkTargetEntry data_image_drag_target[] = -{ - { "image/jpeg", 0, 0 }, - { "image/png", 0, 1 }, - { "image/gif", 0, 2 }, - { "text/uri-list", 0, 3}, - { "_NETSCAPE_URL", 0,4}, - { "x-url/http", 0,5} -}; -%} - - -%ph{ -/** - * Indicate the state - */ -typedef enum _GmpcMetaImageState{ - STATE_NA, - STATE_FETCHING, - STATE_IMAGE, - STATE_EMPTY, - NUM_STATES -}GmpcMetaImageState; - - - -%} - - - -class Gmpc:MetaImage from Gtk:Event:Box{ - private GmpcMetaImageState state = {STATE_EMPTY}; - private int refresh = FALSE; - private gulong status_signal = {0}; - private gulong connect_signal = {0}; - private gulong meta_id = {0}; - - private gulong metadata_force_reload = {0}; - - private gchar *image_url = {NULL}; - - private mpd_Song *song = {NULL} destroywith mpd_freeSong; - - /** Public */ - - public int size = {64}; - public int image_type = {META_ALBUM_ART}; - public MpdObj *connection= {NULL}; - public gboolean hide_on_na = {FALSE}; - public gboolean squared = {TRUE}; - public gchar *no_cover_icon = {g_strdup("gmpc-no-cover")} destroywith g_free; - public gchar *loading_cover_icon = {g_strdup("gmpc-loading-cover")} destroywith g_free; - - private gulong expose_id = {0}; - - /** - * I want fully set/get control,so I don't use property stuff, - * is there a way around this? - */ - public gboolean is_visible = {TRUE}; - - property INT image_type - (nick = "Image type", - blurb = "Type of the image, like artist art", - default_value = META_ALBUM_ART, - export, - link); - - property INT size - (nick = "Size", - blurb = "Size of the image", - default_value = 64, - export, - link); - - property BOOLEAN hide_on_na - (nick = "HideOnNA", - blurb = "Hide the image when not available", - default_value = FALSE, - export, - link); - - property BOOLEAN squared - (nick = "Squared", - blurb = "Keep the widget squared", - default_value = TRUE, - link); - public void set_no_cover_icon (self, const gchar *name) - { - if(self->no_cover_icon) { - q_free(self->no_cover_icon); - } - self->no_cover_icon = g_strdup(name); - } - public void set_loading_cover_icon (self, const gchar *name) - { - if(self->loading_cover_icon) { - q_free(self->loading_cover_icon); - } - self->loading_cover_icon = g_strdup(name); - } - public void set_squared (self, const gboolean item) - { - self->squared = item; - } - public void set_connection(self, MpdObj *conn) - { - self->connection = conn; - if(conn) - { - self->_priv->status_signal = g_signal_connect_swapped(G_OBJECT(gmpcconn), - "status_changed", - G_CALLBACK(self_update_cover), - G_OBJECT(self)); - - self->_priv->connect_signal = g_signal_connect_swapped(G_OBJECT(gmpcconn), - "connection_changed", - G_CALLBACK(self_connection_changed), - G_OBJECT(self)); - } - } - private GtkWidget *image = { (GtkWidget *)gmpc_image_new()} ; - init (self) - { - GtkWidget *win = NULL; - gtk_container_add(GTK_CONTAINER(self), self->_priv->image); - gtk_container_set_resize_mode(GTK_CONTAINER(self), GTK_RESIZE_IMMEDIATE); - gtk_widget_show_all(GTK_WIDGET(self)); - - g_signal_connect_swapped(G_OBJECT(self->_priv->image), "button-press-event", G_CALLBACK(self_menu_populate_callback), self); - self->_priv->meta_id = g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(self_meta_callback), self); - gtk_widget_add_events(GTK_WIDGET(self->_priv->image), GDK_POINTER_MOTION_MASK); - gtk_widget_set_no_show_all(GTK_WIDGET(self),TRUE); - - win = gtk_window_new(GTK_WINDOW_POPUP); - gtk_window_set_resizable(GTK_WINDOW(win), FALSE); - gtk_container_add(GTK_CONTAINER(win), gtk_image_new()); - - gtk_widget_set_tooltip_window(GTK_WIDGET(self), GTK_WINDOW(win)); - g_signal_connect(G_OBJECT(self), "query-tooltip", G_CALLBACK(self_tooltip_query), win); - } - private - gboolean tooltip_query(self, gint x, gint y,gboolean keyboard_mode, GtkTooltip *tip, GtkWidget *win) - { - if(self->_priv->state == STATE_IMAGE) - { - if(self->_priv->image_url) - { - gint width,height; - if(gdk_pixbuf_get_file_info(self->_priv->image_url, &width, &height)) - { - GtkWidget *image = gtk_bin_get_child(GTK_BIN(win)); - GdkPixbuf *pb = gdk_pixbuf_new_from_file_at_scale(self->_priv->image_url, (width > 250)?250:width,(height >250)?250:height, TRUE, NULL); - screenshot_add_border(&pb); - gtk_image_set_from_pixbuf(GTK_IMAGE(image), pb); - gtk_widget_show(image); - g_object_unref(pb); - return TRUE; - } - } - } - return FALSE; - } - - override (G:Object) - void - dispose(G:Object *obj) - { - Self *self = GMPC_METAIMAGE(obj); - if(self->_priv->meta_id) - { - g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->meta_id); - self->_priv->meta_id = 0; - } - if(self->_priv->metadata_force_reload) - { - g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->metadata_force_reload); - self->_priv->metadata_force_reload = 0; - } - if(self->_priv->image_url) { - q_free(self->_priv->image_url); - } - if(self->_priv->status_signal){ - g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->_priv->status_signal); - self->_priv->status_signal =0; - } - if(self->_priv->connect_signal){ - g_signal_handler_disconnect(G_OBJECT(gmpcconn), self->_priv->connect_signal); - self->_priv->connect_signal=0; - } - PARENT_HANDLER(obj); - } - private - void - drag_data_recieved (self, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *data, - guint info, - guint dnd_time, - GtkWidget *widget - ) - { - int found = FALSE; - if(self->_priv->song) - { - if(info < num_drag_targets) - { - gchar **uri = gtk_selection_data_get_uris(data); - /* Only one uri is interresting */ - if(uri && uri[0]) - { - gchar *path = g_filename_from_uri(uri[0], NULL, NULL); - - /* try to open it */ - if(path && gdk_pixbuf_get_file_info(path, NULL,NULL)) - { - mpd_Song *song = mpd_songDup(self->_priv->song); - meta_data_set_cache(song,self->image_type, META_DATA_AVAILABLE, path); - gmpc_meta_watcher_data_changed(gmw, song, self->image_type, META_DATA_AVAILABLE, path); - found = TRUE; - mpd_freeSong(song); - } - g_free(path); - } - g_strfreev(uri); - } - } - - gtk_drag_finish(context, found, FALSE, dnd_time); - } - /* hack to make the "delayed" image load when it gets visible" - */ - private - gboolean - expose_event(self, GdkEventExpose *event, gpointer data) - { - g_signal_handler_disconnect(G_OBJECT(self), self->_priv->expose_id); - self->_priv->expose_id = 0; - self_update_cover_from_song_delayed_real(self); - return FALSE; - } - - public - GtkWidget *new_size(int type, int size) - { - Self *gmi = GET_NEW; - gmi->image_type = type; - gmi->size = size; - - - gtk_event_box_set_visible_window(GTK_EVENT_BOX(gmi), FALSE); - gtk_drag_dest_set(GTK_WIDGET(gmi), - GTK_DEST_DEFAULT_ALL, - data_image_drag_target, num_drag_targets, - GDK_ACTION_COPY|GDK_ACTION_LINK|GDK_ACTION_DEFAULT|GDK_ACTION_MOVE); - - g_signal_connect_swapped (G_OBJECT (gmi),"drag-data-received", - GTK_SIGNAL_FUNC (self_drag_data_recieved),gmi); - - gmi->_priv->metadata_force_reload = g_signal_connect_swapped(G_OBJECT(gmw), "force-reload", G_CALLBACK(self_reload_image), gmi); - - return (GtkWidget *)gmi; - } - public - GtkWidget * new (int type) - { - Self *gmi = GET_NEW; - gmi->image_type = type; - - gtk_event_box_set_visible_window(GTK_EVENT_BOX(gmi), FALSE); - gtk_drag_dest_set(GTK_WIDGET(gmi), - GTK_DEST_DEFAULT_ALL, - data_image_drag_target, num_drag_targets, - GDK_ACTION_COPY|GDK_ACTION_LINK|GDK_ACTION_DEFAULT|GDK_ACTION_MOVE); - g_signal_connect_swapped (G_OBJECT (gmi),"drag-data-received", - GTK_SIGNAL_FUNC (self_drag_data_recieved),gmi); - gmi->_priv->metadata_force_reload = g_signal_connect_swapped(G_OBJECT(gmw), "force-reload", G_CALLBACK(self_reload_image), gmi); - return (GtkWidget *)gmi; - } - - public - void - update_cover(self, MpdObj *mi, ChangedStatusType what, GmpcConnection *gc) - { - - if(self->connection && what&(MPD_CST_STATE|MPD_CST_SONGID|MPD_CST_SONGPOS|MPD_CST_PLAYLIST) && self->is_visible) - { - int state = mpd_player_get_state(self->connection); - if(state == MPD_PLAYER_STOP || state == MPD_PLAYER_UNKNOWN) - { - self->_priv->refresh = TRUE; - self_set_cover_na(self); - } - else { - mpd_Song *song = mpd_playlist_get_current_song(self->connection); - if(song) - { - if( self->_priv->refresh == FALSE && - self->_priv->song && - self->_priv->song->artist && - song->artist && - strcmp(song->artist, self->_priv->song->artist) == 0) - { - /* If we are artist iamge, don't update, same artist */ - if(self->image_type == META_ARTIST_ART ) return; - /* If we are album, check if album matches too */ - else if(self->image_type == META_ALBUM_ART && - self->_priv->song->album && song->album && - strcmp(self->_priv->song->album, song->album) == 0){ - return; - } - } - self_update_cover_from_song(self, song); - } - else - { - self_set_cover_na(self); - } - self->_priv->refresh = FALSE; - } - - } - } - private - void - connection_changed(self,MpdObj *mi, int connect, GmpcConnection *gmpconn) - { - if(!connect) - { - self_set_cover_na(self); - } - else - { - if(self->connection) - { - int state = mpd_player_get_state(self->connection); - if(state != MPD_PLAYER_STOP && state != MPD_PLAYER_UNKNOWN) - { - mpd_Song *song = mpd_playlist_get_current_song(self->connection); - if(song){ - self_update_cover_from_song(self, song); - } - } - } - - } - - } - - public - void - update_cover_from_song(self, mpd_Song *song) - { - gchar *path= NULL; - MetaDataResult ret; - - - if(self->_priv->song) - mpd_freeSong(self->_priv->song); - self->_priv->song = NULL; - - if(!song) - { - self_set_cover_na(self); - return; - } - self->_priv->song = mpd_songDup(song); - - ret = gmpc_meta_watcher_get_meta_path(gmw,song, self->image_type, &path); - if(ret == META_DATA_FETCHING) - { - self_set_cover_fetching(self); - }else if (ret == META_DATA_AVAILABLE) { - self_set_cover_from_path(self,path); - } else { - self_set_cover_na(self); - } - if(path) - { - q_free(path); - } - } - private - gboolean - update_cover_from_song_delayed_real(self) - { - gchar *path = NULL; - int ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->image_type, &path); - if(ret == META_DATA_FETCHING) - { - self_set_cover_fetching(self); - }else if (ret == META_DATA_AVAILABLE) { - self_set_cover_from_path(self,path); - } else { - self_set_cover_na(self); - } - if(path) - { - q_free(path); - } - - return FALSE; - } - public - void - update_cover_from_song_delayed(self, mpd_Song *song) - { - if(self->_priv->song) - mpd_freeSong(self->_priv->song); - - gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); - self->_priv->song = mpd_songDup(song); - /* hack to make it load when it gets visible */ - self->_priv->expose_id = g_signal_connect(G_OBJECT(self), "expose-event", G_CALLBACK(self_expose_event) , NULL); - } - - private - void - meta_callback(GmpcMetaWatcher *gmv, mpd_Song *song, MetaDataType type, MetaDataResult ret, char *path,gpointer data) - { - Self *self = data; - if(!song || !self || !self->_priv || !self->_priv->song) - return; - - /** - * Check for fields - */ - if(self->image_type != type) - return; - - if(!gmpc_meta_watcher_match_data(self->image_type, self->_priv->song, song)) - { - return; - } - - /** - * If mpd is stopped before the result is back, set the cover to na, and ignore the result - */ - if(self->connection && mpd_player_get_state(self->connection) == MPD_PLAYER_STOP) - { - self_set_cover_na(self); - } - else - { - if(ret == META_DATA_AVAILABLE) { - self_set_cover_from_path(self,path); - } else if (ret == META_DATA_FETCHING) { - self_set_cover_fetching(self); - } else { - self_set_cover_na(self); - } - } - } - - - public - void - set_cover_na(self) - { - int border = FALSE; - GError *error = NULL; - GdkPixbuf *pb2 = NULL; - - if(self->_priv->state == STATE_NA) { - return; - } - self->_priv->state = STATE_NA; - - if(self->_priv->image_url) - { - q_free(self->_priv->image_url); - self->_priv->image_url = NULL; - } - if(self->hide_on_na) - { - gtk_widget_hide(GTK_WIDGET(self)); - return; - } - - if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART){ - pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "stylized-no-cover", self->size, 0,&error); - border = TRUE; - if(error) { - debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); - g_error_free(error); - } - }else{ - pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), self->no_cover_icon, self->size, 0,&error); - if(error) { - debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); - g_error_free(error); - } - } - - if(pb2) { - if(self->squared) { - gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); - } else { - gtk_widget_set_size_request(GTK_WIDGET(self), gdk_pixbuf_get_width(pb2), gdk_pixbuf_get_height(pb2)); - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - } - gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb2,border); - g_object_unref(pb2); - } else { - /* If failed to load an image, clear it */ - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - } - } - public - void - set_cover_fetching(self) - { - int border = FALSE; - GError *error = NULL; - GdkPixbuf *pb2 = NULL; - if(self->_priv->state == STATE_FETCHING) { - return; - } - self->_priv->state = STATE_FETCHING; - if(self->_priv->image_url) - { - q_free(self->_priv->image_url); - self->_priv->image_url = NULL; - } - if(self->hide_on_na) - { - gtk_widget_hide(GTK_WIDGET(self)); - } - - - if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART){ - pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "stylized-fetching-cover", self->size, 0,&error); - if(error) { - debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); - g_error_free(error); - } - border=TRUE; -// if(pb2) - // screenshot_add_border(&pb2); - }else{ - pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), self->loading_cover_icon, self->size, 0,&error); - if(error) { - debug_printf(DEBUG_ERROR, "Following error loading stylized-no-cover: %s", error->message); - g_error_free(error); - } - - } - - if(self->squared) { - gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); - } else { - gtk_widget_set_size_request(GTK_WIDGET(self), gdk_pixbuf_get_width(pb2), gdk_pixbuf_get_height(pb2)); - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - } - - if(pb2) { -// gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb2,border); - g_object_unref(pb2); - } else { - /* If failed to load an image, clear it */ - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - } - } - - public - void - set_cover_from_path(self, const gchar *path) - { - int width = 0; - int height = 0; - GdkPixbuf *pb = NULL; - - self->_priv->state = STATE_IMAGE; - - if(self->_priv->image_url) - { - if(strcmp(path, self->_priv->image_url) == 0) - { - return; - } - q_free(self->_priv->image_url); - self->_priv->image_url = NULL; - } - - if(gdk_pixbuf_get_file_info(path,&width, &height)) - { - /* save url */ - self->_priv->image_url = g_strdup(path); - - if(cfg_get_single_value_as_int_with_default(config, "metaimage", "addcase",TRUE) && self->image_type == META_ALBUM_ART) - { - int tempw,temph; - int size = (self->size > MIN(width,height))? MIN(width,height):self->size; - float spineRatio = 5.0/65.0; - int spineWidth = (size)*spineRatio; - GdkPixbuf *blank=NULL,*pb2=NULL; - const gchar *path2; - GtkIconInfo *ii = gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(), - "stylized-cover", - size, 0); - /* load the case */ - if(ii){ - path2 = gtk_icon_info_get_filename(ii); - if(path2){ - pb2 = gdk_pixbuf_new_from_file_at_scale(path2,size, size,TRUE,NULL); - } - gtk_icon_info_free(ii); - } - - - /* Scale the cover to fit inside the case */ - tempw = gdk_pixbuf_get_width(pb2)-spineWidth; - if((gdk_pixbuf_get_height(pb2)/(double)height)*width < tempw){ - pb = gdk_pixbuf_new_from_file_at_scale(path,tempw, -1,TRUE,NULL); - }else{ - pb = gdk_pixbuf_new_from_file_at_scale(path,-1,gdk_pixbuf_get_height(pb2),TRUE,NULL); - } - - width = gdk_pixbuf_get_width(pb2); - height = gdk_pixbuf_get_height(pb2); - - /* render */ - blank = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8,width,height); - gdk_pixbuf_fill(blank, 0x000000FF); - tempw = ((width-spineWidth)>= gdk_pixbuf_get_width(pb))?gdk_pixbuf_get_width(pb):(width-spineWidth); - temph = (height >= gdk_pixbuf_get_height(pb))? gdk_pixbuf_get_height(pb):height; - gdk_pixbuf_copy_area(pb, 0,0, - tempw,temph, - blank,width-tempw,0); - if(pb2) - { - gdk_pixbuf_composite(pb2,blank,0,0,gdk_pixbuf_get_width(pb2),gdk_pixbuf_get_height(pb2),0,0,1,1,GDK_INTERP_BILINEAR,250); - g_object_unref(pb2); - } - g_object_unref(pb); - pb = blank; - - if(!self->squared) - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - -// screenshot_add_border(&pb); - gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb,TRUE); - g_object_unref(pb); - } - else { - int size = (self->size > MIN(width,height))? MIN(width,height):self->size; - /* calculate it */ - if(width > height) { - height = (height*size)/((gdouble)width); - width = size; - } - else { - width = (width*size)/((gdouble)height); - height = size; - } - pb = gdk_pixbuf_new_from_file_at_scale(path,size,size,TRUE,NULL); - if(!self->squared) - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - gmpc_image_set_pixbuf(GMPC_IMAGE(self->_priv->image), pb,TRUE); - g_object_unref(pb); - } - /** - * Set sizing, also set size on non-squared, so the widget resizes propperly - */ - if(self->squared) - { - gtk_widget_set_size_request(GTK_WIDGET(self), self->size, self->size); - } - else - { - gtk_widget_set_size_request(GTK_WIDGET(self), width+2, height+2); - } - } - else - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - if(self->is_visible) - { - gtk_widget_show(GTK_WIDGET(self)); - } - } - - public - void - set_is_visible(self, gboolean is_visible) - { - self->is_visible = is_visible; - if(self->is_visible) - { - if(self->connection) - { - self_update_cover(self,self->connection, MPD_CST_STATE, NULL); - } - } else { - gtk_widget_hide(GTK_WIDGET(self)); - } - } - - public - void - query_refetch(self) - { - if(self->_priv->song) - { - gchar *path = NULL; - MetaDataResult ret; - - ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->image_type|META_QUERY_NO_CACHE, &path); - if(ret == META_DATA_FETCHING) - { - self_set_cover_fetching(self); - }else if (ret == META_DATA_AVAILABLE) { - self_set_cover_from_path(self,path); - } else { - self_set_cover_na(self); - } - if(path) - { - q_free(path); - } - } - } - - - private - gboolean - menu_populate_callback(self,GdkEventButton *event, gpointer data) - { - if(self->_priv->song && event->button == 3) - { - GtkWidget *menu = gtk_menu_new(); - GtkWidget *item = NULL; - - item = gtk_image_menu_item_new_with_label(_("Refetch")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_query_refetch),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - item = gtk_image_menu_item_new_with_label(_("Select file")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU)); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_file),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_clear_entry),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - gtk_widget_show_all(menu); - gtk_menu_popup(GTK_MENU(menu), NULL, NULL,NULL, NULL, event->button, event->time); - return TRUE; - } - return FALSE; - } - - private - void - clear_entry(self) - { - meta_data_set_cache(self->_priv->song,self->image_type, META_DATA_UNAVAILABLE, NULL); - gmpc_meta_watcher_data_changed(gmw, self->_priv->song, self->image_type, META_DATA_UNAVAILABLE, NULL); - } - - public - void - select_file(self) - { - mpd_Song *song = mpd_songDup(self->_priv->song); - MetaDataType type = self->image_type; - GtkFileFilter *gff = gtk_file_filter_new(); - GtkWidget *fcd = gtk_file_chooser_dialog_new(_("Select File"),NULL, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - gtk_file_filter_set_name(gff, _("Images")); - gtk_file_filter_add_pixbuf_formats(gff); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); - - gff = gtk_file_filter_new(); - gtk_file_filter_set_name(gff, _("All")); - gtk_file_filter_add_pattern(gff, "*"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); - - gtk_widget_show_all(fcd); - switch(gtk_dialog_run(GTK_DIALOG(fcd))) - { - case GTK_RESPONSE_ACCEPT: - { - gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fcd)); - meta_data_set_cache(song,type, META_DATA_AVAILABLE, filename); - gmpc_meta_watcher_data_changed(gmw, song, type, META_DATA_AVAILABLE, filename); - g_free(filename); - } - default: - break; - } - gtk_widget_destroy(fcd); - mpd_freeSong(song); - } - - public - void - reload_image(self) - { - gmpc_image_clear_pixbuf(GMPC_IMAGE(self->_priv->image)); - switch(self->_priv->state) - { - case STATE_NA: - self->_priv->state = STATE_EMPTY; - self_set_cover_na(self); - break; - case STATE_FETCHING: - self->_priv->state = STATE_EMPTY; - self_set_cover_fetching(self); - break; - case STATE_IMAGE: - if(self->_priv->image_url) - { - gchar *temp = self->_priv->image_url; - self->_priv->image_url = NULL; - - self_set_cover_from_path(self, temp); - g_free(temp); - } - default: - break; - } - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-metaimage.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-metaimage.h --- gmpc-0.18.0/src/gob/gmpc-metaimage.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-metaimage.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,138 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include -#ifdef GMPC_BUILD -#include -#else -#include -#endif - -#ifndef __GMPC_METAIMAGE_H__ -#define __GMPC_METAIMAGE_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_METAIMAGE (gmpc_metaimage_get_type()) -#define GMPC_METAIMAGE(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_metaimage_get_type(), GmpcMetaImage) -#define GMPC_METAIMAGE_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_metaimage_get_type(), GmpcMetaImage const) -#define GMPC_METAIMAGE_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_metaimage_get_type(), GmpcMetaImageClass) -#define GMPC_IS_METAIMAGE(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_metaimage_get_type ()) - -#define GMPC_METAIMAGE_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_metaimage_get_type(), GmpcMetaImageClass) - -/* Private structure type */ -typedef struct _GmpcMetaImagePrivate GmpcMetaImagePrivate; - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_METAIMAGE__ -#define __TYPEDEF_GMPC_METAIMAGE__ -typedef struct _GmpcMetaImage GmpcMetaImage; -#endif -struct _GmpcMetaImage { - GtkEventBox __parent__; - /*< public >*/ - int size; - int image_type; - MpdObj * connection; - gboolean hide_on_na; - gboolean squared; - gchar * no_cover_icon; - gchar * loading_cover_icon; - gboolean is_visible; - /*< private >*/ - GmpcMetaImagePrivate *_priv; -}; - -/* - * Class definition - */ -typedef struct _GmpcMetaImageClass GmpcMetaImageClass; -struct _GmpcMetaImageClass { - GtkEventBoxClass __parent__; -}; - - -/* - * Public methods - */ -GType gmpc_metaimage_get_type (void); -gint gmpc_metaimage_get_image_type (GmpcMetaImage * self); -void gmpc_metaimage_set_image_type (GmpcMetaImage * self, - gint val); -gint gmpc_metaimage_get_size (GmpcMetaImage * self); -void gmpc_metaimage_set_size (GmpcMetaImage * self, - gint val); -gboolean gmpc_metaimage_get_hide_on_na (GmpcMetaImage * self); -void gmpc_metaimage_set_hide_on_na (GmpcMetaImage * self, - gboolean val); -void gmpc_metaimage_set_no_cover_icon (GmpcMetaImage * self, - const gchar * name); -void gmpc_metaimage_set_loading_cover_icon (GmpcMetaImage * self, - const gchar * name); -void gmpc_metaimage_set_squared (GmpcMetaImage * self, - const gboolean item); -void gmpc_metaimage_set_connection (GmpcMetaImage * self, - MpdObj * conn); -GtkWidget * gmpc_metaimage_new_size (int type, - int size); -GtkWidget * gmpc_metaimage_new (int type); -void gmpc_metaimage_update_cover (GmpcMetaImage * self, - MpdObj * mi, - ChangedStatusType what, - GmpcConnection * gc); -void gmpc_metaimage_update_cover_from_song (GmpcMetaImage * self, - mpd_Song * song); -void gmpc_metaimage_update_cover_from_song_delayed (GmpcMetaImage * self, - mpd_Song * song); -void gmpc_metaimage_set_cover_na (GmpcMetaImage * self); -void gmpc_metaimage_set_cover_fetching (GmpcMetaImage * self); -void gmpc_metaimage_set_cover_from_path (GmpcMetaImage * self, - const gchar * path); -void gmpc_metaimage_set_is_visible (GmpcMetaImage * self, - gboolean is_visible); -void gmpc_metaimage_query_refetch (GmpcMetaImage * self); -void gmpc_metaimage_select_file (GmpcMetaImage * self); -void gmpc_metaimage_reload_image (GmpcMetaImage * self); - -/* - * Argument wrapping macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define GMPC_METAIMAGE_PROP_IMAGE_TYPE(arg) "image_type", __extension__ ({gint z = (arg); z;}) -#define GMPC_METAIMAGE_GET_PROP_IMAGE_TYPE(arg) "image_type", __extension__ ({gint *z = (arg); z;}) -#define GMPC_METAIMAGE_PROP_SIZE(arg) "size", __extension__ ({gint z = (arg); z;}) -#define GMPC_METAIMAGE_GET_PROP_SIZE(arg) "size", __extension__ ({gint *z = (arg); z;}) -#define GMPC_METAIMAGE_PROP_HIDE_ON_NA(arg) "hide_on_na", __extension__ ({gboolean z = (arg); z;}) -#define GMPC_METAIMAGE_GET_PROP_HIDE_ON_NA(arg) "hide_on_na", __extension__ ({gboolean *z = (arg); z;}) -#define GMPC_METAIMAGE_PROP_SQUARED(arg) "squared", __extension__ ({gboolean z = (arg); z;}) -#define GMPC_METAIMAGE_GET_PROP_SQUARED(arg) "squared", __extension__ ({gboolean *z = (arg); z;}) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define GMPC_METAIMAGE_PROP_IMAGE_TYPE(arg) "image_type",(gint )(arg) -#define GMPC_METAIMAGE_GET_PROP_IMAGE_TYPE(arg) "image_type",(gint *)(arg) -#define GMPC_METAIMAGE_PROP_SIZE(arg) "size",(gint )(arg) -#define GMPC_METAIMAGE_GET_PROP_SIZE(arg) "size",(gint *)(arg) -#define GMPC_METAIMAGE_PROP_HIDE_ON_NA(arg) "hide_on_na",(gboolean )(arg) -#define GMPC_METAIMAGE_GET_PROP_HIDE_ON_NA(arg) "hide_on_na",(gboolean *)(arg) -#define GMPC_METAIMAGE_PROP_SQUARED(arg) "squared",(gboolean )(arg) -#define GMPC_METAIMAGE_GET_PROP_SQUARED(arg) "squared",(gboolean *)(arg) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-meta-text-view.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-meta-text-view.gob --- gmpc-0.18.0/src/gob/gmpc-meta-text-view.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-meta-text-view.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,279 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%headertop{ -#include -#include -#include "main.h" -#include "misc.h" -%} - -class Gmpc:Meta:Text:View from Gtk:Text:View { - private GtkTextBuffer *buffer = {gtk_text_buffer_new(NULL)} unrefwith g_object_unref; - private mpd_Song *song = {NULL} destroywith mpd_freeSong; - private int type = {META_ARTIST_TXT}; - private gulong meta_id = {0}; - - init (self) - { - gtk_text_view_set_buffer(GTK_TEXT_VIEW(self), self->_priv->buffer); - gtk_text_view_set_editable(GTK_TEXT_VIEW(self), FALSE); - gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(self), GTK_WRAP_WORD); - g_signal_connect(G_OBJECT(self), "populate-popup", G_CALLBACK(self_menu_populate_callback), NULL); - self->_priv->meta_id= g_signal_connect(G_OBJECT(gmw), "data-changed", G_CALLBACK(self_meta_callback), self); - } - - public - GtkWidget * new (int type) - { - Self *gmi = GET_NEW; - gmi->_priv->type = type; - return (GtkWidget *)gmi; - } - - private - void - menu_populate_callback(self, GtkMenu *menu, gpointer data) - { - if(self->_priv->song) - { - GtkWidget *item = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - - item = gtk_image_menu_item_new_with_label(_("Refetch")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_query_refetch),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - item = gtk_image_menu_item_new_with_label(_("Select file")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU)); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_select_file),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLEAR, NULL); - g_signal_connect_swapped(G_OBJECT(item), "activate", G_CALLBACK(self_clear_entry),self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); - - gtk_widget_show_all(GTK_WIDGET(menu)); - } - } - - public - void - query_refetch(self) - { - if(self->_priv->song) - { - gchar *path = NULL; - MetaDataResult ret; - ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->_priv->type|META_QUERY_NO_CACHE, &path); - if(ret == META_DATA_FETCHING) - { - self_set_text_fetching(self); - }else if (ret == META_DATA_AVAILABLE) { - self_set_text_from_path(self,path); - } else { - self_set_text_na(self); - } - if(path) - { - q_free(path); - } - } - } - - public - void - query_text_from_song(self, mpd_Song *song) - { - gchar *path = NULL; - MetaDataResult ret; - - if(self->_priv->song) - { - mpd_freeSong(self->_priv->song); - } - self->_priv->song = mpd_songDup(song); - - - ret = gmpc_meta_watcher_get_meta_path(gmw,self->_priv->song, self->_priv->type, &path); - if(ret == META_DATA_FETCHING) - { - self_set_text_fetching(self); - }else if (ret == META_DATA_AVAILABLE) { - self_set_text_from_path(self,path); - } else { - self_set_text_na(self); - } - if(path) - { - q_free(path); - } - } - - signal last NONE (STRING) - void - set_text_from_path(self, gchar *path) - { - gchar *content=NULL; - gsize size = 0; - if(g_file_get_contents (path,&content,&size,NULL)) - { - gchar *new_data = NULL; - gsize new_size = 0; - if(g_utf8_validate(content, size, NULL)) - { - gtk_text_buffer_set_text(self->_priv->buffer, content, size); - } - else - { - new_data = g_locale_to_utf8(content, size, NULL, &new_size, NULL); - if(new_data) - { - gtk_text_buffer_set_text(self->_priv->buffer, new_data, new_size); - g_free(new_data); - } - else - { - new_data = g_strdup_printf("%s: '%s' %s", _("Failed to open file:"), path,_("because of encoding issues")); - gtk_text_buffer_set_text(self->_priv->buffer,new_data,-1); - g_free(new_data); - } - } - g_free(content); - } - } - - signal last NONE (NONE) - void - set_text_fetching(self) - { - if(self->_priv->type == META_SONG_TXT) - { - gtk_text_buffer_set_text(GTK_TEXT_BUFFER(self->_priv->buffer), _("Fetching Lyric"),-1); - } - else if (self->_priv->type == META_ARTIST_TXT) - { - gtk_text_buffer_set_text(GTK_TEXT_BUFFER(self->_priv->buffer), _("Fetching Artist Info"),-1); - } - else - { - gtk_text_buffer_set_text(GTK_TEXT_BUFFER(self->_priv->buffer), _("Fetching Album Info"),-1); - } - } - - signal last NONE (NONE) - void - set_text_na(self) - { - gtk_text_buffer_set_text(GTK_TEXT_BUFFER(self->_priv->buffer), _("Not Available"),-1); - } - - private - void - meta_callback(GmpcMetaWatcher *mw , mpd_Song *song, MetaDataType type, MetaDataResult ret, char *path,gpointer data) - { - Self *self = data; - /** - * Check for fields - */ - if(self->_priv->type != type) - return; - - if(!gmpc_meta_watcher_match_data(self->_priv->type, self->_priv->song, song)) - { - return; - } - if(ret == META_DATA_AVAILABLE) { - self_set_text_from_path(self,path); - } else if (ret == META_DATA_FETCHING) { - self_set_text_fetching(self); - } else { - self_set_text_na(self); - } - } - override (G:Object) - void - finalize (G:Object *obj) - { - - PARENT_HANDLER(obj); - } - override (G:Object) - void - dispose (G:Object *obj) - { - Self *self = GMPC_META_TEXT_VIEW(obj); - if(self->_priv->meta_id) - { - g_signal_handler_disconnect(G_OBJECT(gmw),self->_priv->meta_id); - self->_priv->meta_id = 0; - } - - PARENT_HANDLER(obj); - } - public - void - clear_entry(self) - { - meta_data_set_cache(self->_priv->song,self->_priv->type, META_DATA_UNAVAILABLE, NULL); - gmpc_meta_watcher_data_changed(gmw, self->_priv->song, self->_priv->type, META_DATA_UNAVAILABLE, NULL); - } - public - void - select_file(self) - { - mpd_Song *song = mpd_songDup(self->_priv->song); - MetaDataType type = self->_priv->type; - GtkFileFilter *gff = gtk_file_filter_new(); - GtkWidget *fcd = gtk_file_chooser_dialog_new(_("Select File"),NULL, - GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, - NULL); - gtk_file_filter_set_name(gff, _("Text Document")); - gtk_file_filter_add_mime_type(gff, "text/plain"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); - gff = gtk_file_filter_new(); - gtk_file_filter_set_name(gff, _("All")); - gtk_file_filter_add_pattern(gff, "*"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(fcd), gff); - - gtk_widget_show_all(fcd); - switch(gtk_dialog_run(GTK_DIALOG(fcd))) - { - case GTK_RESPONSE_ACCEPT: - { - gchar *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(fcd)); - meta_data_set_cache(song,type, META_DATA_AVAILABLE, filename); - gmpc_meta_watcher_data_changed(gmw, song, type, META_DATA_AVAILABLE, filename); - - g_free(filename); - } - default: - break; - } - gtk_widget_destroy(fcd); - mpd_freeSong(song); - - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-meta-watcher.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-meta-watcher.gob --- gmpc-0.18.0/src/gob/gmpc-meta-watcher.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-meta-watcher.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,164 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 -%ht{ -#include -#include -#include -#include "metadata.h" - -%} - - -class Gmpc:Meta:Watcher from G:Object { - public int total_requested= 0; - public int queued_requests = 0; - init(self) - { - } - public - int - get_total_requested(self) - { - return self->total_requested; - } - public - int - get_queued_requests(self) - { - return self->queued_requests; - } - - public - GmpcMetaWatcher * new (void) - { - return GET_NEW; - } - - signal last NONE (POINTER, INT, INT, STRING) - void - data_changed(self, mpd_Song *song, MetaDataType type,MetaDataResult result, gchar *path) - { - - } - - /** - * This signal forces metadata widgets to re-display itself - * F.e. because stylized is enabled/disabled - */ - signal last NONE (NONE) - void - force_reload(self) - { - - } - - - - public - gboolean - match_data(MetaDataType type, mpd_Song *song1, mpd_Song *song2) - { - if(song1 == NULL || song2 == NULL) - return FALSE; - switch(type) - { - case META_SONG_TXT: - if(song1->file && song2->file && !strcmp(song1->file, song2->file)) - return TRUE; - return FALSE; - - case META_ALBUM_TXT: - case META_ALBUM_ART: - if(song1->album == NULL || song2->album == NULL || strcmp(song1->album, song2->album)) - { - return FALSE; - } - case META_ARTIST_SIMILAR: - case META_ARTIST_TXT: - case META_ARTIST_ART: - if(song1->albumartist && song2->albumartist && !strcmp(song1->albumartist, song2->albumartist)) - { - return TRUE; - } - if(song1->artist && song2->artist && !strcmp(song1->artist, song2->artist)) - { - - return TRUE; - } - /* if we rewrite the artist, to be various (collection) also "see that" */ - if((song1->artist && !strcmp(song1->artist, "Various Artists")) || - (song2->artist && !strcmp(song2->artist, "Various Artists"))) - { - return TRUE; - } - break; - case META_SONG_SIMILAR: - if(song1->title == NULL || song2->title == NULL || strcmp(song1->title, song2->title)) - { - return FALSE; - } - if(song1->artist && song2->artist && !strcmp(song1->artist, song2->artist)) - { - - return TRUE; - } - /* if we rewrite the artist, to be various (collection) also "see that" */ - if((song1->artist && !strcmp(song1->artist, "Various Artists")) || - (song2->artist && !strcmp(song2->artist, "Various Artists"))) - { - return TRUE; - } - default: - break; - } - return FALSE; - } - - public - void - get_meta_path_callback(self, mpd_Song *song, MetaDataType type, MetaDataCallback callback, gpointer data) - { - gchar *path = NULL; - MetaDataResult ret; - - if(!self_match_data(type&META_QUERY_DATA_TYPES, song,song)) - { - callback(song, META_DATA_UNAVAILABLE, NULL, data); - } - ret = meta_data_get_path(song, type, &path,callback,data); - callback(song,ret,path,data); - if(path) g_free(path); - } - - public - MetaDataResult - get_meta_path(self, mpd_Song *song, MetaDataType type, gchar **path) - { - g_assert(path != NULL); - - if(!self_match_data(type&META_QUERY_DATA_TYPES, song,song)) - { - return META_DATA_UNAVAILABLE; - } - - return meta_data_get_path(song, type, path,NULL,NULL); - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-meta-watcher.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-meta-watcher.h --- gmpc-0.18.0/src/gob/gmpc-meta-watcher.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-meta-watcher.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,107 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include -#include -#include "metadata.h" - - -#ifndef __GMPC_META_WATCHER_H__ -#define __GMPC_META_WATCHER_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_META_WATCHER (gmpc_meta_watcher_get_type()) -#define GMPC_META_WATCHER(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_meta_watcher_get_type(), GmpcMetaWatcher) -#define GMPC_META_WATCHER_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_meta_watcher_get_type(), GmpcMetaWatcher const) -#define GMPC_META_WATCHER_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_meta_watcher_get_type(), GmpcMetaWatcherClass) -#define GMPC_IS_META_WATCHER(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_meta_watcher_get_type ()) - -#define GMPC_META_WATCHER_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_meta_watcher_get_type(), GmpcMetaWatcherClass) - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_META_WATCHER__ -#define __TYPEDEF_GMPC_META_WATCHER__ -typedef struct _GmpcMetaWatcher GmpcMetaWatcher; -#endif -struct _GmpcMetaWatcher { - GObject __parent__; - /*< public >*/ - int total_requested; - int queued_requests; -}; - -/* - * Class definition - */ -typedef struct _GmpcMetaWatcherClass GmpcMetaWatcherClass; -struct _GmpcMetaWatcherClass { - GObjectClass __parent__; - /*signal*/void (* data_changed) (GmpcMetaWatcher * self, mpd_Song * song, MetaDataType type, MetaDataResult result, gchar * path); - /*signal*/void (* force_reload) (GmpcMetaWatcher * self); -}; - - -/* - * Public methods - */ -GType gmpc_meta_watcher_get_type (void); -int gmpc_meta_watcher_get_total_requested (GmpcMetaWatcher * self); -int gmpc_meta_watcher_get_queued_requests (GmpcMetaWatcher * self); -GmpcMetaWatcher * gmpc_meta_watcher_new (void); -void gmpc_meta_watcher_data_changed (GmpcMetaWatcher * self, - mpd_Song * song, - MetaDataType type, - MetaDataResult result, - gchar * path); -void gmpc_meta_watcher_force_reload (GmpcMetaWatcher * self); -gboolean gmpc_meta_watcher_match_data (MetaDataType type, - mpd_Song * song1, - mpd_Song * song2); -void gmpc_meta_watcher_get_meta_path_callback (GmpcMetaWatcher * self, - mpd_Song * song, - MetaDataType type, - MetaDataCallback callback, - gpointer data); -MetaDataResult gmpc_meta_watcher_get_meta_path (GmpcMetaWatcher * self, - mpd_Song * song, - MetaDataType type, - gchar ** path); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_meta_watcher_connect__data_changed(object,func,data) g_signal_connect(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"data_changed",(GCallback) __extension__ ({void (* ___data_changed) (GmpcMetaWatcher * ___fake___self, mpd_Song * ___fake___song, MetaDataType ___fake___type, MetaDataResult ___fake___result, gchar * ___fake___path, gpointer ___data ) = (func); ___data_changed; }), (data)) -#define gmpc_meta_watcher_connect_after__data_changed(object,func,data) g_signal_connect_after(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"data_changed",(GCallback) __extension__ ({void (* ___data_changed) (GmpcMetaWatcher * ___fake___self, mpd_Song * ___fake___song, MetaDataType ___fake___type, MetaDataResult ___fake___result, gchar * ___fake___path, gpointer ___data ) = (func); ___data_changed; }), (data)) -#define gmpc_meta_watcher_connect_data__data_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"data_changed",(GCallback) __extension__ ({void (* ___data_changed) (GmpcMetaWatcher * ___fake___self, mpd_Song * ___fake___song, MetaDataType ___fake___type, MetaDataResult ___fake___result, gchar * ___fake___path, gpointer ___data ) = (func); ___data_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#define gmpc_meta_watcher_connect__force_reload(object,func,data) g_signal_connect(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"force_reload",(GCallback) __extension__ ({void (* ___force_reload) (GmpcMetaWatcher * ___fake___self, gpointer ___data ) = (func); ___force_reload; }), (data)) -#define gmpc_meta_watcher_connect_after__force_reload(object,func,data) g_signal_connect_after(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"force_reload",(GCallback) __extension__ ({void (* ___force_reload) (GmpcMetaWatcher * ___fake___self, gpointer ___data ) = (func); ___force_reload; }), (data)) -#define gmpc_meta_watcher_connect_data__force_reload(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_META_WATCHER(__extension__ ({GmpcMetaWatcher *___object = (object); ___object; })),"force_reload",(GCallback) __extension__ ({void (* ___force_reload) (GmpcMetaWatcher * ___fake___self, gpointer ___data ) = (func); ___force_reload; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_meta_watcher_connect__data_changed(object,func,data) g_signal_connect(GMPC_META_WATCHER(object),"data_changed",(GCallback)(func),(data)) -#define gmpc_meta_watcher_connect_after__data_changed(object,func,data) g_signal_connect_after(GMPC_META_WATCHER(object),"data_changed",(GCallback)(func),(data)) -#define gmpc_meta_watcher_connect_data__data_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_META_WATCHER(object),"data_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#define gmpc_meta_watcher_connect__force_reload(object,func,data) g_signal_connect(GMPC_META_WATCHER(object),"force_reload",(GCallback)(func),(data)) -#define gmpc_meta_watcher_connect_after__force_reload(object,func,data) g_signal_connect_after(GMPC_META_WATCHER(object),"force_reload",(GCallback)(func),(data)) -#define gmpc_meta_watcher_connect_data__force_reload(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_META_WATCHER(object),"force_reload",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-model.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-model.gob --- gmpc-0.18.0/src/gob/gmpc-mpddata-model.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-model.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,1236 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%ht{ -#include -#include -#include -%} - -%privateheader{ -#include "playlist3.h" -#include "config1.h" -#include "config-defaults.h" -#include "main.h" -#include "misc.h" - -%} - -%h{ - enum - { - MPDDATA_MODEL_COL_MPDSONG = 0, /* get the mpd_Song */ - MPDDATA_MODEL_COL_PLAYING, /* Shows if this song is the current song */ - MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT, /* Shows if this song is the current song */ - MPDDATA_MODEL_COL_PATH, /* Path to song/file/directory */ - MPDDATA_MODEL_COL_MARKUP, /* a string that has FALSEmarkup */ - MPDDATA_MODEL_COL_SONG_ARTIST, /* artist name */ - MPDDATA_MODEL_COL_SONG_ALBUM, /* album name */ - MPDDATA_MODEL_COL_SONG_TITLE, /* song title */ - MPDDATA_MODEL_COL_SONG_TITLEFILE, /* song title */ - MPDDATA_MODEL_COL_SONG_GENRE, /* song genre */ - MPDDATA_MODEL_COL_SONG_TRACK, /* song track */ - MPDDATA_MODEL_COL_SONG_NAME, /* stream name */ - MPDDATA_MODEL_COL_SONG_COMPOSER, /* composer name */ - MPDDATA_MODEL_COL_SONG_PERFORMER, /* performer */ - MPDDATA_MODEL_COL_SONG_DATE, /* date */ - MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, /* length formatted */ - MPDDATA_MODEL_COL_SONG_DISC, /* disc */ - MPDDATA_MODEL_COL_SONG_COMMENT, /* comment */ - MPDDATA_MODEL_COL_SONG_POS, /* position */ - MPDDATA_MODEL_COL_SONG_ALBUMARTIST, - MPDDATA_MODEL_COL_PATH_EXTENSION, /* Extention */ - MPDDATA_MODEL_COL_PATH_DIRECTORY, /* Directory */ - MPDDATA_MODEL_COL_SONG_ID, /* col id */ - MPDDATA_MODEL_COL_ICON_ID, /* icon id */ - MPDDATA_MODEL_COL_SONG_LENGTH, /* length */ - MPDDATA_MODEL_TAG_TYPE, /* tag type */ - MPDDATA_MODEL_ROW_TYPE, /* type of the row */ - MPDDATA_MODEL_META_DATA, /* metadata */ - MPDDATA_MODEL_USERDATA, - MPDDATA_MODEL_N_COLUMNS - } ; -%} - - class Gmpc:MpdData:Model from G:Object - (interface Gtk:Tree:Sortable) - (interface Gtk:Tree:Model) -{ - private gint stamp = {g_random_int()}; - public GType types[MPDDATA_MODEL_N_COLUMNS]; - private MpdData *data = NULL; - public gint num_rows = 0; - private GdkPixbuf **images = NULL; - private gchar *req_artist = {NULL} destroywith g_free; - public gint icon_size = {cfg_get_single_value_as_int_with_default(config, "gmpc-mpddata-model", "icon-size", 64)}; - - /* sorting */ - private GtkSortType sort_order = GTK_SORT_ASCENDING; - private int sort_column = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; - private int old_sort_column = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; - public gboolean has_up = FALSE; - private gchar *markup = {gmpc_signals_get_browser_markup(gmpc_signals)} destroywith g_free; - private gulong markup_signal = 0; - - private gulong playtime = {0}; - - - private gboolean use_images = TRUE; - - property BOOLEAN has_up - (nick = "Has Up", - blurb = "Show an 'up row", - default_value = FALSE, - export, - link); - - private - void - markup_changed(self, const char *markup, gpointer data) - { - int i=0; - GtkTreePath *path = NULL; - GtkTreeIter iter; - MpdData *data2 = mpd_data_get_first(self->_priv->data); - - /* set the new markup */ - if(self->_priv->markup ) - g_free(self->_priv->markup); - self->_priv->markup = g_strdup(markup); - - if(self->has_up) i = 1; - for(;data2; data2 = mpd_data_get_next_real(data2,FALSE)) - { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,i); - iter.stamp = self->_priv->stamp; - iter.user_data = data2; - iter.user_data2 = GINT_TO_POINTER(i); - - /* propegate change */ - gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); - i++; - } - } - - init(self) - { - self->types[MPDDATA_MODEL_COL_MPDSONG] = G_TYPE_POINTER; - self->types[MPDDATA_MODEL_COL_MARKUP] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_PLAYING] = G_TYPE_BOOLEAN; - self->types[MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT] = G_TYPE_INT; - self->types[MPDDATA_MODEL_COL_PATH] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_ARTIST] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_ALBUM] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_TITLE] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_TITLEFILE] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_TRACK] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_GENRE] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_NAME] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_COMPOSER] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_PERFORMER]= G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_DATE] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_LENGTH] = G_TYPE_INT; - self->types[MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_DISC] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_COMMENT] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_POS] = G_TYPE_INT; - self->types[MPDDATA_MODEL_COL_SONG_ALBUMARTIST] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_PATH_EXTENSION] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_PATH_DIRECTORY] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_COL_SONG_ID] = G_TYPE_INT; - self->types[MPDDATA_MODEL_COL_ICON_ID] = G_TYPE_STRING; - self->types[MPDDATA_MODEL_TAG_TYPE] = G_TYPE_INT; - self->types[MPDDATA_MODEL_ROW_TYPE] = G_TYPE_INT; - self->types[MPDDATA_MODEL_USERDATA] = G_TYPE_POINTER; - self->types[MPDDATA_MODEL_META_DATA] = GDK_TYPE_PIXBUF; - - self->_priv->markup_signal = g_signal_connect_swapped(G_OBJECT(gmpc_signals), "browser-markup-changed", G_CALLBACK(self_markup_changed), self); - } - class_init(klass); - - public - Gmpc:MpdData:Model *new (void) - { - return GET_NEW; - } - - override (G:Object) - void - finalize (G:Object *obj) - { - int i =0; - Self *self = GMPC_MPDDATA_MODEL(obj); - if(self->_priv->markup_signal) - { - g_signal_handler_disconnect(G_OBJECT(gmpc_signals),self->_priv->markup_signal); - } - self->_priv->markup_signal = 0; - - if(self->_priv->data) - { - mpd_data_free(self->_priv->data); - self->_priv->data = NULL; - } - if(self->_priv->images && self->_priv->use_images) - { - for(i=0;inum_rows;i++) - { - if(self->_priv->images[i]) { - g_object_unref(self->_priv->images[i]); - self->_priv->images[i] = NULL; - } - } - q_free(self->_priv->images); - /* q_free should do it, but force it */ - self->_priv->images = NULL; - } - PARENT_HANDLER(obj); - } - /* function implemented for the Gtk:Tree:Model interface */ - interface Gtk:Tree:Model - private GtkTreeModelFlags - get_flags (Gtk:Tree:Model *self (check null type)) - { - /* Here would be the implementation */ - return (GtkTreeModelFlags)GTK_TREE_MODEL_LIST_ONLY; - } - - - interface Gtk:Tree:Model - public - gboolean iter_children(Gtk:Tree:Model *model, GtkTreeIter *iter, GtkTreeIter *parent) - { - Self *self = GMPC_MPDDATA_MODEL(model); - if(parent) - return FALSE; - if(self->num_rows == 0) - return FALSE; - /* Set iter to first item in list */ - iter->stamp = self->_priv->stamp; - iter->user_data = self->_priv->data; - iter->user_data2 = GINT_TO_POINTER(0); - iter->user_data3 = NULL; /* unused */ - - return TRUE; - } - /** - * Unused, not known in the model directly? - */ - interface Gtk:Tree:Model - public - gint get_n_columns(Gtk:Tree:Model *model) - { - return MPDDATA_MODEL_N_COLUMNS; - } - - interface Gtk:Tree:Model - private gboolean - get_iter(Gtk:Tree:Model *model (check null type), - Gtk:Tree:Iter *iter (check null), - Gtk:Tree:Path *path (check null)) - { - MpdData *data = NULL; - Self *self = GMPC_MPDDATA_MODEL(model); - gint *indices, n,depth,i; - indices = gtk_tree_path_get_indices(path); - depth = gtk_tree_path_get_depth(path); - - /* No Children */ - g_assert(depth == 1); - - n = indices[0]; /* the n-th top level row */ - if (n >= self->num_rows || n < 0) - return FALSE; - - data = (MpdData*)self->_priv->data; - i=0; - if(self->has_up) - { - i=1; - } - for(; i < (n);i++) - { - data = mpd_data_get_next_real(data,FALSE); - } - g_assert(nnum_rows); - if(self->has_up && n == 0) - data = NULL; - - iter->stamp = self->_priv->stamp; - iter->user_data = data; - iter->user_data2 = GINT_TO_POINTER(n); - return TRUE; - } - - interface Gtk:Tree:Model - private gboolean - iter_next(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null)) - { - Self *self = GMPC_MPDDATA_MODEL(model); - MpdData *data = iter->user_data; - int n = GPOINTER_TO_INT(iter->user_data2) ; - /* if the row is the last row in the list or bigger then the last row, return FALSE */ - if(n >= self->num_rows) - { - return FALSE; - } - /* if the row is the first row in the list, and it has a "go-up" entry, - * it can have a next entry - */ - if(data == NULL && n == 0 && self->has_up == TRUE) - { - iter->user_data = (MpdData *)self->_priv->data; - iter->user_data2 = GINT_TO_POINTER(1); - if(iter->user_data == NULL) - return FALSE; - return TRUE; - } - if(mpd_data_get_next_real(data,FALSE) == NULL) - { - return FALSE; - } - iter->user_data = (MpdData *)mpd_data_get_next_real(data,FALSE); - iter->user_data2 = GINT_TO_POINTER(n+1); - g_assert(iter->user_data != NULL); - return TRUE; - } - - interface Gtk:Tree:Model - private gboolean - iter_has_child(Gtk:Tree:Model *self (check null type), GtkTreeIter *iter) - { - return FALSE; - } - interface Gtk:Tree:Model - private gint - iter_n_children(Gtk:Tree:Model *model (check null type), GtkTreeIter *iter) - { - Self *list = GMPC_MPDDATA_MODEL(model); - if(iter) - return 0; - return list->num_rows; - } - - interface Gtk:Tree:Model - private gboolean - iter_parent(Gtk:Tree:Model *model (check null type), Gtk:Tree:Iter *iter, Gtk:Tree:Iter *child) - { - return FALSE; - } - private - void - cover_art_fetched(mpd_Song *song, MetaDataResult ret, char *coverpath,GtkTreeRowReference *ref) - { - - if(ref) - { - GtkTreePath *path =gtk_tree_row_reference_get_path(ref); - GtkTreeModel *model = gtk_tree_row_reference_get_model(ref); - if(path && model) - { - int n; - Self *self = GMPC_MPDDATA_MODEL(model); - GtkTreeIter iter; - - g_assert(self->_priv->use_images == TRUE); - - gtk_tree_model_get_iter(model, &iter, path); - n = GPOINTER_TO_INT(iter.user_data2) ; - if(ret == META_DATA_AVAILABLE) - { - GdkPixbuf *pb = gdk_pixbuf_new_from_file_at_size(coverpath,self->icon_size,self->icon_size,NULL); - screenshot_add_border(&pb); - if(self->_priv->images[n]) g_object_unref(self->_priv->images[n]); - self->_priv->images[n] = pb; - } - else if(ret == META_DATA_UNAVAILABLE) - { - GdkPixbuf *pb2; - pb2 = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-no-cover", self->icon_size, 0,NULL); - if(self->_priv->images[n]) g_object_unref(self->_priv->images[n]); - self->_priv->images[n] = pb2; - } - gtk_tree_model_row_changed(model,path, &iter); - gtk_tree_path_free(path); - } - - if(ret == META_DATA_AVAILABLE || ret == META_DATA_UNAVAILABLE) - { - if(ref) - { - gtk_tree_row_reference_free(ref); - } - } - } - } - - interface Gtk:Tree:Model - public void - get_value(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), gint column (check >= 0 < MPDDATA_MODEL_N_COLUMNS), GValue *value (check null)) - { - Self *self = GMPC_MPDDATA_MODEL(model); - MpdData_real *data = iter->user_data; - int n = GPOINTER_TO_INT(iter->user_data2); - - /* set value to the correct type */ - g_value_init(value, self->types[column]); - - /** - * Sanity checks - */ - g_assert((n < self->num_rows || n == 0)); - g_assert(!(data == NULL && n != 0)); - - /* handle row up */ - if(data == NULL && n == 0) - { - switch(column) - { - case MPDDATA_MODEL_COL_ICON_ID: - g_value_set_string(value, GTK_STOCK_GO_UP); - break; - case MPDDATA_MODEL_ROW_TYPE: - /** - * Make define - */ - g_value_set_int(value, -1); - break; - case MPDDATA_MODEL_COL_SONG_TITLE: - case MPDDATA_MODEL_COL_MARKUP: - { - g_value_set_string(value,".."); - break; - } - default: - break; - } - return; - } - - if(column == MPDDATA_MODEL_META_DATA) - { - if(self->_priv->use_images) - { - if(self->_priv->images[n] == NULL) - { - if(data->type == MPD_DATA_TYPE_TAG && (data->tag_type == MPD_TAG_ITEM_ARTIST || data->tag_type == MPD_TAG_ITEM_ALBUM_ARTIST) ) - { - mpd_Song *song; - GtkTreePath *path; - GtkTreeRowReference *ref; - self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-loading-cover", self->icon_size, 0,NULL); - song = mpd_newSong(); - song->artist = g_strdup(data->tag); - song->album = NULL; - path = gtk_tree_model_get_path(GTK_TREE_MODEL(self), iter); - ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(self),path); - gmpc_meta_watcher_get_meta_path_callback(gmw,song, META_ARTIST_ART, (MetaDataCallback)self_cover_art_fetched, (gpointer)ref); - mpd_freeSong(song); - gtk_tree_path_free(path); - } - - else if(data->type == MPD_DATA_TYPE_TAG && data->tag_type == MPD_TAG_ITEM_ALBUM && self->_priv->req_artist) - { - mpd_Song *song; - GtkTreePath *path; - GtkTreeRowReference *ref; - self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-loading-cover", self->icon_size, 0,NULL); - song = mpd_newSong(); - song->artist = g_strdup(self->_priv->req_artist); - song->albumartist = g_strdup(self->_priv->req_artist); - song->album = g_strdup(data->tag); - path = gtk_tree_model_get_path(GTK_TREE_MODEL(self), iter); - ref = gtk_tree_row_reference_new(GTK_TREE_MODEL(self),path); - gmpc_meta_watcher_get_meta_path_callback(gmw,song, META_ALBUM_ART, (MetaDataCallback)self_cover_art_fetched, ref); - mpd_freeSong(song); - gtk_tree_path_free(path); - } - else - { - self->_priv->images[n] = gtk_icon_theme_load_icon(gtk_icon_theme_get_default(), "gmpc-no-cover", self->icon_size, 0,NULL); - } - } - g_value_set_object(value, self->_priv->images[n]); - }else{ - g_value_set_object(value,NULL); - } - } - if(column == MPDDATA_MODEL_USERDATA) - { - g_value_set_pointer(value,data->userdata); - - } - /* handle row type, this is independent of the row type */ - if(column == MPDDATA_MODEL_ROW_TYPE) - { - g_value_set_int(value, data->type); - return; - } - if (data->type == MPD_DATA_TYPE_TAG) { - switch(column) - { - case MPDDATA_MODEL_COL_ICON_ID: - switch(data->tag_type) - { - case MPD_TAG_ITEM_ALBUM: - g_value_set_string(value, "media-album"); - break; - case MPD_TAG_ITEM_ARTIST: - g_value_set_string(value, "media-artist"); - break; - default: - g_value_set_string(value, "media-tag"); - } - break; - case MPDDATA_MODEL_COL_SONG_TITLE: - case MPDDATA_MODEL_COL_MARKUP: - { - g_value_set_string(value, data->tag); - break; - } - case MPDDATA_MODEL_COL_PATH: - g_value_set_string(value, data->tag); - break; - case MPDDATA_MODEL_TAG_TYPE: - g_value_set_int(value, data->tag_type); - break; - default: - break; - } - } else if(data->type == MPD_DATA_TYPE_DIRECTORY) { - switch(column) - { - case MPDDATA_MODEL_COL_ICON_ID: - g_value_set_string(value, GTK_STOCK_OPEN); - break; - case MPDDATA_MODEL_COL_SONG_TITLE: - case MPDDATA_MODEL_COL_SONG_TITLEFILE: - case MPDDATA_MODEL_COL_MARKUP: - { - gchar *basename = g_path_get_basename(data->directory); - g_value_set_string(value, basename); - g_free(basename); - break; - } - case MPDDATA_MODEL_COL_PATH: - g_value_set_string(value, data->directory); - break; - default: - break; - } - } - else if(data->type == MPD_DATA_TYPE_PLAYLIST) - { - switch(column) - { - case MPDDATA_MODEL_COL_ICON_ID: - g_value_set_string(value, "media-playlist"); - break; - case MPDDATA_MODEL_COL_SONG_TITLE: - case MPDDATA_MODEL_COL_SONG_TITLEFILE: - case MPDDATA_MODEL_COL_MARKUP: - { - gchar *basename = g_path_get_basename(data->playlist->path); - g_value_set_string(value, basename); - g_free(basename); - break; - } - case MPDDATA_MODEL_COL_PATH: - g_value_set_string(value, data->playlist->path); - break; - default: - break; - } - } - else if(data->type == MPD_DATA_TYPE_SONG) - { - mpd_Song *song = data->song; - switch (column) { - case MPDDATA_MODEL_COL_MPDSONG: - g_value_set_pointer(value, song); - break; - case MPDDATA_MODEL_COL_PLAYING: - g_value_set_boolean(value, FALSE); - break; - case MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT: - g_value_set_int(value, PANGO_WEIGHT_NORMAL); - break; - case MPDDATA_MODEL_COL_MARKUP: - { - /* we want to go cache this stuff */ - gchar buffer[1024]; - mpd_song_markup(buffer, 1024, GMPC_MPDDATA_MODEL(model)->_priv->markup, song); - g_value_set_string(value, buffer); - break; - } - case MPDDATA_MODEL_COL_PATH: - g_value_set_string(value, song->file); - break; - case MPDDATA_MODEL_COL_PATH_EXTENSION: - { - int j = strlen(song->file); - for(;j>0&&song->file[j] != '.';j--); - g_value_set_string(value, &(song->file)[j+1]); - break; - } - case MPDDATA_MODEL_COL_PATH_DIRECTORY: - { - gchar *dir = g_path_get_dirname(song->file); - g_value_set_string(value, dir); - g_free(dir); - break; - } - case MPDDATA_MODEL_COL_SONG_ARTIST: - g_value_set_string(value, song->artist); - break; - case MPDDATA_MODEL_COL_SONG_ALBUM: - g_value_set_string(value, song->album); - break; - case MPDDATA_MODEL_COL_SONG_TITLE: - /* If there is a song available use that, else use the filename */ - if(song->title) { - g_value_set_string(value, song->title); - } else { - /* Use the markup stuff, this makes sure it gets processed equaly */ - gchar buffer[1024]; - mpd_song_markup(buffer, 1024, "%shortfile%", song); - g_value_set_string(value, buffer); - } - break; - case MPDDATA_MODEL_COL_SONG_TITLEFILE: - { - gchar *path = g_path_get_basename(song->file); - g_value_set_string(value, path); - g_free(path); - } - break; - case MPDDATA_MODEL_COL_SONG_GENRE: - g_value_set_string(value, song->genre); - break; - case MPDDATA_MODEL_COL_SONG_TRACK: - g_value_set_string(value, song->track); - break; - case MPDDATA_MODEL_COL_SONG_NAME: - g_value_set_string(value, song->name); - break; - case MPDDATA_MODEL_COL_SONG_COMPOSER: - g_value_set_string(value, song->composer); - break; - case MPDDATA_MODEL_COL_SONG_PERFORMER: - g_value_set_string(value, song->performer); - break; - case MPDDATA_MODEL_COL_SONG_DATE: - g_value_set_string(value, song->date); - break; - case MPDDATA_MODEL_COL_SONG_LENGTH: - g_value_set_int(value, song->time); - break; - case MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT: - { - if(song->time >= 0) { - gchar *strdata = g_strdup_printf("%02i:%02i", - song->time/60, song->time%60); - g_value_set_string(value, strdata); - g_free(strdata); - } else { - g_value_set_string(value, "n/a"); - } - } - break; - case MPDDATA_MODEL_COL_SONG_DISC: - g_value_set_string(value, song->disc); - break; - case MPDDATA_MODEL_COL_SONG_COMMENT: - g_value_set_string(value, song->comment); - break; - case MPDDATA_MODEL_COL_SONG_POS: - g_value_set_int(value, song->pos+1); - break; - case MPDDATA_MODEL_COL_SONG_ALBUMARTIST: - g_value_set_string(value, song->albumartist); - break; - case MPDDATA_MODEL_COL_SONG_ID: - g_value_set_int(value, song->id); - break; - - case MPDDATA_MODEL_COL_ICON_ID: - if (strstr(song->file, "://")) { - g_value_set_string(value, "media-stream"); - } else { - g_value_set_string(value, "media-audiofile"); - } - break; - } - } - } - - interface Gtk:Tree:Model - private gboolean - iter_nth_child(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), GtkTreeIter *parent, gint n (check >=0)) - { - Self *self = GMPC_MPDDATA_MODEL(model); - int i; - MpdData_real *data = NULL; - if(parent) - return FALSE; - if (n >= self->num_rows || n < 0) - return FALSE; - - data = (MpdData_real *)self->_priv->data; - i=0; - if(self->has_up) - i=1; - for(; i < (n);i++) - { - data = data->next;//mpd_data_get_next_real(data, FALSE); - g_assert(data != NULL); - } - - if(self->has_up && n == 0) - data = NULL; - - iter->stamp = self->_priv->stamp; - iter->user_data = data; - iter->user_data2 = GINT_TO_POINTER(n); - return TRUE; - } - - interface Gtk:Tree:Model - private GtkTreePath * - get_path(Gtk:Tree:Model *self (check null type), GtkTreeIter *iter (check null)) - { - GtkTreePath *path = NULL; - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path, GPOINTER_TO_INT(iter->user_data2)); - return path; - } - - interface Gtk:Tree:Model - private GType - get_column_type(Gtk:Tree:Model *model(check null type), gint ind (check >= 0)) - { - Self *self = GMPC_MPDDATA_MODEL(model); - return self->types[ind]; - } - public - void - set_request_artist(self, const char *artist) - { - if(self->_priv->req_artist) - q_free(self->_priv->req_artist); - self->_priv->req_artist = (artist != NULL)?g_strdup(artist):NULL; - } - public - const char * - get_request_artist(self) - { - return self->_priv->req_artist; - } - public - long unsigned set_mpd_data(self, MpdData *data2) - { - int i; - long unsigned retval = 0; - GtkTreeIter iter; - GtkTreePath *path = NULL; - int old_num_rows = self->num_rows; - /* Do some cleanup, like removing rows, and so */ - /* loop and remove */ - while ( self->num_rows > 0 ) { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path, self->num_rows - 1 ); - /* propegate change */ - gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); - gtk_tree_path_free(path); - self->num_rows--; - } - - - /** - * Free if there is a list and set it to NULL - */ - if(self->_priv->data) - mpd_data_free(self->_priv->data); - self->_priv->data = NULL; - - if(self->num_rows != 0) - debug_printf(DEBUG_ERROR,"not every row cleared %i\n",self->num_rows); - self->num_rows =0; - /* Free possible stored images */ - if(self->_priv->images && self->_priv->use_images) - { - for(i=0;i< old_num_rows;i++) - { - if(self->_priv->images[i]) - g_object_unref(self->_priv->images[i]); - } - q_free(self->_priv->images); - } - if(data2 == NULL) - { - self->_priv->playtime = 0; - self_playtime_changed(self, self->_priv->playtime); - return 0; - } - - self->_priv->data = mpd_data_get_first(data2); - data2 = NULL; - if(self->_priv->sort_column == MPDDATA_MODEL_COL_ICON_ID) - { - self->_priv->data = misc_sort_mpddata_by_album_disc_track(self->_priv->data); - } - else if ( self->_priv->sort_column != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID ) - { - self->_priv->data = misc_sort_mpddata(self->_priv->data,(GCompareDataFunc)self_sort_func,self ); - } - - if(self->has_up) { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path, self->num_rows); - iter.stamp = self->_priv->stamp; - iter.user_data = NULL; - iter.user_data2 = GINT_TO_POINTER(self->num_rows); - - /* propegate change */ - gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - self->num_rows++; - } - for(data2 = mpd_data_get_first(self->_priv->data);data2; data2 = mpd_data_get_next_real(data2,FALSE)) { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,self->num_rows); - iter.stamp = self->_priv->stamp; - iter.user_data = data2; - iter.user_data2 = GINT_TO_POINTER(self->num_rows); - - /* propegate change */ - gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - self->num_rows++; - if(data2->type == MPD_DATA_TYPE_SONG) - { - if(data2->song && data2->song->time > 0) - retval+= data2->song->time; - } - } - if(self->_priv->use_images) - { - self->_priv->images = g_malloc0((self->num_rows)*sizeof(*(self->_priv->images))); - } - - self->_priv->playtime = retval; - self_playtime_changed(self, self->_priv->playtime); - return retval; - } - - /* Sorting */ - interface Gtk:Tree:Sortable - private - gboolean get_sort_column_id (Gtk:Tree:Sortable *model , gint *sort_column_id, GtkSortType *order) - { - Self *self = GMPC_MPDDATA_MODEL(model); - if(sort_column_id) - *sort_column_id = self->_priv->sort_column; - if(order) - *order = self->_priv->sort_order; - return TRUE; - } - - interface Gtk:Tree:Sortable - private - void set_sort_column_id (Gtk:Tree:Sortable *model , gint sort_column_id, GtkSortType order) - { - Self *self = GMPC_MPDDATA_MODEL(model); - int old_col = self->_priv->sort_column, old_ord = self->_priv->sort_order; -/* if(sort_column_id == -1) - return; - */ self->_priv->sort_column = sort_column_id; - self->_priv->sort_order = order; - /* trigger signal */ - if(old_col != sort_column_id || old_ord != order) - gtk_tree_sortable_sort_column_changed(model); - self->_priv->old_sort_column = self->_priv->sort_column; - - } - - interface Gtk:Tree:Sortable - private - gboolean - has_default_sort_func(Gtk:Tree:Sortable *model) - { - return FALSE; - } - private - int sort_func(gpointer ppaa, gpointer ppbb, Self *self) - { - MpdData_real *a = *(MpdData_real **)ppaa; - MpdData_real *b = *(MpdData_real **)ppbb; - int fact = (self->_priv->sort_order == GTK_SORT_ASCENDING)?-1:1; - - if(a->type != b->type ) - { - int val = a->type - b->type; - return val; - } - else if(a->type == b->type) - { - int val=0; - GtkTreeIter iter; - GValue va = {0,},vb = {0,}; - /* Get values from tree view, so we don't have to replicate code to sort the right entries */ - iter.user_data = a; - iter.user_data2 = GPOINTER_TO_INT(0); - gtk_tree_model_get_value(GTK_TREE_MODEL(self), &iter, self->_priv->sort_column, &va); - iter.user_data = b; - gtk_tree_model_get_value(GTK_TREE_MODEL(self), &iter, self->_priv->sort_column, &vb); - /* if the type is a directory or a tag, always sort on the title column */ - if(a->type == MPD_DATA_TYPE_DIRECTORY || b->type == MPD_DATA_TYPE_TAG) - { - const char *ca,*cb; - ca = g_value_get_string(&va); - cb = g_value_get_string(&vb); - if(ca && cb) { - gchar *aa,*bb; - aa = g_utf8_strdown(ca, -1); - bb = g_utf8_strdown(cb, -1); - val = g_utf8_collate(aa,bb); - g_free(aa); - g_free(bb); - } else { - val = (ca == NULL)?((cb==NULL)?0:-1):1; - } - g_value_unset(&va); - g_value_unset(&vb); - /* return */ - return val*fact; - } - if(self->_priv->sort_column == MPDDATA_MODEL_COL_SONG_TRACK) - { - const char *ca = g_value_get_string(&va); - const char *cb = g_value_get_string(&vb); - gint ca1 = (ca)?atoi(ca):0; - gint cb1 = (cb)?atoi(cb):0; - g_value_unset(&va); - g_value_unset(&vb); - return fact*(ca1-cb1); - } - else if(self->types[self->_priv->sort_column] == G_TYPE_INT) - { - val = g_value_get_int(&va) - g_value_get_int(&vb); - } - else if (self->types[self->_priv->sort_column] == G_TYPE_STRING) - { - const char *ca = g_value_get_string(&va); - const char *cb = g_value_get_string(&vb); - if(ca && cb) { - gchar *aa,*bb; - aa = g_utf8_normalize(ca, -1,G_NORMALIZE_ALL); - bb = g_utf8_normalize(cb, -1,G_NORMALIZE_ALL); - val = g_utf8_collate(aa,bb); - g_free(aa); - g_free(bb); - } else { - val = (ca == NULL)?((cb==NULL)?0:-1):1; - } - } - g_value_unset(&va); - g_value_unset(&vb); - return fact*val; - } - return 0; - } - - interface Gtk:Tree:Sortable - private - void - sort_column_changed(Gtk:Tree:Sortable *model) - { - Self *self = GMPC_MPDDATA_MODEL(model); - if(!self->_priv->data || !(((MpdData_real *)self->_priv->data)->next)) - return; - if(self->_priv->sort_column == MPDDATA_MODEL_COL_ICON_ID) - { - self->_priv->data = misc_sort_mpddata_by_album_disc_track(self->_priv->data); - } - else if(self->_priv->sort_column != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) - { - self->_priv->data = misc_sort_mpddata(self->_priv->data,(GCompareDataFunc)self_sort_func,self ); - } - self->_priv->old_sort_column = self->_priv->sort_column; - - /* tell the view that rows have changed */ - { - int i=0; - GtkTreePath *path = NULL; - GtkTreeIter iter; - MpdData *data2 = mpd_data_get_first(self->_priv->data); - if(self->has_up) i = 1; - for(;data2; data2 = mpd_data_get_next_real(data2,FALSE)) - { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,i); - iter.stamp = self->_priv->stamp; - iter.user_data = data2; - iter.user_data2 = GINT_TO_POINTER(i); - - /* propegate change */ - gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); - i++; - } - } - } - - private - int - test_sort_func(gpointer ppaa, gpointer ppbb, Self *self) - { - MpdData_real *a = *(MpdData_real **)ppaa; - MpdData_real *b = *(MpdData_real **)ppbb; - return strcmp(a->tag, b->tag); - } - - /** - * For now this assumes tag list only. - */ - public - long unsigned set_mpd_data_slow (self, MpdData *data2) - { - MpdData_real *new_list = NULL; - int i=0; - int items=0; - MpdData_real *original = (MpdData_real *)self->_priv->data; - MpdData_real *new = (MpdData_real *) data2; - GtkTreePath *path =NULL; - GtkTreeIter iter; - - /* Free possible stored images */ - if(self->_priv->images && self->_priv->use_images) - { - for(i=0;inum_rows;i++) - { - if(self->_priv->images[i]) - g_object_unref(self->_priv->images[i]); - } - q_free(self->_priv->images); - } - - - - /* sort it identical */ - new = (MpdData_real *)misc_sort_mpddata(data2,(GCompareDataFunc)self_test_sort_func,self ); - - - if(new) { - MpdData_real *n = new->first; - while(n) { - items++; - n = n->next; - } - } - i=0; - /* compare lists */ - if(original) - { - - int has_next; - do - { - has_next = 0; - if(new == NULL) - { - if(self->num_rows > items) - { - /* remove current row */ - self->num_rows--; - - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,i); - - /* propegate change */ - gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); - gtk_tree_path_free(path); - - original = original->next; - has_next = (original )?1:0; - } - } - else - { - int compare = strcmp(new->tag, original->tag); - if(compare < 0) - { - /* add */ - MpdData_real *n = (MpdData_real *) mpd_new_data_struct_append((MpdData *)new_list); - n->type = MPD_DATA_TYPE_TAG; - n->tag_type = new->tag_type; - n->tag = new->tag; - new->tag = NULL; - new_list = n; - - /* add */ - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,i); - iter.stamp = self->_priv->stamp; - iter.user_data = n; - iter.user_data2 = GINT_TO_POINTER(i); - - /* propegate change */ - gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - self->num_rows++; - - new=new->next; - i++; - has_next = 1; - } - else if (compare > 0) - { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,i); - /* propegate change */ - gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); - gtk_tree_path_free(path); - self->num_rows--; - - - original = original->next; - has_next = (original )?1:0; - - }else{ - new_list = (MpdData_real *)mpd_new_data_struct_append((MpdData*)new_list); - new_list->type = MPD_DATA_TYPE_TAG; - new_list->tag_type = new->tag_type; - new_list->tag = new->tag; - new->tag = NULL; - - new = new->next; - original = original->next; - has_next = (original )?1:0; - i++; - } - } - }while(has_next); - } - /* add entries remaining in new */ - if(new) - { - do{ - new_list = (MpdData_real *)mpd_new_data_struct_append((MpdData*)new_list); - new_list->type = MPD_DATA_TYPE_TAG; - new_list->tag_type = new->tag_type; - new_list->tag = new->tag; - new->tag = NULL; - - /* add */ - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path,self->num_rows); - iter.stamp = self->_priv->stamp; - iter.user_data = new_list; - iter.user_data2 = GINT_TO_POINTER(self->num_rows); - - /* propegate change */ - gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - self->num_rows++; - - new = new->next; - i++; - }while(new); - } - if(self->_priv->data) - mpd_data_free(self->_priv->data); - - self->_priv->data = mpd_data_get_first((MpdData*)new_list); - if(data2) - g_assert(self->_priv->data != NULL); - - if(self->_priv->use_images) - self->_priv->images = g_malloc0((self->num_rows)*sizeof(*(self->_priv->images))); - if(data2) - mpd_data_free(data2); - g_assert(items == self->num_rows); - return 0; - } - - signal last NONE (LONG) - void - playtime_changed(self, gulong playtime) - { - return; - } - - public - gulong - get_playtime(self) - { - return self->_priv->playtime; - } - public - gint - get_pos( self, GtkTreeIter *iter) - { - g_assert(iter->stamp == self->_priv->stamp); - return GPOINTER_TO_INT(iter->user_data2); - } - - public - void - disable_image(self) - { - g_assert(self->_priv->data == NULL); - self->_priv->use_images = FALSE; - } - - public - MpdData * - steal_mpd_data(self) - { - GtkTreePath *path; - int i; - int old_num_rows = self->num_rows; - MpdData *data = self->_priv->data; - /* Clear */ - self->_priv->data = NULL; - while ( self->num_rows > 0 ) { - path = gtk_tree_path_new(); - gtk_tree_path_append_index(path, self->num_rows - 1 ); - /* propegate change */ - gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); - gtk_tree_path_free(path); - self->num_rows--; - } - /* Free possible stored images */ - if(self->_priv->images && self->_priv->use_images) - { - for(i=0;i< old_num_rows;i++) - { - if(self->_priv->images[i]) - g_object_unref(self->_priv->images[i]); - } - q_free(self->_priv->images); - } - self->_priv->playtime = 0; - self_playtime_changed(self, self->_priv->playtime); - - return data; - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-model.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-model.h --- gmpc-0.18.0/src/gob/gmpc-mpddata-model.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-model.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,158 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include -#include - -#ifndef __GMPC_MPDDATA_MODEL_H__ -#define __GMPC_MPDDATA_MODEL_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - - - enum - { - MPDDATA_MODEL_COL_MPDSONG = 0, /* get the mpd_Song */ - MPDDATA_MODEL_COL_PLAYING, /* Shows if this song is the current song */ - MPDDATA_MODEL_COL_PLAYING_FONT_WEIGHT, /* Shows if this song is the current song */ - MPDDATA_MODEL_COL_PATH, /* Path to song/file/directory */ - MPDDATA_MODEL_COL_MARKUP, /* a string that has FALSEmarkup */ - MPDDATA_MODEL_COL_SONG_ARTIST, /* artist name */ - MPDDATA_MODEL_COL_SONG_ALBUM, /* album name */ - MPDDATA_MODEL_COL_SONG_TITLE, /* song title */ - MPDDATA_MODEL_COL_SONG_TITLEFILE, /* song title */ - MPDDATA_MODEL_COL_SONG_GENRE, /* song genre */ - MPDDATA_MODEL_COL_SONG_TRACK, /* song track */ - MPDDATA_MODEL_COL_SONG_NAME, /* stream name */ - MPDDATA_MODEL_COL_SONG_COMPOSER, /* composer name */ - MPDDATA_MODEL_COL_SONG_PERFORMER, /* performer */ - MPDDATA_MODEL_COL_SONG_DATE, /* date */ - MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, /* length formatted */ - MPDDATA_MODEL_COL_SONG_DISC, /* disc */ - MPDDATA_MODEL_COL_SONG_COMMENT, /* comment */ - MPDDATA_MODEL_COL_SONG_POS, /* position */ - MPDDATA_MODEL_COL_SONG_ALBUMARTIST, - MPDDATA_MODEL_COL_PATH_EXTENSION, /* Extention */ - MPDDATA_MODEL_COL_PATH_DIRECTORY, /* Directory */ - MPDDATA_MODEL_COL_SONG_ID, /* col id */ - MPDDATA_MODEL_COL_ICON_ID, /* icon id */ - MPDDATA_MODEL_COL_SONG_LENGTH, /* length */ - MPDDATA_MODEL_TAG_TYPE, /* tag type */ - MPDDATA_MODEL_ROW_TYPE, /* type of the row */ - MPDDATA_MODEL_META_DATA, /* metadata */ - MPDDATA_MODEL_USERDATA, - MPDDATA_MODEL_N_COLUMNS - } ; - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_MPDDATA_MODEL (gmpc_mpddata_model_get_type()) -#define GMPC_MPDDATA_MODEL(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_model_get_type(), GmpcMpdDataModel) -#define GMPC_MPDDATA_MODEL_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_model_get_type(), GmpcMpdDataModel const) -#define GMPC_MPDDATA_MODEL_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_mpddata_model_get_type(), GmpcMpdDataModelClass) -#define GMPC_IS_MPDDATA_MODEL(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_mpddata_model_get_type ()) - -#define GMPC_MPDDATA_MODEL_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_mpddata_model_get_type(), GmpcMpdDataModelClass) - -/* Private structure type */ -typedef struct _GmpcMpdDataModelPrivate GmpcMpdDataModelPrivate; - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_MPDDATA_MODEL__ -#define __TYPEDEF_GMPC_MPDDATA_MODEL__ -typedef struct _GmpcMpdDataModel GmpcMpdDataModel; -#endif -struct _GmpcMpdDataModel { - GObject __parent__; - /*< public >*/ - GType types[MPDDATA_MODEL_N_COLUMNS]; - gint num_rows; - gint icon_size; - gboolean has_up; - /*< private >*/ - GmpcMpdDataModelPrivate *_priv; -}; - -/* - * Class definition - */ -typedef struct _GmpcMpdDataModelClass GmpcMpdDataModelClass; -struct _GmpcMpdDataModelClass { - GObjectClass __parent__; - /*signal*/void (* playtime_changed) (GmpcMpdDataModel * self, gulong playtime); -}; - - -/* - * Public methods - */ -GType gmpc_mpddata_model_get_type (void); -gboolean gmpc_mpddata_model_get_has_up (GmpcMpdDataModel * self); -void gmpc_mpddata_model_set_has_up (GmpcMpdDataModel * self, - gboolean val); -GmpcMpdDataModel * gmpc_mpddata_model_new (void); -gboolean gmpc_mpddata_model_iter_children (GtkTreeModel * model, - GtkTreeIter * iter, - GtkTreeIter * parent); -gint gmpc_mpddata_model_get_n_columns (GtkTreeModel * model); -void gmpc_mpddata_model_get_value (GtkTreeModel * model, - GtkTreeIter * iter, - gint column, - GValue * value); -void gmpc_mpddata_model_set_request_artist (GmpcMpdDataModel * self, - const char * artist); -const char * gmpc_mpddata_model_get_request_artist (GmpcMpdDataModel * self); -long unsigned gmpc_mpddata_model_set_mpd_data (GmpcMpdDataModel * self, - MpdData * data2); -long unsigned gmpc_mpddata_model_set_mpd_data_slow (GmpcMpdDataModel * self, - MpdData * data2); -void gmpc_mpddata_model_playtime_changed (GmpcMpdDataModel * self, - gulong playtime); -gulong gmpc_mpddata_model_get_playtime (GmpcMpdDataModel * self); -gint gmpc_mpddata_model_get_pos (GmpcMpdDataModel * self, - GtkTreeIter * iter); -void gmpc_mpddata_model_disable_image (GmpcMpdDataModel * self); -MpdData * gmpc_mpddata_model_steal_mpd_data (GmpcMpdDataModel * self); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_mpddata_model_connect__playtime_changed(object,func,data) g_signal_connect(GMPC_MPDDATA_MODEL(__extension__ ({GmpcMpdDataModel *___object = (object); ___object; })),"playtime_changed",(GCallback) __extension__ ({void (* ___playtime_changed) (GmpcMpdDataModel * ___fake___self, gulong ___fake___playtime, gpointer ___data ) = (func); ___playtime_changed; }), (data)) -#define gmpc_mpddata_model_connect_after__playtime_changed(object,func,data) g_signal_connect_after(GMPC_MPDDATA_MODEL(__extension__ ({GmpcMpdDataModel *___object = (object); ___object; })),"playtime_changed",(GCallback) __extension__ ({void (* ___playtime_changed) (GmpcMpdDataModel * ___fake___self, gulong ___fake___playtime, gpointer ___data ) = (func); ___playtime_changed; }), (data)) -#define gmpc_mpddata_model_connect_data__playtime_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_MODEL(__extension__ ({GmpcMpdDataModel *___object = (object); ___object; })),"playtime_changed",(GCallback) __extension__ ({void (* ___playtime_changed) (GmpcMpdDataModel * ___fake___self, gulong ___fake___playtime, gpointer ___data ) = (func); ___playtime_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_mpddata_model_connect__playtime_changed(object,func,data) g_signal_connect(GMPC_MPDDATA_MODEL(object),"playtime_changed",(GCallback)(func),(data)) -#define gmpc_mpddata_model_connect_after__playtime_changed(object,func,data) g_signal_connect_after(GMPC_MPDDATA_MODEL(object),"playtime_changed",(GCallback)(func),(data)) -#define gmpc_mpddata_model_connect_data__playtime_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_MODEL(object),"playtime_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -/* - * Argument wrapping macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define GMPC_MPDDATA_MODEL_PROP_HAS_UP(arg) "has_up", __extension__ ({gboolean z = (arg); z;}) -#define GMPC_MPDDATA_MODEL_GET_PROP_HAS_UP(arg) "has_up", __extension__ ({gboolean *z = (arg); z;}) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define GMPC_MPDDATA_MODEL_PROP_HAS_UP(arg) "has_up",(gboolean )(arg) -#define GMPC_MPDDATA_MODEL_GET_PROP_HAS_UP(arg) "has_up",(gboolean *)(arg) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-model-playlist.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-model-playlist.gob --- gmpc-0.18.0/src/gob/gmpc-mpddata-model-playlist.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-model-playlist.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,498 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%a{ -#include "gmpc-mpddata-model.h" - -#include "gmpc-connection.h" -%} -%h{ -#include "gmpc-mpddata-model-private.h" -%} -%{ -#define BLOCK_SIZE 200 -%} -/** - * This is a Special version of Gmpc:MpdData:Model that is made to show the current playlist, and keep in sync with it. - * This is to replace the old playlist-lis backend. - * Use this model with Gmpc:MpdData:Treeview - */ - -class Gmpc:MpdData:Model:Playlist from Gmpc:MpdData:Model - (interface Gtk:Tree:Model) - (interface Gtk:Tree:Drag:Source) - (interface Gtk:Tree:Drag:Dest) -{ - private GmpcConnection *conn = {NULL}; - private unsigned int status_changed = 0; - private unsigned int connection_changed = 0; - private MpdObj *mi; - private long long playlist_id = {0}; - private unsigned long total_time = {0}; - private unsigned long loaded_songs = {0}; - private int old_highlight = -1; - - private guint update_timeout = {0}; - private guint last_pos = {0}; - - private gboolean update_callback(self) - { - static const gint step_size = 100; - gint num_rows = GMPC_MPDDATA_MODEL(self)->num_rows; - if(self->_priv->loaded_songs _priv->data; - data = mpd_data_get_first(data); - if(!data) return TRUE; - for(i=0; i < (self->_priv->last_pos);i++) - { - data = (MpdData *)mpd_data_get_next_real(data,FALSE); - } - - - for(i=0;i< step_size && data;i++) - { - if(data->song == NULL) - { - data->song = mpd_playlist_get_song_from_pos(self->_priv->mi,i+self->_priv->last_pos); - if(data->song) - { - self->_priv->loaded_songs++; - if(data->song->time>0) - { - self->_priv->total_time += data->song->time; - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - } - - } - data = mpd_data_get_next_real(data, FALSE); - } - self->_priv->last_pos += step_size; - } - else - { - self->_priv->last_pos = 0; - } - return TRUE; - } - -override (G:Object) - void - finalize (G:Object *obj) - { - Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(obj); - if(self->_priv->status_changed > 0) - { - g_signal_handler_disconnect(G_OBJECT(gmpcconn),self->_priv->status_changed); - self->_priv->status_changed = 0; - } - if(self->_priv->connection_changed > 0) - { - g_signal_handler_disconnect(G_OBJECT(gmpcconn),self->_priv->connection_changed); - self->_priv->connection_changed = 0; - } - if(self->_priv->update_timeout > 0) - { - g_source_remove(self->_priv->update_timeout); - self->_priv->update_timeout = 0; - } - PARENT_HANDLER(obj); - } - public - Gmpc:MpdData:Model:Playlist *new (Gmpc:Connection *conn (check type null), MpdObj *mi(check null)) - { - Self *self = GET_NEW; - self->_priv->conn = conn; - self->_priv->status_changed = g_signal_connect_swapped(G_OBJECT(conn), "status_changed", G_CALLBACK(self_status_changed), self); - self->_priv->connection_changed = g_signal_connect_swapped(G_OBJECT(conn), "connection_changed", G_CALLBACK(self_connection_changed), self); - self->_priv->mi = mi; - - if(cfg_get_single_value_as_int_with_default(config, "playlist", "background-loading", FALSE)) - { - self->_priv->update_timeout = g_timeout_add_seconds(1, (GSourceFunc)(self_update_callback), self); - } - return self; - } - private - void - status_changed(self, MpdObj *mi, ChangedStatusType what, Gmpc:Connection *conn (check type)) - { - if(what&MPD_CST_PLAYLIST) - { - MpdData *data = NULL; - int new_length = mpd_playlist_get_playlist_length(mi); - - int old_length = GMPC_MPDDATA_MODEL(self)->num_rows; - /* if it was empty just add everything */ - if(new_length == 0) - { - self->_priv->loaded_songs=0; - self->_priv->total_time =0; - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - - - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), NULL); - - - } - else if(old_length == 0) - { - int i; - for(i = new_length; i > 0; i--) - { - data= mpd_new_data_struct_append(data); - data->type = MPD_DATA_TYPE_SONG; - data->song = NULL; - } - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), mpd_data_get_first(data)); - } - else - { - data = mpd_playlist_get_changes_posid(mi, self->_priv->playlist_id); - /* if the new length is shorter then the old, remove rows at the end */ - if(new_length < old_length) - { - int i; - MpdData_real *odata = (MpdData_real *)mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); - while(odata->next)odata = odata->next; - /* data should be last */ - - for(i=old_length-1;i>=new_length;i--) - { - GtkTreePath *path = gtk_tree_path_new(); - gtk_tree_path_append_index(path, i); - gtk_tree_model_row_deleted(GTK_TREE_MODEL(self), path); - gtk_tree_path_free(path); - - if(odata->song) - { - self->_priv->loaded_songs--; - if(odata->song->time > 0) - { - self->_priv->total_time -= odata->song->time; - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - } - - odata = (MpdData_real *)mpd_data_delete_item((MpdData *)odata); - GMPC_MPDDATA_MODEL(self)->num_rows--; - } - } - /* if it's longer, append rows */ - else if ( new_length > old_length) - { - int i; - MpdData_real *odata = (MpdData_real *)mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); - /* get the last element */ - while(odata->next) odata = odata->next; - for(i=old_length; i< new_length;i++) - { - GtkTreePath *path = gtk_tree_path_new(); - GtkTreeIter iter; - /* Append node */ - odata = (MpdData_real *)mpd_new_data_struct_append((MpdData *)odata); - odata->type = MPD_DATA_TYPE_SONG; - odata->song = NULL; - /* Create iter */ - iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; - iter.user_data = NULL; - iter.user_data2 = GINT_TO_POINTER(GMPC_MPDDATA_MODEL(self)->num_rows); - /* show the path */ - gtk_tree_path_append_index(path, i); - /* insert it */ - gtk_tree_model_row_inserted(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - GMPC_MPDDATA_MODEL(self)->num_rows++; - - } - } - /* Now mark the changed rows */ - if(data) - { - int i=0; - MpdData_real *list_iter =(MpdData_real *) mpd_data_get_first(GMPC_MPDDATA_MODEL(self)->_priv->data); - MpdData_real *data_iter =(MpdData_real *) mpd_data_get_first(data); - while(data_iter) - { - GtkTreeIter iter; - GtkTreePath *path = gtk_tree_path_new(); - /* get the right entry */ - for(;i!= data_iter->song->pos;i++) - list_iter = list_iter->next; - - if(list_iter->song) - { - self->_priv->loaded_songs--; - if(list_iter->song->time > 0) - { - self->_priv->total_time -= list_iter->song->time; - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - } - - if(list_iter->song) - mpd_freeSong(list_iter->song); - list_iter->song = NULL; - - iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; - iter.user_data = NULL; - iter.user_data2 = GINT_TO_POINTER(i); - gtk_tree_path_append_index(path, i); - gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); - - - gtk_tree_path_free(path); - data_iter = data_iter->next; - } - mpd_data_free(data); - } - } - if(GMPC_MPDDATA_MODEL(self)->num_rows != new_length) - { - debug_printf(DEBUG_ERROR, "Playlist out of sync: %i-%i \n",GMPC_MPDDATA_MODEL(self)->num_rows,new_length); - } - self->_priv->playlist_id = mpd_playlist_get_playlist_id(mi); - } - if(what&(MPD_CST_SONGID|MPD_CST_SONGPOS|MPD_CST_STATE)) - { - GtkTreeIter iter; - GtkTreePath *path = NULL; - int i = mpd_player_get_current_song_pos(self->_priv->mi); - if(self->_priv->old_highlight >= 0) - { - /* get the right entry */ - path = gtk_tree_path_new(); - iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; - iter.user_data = NULL; - iter.user_data2 = GINT_TO_POINTER(self->_priv->old_highlight); - gtk_tree_path_append_index(path, self->_priv->old_highlight); - gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); - gtk_tree_path_free(path); - self->_priv->old_highlight = -1; - } - if(i >= 0) - { - /* get the right entry */ - path = gtk_tree_path_new(); - iter.stamp = GMPC_MPDDATA_MODEL(self)->_priv->stamp; - iter.user_data = NULL; - iter.user_data2 = GINT_TO_POINTER(i); - gtk_tree_path_append_index(path, i); - gtk_tree_model_row_changed(GTK_TREE_MODEL(self), path, &iter); - self_current_song_changed(self, path, &iter); - gtk_tree_path_free(path); - self->_priv->old_highlight = i; - } - } - - } - - signal last NONE (POINTER, POINTER) - void - current_song_changed(self, GtkTreePath *path,GtkTreeIter *iter) - { - - } - - signal last NONE (LONG, LONG) - void - total_playtime_changed(self, unsigned long loaded_songs, unsigned long total_playtime) - { - } - - private - void - connection_changed(self, MpdObj *mi, int connect, Gmpc:Connection *conn (check type)) - { - if(connect == 0) - { - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(self), NULL); - self->_priv->playlist_id = 0; - self->_priv->loaded_songs = 0; - self->_priv->total_time = 0; - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - } - - public - gboolean - is_current_song(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null)) - { - Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(model); - int n = GPOINTER_TO_INT(iter->user_data2); - if(n == self->_priv->old_highlight) - return TRUE; - return FALSE; - } - - - - /** - * "override" the get_value method, because we need to fetch the value before it's available. - * So after we fetch it, let the Gmpc:MpdData:Model handle the hard work again. - */ - interface Gtk:Tree:Model - private void - get_value(Gtk:Tree:Model *model(check null type), GtkTreeIter *iter (check null), gint column (check >= 0 < MPDDATA_MODEL_N_COLUMNS), GValue *value (check null)) - { - Self *self = GMPC_MPDDATA_MODEL_PLAYLIST(model); - MpdData_real *data = iter->user_data; - int n = GPOINTER_TO_INT(iter->user_data2); - if(data->song == NULL) - { - int rs = n - n%BLOCK_SIZE; - int end = ((rs+(BLOCK_SIZE-1)) >= GMPC_MPDDATA_MODEL(self)->num_rows)? GMPC_MPDDATA_MODEL(self)->num_rows-1:rs+(BLOCK_SIZE-1); - - MpdData_real *edit =(MpdData_real *) data; - MpdData_real *miter,*data2 = (MpdData_real *)mpd_playlist_get_song_from_pos_range(self->_priv->mi,rs, end); - - /* rewind to start block */ - while(n>rs){ edit = edit->prev; rs++;} - - data2 =(MpdData_real *) mpd_data_get_first((MpdData *)data2); - miter =data2; - while(data2){ - if(edit->song == NULL) - { - edit->song = data2->song; - data2->song = NULL; - self->_priv->loaded_songs++; - if(edit->song->time>0) - { - self->_priv->total_time += edit->song->time; - } - } - edit = edit->next; - data2 = data2->next; - } - mpd_data_free((MpdData *)miter); - - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - /** - * If the fetch failed, return an empty value, otherwise we will get crashes - */ - if(data->song == NULL) - { - g_value_init(value, GMPC_MPDDATA_MODEL(self)->types[column]); - debug_printf(DEBUG_ERROR,"failed to get song entry\n"); - return; - } - if(column == MPDDATA_MODEL_COL_ICON_ID) - { - if(n == mpd_player_get_current_song_pos(self->_priv->mi)) - { - g_value_init(value, GMPC_MPDDATA_MODEL(self)->types[column]); - g_value_set_string(value, "gtk-media-play-ltr"); - return; - } - - } - /** - * Call the parent function again - */ - gmpc_mpddata_model_get_value(model, iter, column, value); - } - /** - * Moving interface - */ - interface Gtk:Tree:Drag:Source - private - gboolean row_draggable (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - return TRUE; - } - - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_delete (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - return TRUE; - } - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_get (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path, Gtk:Selection:Data *selection_data) - { - return FALSE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean row_drop_possible - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - return TRUE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean drag_data_received - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - GtkTreePath *path=NULL; - GtkTreeModel *model=NULL; - - Self *self = NULL; - gint *ind = NULL, *ind2 = NULL; - if(dest == NULL || !gtk_tree_get_row_drag_data(selection_data, &model, &path)) - { - return FALSE; - } - if(GMPC_MPDDATA_MODEL(model)->num_rows < 2) - { - gtk_tree_path_free(path); - return FALSE; - } - self = GMPC_MPDDATA_MODEL_PLAYLIST(model); - ind = gtk_tree_path_get_indices(dest); - ind2 = gtk_tree_path_get_indices(path); - if(ind && ind2) - { - int original = ind2[0]; - int destination = ind[0]; - /* if(destination >0 && ind[1] != '\0') destination--; */ - if(destination > original) destination--; - mpd_playlist_move_pos(self->_priv->mi,original,destination); - } - gtk_tree_path_free(path); - return TRUE; - } - public - void - trigger_total_playtime_signal(self) - { - self_total_playtime_changed(self, self->_priv->loaded_songs, self->_priv->total_time); - } - public - void - get_total_playtime(self, unsigned long *loaded_songs, unsigned long *total_time) - { - if(loaded_songs) - (*loaded_songs) = self->_priv->loaded_songs; - if(total_time) - (*total_time)= self->_priv->total_time; - } -} - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-model-sort.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-model-sort.gob --- gmpc-0.18.0/src/gob/gmpc-mpddata-model-sort.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-model-sort.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,122 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%ht{ -#include -#include -#include -#include "gmpc-mpddata-model.h" -#include "gmpc-mpddata-model-private.h" -%} - - - - -class Gmpc:MpdData:Model:Sort from Gmpc:MpdData:Model - (interface Gtk:Tree:Drag:Source) - (interface Gtk:Tree:Drag:Dest) -{ - public gchar *playlist = {NULL} destroywith g_free; - - property STRING playlist - (nick = "playlist", - blurb = "The current playlist name", - default_value = NULL, - export, - link); - - - interface Gtk:Tree:Drag:Source - private - gboolean row_draggable (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - if(mpd_server_check_version(connection, 0,13,0)) - { - return TRUE; - } - return FALSE; - } - - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_get (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path, Gtk:Selection:Data *selection_data) - { - return FALSE; - } - interface Gtk:Tree:Drag:Source - private - gboolean drag_data_delete (Gtk:Tree:Drag:Source *drag_source, Gtk:Tree:Path *path) - { - return TRUE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean drag_data_received - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - GtkTreePath *path=NULL; - GtkTreeModel *model=NULL; - gint *ind = NULL, *ind2 = NULL; - if(dest == NULL || !gtk_tree_get_row_drag_data(selection_data, &model, &path)) - { - return FALSE; - } - if(GMPC_MPDDATA_MODEL(model)->num_rows < 2) - { - gtk_tree_path_free(path); - return FALSE; - } - ind = gtk_tree_path_get_indices(dest); - ind2 = gtk_tree_path_get_indices(path); - if(ind && ind2 && GMPC_MPDDATA_MODEL_SORT(model)->playlist) - { - MpdData *data = NULL; - int original = ind2[0]; - int destination = ind[0]; - /* if(destination >0 && ind[1] != '\0') destination--; */ - if(destination > original) destination--; - mpd_database_playlist_move(connection, GMPC_MPDDATA_MODEL_SORT(model)->playlist,original,destination); - data = mpd_database_get_playlist_content(connection, GMPC_MPDDATA_MODEL_SORT(model)->playlist); - gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), data); - } - gtk_tree_path_free(path); - return TRUE; - } - - interface Gtk:Tree:Drag:Dest - private gboolean row_drop_possible - (Gtk:Tree:Drag:Dest *drag_dest, - Gtk:Tree:Path *dest, - Gtk:Selection:Data *selection_data) - { - return TRUE; - } - - - - public - Gmpc:MpdData:Model:Sort *new (void) - { - return GET_NEW; - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-model-sort.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-model-sort.h --- gmpc-0.18.0/src/gob/gmpc-mpddata-model-sort.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-model-sort.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,79 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include -#include -#include "gmpc-mpddata-model.h" -#include "gmpc-mpddata-model-private.h" - -#ifndef __GMPC_MPDDATA_MODEL_SORT_H__ -#define __GMPC_MPDDATA_MODEL_SORT_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_MPDDATA_MODEL_SORT (gmpc_mpddata_model_sort_get_type()) -#define GMPC_MPDDATA_MODEL_SORT(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_model_sort_get_type(), GmpcMpdDataModelSort) -#define GMPC_MPDDATA_MODEL_SORT_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_model_sort_get_type(), GmpcMpdDataModelSort const) -#define GMPC_MPDDATA_MODEL_SORT_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_mpddata_model_sort_get_type(), GmpcMpdDataModelSortClass) -#define GMPC_IS_MPDDATA_MODEL_SORT(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_mpddata_model_sort_get_type ()) - -#define GMPC_MPDDATA_MODEL_SORT_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_mpddata_model_sort_get_type(), GmpcMpdDataModelSortClass) - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_MPDDATA_MODEL_SORT__ -#define __TYPEDEF_GMPC_MPDDATA_MODEL_SORT__ -typedef struct _GmpcMpdDataModelSort GmpcMpdDataModelSort; -#endif -struct _GmpcMpdDataModelSort { - GmpcMpdDataModel __parent__; - /*< public >*/ - gchar * playlist; -}; - -/* - * Class definition - */ -typedef struct _GmpcMpdDataModelSortClass GmpcMpdDataModelSortClass; -struct _GmpcMpdDataModelSortClass { - GmpcMpdDataModelClass __parent__; -}; - - -/* - * Public methods - */ -GType gmpc_mpddata_model_sort_get_type (void); -gchar * gmpc_mpddata_model_sort_get_playlist (GmpcMpdDataModelSort * self); -void gmpc_mpddata_model_sort_set_playlist (GmpcMpdDataModelSort * self, - gchar * val); -GmpcMpdDataModelSort * gmpc_mpddata_model_sort_new (void); - -/* - * Argument wrapping macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define GMPC_MPDDATA_MODEL_SORT_PROP_PLAYLIST(arg) "playlist", __extension__ ({gchar *z = (arg); z;}) -#define GMPC_MPDDATA_MODEL_SORT_GET_PROP_PLAYLIST(arg) "playlist", __extension__ ({gchar **z = (arg); z;}) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define GMPC_MPDDATA_MODEL_SORT_PROP_PLAYLIST(arg) "playlist",(gchar *)(arg) -#define GMPC_MPDDATA_MODEL_SORT_GET_PROP_PLAYLIST(arg) "playlist",(gchar **)(arg) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-treeview.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-treeview.gob --- gmpc-0.18.0/src/gob/gmpc-mpddata-treeview.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-treeview.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,1011 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 - -%ht{ -#include -#include -%} -%privateheader{ -#include "main.h" -#include "config.h" -#include "gmpc-mpddata-model.h" -#include "eggcolumnchooserdialog.h" -#include "gmpc-mpddata-model-playlist.h" -#include "gmpc-metaimage.h" -%} - -%h{ - -#define NUM_COLS 19 -#define MOUSE_OFFSET 10 -#define ENABLE_GRADIENT_LOOK 1 -#define BACKGROUND_OPACITY 0.92 -#define BOTTOM_GRADIENT_HEIGHT 30 -%} - - -%{ -static int col_ids[NUM_COLS] = { - MPDDATA_MODEL_COL_MARKUP, - MPDDATA_MODEL_COL_SONG_ARTIST, /* album name */ - MPDDATA_MODEL_COL_SONG_ALBUM, /* album name */ - MPDDATA_MODEL_COL_SONG_TITLE, /* song title */ - MPDDATA_MODEL_COL_SONG_TITLEFILE, /* song title */ - MPDDATA_MODEL_COL_SONG_GENRE, /* song genre */ - MPDDATA_MODEL_COL_SONG_TRACK, /* song track */ - MPDDATA_MODEL_COL_SONG_NAME, /* stream name */ - MPDDATA_MODEL_COL_SONG_COMPOSER, /* composer name */ - MPDDATA_MODEL_COL_SONG_PERFORMER, /* performer */ - MPDDATA_MODEL_COL_SONG_DATE, /* date */ - MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, /* length formatted */ - MPDDATA_MODEL_COL_SONG_DISC, /* disc */ - MPDDATA_MODEL_COL_SONG_COMMENT, /* comment */ - MPDDATA_MODEL_COL_ICON_ID, /* icon id */ - MPDDATA_MODEL_COL_SONG_POS, - MPDDATA_MODEL_COL_SONG_ALBUMARTIST, - MPDDATA_MODEL_COL_PATH_EXTENSION, /* Extension */ - MPDDATA_MODEL_COL_PATH_DIRECTORY /* Directory */ -}; -static const gchar *col_names[NUM_COLS] = { - N_("Markup"), - N_("Artist"), - N_("Album"), - N_("Title"), - N_("File"), - N_("Genre"), - N_("Track"), - N_("Name"), - N_("Composer"), - N_("Performer"), - N_("Date"), - N_("Duration"), - N_("Disc"), - N_("Comment"), - N_("Icon Id"), - N_("Position"), - N_("AlbumArtist"), - N_("Extension"), - N_("Directory") -}; - -static gint col_enabled[NUM_COLS] = { - FALSE,//"Markup", - TRUE, //"Artist", - TRUE,//"Album", - TRUE,//"Title", - FALSE,//"File", - FALSE,//"Genre", - FALSE,//"Track", - FALSE,//"Name", - FALSE,//"Composer", - FALSE,//"Performer", - FALSE,//"Date", - FALSE,//"Duration", - FALSE,//"Disc", - FALSE,//"Comment", - TRUE,//"Icon Id" - FALSE,//"Position" - FALSE,//"AlbumArtist" - FALSE,//Extension - FALSE//Directory - -}; -static gint col_position[NUM_COLS] = { - 14,//"Markup", - 3, //"Artist", - 2,//"Album", - 1,//"Title", - 4,//"File", - 5,//"Genre", - 6,//"Track", - 7,//"Name", - 8,//"Composer", - 9,//"Performer", - 10,//"Date", - 11,//"Duration", - 12,//"Disc", - 13,//"Comment", - 0,//"Icon Id" - 15, // "Position" - 18, // "AlbumArtist" - 16,// Extension - 17 // Directory -}; - -static GList *paste_queue = NULL; -%} - -class Gmpc:MpdData:Treeview from Gtk:Tree:View { - private gchar *name = {NULL} destroywith g_free; - private gboolean do_sort = {TRUE}; - private GtkTreeViewColumn *columns[NUM_COLS]; - /* Tooltip */ - private GtkWidget *tooltip_window = {NULL}; - private GtkWidget *tw_image = {NULL}; - private GtkWidget *tw_title = {NULL}; - private GtkWidget *tw_artist = {NULL}; - private GtkWidget *tw_album = {NULL}; - private GtkWidget *tw_genre = {NULL}; - private GtkWidget *tw_date = {NULL}; - private GtkWidget *tw_length = {NULL}; - private gchar *file = NULL; - - private gboolean pressed = FALSE; - - - - - - - public - GtkWidget * new (const char *name (check null), gboolean sort, Gtk:Tree:Model *model (check type null)) - { - Self *self = GET_NEW; - self->_priv->name = g_strdup(name); - self->_priv->do_sort = sort; - - gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(self), TRUE); - gtk_tree_view_set_model(GTK_TREE_VIEW(self), model); - /* init the tree */ - self_do_init(self); - /* set tooltip */ - self_enable_tooltip(self); - g_signal_connect(G_OBJECT(self), "key-release-event", G_CALLBACK(self_paste_key_release_event), NULL); - - return (GtkWidget *)self; - } - private - void do_init (self) - { - int i=0; - gchar *conf_size,*conf_opt = g_strdup_printf("%s-colpos", self->_priv->name); - GtkTreeViewColumn *col = NULL; - for(i = 0;i< NUM_COLS;i++) - { - int conf_pos = cfg_get_single_value_as_int_with_default(config, conf_opt,col_names[i], col_position[i]); - col = self_add_column(self,col_names[i],col_ids[i],conf_pos); - g_object_set_data(G_OBJECT(col), "id",GINT_TO_POINTER(i)); - } - q_free(conf_opt); - conf_opt = g_strdup_printf("%s-colshow", self->_priv->name); - conf_size = g_strdup_printf("%s-colsize", self->_priv->name); - for(i = 0;i< NUM_COLS;i++) - { - int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(self->_priv->columns[i]), "id")); - int col_size= cfg_get_single_value_as_int_with_default(config, conf_size,col_names[id], 200); - int col_show= cfg_get_single_value_as_int_with_default(config, conf_opt,col_names[id], col_enabled[id]); - gtk_tree_view_column_set_visible(self->_priv->columns[i],col_show); - gtk_tree_view_append_column(GTK_TREE_VIEW(self), self->_priv->columns[i]); - /* don't set the icon column */ - if(col_ids[id]!= MPDDATA_MODEL_COL_ICON_ID) - gtk_tree_view_column_set_fixed_width(self->_priv->columns[i], col_size); - - g_signal_connect_swapped(G_OBJECT(self->_priv->columns[i]), "notify::width", G_CALLBACK(self_column_width), self); - } - /* set the last column small, to stop weird grows */ - //for(i=NUM_COLS-1; i>=0 && !gtk_tree_view_column_get_visible(self->_priv->columns[i]);i--); - //gtk_tree_view_column_set_fixed_width(self->_priv->columns[i], 150); - - q_free(conf_opt); - q_free(conf_size); - - /* */ - gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(self)), GTK_SELECTION_MULTIPLE); - gtk_tree_view_set_fixed_height_mode(GTK_TREE_VIEW(self), TRUE); - gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(self), TRUE); - - if(self->_priv->do_sort) - { - int sort_col = cfg_get_single_value_as_int_with_default(config, self->_priv->name, "sort-column",MPDDATA_MODEL_COL_SONG_TITLE); - int sort_order = cfg_get_single_value_as_int_with_default(config, self->_priv->name, "sort-order", GTK_SORT_ASCENDING); - if(((sort_col < MPDDATA_MODEL_N_COLUMNS && sort_col >= 0) || sort_col == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID )&& (sort_order == GTK_SORT_ASCENDING || sort_order == GTK_SORT_DESCENDING)) { - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(self))),sort_col, sort_order); - } - } - } - - /** - * Save Column Setup - */ - private - void - save_column_setup (self) - { - int i=0; - GList *iter,*cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(self)); - gchar *conf_pos = NULL; - gchar *conf_show = NULL; - - i = g_list_length(cols); - - if(i != NUM_COLS) - { - g_list_free(cols); - return; - } - conf_pos = g_strdup_printf("%s-colpos", self->_priv->name); - conf_show = g_strdup_printf("%s-colshow", self->_priv->name); - // conf_size = g_strdup_printf("%s-colsize", self->_priv->name); - i=0; - for(iter = cols; iter; iter = g_list_next(iter)) - { - GtkTreeViewColumn *column = iter->data; - int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "id")); - cfg_set_single_value_as_int(config, conf_pos, col_names[id], i); - cfg_set_single_value_as_int(config, conf_show, col_names[id], gtk_tree_view_column_get_visible(column)); - /* only save width on > 0 columns */ - //if(gtk_tree_view_column_get_width(column) > 0) - // cfg_set_single_value_as_int(config, conf_size, col_names[id], gtk_tree_view_column_get_width(column)); - i++; - } - q_free(conf_pos); - q_free(conf_show); - // q_free(conf_size); - g_list_free(cols); - - if(self->_priv->do_sort) - { - int sort_col; - GtkSortType sort_order; - gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(gtk_tree_view_get_model(GTK_TREE_VIEW(self))), &sort_col, &sort_order); - cfg_set_single_value_as_int(config, self->_priv->name, "sort-column",sort_col); - cfg_set_single_value_as_int(config, self->_priv->name, "sort-order", sort_order); - } - } - - override (G:Object) - void - dispose (G:Object *obj) - { - Self *self = GMPC_MPDDATA_TREEVIEW(obj); - self_save_column_setup(self); - PARENT_HANDLER(obj); - } - private - void - highlight_row (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data) - { - - if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(tree_model) && gmpc_mpddata_model_playlist_is_current_song(tree_model, iter)) - g_object_set(G_OBJECT(cell), "weight", 800,NULL); - else - g_object_set(G_OBJECT(cell), "weight", 400,NULL); - - } - private - void - column_width(self, GParamSpec *argc, GtkTreeViewColumn *column) - { - if(self->_priv->pressed) - { - int width = gtk_tree_view_column_get_width(column); - int id = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(column), "id")); - gchar *conf_size = g_strdup_printf("%s-colsize", self->_priv->name); - int w = cfg_get_single_value_as_int(config, conf_size, col_names[id]); - if(w != width) - { - cfg_set_single_value_as_int(config, conf_size, col_names[id],width); - } - q_free(conf_size); - } - } - - private - GtkTreeViewColumn * - add_column(self, const char *columnname, int valuerow, int position) - { - GtkCellRenderer *renderer; - GtkTreeViewColumn *column = NULL; - GValue value = {0,}; - - if(valuerow == MPDDATA_MODEL_COL_ICON_ID) - { - renderer = gtk_cell_renderer_pixbuf_new(); - g_value_init(&value, G_TYPE_FLOAT); - g_value_set_float(&value, 0.0); - g_object_set_property(G_OBJECT(renderer), "xalign", &value); - - column = gtk_tree_view_column_new (); - gtk_tree_view_column_pack_start (column, renderer, TRUE); - gtk_tree_view_column_set_attributes (column,renderer,"icon-name", MPDDATA_MODEL_COL_ICON_ID,NULL); - - gtk_tree_view_column_set_resizable(column, TRUE); - gtk_tree_view_column_set_fixed_width(column, 20); - } - else{ - renderer = gtk_cell_renderer_text_new(); - column = gtk_tree_view_column_new_with_attributes (_(columnname), renderer, - "text", valuerow,NULL); - g_value_init(&value, G_TYPE_INT); - g_value_set_int(&value, PANGO_ELLIPSIZE_END); - g_object_set_property(G_OBJECT(renderer), "ellipsize", &value); - gtk_tree_view_column_set_resizable(column, TRUE); - if(GMPC_IS_MPDDATA_MODEL_PLAYLIST(gtk_tree_view_get_model(GTK_TREE_VIEW(self)))) - { - g_object_set(G_OBJECT(renderer), "weight-set", TRUE, NULL); - gtk_tree_view_column_set_cell_data_func (column,renderer,self_highlight_row, NULL, NULL); - } - - } - gtk_tree_view_column_set_sizing(column,GTK_TREE_VIEW_COLUMN_FIXED); - gtk_tree_view_column_set_reorderable(column, TRUE); - - self->_priv->columns[position] = column; - - if(self->_priv->do_sort) - { - gtk_tree_view_column_set_sort_column_id(column,valuerow); - gtk_tree_view_column_set_sort_indicator(column, TRUE); - } - - return column; - } - /** - * Opens a column editor - */ - public - void - edit_columns(self) - { - GtkWidget *dialog = egg_column_chooser_dialog_new(GTK_TREE_VIEW(self)); - gtk_widget_show_all(dialog); - gtk_dialog_run(GTK_DIALOG(dialog)); - self_save_column_setup(self); - } - - override (G:Object) - void - finalize(G:Object *obj) - { - Self *self = SELF(obj); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(obj)); - if(model) - { - gtk_tree_view_set_model(GTK_TREE_VIEW(obj),NULL); - g_object_unref(model); - } - if(self->_priv->tooltip_window) - { - gtk_widget_destroy(self->_priv->tooltip_window); - self->_priv->tooltip_window = NULL; - } - if(self->_priv->file) - { - g_free(self->_priv->file); - self->_priv->file = NULL; - } - PARENT_HANDLER(obj); - } - - /**** - * TREEVIEW POPUP - */ - private gboolean query_tooltip(self, - gint x, gint y, - gboolean keyboard_tip, - GtkTooltip *tooltip, - gpointer data) - { - GtkTreeView *treeview = GTK_TREE_VIEW(self); - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview)); - GtkTreeIter iter; - GtkTreePath *path = NULL; - mpd_Song *song = NULL; - int show = FALSE; - - if(!cfg_get_single_value_as_int_with_default(config, "GmpcTreeView", "show-tooltip", TRUE)) - return FALSE; - if (!gtk_tree_view_get_tooltip_context (GTK_TREE_VIEW(treeview), &x, &y, - keyboard_tip, - &model, &path, &iter)) - return FALSE; - - - gtk_tree_model_get(model, &iter,MPDDATA_MODEL_COL_MPDSONG, &song, -1); - if(song) - { - show = TRUE; - /* makes it look a bit nicer */ - if(self->_priv->file && song->file && strcmp(self->_priv->file, song->file)) - { - show = FALSE; - g_free(self->_priv->file);self->_priv->file = NULL; - } - else if(!(self->_priv->file && song->file && strcmp(self->_priv->file, song->file) == 0)) - { - gchar *temp; - - gmpc_metaimage_update_cover_from_song(GMPC_METAIMAGE(self->_priv->tw_image), song); - if(self->_priv->file) - g_free(self->_priv->file); - self->_priv->file = NULL; - if(song->file) - self->_priv->file = g_strdup(song->file); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_TITLE, &temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_title), temp); - g_free(temp); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_ARTIST,&temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_artist), temp); - g_free(temp); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_ALBUM, &temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_album), temp); - g_free(temp); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_GENRE, &temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_genre), temp); - g_free(temp); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_DATE, &temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_date), temp); - g_free(temp); - - gtk_tree_model_get(model, &iter, MPDDATA_MODEL_COL_SONG_LENGTH_FORMAT, &temp, -1); - gtk_label_set_text(GTK_LABEL(self->_priv->tw_length), temp); - g_free(temp); - - - - } - } - gtk_tree_path_free(path); - return show; - } - - - private - gboolean - tooltip_expose_event(GtkWidget *widget, GdkEventExpose *event,gpointer data) - { - int stripe_x = 1; - int stripe_y = 1; - int stripe_height = 128; - GdkColor color; - GtkStyle *style = gtk_widget_get_style(widget); - GdkColor *background_color = &style->base[GTK_STATE_NORMAL]; - cairo_t *context; - cairo_surface_t *surface; - cairo_t *cr; - GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(widget)); -#ifdef ENABLE_GRADIENT_LOOK - cairo_pattern_t *gradient; - double r, g, b; - int gradient_y = widget->allocation.height - BOTTOM_GRADIENT_HEIGHT; -#endif - - - context = gdk_cairo_create(widget->window); - - cairo_set_operator(context, CAIRO_OPERATOR_SOURCE); - surface = cairo_surface_create_similar(cairo_get_target(context), - CAIRO_CONTENT_COLOR_ALPHA, - widget->allocation.width, - widget->allocation.height); - cr = cairo_create(surface); - - - - - if (gdk_screen_is_composited(screen)) - { - cairo_set_source_rgba(cr, - background_color->red / 65535.0, - background_color->green / 65535.0, - background_color->blue / 65535.0, - BACKGROUND_OPACITY); - } - else - { - gdk_cairo_set_source_color(cr, background_color); - } - - cairo_rectangle(cr, 0, 0, - widget->allocation.width, - widget->allocation.height); - cairo_fill(cr); - -#ifdef ENABLE_GRADIENT_LOOK - /* Add a very subtle gradient to the bottom of the notification */ - gradient = cairo_pattern_create_linear(0, gradient_y, 0, - widget->allocation.height); - cairo_pattern_add_color_stop_rgba(gradient, 0, 0, 0, 0, 0); - cairo_pattern_add_color_stop_rgba(gradient, 1, 0, 0, 0, 0.15); - cairo_rectangle(cr, 0, gradient_y, widget->allocation.width, - BOTTOM_GRADIENT_HEIGHT); - cairo_set_source(cr, gradient); - cairo_fill(cr); - cairo_pattern_destroy(gradient); -#endif - - cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); - cairo_set_line_width(cr, 1.0); - cairo_rectangle(cr, 0.5, 0.5,widget->allocation.width - 0.5, widget->allocation.height - 0.5); - cairo_stroke(cr); - - - color = style->bg[GTK_STATE_SELECTED]; - - cairo_rectangle(cr, stripe_x, stripe_y, 160, stripe_height); - -#ifdef ENABLE_GRADIENT_LOOK - r = color.red / 65535.0; - g = color.green / 65535.0; - b = color.blue / 65535.0; - - gradient = cairo_pattern_create_linear(stripe_x, 0, 160, 0); - cairo_pattern_add_color_stop_rgba(gradient, 0, r, g, b, 1); - cairo_pattern_add_color_stop_rgba(gradient, 1, r, g, b, 0); - cairo_set_source(cr, gradient); - cairo_fill(cr); - cairo_pattern_destroy(gradient); -#else - gdk_cairo_set_source_color(cr, &color); - cairo_fill(cr); -#endif - - cairo_destroy(cr); - cairo_set_source_surface(context, surface, 0, 0); - cairo_paint(context); - cairo_surface_destroy(surface); - cairo_destroy(context); - - return FALSE;//GTK_WIDGET_CLASS(parent_class)->expose_event(widget, event); - } - - private void enable_tooltip(self) - { - gchar *markup = NULL; - GdkScreen *screen; - GdkColormap *colormap; - GtkWidget *treeview = GTK_WIDGET(self); - GtkWidget *table = gtk_table_new(6,2, FALSE); - GtkWidget *vbox = gtk_hbox_new(FALSE, 0); - GtkWidget *label; - GtkSizeGroup *group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL); - self->_priv->tooltip_window = gtk_window_new(GTK_WINDOW_POPUP); - screen = gtk_window_get_screen(GTK_WINDOW(self->_priv->tooltip_window)); - colormap = gdk_screen_get_rgba_colormap(screen); - - if (colormap != NULL && gdk_screen_is_composited(screen)) - { - gtk_widget_set_colormap(self->_priv->tooltip_window, colormap); - } - - - gtk_widget_set_size_request(GTK_WIDGET(self->_priv->tooltip_window), 3*128,-1); - - gtk_widget_set_app_paintable(self->_priv->tooltip_window, TRUE); - g_signal_connect(G_OBJECT(self->_priv->tooltip_window), "expose-event", G_CALLBACK(self_tooltip_expose_event), self); - - gtk_container_add(GTK_CONTAINER(self->_priv->tooltip_window), vbox); - self->_priv->tw_image = gmpc_metaimage_new(META_ALBUM_ART); - gmpc_metaimage_set_size(GMPC_METAIMAGE(self->_priv->tw_image), 128); - gtk_box_pack_start(GTK_BOX(vbox), self->_priv->tw_image, FALSE, FALSE, 0); - - gtk_table_set_row_spacings(GTK_TABLE(table), 6); - gtk_table_set_col_spacings(GTK_TABLE(table), 6); - /* set layout up */ - gtk_container_set_border_width(GTK_CONTAINER(vbox),1); - gtk_container_set_border_width(GTK_CONTAINER(table), 6); - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Title")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,0,1,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_title = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_title), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_title), PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_title, 1,2,0,1,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Artist")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,1,2,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_artist = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_artist), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_artist),PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_artist, 1,2,1,2,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Album")); - gtk_label_set_markup(GTK_LABEL(label),markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,2,3,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_album = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_album), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_album),PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_album, 1,2,2,3,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Genre")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,3,4,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_genre = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_genre), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_genre),PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_genre, 1,2,3,4,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Date")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,4,5,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_date = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_date), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_date),PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_date, 1,2,4,5,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - label = gtk_label_new(""); - gtk_size_group_add_widget(group, label); - markup = g_markup_printf_escaped("%s:", _("Duration")); - gtk_label_set_markup(GTK_LABEL(label), markup); - g_free(markup); - gtk_misc_set_alignment(GTK_MISC(label), 1.0,0.5); - gtk_table_attach(GTK_TABLE(table), label, 0,1,5,6,GTK_FILL, GTK_FILL,0,0); - self->_priv->tw_length = gtk_label_new("n/a"); - gtk_misc_set_alignment(GTK_MISC(self->_priv->tw_length), 0.0,0.5); - gtk_label_set_ellipsize(GTK_LABEL(self->_priv->tw_length),PANGO_ELLIPSIZE_END); - gtk_table_attach(GTK_TABLE(table), self->_priv->tw_length, 1,2,5,6,GTK_EXPAND|GTK_FILL, GTK_FILL,0,0); - - - - - g_object_unref(group); - - gtk_box_pack_start(GTK_BOX(vbox), table, TRUE, TRUE, 0); - - - - g_signal_connect(G_OBJECT(treeview), - "query-tooltip", - G_CALLBACK(self_query_tooltip), - NULL); - gtk_widget_set_tooltip_window(treeview, GTK_WINDOW(self->_priv->tooltip_window)); - gtk_widget_show_all(vbox); - } - - - - - - /** - * Right mouse click behaviour fix - */ - private - gboolean click_fix (self, GdkEventButton *event) - { - GtkTreePath *path = NULL; - self->_priv->pressed = TRUE; - if(event->button == 3 && gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(self), event->x, event->y,&path,NULL,NULL,NULL)) - { - GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(self)); - if(gtk_tree_selection_path_is_selected(sel, path)) - { - gtk_tree_path_free(path); - return TRUE; - - } - } - if(path) { - gtk_tree_path_free(path); - } - return FALSE; - } - - private - gboolean click_released (self, GdkEventButton *event) - { - self->_priv->pressed = FALSE; - return FALSE; - } - public - void - enable_click_fix(self) - { - g_signal_connect(G_OBJECT(self), "button-press-event", G_CALLBACK(self_click_fix), NULL); - - g_signal_connect(G_OBJECT(self), "button-release-event", G_CALLBACK(self_click_released), NULL); - } - /** - * Copy paste stuff - */ - signal last NONE (POINTER) - void - paste_before(self, GList *items) - { - } - - signal last NONE (POINTER) - void - paste_after(self, const GList *items) - { - } - signal last NONE (NONE) - void - cut(self) - { - } - - private - int - paste_key_release_event(self, GdkEventKey *event,gpointer data) - { - if (event->keyval == GDK_c && event->state&GDK_CONTROL_MASK) - { - self_paste_copy_songs(self, NULL); - return TRUE; - } - if(paste_queue ) - { - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_BEFORE_SIGNAL], 0, TRUE)) - { - if (event->keyval == GDK_b && event->state&GDK_CONTROL_MASK) - { - self_paste_paste_before_songs(self, NULL); - return TRUE; - - } - } - - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_AFTER_SIGNAL], 0, TRUE)) - { - if (event->keyval == GDK_v && event->state&GDK_CONTROL_MASK) - { - self_paste_paste_after_songs(self, NULL); - return TRUE; - } - } - } - - if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection(GTK_TREE_VIEW(self))) > 0) - { - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[CUT_SIGNAL], 0, TRUE)) - { - if (event->keyval == GDK_x && event->state&GDK_CONTROL_MASK) - { - self_paste_cut_songs(self, NULL); - return TRUE; - } - } - } - return FALSE; - } - private - void - paste_cut_songs(self, GtkMenuItem *item) - { - self_paste_copy_songs(self, item); - self_cut(self); - } - private - void - paste_paste_after_songs(self, GtkMenuItem *menuitem) - { - self_paste_after(self, g_list_first(paste_queue)); - /* free old entries - g_list_foreach(paste_queue, (GFunc)g_free, NULL); - g_list_free(paste_queue); - paste_queue = NULL; - */ - } - - private - void - paste_paste_before_songs(self, GtkMenuItem *menuitem) - { - self_paste_before(self, g_list_first(paste_queue)); - /* free old entries - g_list_foreach(paste_queue, (GFunc)g_free, NULL); - g_list_free(paste_queue); - paste_queue = NULL; - */ - } - - private - void - paste_copy_songs(self, GtkMenuItem *menitem) - { - GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(self)); - /* free old entries */ - g_list_foreach(paste_queue, (GFunc)g_free, NULL); - g_list_free(paste_queue); - paste_queue = NULL; - /* check if where connected */ - /* see if there is a row selected */ - if (gtk_tree_selection_count_selected_rows (selection) > 0) - { - GList *list = NULL, *llist = NULL; - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(self)); - /* start a command list */ - /* grab the selected songs */ - list = gtk_tree_selection_get_selected_rows (selection, &model); - /* grab the last song that is selected */ - llist = g_list_last (list); - /* remove every selected song one by one */ - do{ - GtkTreeIter iter; - gtk_tree_model_get_iter (model, &iter,(GtkTreePath *) llist->data); - /* Trick that avoids roundtrip to mpd */ - { - char *path = NULL; - int type = 0; - /* this one allready has the pos. */ - gtk_tree_model_get (model, &iter, - MPDDATA_MODEL_ROW_TYPE,&type, - MPDDATA_MODEL_COL_PATH, &path, - -1); - debug_printf(DEBUG_INFO, "Copying song, into queue: %s\n", path); - if(type == MPD_DATA_TYPE_SONG) { - paste_queue = g_list_prepend(paste_queue, path); - } else if (type == MPD_DATA_TYPE_DIRECTORY) { - MpdData *data = mpd_database_get_directory_recursive(connection, path); - for(;data; data= mpd_data_get_next(data)){ - if(data->type == MPD_DATA_TYPE_SONG) { - paste_queue = g_list_prepend(paste_queue, g_strdup(data->song->file)); - } - } - g_free(path); - } else if (type == MPD_DATA_TYPE_PLAYLIST) { - MpdData *data = mpd_database_get_playlist_content(connection, path); - for(;data; data= mpd_data_get_next(data)){ - if(data->type == MPD_DATA_TYPE_SONG) { - paste_queue = g_list_prepend(paste_queue, g_strdup(data->song->file)); - } - } - g_free(path); - } - } - } while ((llist = g_list_previous (llist))); - /* free list */ - g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); - g_list_free (list); - } - paste_queue = g_list_reverse(paste_queue); - } - - public - int - right_mouse_intergration(self, GtkMenu *menu) - { - int retv = 0; - int i; - GtkWidget *menu_item; - GtkWidget *submenu = gtk_menu_new(); - for(i=0; i< num_plugins;i++) - { - if(gmpc_plugin_is_browser(plugins[i])) - { - if(gmpc_plugin_get_enabled(plugins[i])) - { - retv += gmpc_plugin_browser_song_list_option_menu(plugins[i],self, GTK_MENU(submenu)); - } - } - } - /* If no submenu item was added, destroy the submenu */ - if(!retv) gtk_widget_destroy(submenu); - else{ - /* Add a separator in front */ - menu_item = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - /* Add a tools menu item with the previously generated menu as submenu */ - menu_item = gtk_menu_item_new_with_label(_("Tools")); - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - } - - - /** - * Paste integration - */ - - menu_item = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - - - menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_COPY, NULL); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_copy_songs), self); - retv++; - - if(paste_queue ) - { - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_BEFORE_SIGNAL], 0, TRUE)) - { - menu_item = gtk_image_menu_item_new_with_label(_("Paste before")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), - gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_paste_before_songs), self); - retv++; - } - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[PASTE_AFTER_SIGNAL], 0, TRUE)) - { - menu_item = gtk_image_menu_item_new_with_label(_("Paste after")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), - gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_paste_after_songs), self); - retv++; - } - } - - if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection(GTK_TREE_VIEW(self))) > 0) - { - if(g_signal_has_handler_pending(G_OBJECT(self), object_signals[CUT_SIGNAL], 0, TRUE)) - { - menu_item = gtk_image_menu_item_new_from_stock(GTK_STOCK_CUT,NULL); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), - gtk_image_new_from_stock(GTK_STOCK_PASTE, GTK_ICON_SIZE_MENU)); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_paste_cut_songs), self); - retv++; - } - } - - menu_item = gtk_separator_menu_item_new(); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - retv++; - /** Edit column */ - menu_item = gtk_image_menu_item_new_with_label(_("Edit Columns")); - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)); - g_signal_connect_swapped(G_OBJECT(menu_item), "activate", G_CALLBACK(self_edit_columns), self); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); - retv++; - - return retv; - } - - public - void - cleanup(void) - { - if(paste_queue) - { - g_list_foreach(paste_queue, (GFunc)g_free, NULL); - g_list_free(paste_queue); - } - paste_queue = NULL; - } -} - -/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-mpddata-treeview.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-mpddata-treeview.h --- gmpc-0.18.0/src/gob/gmpc-mpddata-treeview.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-mpddata-treeview.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,114 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include - -#ifndef __GMPC_MPDDATA_TREEVIEW_H__ -#define __GMPC_MPDDATA_TREEVIEW_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - - - -#define NUM_COLS 19 -#define MOUSE_OFFSET 10 -#define ENABLE_GRADIENT_LOOK 1 -#define BACKGROUND_OPACITY 0.92 -#define BOTTOM_GRADIENT_HEIGHT 30 - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_MPDDATA_TREEVIEW (gmpc_mpddata_treeview_get_type()) -#define GMPC_MPDDATA_TREEVIEW(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_treeview_get_type(), GmpcMpdDataTreeview) -#define GMPC_MPDDATA_TREEVIEW_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_mpddata_treeview_get_type(), GmpcMpdDataTreeview const) -#define GMPC_MPDDATA_TREEVIEW_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_mpddata_treeview_get_type(), GmpcMpdDataTreeviewClass) -#define GMPC_IS_MPDDATA_TREEVIEW(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_mpddata_treeview_get_type ()) - -#define GMPC_MPDDATA_TREEVIEW_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_mpddata_treeview_get_type(), GmpcMpdDataTreeviewClass) - -/* Private structure type */ -typedef struct _GmpcMpdDataTreeviewPrivate GmpcMpdDataTreeviewPrivate; - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_MPDDATA_TREEVIEW__ -#define __TYPEDEF_GMPC_MPDDATA_TREEVIEW__ -typedef struct _GmpcMpdDataTreeview GmpcMpdDataTreeview; -#endif -struct _GmpcMpdDataTreeview { - GtkTreeView __parent__; - /*< private >*/ - GmpcMpdDataTreeviewPrivate *_priv; -}; - -/* - * Class definition - */ -typedef struct _GmpcMpdDataTreeviewClass GmpcMpdDataTreeviewClass; -struct _GmpcMpdDataTreeviewClass { - GtkTreeViewClass __parent__; - /*signal*/void (* paste_before) (GmpcMpdDataTreeview * self, GList * items); - /*signal*/void (* paste_after) (GmpcMpdDataTreeview * self, const GList * items); - /*signal*/void (* cut) (GmpcMpdDataTreeview * self); -}; - - -/* - * Public methods - */ -GType gmpc_mpddata_treeview_get_type (void); -GtkWidget * gmpc_mpddata_treeview_new (const char * name, - gboolean sort, - GtkTreeModel * model); -void gmpc_mpddata_treeview_edit_columns (GmpcMpdDataTreeview * self); -void gmpc_mpddata_treeview_enable_click_fix (GmpcMpdDataTreeview * self); -void gmpc_mpddata_treeview_paste_before (GmpcMpdDataTreeview * self, - GList * items); -void gmpc_mpddata_treeview_paste_after (GmpcMpdDataTreeview * self, - const GList * items); -void gmpc_mpddata_treeview_cut (GmpcMpdDataTreeview * self); -int gmpc_mpddata_treeview_right_mouse_intergration (GmpcMpdDataTreeview * self, - GtkMenu * menu); -void gmpc_mpddata_treeview_cleanup (void); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_mpddata_treeview_connect__paste_before(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_before",(GCallback) __extension__ ({void (* ___paste_before) (GmpcMpdDataTreeview * ___fake___self, GList * ___fake___items, gpointer ___data ) = (func); ___paste_before; }), (data)) -#define gmpc_mpddata_treeview_connect_after__paste_before(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_before",(GCallback) __extension__ ({void (* ___paste_before) (GmpcMpdDataTreeview * ___fake___self, GList * ___fake___items, gpointer ___data ) = (func); ___paste_before; }), (data)) -#define gmpc_mpddata_treeview_connect_data__paste_before(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_before",(GCallback) __extension__ ({void (* ___paste_before) (GmpcMpdDataTreeview * ___fake___self, GList * ___fake___items, gpointer ___data ) = (func); ___paste_before; }), (data), (destroy_data), (GConnectFlags)(flags)) -#define gmpc_mpddata_treeview_connect__paste_after(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_after",(GCallback) __extension__ ({void (* ___paste_after) (GmpcMpdDataTreeview * ___fake___self, const GList * ___fake___items, gpointer ___data ) = (func); ___paste_after; }), (data)) -#define gmpc_mpddata_treeview_connect_after__paste_after(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_after",(GCallback) __extension__ ({void (* ___paste_after) (GmpcMpdDataTreeview * ___fake___self, const GList * ___fake___items, gpointer ___data ) = (func); ___paste_after; }), (data)) -#define gmpc_mpddata_treeview_connect_data__paste_after(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"paste_after",(GCallback) __extension__ ({void (* ___paste_after) (GmpcMpdDataTreeview * ___fake___self, const GList * ___fake___items, gpointer ___data ) = (func); ___paste_after; }), (data), (destroy_data), (GConnectFlags)(flags)) -#define gmpc_mpddata_treeview_connect__cut(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"cut",(GCallback) __extension__ ({void (* ___cut) (GmpcMpdDataTreeview * ___fake___self, gpointer ___data ) = (func); ___cut; }), (data)) -#define gmpc_mpddata_treeview_connect_after__cut(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"cut",(GCallback) __extension__ ({void (* ___cut) (GmpcMpdDataTreeview * ___fake___self, gpointer ___data ) = (func); ___cut; }), (data)) -#define gmpc_mpddata_treeview_connect_data__cut(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(__extension__ ({GmpcMpdDataTreeview *___object = (object); ___object; })),"cut",(GCallback) __extension__ ({void (* ___cut) (GmpcMpdDataTreeview * ___fake___self, gpointer ___data ) = (func); ___cut; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_mpddata_treeview_connect__paste_before(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(object),"paste_before",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_after__paste_before(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(object),"paste_before",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_data__paste_before(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(object),"paste_before",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#define gmpc_mpddata_treeview_connect__paste_after(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(object),"paste_after",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_after__paste_after(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(object),"paste_after",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_data__paste_after(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(object),"paste_after",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#define gmpc_mpddata_treeview_connect__cut(object,func,data) g_signal_connect(GMPC_MPDDATA_TREEVIEW(object),"cut",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_after__cut(object,func,data) g_signal_connect_after(GMPC_MPDDATA_TREEVIEW(object),"cut",(GCallback)(func),(data)) -#define gmpc_mpddata_treeview_connect_data__cut(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_MPDDATA_TREEVIEW(object),"cut",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-profiles.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-profiles.gob --- gmpc-0.18.0/src/gob/gmpc-profiles.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-profiles.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,589 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 -%ht{ -#include -#include -#include -#include -#include "config1.h" -%} -%privateheader{ - #include "main.h" - #include "plugin.h" - #include "playlist3-messages.h" -%} -%h{ - enum { - PROFILE_ADDED, - PROFILE_REMOVED, - PROFILE_COL_CHANGED, - PROFILE_CURRENT - }; - enum { - PROFILE_COL_NAME, - PROFILE_COL_HOSTNAME, - PROFILE_COL_PORT, - PROFILE_COL_DO_AUTH, - PROFILE_COL_PASSWORD, - PROFILE_NUM_COLS - }; - - typedef struct { - gchar *id; - gchar *name; - gchar *hostname; - int port; - gboolean do_auth; - gchar *password; - }Profile; - -%} - -class Gmpc:Profiles from G:Object -{ - private config_obj *profiles = {NULL}; - private Profile **list = {NULL}; - private int num_profiles = {0}; - - - /* Connect on button press event */ - private - void - connect_to_profile_button(self, GtkWidget *button) - { - gchar *id = g_object_get_data(G_OBJECT(button), "profile-id"); - if(id) - { - self_set_current(self, id); - mpd_disconnect(connection); - connect_to_mpd(); - } - } - /* signal with (self, id) */ - signal last NONE (INT, INT,STRING) - void - changed(self,const int changed, const int col, const char * id) - { - if(changed == PROFILE_ADDED) - { - GtkWidget *connect_button = gtk_button_new_from_stock(GTK_STOCK_CONNECT); - gchar *message = g_markup_printf_escaped("%s: '%s'", _("Added profile"),self_get_name(self,id)); - playlist3_show_error_message(message, ERROR_INFO); - - g_object_set_data_full(G_OBJECT(connect_button), "profile-id", g_strdup(id), (GDestroyNotify)g_free); - g_signal_connect_swapped(G_OBJECT(connect_button), "clicked", G_CALLBACK(self_connect_to_profile_button), self); - playlist3_error_add_widget(connect_button); - q_free(message); - - debug_printf(DEBUG_INFO,"Item %s added\n", id); - } - else if(changed == PROFILE_REMOVED) - { - debug_printf(DEBUG_INFO,"Item %s removed\n", id); - } - else if(changed == PROFILE_COL_CHANGED) - { - /* Disabled because of grand spamming charges */ - /* - gchar *message = g_markup_printf_escaped("%s: '%s'", _("Changed profile"),self_get_name(self,id)); - playlist3_show_error_message(message, ERROR_INFO); - q_free(message); - */ - debug_printf(DEBUG_INFO,"Item %s changed col: %i\n", id, col); - } - } - - - /** - * New - */ - public - GmpcProfiles * - new(void) - { - return (GmpcProfiles *)GET_NEW; - } - - - /** - * init - * */ - init(self) - { - /** - * Get Profile - */ - gchar *url = cfg_get_single_value_as_string(config, "connection", "profile-file"); - if(!url) - { - url = gmpc_get_user_path("profiles.cfg"); - cfg_set_single_value_as_string(config, "connection", "profile-file",url); - } - self->_priv->profiles = cfg_open(url); - if(self->_priv->profiles == NULL) - { - /** - * Show gtk error message and quit - */ - debug_printf(DEBUG_ERROR,"Failed to save/load Profile file:\n%s\n",url); - abort(); - } - g_free(url); - self_load_from_config(self); - if(self->_priv->num_profiles == 0) - { - self_add_default(self); - self_load_from_config(self); - } - } - /** - * Add default values - */ - private - void - add_default(self) - { - cfg_set_single_value_as_string(config, "connection", "currentprofile", "Default"); - cfg_set_single_value_as_string(self->_priv->profiles, "Default", "hostname", "localhost"); - cfg_set_single_value_as_string(self->_priv->profiles, "Default", "name", "Default"); - cfg_set_single_value_as_string(self->_priv->profiles, "Default", "password",""); - cfg_set_single_value_as_int(self->_priv->profiles, "Default", "portnumber",6600); - cfg_set_single_value_as_int(self->_priv->profiles, "Default", "useauth",FALSE); - } - - /********* - * PROFILE - */ - /* free a profile */ - public - void - free_profile(Profile *profile) - { - if(profile->name) - g_free(profile->name); - if(profile->id) - g_free(profile->id); - if(profile->hostname) - g_free(profile->hostname); - if(profile->password) - g_free(profile->password); - g_free(profile); - } - - public - Profile * - new_profile(void) - { - Profile *retv = g_malloc0(sizeof(*retv)); - /* Init values */ - retv->name = NULL; - retv->id = NULL; - retv->password = NULL; - retv->hostname = NULL; - retv->port = 6600; - retv->do_auth = FALSE; - - return retv; - } - - private - void - load_from_config(self) - { - conf_mult_obj *iter,*mult = cfg_get_class_list(self->_priv->profiles); - /* free the old list */ - for(iter = mult;iter;iter = iter->next) - { - Profile *prof = self_new_profile(); - - self->_priv->num_profiles++; - self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); - self->_priv->list[self->_priv->num_profiles] = NULL; - self->_priv->list[self->_priv->num_profiles-1] = prof; - - prof->id = g_strdup(iter->key); - prof->name = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "name"); - prof->hostname = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "hostname"); - prof->password = cfg_get_single_value_as_string(self->_priv->profiles, prof->id, "password"); - prof->port = cfg_get_single_value_as_int(self->_priv->profiles, prof->id, "portnumber"); - prof->do_auth = cfg_get_single_value_as_int(self->_priv->profiles, prof->id, "useauth"); - } - cfg_free_multiple(mult); - } - - /** - * get profile - */ - private - Profile * - get_profile(self , const gchar *id(check null)) - { - int i = 0; - if(self->_priv->list) - { - for(i=0;self->_priv->list[i]; i++) - { - if(!strcmp(self->_priv->list[i]->id, id)) - return self->_priv->list[i]; - } - } - return NULL; - } - - /** - * get hostname - */ - public - gchar * - get_hostname(self,const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return NULL; - return prof->hostname; - } - /** - * get name - */ - public - const gchar * - get_name(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return NULL; - return prof->name; - } - /** - * get id - */ - public - const gchar * - get_id(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return NULL; - return prof->id; - } - /** - * get password - */ - public - gchar * - get_password(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return NULL; - return prof->password; - } - - /** - * get port - */ - public - int - get_port(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return -1; - return prof->port; - } - - /** - * get do_auth - */ - public - gboolean - get_do_auth(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return FALSE; - return prof->do_auth; - } - - /** - * Create new item - */ - public - gchar * - create_new_item(self, const gchar *id) - { - return self_create_new_item_with_name(self, id, "New Profile"); - } - public - gchar* - create_new_item_with_name(self, const gchar *id, const gchar *name) - { - Profile *prof = g_malloc0(sizeof(*prof)); - if(!id) - prof->id = g_strdup_printf("%u",g_random_int()); - else - prof->id = g_strdup(id); - if(!name) - prof->name = g_strdup("New Profile"); - else - prof->name = g_strdup(name); - prof->hostname = g_strdup("localhost"); - prof->password= g_strdup(""); - prof->port = 6600; - prof->do_auth = 0; - - /* safe this to the config file */ - cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "name", prof->name); - cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "hostname", prof->hostname); - cfg_set_single_value_as_string(self->_priv->profiles, prof->id, "password", prof->password); - cfg_set_single_value_as_int(self->_priv->profiles, prof->id, "portnumber", prof->port); - cfg_set_single_value_as_int(self->_priv->profiles, prof->id, "useauth", prof->do_auth); - - self->_priv->num_profiles++; - self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); - self->_priv->list[self->_priv->num_profiles] = NULL; - self->_priv->list[self->_priv->num_profiles-1] = prof; - /* propagate */ - self_changed(self,PROFILE_ADDED,-1, prof->id); - return prof->id; - } - public - void - remove_item(self, const gchar *id) - { - gchar *message = NULL; - int i=0; - Profile *prof = self_get_profile(self, id); - if(!prof) - { - debug_printf(DEBUG_WARNING, "Trying to remove not-existing profile: %i\n", id); - return; - } - /* Generate removal message before the actual profile is destroyed */ - message = g_markup_printf_escaped("%s: '%s'", _("Removed profile"),self_get_name(self,id)); - - for(i=0; self->_priv->list[i] && self->_priv->list[i] != prof;i++); - if(self->_priv->list[i] == prof) - { - for(; self->_priv->list[i] ;i++) - { - self->_priv->list[i] = self->_priv->list[i+1]; - } - self->_priv->num_profiles--; - self->_priv->list = g_realloc(self->_priv->list, (self->_priv->num_profiles+1)*sizeof(Profile *)); - - cfg_remove_class(self->_priv->profiles, (char *)id); - self_free_profile(prof); - } - - /* Display the message */ - playlist3_show_error_message(message, ERROR_INFO); - q_free(message); - - self_changed(self,PROFILE_REMOVED,-1, id); - } - - /** - * GET CURRENT - */ - public - gchar * - get_current(self) - { - gchar *id = cfg_get_single_value_as_string_with_default(config, "connection", "currentprofile", "Default"); - Profile *prof = self_get_profile(self, id); - /* if not available get the first one */ - if(!prof) - { - g_free(id); - if(self->_priv->list != NULL && self->_priv->list[0]) - { - self_set_current(self, self->_priv->list[0]->id); - } else { - self_add_default(self); - self_load_from_config(self); - self_changed(self, PROFILE_ADDED, -1,"Default"); - } - id = cfg_get_single_value_as_string_with_default(config, "connection", "currentprofile", "Default"); - } - return id; - } - - signal last NONE (STRING) - void - set_current(self, const gchar *id(check null)) - { - Profile *prof = self_get_profile(self, id); - if(prof){ - cfg_set_single_value_as_string(config, "connection", "currentprofile", (char *)id); - - self_changed(self, PROFILE_CURRENT,0, id); - } - - } - public - GList * - get_profiles_ids(self) - { - GList *list = NULL; - int i=0; - for(i=0; self->_priv->list[i] ; i++) - { - list = g_list_append(list,g_strdup(self->_priv->list[i]->id)); - } - return list; - } - - /** - * set field - */ - public - void - set_name(self, const gchar *id (check null), const gchar *value (check null)) - { - Profile *prof = self_get_profile(self, id); - - if(!prof) - return ; - - if((value && prof->name && g_utf8_collate(value, prof->name) == 0)|| (value == NULL && prof->name == NULL)) - return; - - if(prof->name) - g_free(prof->name); - - prof->name = g_strdup(value); - cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "name",prof->name); - self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_NAME,id); - } - - public - void - set_hostname(self, const gchar *id (check null), const gchar *value (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return ; - - if((value && prof->hostname && g_utf8_collate(value, prof->hostname) == 0)|| (value == NULL && prof->hostname == NULL)) - return; - - if(prof->hostname) - g_free(prof->hostname); - prof->hostname = g_strdup(value); - cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "hostname",prof->hostname); - self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_HOSTNAME,id); - } - /** - * Set Password - */ - public - void - set_password(self,const gchar *id (check null), gchar *value) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return ; - - if((value && prof->password && g_utf8_collate(value, prof->password) == 0)|| (value == NULL && prof->password == NULL)) - return; - - if(prof->password) - g_free(prof->password); - if(value) - prof->password = g_strdup(value); - else - prof->password = g_strdup(""); - cfg_set_single_value_as_string(self->_priv->profiles, (char *)id, "password",prof->password); - self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_PASSWORD,id); - } - - /** - * Set Port - */ - public - void - set_port(self, const gchar *id (check null), int value) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return ; - if(value == prof->port) - return; - prof->port = value; - cfg_set_single_value_as_int(self->_priv->profiles, (char *)id, "portnumber",prof->port); - self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_PORT,id); - } - /** - * Set do auth - */ - public - void - set_do_auth(self,const gchar *id (check null), int value) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return ; - if(prof->do_auth == value) - return; - prof->do_auth = value; - cfg_set_single_value_as_int(self->_priv->profiles,(char *)id, "useauth",prof->do_auth); - self_changed(self,PROFILE_COL_CHANGED, PROFILE_COL_DO_AUTH,id); - } - /** - * Has profile with id - */ - public - gboolean - has_profile(self, const gchar *id (check null)) - { - Profile *prof = self_get_profile(self, id); - if(!prof) - return FALSE; - else - return TRUE; - - } - override (G:Object) - void - finalize (G:Object *obj) - { - Self *self = GMPC_PROFILES(obj); - if(self->_priv->list) - { - int i = 0; - do{ - Profile * prof = self->_priv->list[i]; - self_free_profile(prof); - self->_priv->list[i] = NULL; - i++; - }while(self->_priv->list[i]); - g_free(self->_priv->list); - self->_priv->list = NULL; - } - if(self->_priv->profiles) - { - cfg_close(self->_priv->profiles); - self->_priv->profiles= NULL; - } - PARENT_HANDLER(obj); - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-profiles.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-profiles.h --- gmpc-0.18.0/src/gob/gmpc-profiles.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-profiles.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,162 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - -#include -#include -#include -#include -#include "config1.h" - -#ifndef __GMPC_PROFILES_H__ -#define __GMPC_PROFILES_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - - - enum { - PROFILE_ADDED, - PROFILE_REMOVED, - PROFILE_COL_CHANGED, - PROFILE_CURRENT - }; - enum { - PROFILE_COL_NAME, - PROFILE_COL_HOSTNAME, - PROFILE_COL_PORT, - PROFILE_COL_DO_AUTH, - PROFILE_COL_PASSWORD, - PROFILE_NUM_COLS - }; - - typedef struct { - gchar *id; - gchar *name; - gchar *hostname; - int port; - gboolean do_auth; - gchar *password; - }Profile; - - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_PROFILES (gmpc_profiles_get_type()) -#define GMPC_PROFILES(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_profiles_get_type(), GmpcProfiles) -#define GMPC_PROFILES_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_profiles_get_type(), GmpcProfiles const) -#define GMPC_PROFILES_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_profiles_get_type(), GmpcProfilesClass) -#define GMPC_IS_PROFILES(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_profiles_get_type ()) - -#define GMPC_PROFILES_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_profiles_get_type(), GmpcProfilesClass) - -/* Private structure type */ -typedef struct _GmpcProfilesPrivate GmpcProfilesPrivate; - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_PROFILES__ -#define __TYPEDEF_GMPC_PROFILES__ -typedef struct _GmpcProfiles GmpcProfiles; -#endif -struct _GmpcProfiles { - GObject __parent__; - /*< private >*/ - GmpcProfilesPrivate *_priv; -}; - -/* - * Class definition - */ -typedef struct _GmpcProfilesClass GmpcProfilesClass; -struct _GmpcProfilesClass { - GObjectClass __parent__; - /*signal*/void (* changed) (GmpcProfiles * self, const int changed, const int col, const char * id); - /*signal*/void (* set_current) (GmpcProfiles * self, const gchar * id); -}; - - -/* - * Public methods - */ -GType gmpc_profiles_get_type (void); -void gmpc_profiles_changed (GmpcProfiles * self, - const int changed, - const int col, - const char * id); -GmpcProfiles * gmpc_profiles_new (void); -void gmpc_profiles_free_profile (Profile * profile); -Profile * gmpc_profiles_new_profile (void); -gchar * gmpc_profiles_get_hostname (GmpcProfiles * self, - const gchar * id); -const gchar * gmpc_profiles_get_name (GmpcProfiles * self, - const gchar * id); -const gchar * gmpc_profiles_get_id (GmpcProfiles * self, - const gchar * id); -gchar * gmpc_profiles_get_password (GmpcProfiles * self, - const gchar * id); -int gmpc_profiles_get_port (GmpcProfiles * self, - const gchar * id); -gboolean gmpc_profiles_get_do_auth (GmpcProfiles * self, - const gchar * id); -gchar * gmpc_profiles_create_new_item (GmpcProfiles * self, - const gchar * id); -gchar * gmpc_profiles_create_new_item_with_name (GmpcProfiles * self, - const gchar * id, - const gchar * name); -void gmpc_profiles_remove_item (GmpcProfiles * self, - const gchar * id); -gchar * gmpc_profiles_get_current (GmpcProfiles * self); -void gmpc_profiles_set_current (GmpcProfiles * self, - const gchar * id); -GList * gmpc_profiles_get_profiles_ids (GmpcProfiles * self); -void gmpc_profiles_set_name (GmpcProfiles * self, - const gchar * id, - const gchar * value); -void gmpc_profiles_set_hostname (GmpcProfiles * self, - const gchar * id, - const gchar * value); -void gmpc_profiles_set_password (GmpcProfiles * self, - const gchar * id, - gchar * value); -void gmpc_profiles_set_port (GmpcProfiles * self, - const gchar * id, - int value); -void gmpc_profiles_set_do_auth (GmpcProfiles * self, - const gchar * id, - int value); -gboolean gmpc_profiles_has_profile (GmpcProfiles * self, - const gchar * id); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_profiles_connect__changed(object,func,data) g_signal_connect(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (GmpcProfiles * ___fake___self, const int ___fake___changed, const int ___fake___col, const char * ___fake___id, gpointer ___data ) = (func); ___changed; }), (data)) -#define gmpc_profiles_connect_after__changed(object,func,data) g_signal_connect_after(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (GmpcProfiles * ___fake___self, const int ___fake___changed, const int ___fake___col, const char * ___fake___id, gpointer ___data ) = (func); ___changed; }), (data)) -#define gmpc_profiles_connect_data__changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"changed",(GCallback) __extension__ ({void (* ___changed) (GmpcProfiles * ___fake___self, const int ___fake___changed, const int ___fake___col, const char * ___fake___id, gpointer ___data ) = (func); ___changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#define gmpc_profiles_connect__set_current(object,func,data) g_signal_connect(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"set_current",(GCallback) __extension__ ({void (* ___set_current) (GmpcProfiles * ___fake___self, const gchar * ___fake___id, gpointer ___data ) = (func); ___set_current; }), (data)) -#define gmpc_profiles_connect_after__set_current(object,func,data) g_signal_connect_after(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"set_current",(GCallback) __extension__ ({void (* ___set_current) (GmpcProfiles * ___fake___self, const gchar * ___fake___id, gpointer ___data ) = (func); ___set_current; }), (data)) -#define gmpc_profiles_connect_data__set_current(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_PROFILES(__extension__ ({GmpcProfiles *___object = (object); ___object; })),"set_current",(GCallback) __extension__ ({void (* ___set_current) (GmpcProfiles * ___fake___self, const gchar * ___fake___id, gpointer ___data ) = (func); ___set_current; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_profiles_connect__changed(object,func,data) g_signal_connect(GMPC_PROFILES(object),"changed",(GCallback)(func),(data)) -#define gmpc_profiles_connect_after__changed(object,func,data) g_signal_connect_after(GMPC_PROFILES(object),"changed",(GCallback)(func),(data)) -#define gmpc_profiles_connect_data__changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_PROFILES(object),"changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#define gmpc_profiles_connect__set_current(object,func,data) g_signal_connect(GMPC_PROFILES(object),"set_current",(GCallback)(func),(data)) -#define gmpc_profiles_connect_after__set_current(object,func,data) g_signal_connect_after(GMPC_PROFILES(object),"set_current",(GCallback)(func),(data)) -#define gmpc_profiles_connect_data__set_current(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_PROFILES(object),"set_current",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-signals.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-signals.gob --- gmpc-0.18.0/src/gob/gmpc-signals.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-signals.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,66 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.0 -%headertop{ - #include - #include - #include - #include "config-defaults.h" - #include "main.h" -%} - - -class Gmpc:Signals from G:Object{ - - /** - * Browser Markup - */ - signal last NONE (STRING) - void - browser_markup_changed(self, gchar *markup) - { - debug_printf(DEBUG_INFO, "Markup Changed fired\n"); - cfg_set_single_value_as_string(config, "playlist", "browser_markup",markup); - } - - public - char * - get_browser_markup(self) - { - return cfg_get_single_value_as_string_with_default(config, "playlist", "browser_markup",DEFAULT_MARKUP_BROWSER); - } - - /** - * new - */ - public - GmpcSignals * - new(void) - { - return GET_NEW; - } - - override (G:Object) - void - finalize (G:Object *obj) - { - PARENT_HANDLER(obj); - } -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-signals.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-signals.h --- gmpc-0.18.0/src/gob/gmpc-signals.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-signals.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,80 +0,0 @@ -/* Generated by GOB (v2.0.15) (do not edit directly) */ - -#include -#include - - - #include - #include - #include - #include "config-defaults.h" - #include "main.h" - -#ifndef __GMPC_SIGNALS_H__ -#define __GMPC_SIGNALS_H__ - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - - -/* - * Type checking and casting macros - */ -#define GMPC_TYPE_SIGNALS (gmpc_signals_get_type()) -#define GMPC_SIGNALS(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_signals_get_type(), GmpcSignals) -#define GMPC_SIGNALS_CONST(obj) G_TYPE_CHECK_INSTANCE_CAST((obj), gmpc_signals_get_type(), GmpcSignals const) -#define GMPC_SIGNALS_CLASS(klass) G_TYPE_CHECK_CLASS_CAST((klass), gmpc_signals_get_type(), GmpcSignalsClass) -#define GMPC_IS_SIGNALS(obj) G_TYPE_CHECK_INSTANCE_TYPE((obj), gmpc_signals_get_type ()) - -#define GMPC_SIGNALS_GET_CLASS(obj) G_TYPE_INSTANCE_GET_CLASS((obj), gmpc_signals_get_type(), GmpcSignalsClass) - -/* - * Main object structure - */ -#ifndef __TYPEDEF_GMPC_SIGNALS__ -#define __TYPEDEF_GMPC_SIGNALS__ -typedef struct _GmpcSignals GmpcSignals; -#endif -struct _GmpcSignals { - GObject __parent__; -}; - -/* - * Class definition - */ -typedef struct _GmpcSignalsClass GmpcSignalsClass; -struct _GmpcSignalsClass { - GObjectClass __parent__; - /*signal*/void (* browser_markup_changed) (GmpcSignals * self, gchar * markup); -}; - - -/* - * Public methods - */ -GType gmpc_signals_get_type (void); -void gmpc_signals_browser_markup_changed (GmpcSignals * self, - gchar * markup); -char * gmpc_signals_get_browser_markup (GmpcSignals * self); -GmpcSignals * gmpc_signals_new (void); - -/* - * Signal connection wrapper macros - */ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define gmpc_signals_connect__browser_markup_changed(object,func,data) g_signal_connect(GMPC_SIGNALS(__extension__ ({GmpcSignals *___object = (object); ___object; })),"browser_markup_changed",(GCallback) __extension__ ({void (* ___browser_markup_changed) (GmpcSignals * ___fake___self, gchar * ___fake___markup, gpointer ___data ) = (func); ___browser_markup_changed; }), (data)) -#define gmpc_signals_connect_after__browser_markup_changed(object,func,data) g_signal_connect_after(GMPC_SIGNALS(__extension__ ({GmpcSignals *___object = (object); ___object; })),"browser_markup_changed",(GCallback) __extension__ ({void (* ___browser_markup_changed) (GmpcSignals * ___fake___self, gchar * ___fake___markup, gpointer ___data ) = (func); ___browser_markup_changed; }), (data)) -#define gmpc_signals_connect_data__browser_markup_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_SIGNALS(__extension__ ({GmpcSignals *___object = (object); ___object; })),"browser_markup_changed",(GCallback) __extension__ ({void (* ___browser_markup_changed) (GmpcSignals * ___fake___self, gchar * ___fake___markup, gpointer ___data ) = (func); ___browser_markup_changed; }), (data), (destroy_data), (GConnectFlags)(flags)) -#else /* __GNUC__ && !__STRICT_ANSI__ */ -#define gmpc_signals_connect__browser_markup_changed(object,func,data) g_signal_connect(GMPC_SIGNALS(object),"browser_markup_changed",(GCallback)(func),(data)) -#define gmpc_signals_connect_after__browser_markup_changed(object,func,data) g_signal_connect_after(GMPC_SIGNALS(object),"browser_markup_changed",(GCallback)(func),(data)) -#define gmpc_signals_connect_data__browser_markup_changed(object,func,data,destroy_data,flags) g_signal_connect_data(GMPC_SIGNALS(object),"browser_markup_changed",(GCallback)(func),(data),(destroy_data),(GConnectFlags)(flags)) -#endif /* __GNUC__ && !__STRICT_ANSI__ */ - - -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/gmpc-stats-label.gob /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/gmpc-stats-label.gob --- gmpc-0.18.0/src/gob/gmpc-stats-label.gob 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/gmpc-stats-label.gob 1970-01-01 01:00:00.000000000 +0100 @@ -1,165 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -requires 2.0.10 - -%ph{ -#include "main.h" -#include "misc.h" -%} - -%h{ - typedef enum _LabelType { - ARTIST_NUM_SONGS, - ARTIST_PLAYTIME_SONGS, - ARTIST_GENRES_SONGS, - ARTIST_DATES_SONGS - }LabelType; - -%} -%ht{ -#include -#include -%} - -class Gmpc:Stats:Label from Gtk:Label -{ - private LabelType ltype = ARTIST_NUM_SONGS; - private mpd_Song *song = {NULL} destroywith mpd_freeSong; - private gulong ll_signal = 0; - - private - gboolean - idle_handler(self) - { - if(self->_priv->ltype == ARTIST_NUM_SONGS) - { - MpdDBStats *stats = NULL; - mpd_database_search_stats_start(connection); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); - stats = mpd_database_search_stats_commit(connection); - if(stats) - { - char *buffer = g_strdup_printf("%i", stats->numberOfSongs); - gtk_label_set_text(GTK_LABEL(self), buffer); - q_free(buffer); - mpd_database_search_free_stats(stats); - } - else - gtk_label_set_text(GTK_LABEL(self), ""); - - }else if (self->_priv->ltype == ARTIST_PLAYTIME_SONGS) - { - MpdDBStats *stats = NULL; - mpd_database_search_stats_start(connection); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); - stats = mpd_database_search_stats_commit(connection); - if(stats) - { - char *buffer = format_time_real(stats->playTime,""); - gtk_label_set_text(GTK_LABEL(self), buffer); - q_free(buffer); - mpd_database_search_free_stats(stats); - } - else - gtk_label_set_text(GTK_LABEL(self), ""); - }else if (self->_priv->ltype == ARTIST_GENRES_SONGS) - { - GString *string = NULL; - MpdData *data = NULL; - mpd_database_search_field_start(connection, MPD_TAG_ITEM_GENRE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); - string = g_string_new(""); - for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) - { - g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); - } - if(string->len >0) - { - gtk_label_set_text(GTK_LABEL(self), string->str); - } - else - { - gtk_label_set_text(GTK_LABEL(self), ""); - } - g_string_free(string, TRUE); - } - else if (self->_priv->ltype == ARTIST_DATES_SONGS) - { - int items = 0; - GString *string = NULL; - MpdData *data = NULL; - mpd_database_search_field_start(connection, MPD_TAG_ITEM_DATE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, self->_priv->song->artist); - string = g_string_new(""); - items= 0; - for(data = mpd_database_search_commit(connection);data != NULL ;data= mpd_data_get_next(data)) - { - g_string_append_printf(string, "%s%s",data->tag, (mpd_data_is_last(data))?"":", "); - items++; - } - if(string->len >0) - { - - gtk_label_set_text(GTK_LABEL(self), string->str); - } - else - gtk_label_set_text(GTK_LABEL(self), ""); - g_string_free(string, TRUE); - } - - return FALSE; - } - - - private - gboolean - expose_event(self, GdkEventExpose *event, gpointer data) - { - gchar *string = g_markup_printf_escaped("%s", _("Loading")); - gtk_label_set_markup(GTK_LABEL(self),string); - g_free(string); - self_idle_handler(self); - if(self->_priv->ll_signal) { - g_signal_handler_disconnect(self, self->_priv->ll_signal); - self->_priv->ll_signal = 0; - } - return FALSE; - } - /* Constructor */ - public - GtkWidget * - new(LabelType ltype, mpd_Song *song) - { - Self *self = GET_NEW; - self->_priv->song = mpd_songDup(song); - self->_priv->ltype = ltype; - - self->_priv->ll_signal = g_signal_connect(G_OBJECT(self), "expose-event", G_CALLBACK(self_expose_event), NULL); - return (GtkWidget *)self; - } - override (G:Object) - void - finalize(G:Object *obj) - { - PARENT_HANDLER(obj); - } - - -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/Makefile.am --- gmpc-0.18.0/src/gob/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/gob/Makefile.am 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -V = @ -Q = $(V:1=) -QUIET_GEN = $(Q:@=@echo ' GEN '$@;) - -noinst_LTLIBRARIES = libcwidgets.la - -nodist_libcwidgets_la_SOURCES =\ - gmpc-connection.c\ - gmpc-metaimage.c\ - gmpc-meta-watcher.c\ - gmpc-meta-text-view.c\ - gmpc-mpddata-model.c\ - gmpc-mpddata-model-sort.c\ - gmpc-liststore-sort.c\ - gmpc-mpddata-model-playlist.c\ - gmpc-mpddata-treeview.c\ - gmpc-clicklabel.c\ - gmpc-stats-label.c\ - gmpc-signals.c\ - gmpc-profiles.c - -libcwidgetsincludedir =$(includedir)/gmpc/ -libcwidgetsinclude_HEADERS=\ - gmpc-profiles.h\ - gmpc-mpddata-model.h\ - gmpc-mpddata-model-sort.h\ - gmpc-mpddata-treeview.h\ - gmpc-meta-watcher.h\ - gmpc-clicklabel.h\ - gmpc-metaimage.h\ - gmpc-connection.h\ - gmpc-signals.h - - - -BUILT_SOURCES=\ - $(nodist_libcwidgets_la_SOURCES) - -%.c %.h %-private.h: %.gob - $(QUIET_GE) echo " GOB $<" - @GOB2@ --no-touch-headers --always-private-header $< - @touch $@ - -EXTRA_DIST=\ - gmpc-profiles.gob\ - gmpc-connection.gob\ - gmpc-meta-watcher.gob\ - gmpc-metaimage.gob\ - gmpc-meta-text-view.gob\ - gmpc-mpddata-model.gob\ - gmpc-mpddata-model-playlist.gob\ - gmpc-mpddata-model-sort.gob\ - gmpc-liststore-sort.gob\ - gmpc-mpddata-treeview.gob\ - gmpc-clicklabel.gob\ - gmpc-stats-label.gob\ - gmpc-signals.gob - -INCLUDES=\ - @EXTRA_CFLAGS@\ - -I$(top_srcdir)\ - -I$(top_builddir)\ - -I$(top_srcdir)/src\ - -I$(top_builddir)/src\ - -I$(top_srcdir)/src/egg\ - -I$(top_builddir)/src/egg\ - -I$(top_srcdir)/src/bacon\ - -I$(top_builddir)/src/bacon\ - -DPIXMAP_PATH=\""$(pkgdatadir)"\" \ - -DGLADE_PATH=\""$(pkgdatadir)"\" \ - -DVERSION=\"@VERSION@\"\ - -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" \ - -DGMPC_BUILD=1 -if MAINTAINER_MODE -MAYBE_CFLAGS=-Wall -Werror -Wdeclaration-after-statement -Wshadow -endif -AM_CFLAGS=\ - @CFLAGS@\ - @glib_CFLAGS@\ - @libmpd_CFLAGS@ \ - @gobject_CFLAGS@\ - @gtk_CFLAGS@\ - @gmodule_CFLAGS@\ - @libglade_CFLAGS@\ - @gthread_CFLAGS@\ - @sm_CFLAGS@\ - $(MAYBE_CFLAGS) - - -clean-local: - -rm *.c - -rm *.h diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gob/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gob/Makefile.in --- gmpc-0.18.0/src/gob/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/src/gob/Makefile.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,665 +0,0 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. -# @configure_input@ - -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ -pkgdatadir = $(datadir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = ../.. - -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -host_triplet = @host@ -ACLOCAL = @ACLOCAL@ -ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ -AMTAR = @AMTAR@ -AM_MAKEFLAGS = @AM_MAKEFLAGS@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CATALOGS = @CATALOGS@ -CATOBJEXT = @CATOBJEXT@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ -CXX = @CXX@ -CYGPATH_W = @CYGPATH_W@ -DATADIRNAME = @DATADIRNAME@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -EXTRA_CFLAGS = @EXTRA_CFLAGS@ -EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ -FGREP = @FGREP@ -GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ -GLIB_REQUIRED = @GLIB_REQUIRED@ -GMOFILES = @GMOFILES@ -GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ -GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ -GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ -GMSGFMT = @GMSGFMT@ -GOB2 = @GOB2@ -GREP = @GREP@ -GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INSTOBJEXT = @INSTOBJEXT@ -INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ -INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ -INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ -INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ -INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ -MAKEFLAGS = @MAKEFLAGS@ -MAKEINFO = @MAKEINFO@ -MKINSTALLDIRS = @MKINSTALLDIRS@ -MSGFMT = @MSGFMT@ -MSGFMT_OPTS = @MSGFMT_OPTS@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_LIBS = @PACKAGE_LIBS@ -PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -POFILES = @POFILES@ -POSUB = @POSUB@ -PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ -PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ -SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ -SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ -SHELL = @SHELL@ -SPIFF_LIBS = @SPIFF_LIBS@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ -VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ -XGETTEXT = @XGETTEXT@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -glib_CFLAGS = @glib_CFLAGS@ -glib_LIBS = @glib_LIBS@ -gmodule_CFLAGS = @gmodule_CFLAGS@ -gmodule_LIBS = @gmodule_LIBS@ -gobject_CFLAGS = @gobject_CFLAGS@ -gobject_LIBS = @gobject_LIBS@ -gthread_CFLAGS = @gthread_CFLAGS@ -gthread_LIBS = @gthread_LIBS@ -gtk_CFLAGS = @gtk_CFLAGS@ -gtk_LIBS = @gtk_LIBS@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -libglade_CFLAGS = @libglade_CFLAGS@ -libglade_LIBS = @libglade_LIBS@ -libmpd_CFLAGS = @libmpd_CFLAGS@ -libmpd_LIBS = @libmpd_LIBS@ -libsexy_CFLAGS = @libsexy_CFLAGS@ -libsexy_LIBS = @libsexy_LIBS@ -libsoup_CFLAGS = @libsoup_CFLAGS@ -libsoup_LIBS = @libsoup_LIBS@ -localedir = @localedir@ -localstatedir = @localstatedir@ -lt_ECHO = @lt_ECHO@ -macint_CFLAGS = @macint_CFLAGS@ -macint_LIBS = @macint_LIBS@ -mandir = @mandir@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -V = @ -Q = $(V:1=) -QUIET_GEN = $(Q:@=@echo ' GEN '$@;) - -noinst_LTLIBRARIES = libcwidgets.la - -nodist_libcwidgets_la_SOURCES = \ - gmpc-connection.c\ - gmpc-metaimage.c\ - gmpc-meta-watcher.c\ - gmpc-meta-text-view.c\ - gmpc-mpddata-model.c\ - gmpc-mpddata-model-sort.c\ - gmpc-liststore-sort.c\ - gmpc-mpddata-model-playlist.c\ - gmpc-mpddata-treeview.c\ - gmpc-clicklabel.c\ - gmpc-stats-label.c\ - gmpc-signals.c\ - gmpc-profiles.c - - -libcwidgetsincludedir = $(includedir)/gmpc/ -libcwidgetsinclude_HEADERS = \ - gmpc-profiles.h\ - gmpc-mpddata-model.h\ - gmpc-mpddata-model-sort.h\ - gmpc-mpddata-treeview.h\ - gmpc-meta-watcher.h\ - gmpc-clicklabel.h\ - gmpc-metaimage.h\ - gmpc-connection.h\ - gmpc-signals.h - - -BUILT_SOURCES = \ - $(nodist_libcwidgets_la_SOURCES) - - -EXTRA_DIST = \ - gmpc-profiles.gob\ - gmpc-connection.gob\ - gmpc-meta-watcher.gob\ - gmpc-metaimage.gob\ - gmpc-meta-text-view.gob\ - gmpc-mpddata-model.gob\ - gmpc-mpddata-model-playlist.gob\ - gmpc-mpddata-model-sort.gob\ - gmpc-liststore-sort.gob\ - gmpc-mpddata-treeview.gob\ - gmpc-clicklabel.gob\ - gmpc-stats-label.gob\ - gmpc-signals.gob - - -INCLUDES = \ - @EXTRA_CFLAGS@\ - -I$(top_srcdir)\ - -I$(top_builddir)\ - -I$(top_srcdir)/src\ - -I$(top_builddir)/src\ - -I$(top_srcdir)/src/egg\ - -I$(top_builddir)/src/egg\ - -I$(top_srcdir)/src/bacon\ - -I$(top_builddir)/src/bacon\ - -DPIXMAP_PATH=\""$(pkgdatadir)"\" \ - -DGLADE_PATH=\""$(pkgdatadir)"\" \ - -DVERSION=\"@VERSION@\"\ - -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" \ - -DGMPC_BUILD=1 - -@MAINTAINER_MODE_TRUE@MAYBE_CFLAGS = -Wall -Werror -Wdeclaration-after-statement -Wshadow -AM_CFLAGS = \ - @CFLAGS@\ - @glib_CFLAGS@\ - @libmpd_CFLAGS@ \ - @gobject_CFLAGS@\ - @gtk_CFLAGS@\ - @gmodule_CFLAGS@\ - @libglade_CFLAGS@\ - @gthread_CFLAGS@\ - @sm_CFLAGS@\ - $(MAYBE_CFLAGS) - -subdir = src/gob -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) - -libcwidgets_la_LDFLAGS = -libcwidgets_la_LIBADD = -nodist_libcwidgets_la_OBJECTS = gmpc-connection.lo gmpc-metaimage.lo \ - gmpc-meta-watcher.lo gmpc-meta-text-view.lo \ - gmpc-mpddata-model.lo gmpc-mpddata-model-sort.lo \ - gmpc-liststore-sort.lo gmpc-mpddata-model-playlist.lo \ - gmpc-mpddata-treeview.lo gmpc-clicklabel.lo gmpc-stats-label.lo \ - gmpc-signals.lo gmpc-profiles.lo -libcwidgets_la_OBJECTS = $(nodist_libcwidgets_la_OBJECTS) - -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/gmpc-clicklabel.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-connection.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-liststore-sort.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-meta-text-view.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-meta-watcher.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-metaimage.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-mpddata-model-playlist.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-mpddata-model-sort.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-mpddata-model.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-mpddata-treeview.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-profiles.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-signals.Plo \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-stats-label.Plo -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = -HEADERS = $(libcwidgetsinclude_HEADERS) - -DIST_COMMON = $(libcwidgetsinclude_HEADERS) $(srcdir)/Makefile.in \ - Makefile.am -SOURCES = $(nodist_libcwidgets_la_SOURCES) - -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) - cd $(top_srcdir) && \ - $(AUTOMAKE) --gnu src/gob/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ - dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ - test "$$dir" = "$$p" && dir=.; \ - echo "rm -f \"$${dir}/so_locations\""; \ - rm -f "$${dir}/so_locations"; \ - done -libcwidgets.la: $(libcwidgets_la_OBJECTS) $(libcwidgets_la_DEPENDENCIES) - $(LINK) $(libcwidgets_la_LDFLAGS) $(libcwidgets_la_OBJECTS) $(libcwidgets_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-clicklabel.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-connection.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-liststore-sort.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-meta-text-view.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-meta-watcher.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-metaimage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model-playlist.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model-sort.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-treeview.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-profiles.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-signals.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-stats-label.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< - -.c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` - -.c.lo: -@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -libcwidgetsincludeHEADERS_INSTALL = $(INSTALL_HEADER) -install-libcwidgetsincludeHEADERS: $(libcwidgetsinclude_HEADERS) - @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(libcwidgetsincludedir) - @list='$(libcwidgetsinclude_HEADERS)'; for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(libcwidgetsincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libcwidgetsincludedir)/$$f"; \ - $(libcwidgetsincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libcwidgetsincludedir)/$$f; \ - done - -uninstall-libcwidgetsincludeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(libcwidgetsinclude_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(libcwidgetsincludedir)/$$f"; \ - rm -f $(DESTDIR)$(libcwidgetsincludedir)/$$f; \ - done - -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS - -ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - mkid -fID $$unique - -TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - -ctags: CTAGS -CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - tags=; \ - here=`pwd`; \ - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(CTAGS_ARGS)$$tags$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$tags $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && cd $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) $$here - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = ../.. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ - if test -d $$d/$$file; then \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ - fi; \ - cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ - else \ - test -f $(distdir)/$$file \ - || cp -p $$d/$$file $(distdir)/$$file \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) - -installdirs: - $(mkinstalldirs) $(DESTDIR)$(libcwidgetsincludedir) -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - `test -z '$(STRIP)' || \ - echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-local \ - clean-noinstLTLIBRARIES mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags - -dvi: dvi-am - -dvi-am: - -info: info-am - -info-am: - -install-data-am: install-libcwidgetsincludeHEADERS - -install-exec-am: - -install-info: install-info-am - -install-man: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-info-am uninstall-libcwidgetsincludeHEADERS - -.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-local clean-noinstLTLIBRARIES ctags \ - distclean distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am info info-am install \ - install-am install-data install-data-am install-exec \ - install-exec-am install-info install-info-am \ - install-libcwidgetsincludeHEADERS install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-info-am \ - uninstall-libcwidgetsincludeHEADERS - - -%.c %.h %-private.h: %.gob - $(QUIET_GE) echo " GOB $<" - @GOB2@ --no-touch-headers --always-private-header $< - @touch $@ - -clean-local: - -rm *.c - -rm *.h -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/gtktransition.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/gtktransition.h --- gmpc-0.18.0/src/gtktransition.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/gtktransition.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,35 @@ +/* -*- Mode: C; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2 -*- + * + * GSEAL transition definitions. + * + * Copyright (C) 2009 Mark Lee + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + */ + +#ifndef __GSEAL_TRANSITION_H__ +#define __GSEAL_TRANSITION_H__ + +#ifndef GSEAL +#define gtk_selection_data_get_data(x) (x)->data +#define gtk_selection_data_get_length(x) (x)->length +#define gtk_socket_get_plug_window(x) (x)->plug_window +#define gtk_widget_get_window(x) (x)->window +#endif + +#endif +/* vim: set ts=2 sts=2 sw=2 ai cindent : */ \ No newline at end of file diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/main.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/main.c --- gmpc-0.18.0/src/main.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/main.c 2009-09-21 11:15:59.000000000 +0100 @@ -22,7 +22,6 @@ #include #include -#include #include /** Gtk/glib glade stuff */ @@ -34,9 +33,8 @@ #include "playlist3.h" /** session support */ -#include "sm.h" #include "misc.h" -#include "advanced_search.h" +#include "advanced-search.h" #include "gmpc_easy_download.h" #include "setup-assistant.h" @@ -49,7 +47,17 @@ /* vala */ #include "vala/gmpc-easy-command.h" +#include "vala/gmpc-test-plugin.h" +#include "vala/gmpc-metadata-browser2.h" +#include "vala/gmpc-metadata-prefetcher.h" +#include "vala/gmpc-paned-size-group.h" +#include "gmpc-mpddata-model-playlist.h" +#include "metadata-cache.h" +#include "bug-information.h" + + +#define LOG_DOMAIN "Gmpc" /** * Get revision */ @@ -67,9 +75,10 @@ extern gmpcPlugin cover_art_plug; extern gmpcPlugin tray_icon2_plug; extern gmpcPlugin proxyplug; -extern gmpcPlugin metab_plugin; extern gmpcPlugin playlist_editor_plugin; extern gmpcPlugin statistics_plugin; + +GmpcMetadataBrowser *metadata_browser = NULL; /** * Global objects that give signals */ @@ -77,12 +86,17 @@ GmpcConnection *gmpcconn = NULL; /* Implements, and gives signals on profiles */ GmpcProfiles *gmpc_profiles = NULL; -GmpcSignals *gmpc_signals = NULL; /* Implements, and gives signals on meta_data*/ GmpcMetaWatcher *gmw = NULL; /* Easy command */ GmpcEasyCommand *gmpc_easy_command = NULL; +/* Playlist3 messages */ +Playlist3MessagePlugin *pl3_messages = NULL; +/* The playlist backend */ +GtkTreeModel *playlist = NULL; + +GObject *paned_size_group = NULL; /** * This flag indicate the requested connection state by the user. * If the user presses disconnect, you don't want to auto-connect anymore. @@ -149,11 +163,12 @@ * Handle incoming (IPC) messages. * GMPC ships a utility called "gmpc-remote" that uses this interface. */ + #define LOG_DOMAIN_IPC "IPC" static void bacon_on_message_received(const char *message, gpointer data) { if (message) { - debug_printf(DEBUG_INFO, "got message: '%s'\n", message); + g_log(LOG_DOMAIN_IPC, G_LOG_LEVEL_DEBUG, "got message: '%s'\n", message); /** * Makes mpd quit. */ @@ -162,15 +177,9 @@ main_quit(); } /** - * Gives play command + * Gives play,pause command */ - else if (strcmp(message, "PLAY") == 0) { - play_song(); - } - /** - * Give pause command - */ - else if (strcmp(message, "PAUSE") == 0) { + else if (strcmp(message, "PLAY") == 0 || strcmp(message, "PAUSE") == 0) { play_song(); } /** @@ -197,6 +206,9 @@ } else if (strcmp(message, "SHOW_VIEW") == 0) { create_playlist3(); } + else if (strcmp(message, "CONNECT") == 0) { + connect_to_mpd(); + } /** * pass gmpc an url to parse with the url_parser. */ @@ -213,27 +225,33 @@ } #endif -/** - * Gmpc Easy Command integration - */ -static void pl3_call_easy_command(void) +static GLogLevelFlags global_log_level = G_LOG_LEVEL_MESSAGE; +static void gmpc_log_func(const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { - gmpc_easy_command_popup(gmpc_easy_command); + if(log_level <= global_log_level) + { + g_log_default_handler(log_domain, log_level, message, user_data); + } } +static gboolean set_log_filter(const gchar *option_name, const gchar *value, gpointer data, GError **error) +{ + if(value == NULL || value[0] == 0){ + g_set_error(error, 0, 0, "--log-filter requires a log domain as argument"); + return FALSE; + } + g_log_set_handler(value, G_LOG_LEVEL_MASK|G_LOG_FLAG_FATAL|G_LOG_FLAG_RECURSION, g_log_default_handler, NULL); + return TRUE; +} +static gboolean hide_on_start(void) +{ + pl3_hide(); + return FALSE; +} int main(int argc, char **argv) { int i; - /* config keys */ - int clean_config = FALSE; - char *config_path = NULL; - int start_hidden = FALSE; - int load_plugins = TRUE; - int replace = FALSE; - int quit = FALSE; - int import_old_db = FALSE; - int do_debug_updates = FALSE; #ifdef WIN32 gchar *packagedir; #endif @@ -241,6 +259,51 @@ MmKeys *keys = NULL; #endif + GError *error = NULL; + GOptionContext *context = NULL; + gboolean show_version = FALSE; + gboolean disable_plugins = FALSE; + gboolean start_hidden = FALSE; + gboolean clean_config = FALSE; + gboolean quit = FALSE; + gboolean replace = FALSE; + gboolean do_debug_updates = FALSE; + gboolean show_bug_information = FALSE; + gboolean fullscreen = FALSE; + gchar *config_path = NULL; + gint debug_level = -1; + + GOptionEntry entries[] = + { + { "fullscreen", 0, 0,G_OPTION_ARG_NONE, + &fullscreen, N_("Start the program in full screen"), NULL}, + { "version", 'v', 0,G_OPTION_ARG_NONE, + &show_version, N_("Show program version and revision"), NULL}, + { "quit", 'q', 0,G_OPTION_ARG_NONE, + &quit, N_("Quits the running gmpc"), NULL}, + { "replace", 'r', 0,G_OPTION_ARG_NONE, + &replace, N_("Replace the running gmpc"), NULL}, + { "disable-plugins", 0 , 0,G_OPTION_ARG_NONE, + &disable_plugins, N_("Don't load the plugins"), NULL}, + { "config", 0 , 0,G_OPTION_ARG_FILENAME, + &config_path, N_("Load alternative config file"), "Path"}, + { "debug-level", 'd', 0,G_OPTION_ARG_INT, + &debug_level, N_("Set the debug level"), "level"}, + { "start-hidden", 'h', 0,G_OPTION_ARG_NONE, + &start_hidden, N_("Start gmpc hidden to tray"), NULL}, + { "clean-cover-db", 0 , 0,G_OPTION_ARG_NONE, + &clean_config, N_("Remove all failed hits from metadata cache"), NULL}, + { "debug-updates", 0 , G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, + &do_debug_updates, N_("Show redraw events in GTK+"), NULL}, + { "bug-information",'b', 0,G_OPTION_ARG_NONE, + &show_bug_information, N_("Show bug information dialog"), NULL}, + { "log-filter", 'f', 0,G_OPTION_ARG_CALLBACK, + set_log_filter, N_("Shows all output from a certain log domain"), ""}, + + + {NULL} + }; + /** * A string used severall times to create a path */ @@ -248,6 +311,8 @@ INIT_TIC_TAC(); + + g_log_set_default_handler(gmpc_log_func, NULL); /* * * Set the default debug level * Depending if it is a git build or not @@ -260,11 +325,13 @@ debug_set_level(0); } + + egg_sm_client_set_mode(EGG_SM_CLIENT_MODE_NO_RESTART); /** * Setup NLS */ #ifdef ENABLE_NLS - debug_printf(DEBUG_INFO, "Setting NLS"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Setting NLS"); bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); @@ -272,132 +339,51 @@ gtk_set_locale(); TEC("Setting up locale"); - /** - * Parse Command line options - */ - if (argc > 1) { - for (i = 1; i < argc; i++) { - /** - * Set debug level, options are - * 0 = No debug - * 1 = Error messages - * 2 = Error + Warning messages - * 3 = All messages - */ - if (!strncasecmp(argv[i], _("--debug-level="), strlen(_("--debug-level=")))) { - int db_level = atoi(&argv[i][strlen(_("--debug-level="))]); - debug_set_level(db_level); - } - /** - * Print out version + svn revision - */ - else if (!strcasecmp(argv[i], _("--version"))) { - print_version(); - exit(0); - } - /** - * Allow the user to pick another config file - */ -#define check_key(a) (!strncasecmp(argv[i], a, strlen(a))) - else if (check_key(_("--config="))) { - config_path = g_strdup(&argv[i][strlen(_("--config="))]); - } - /** - * Starts gmpc hidden. Either tray or task-bar - */ - else if (check_key(_("--start-hidden"))) { - start_hidden = TRUE; - } - /** - * Cleans all failed hits from the cover database. - * then exits. - */ - else if (check_key(_("--clean-cover-db"))) { - clean_config = TRUE; - } - /** - * Start gmpc withouth loading any external plugins - */ - else if (check_key(_("--disable-plugins"))) { - load_plugins = FALSE; - } - /** - * Tries to replace the running gmpc session with a new (this) one. - */ - else if (check_key(_("--replace"))) { - replace = TRUE; - } - /** - * Quit any running gmpc session - */ - else if (check_key(_("--quit"))) { - quit = TRUE; - } - /** - * Imports the cover db in the old format. - */ - else if (check_key(_("--import-old-db"))) { - import_old_db = TRUE; - } - /** - * Puts gtk in a non-buffered modes. allows you to visually see the number of gui updates. - */ - else if (check_key(_("--debug-updates"))) { - do_debug_updates = TRUE; - } - - /** - * Print out help message - */ - else if (check_key(_("--help"))) { - printf(_("Gnome Music Player Client\n" - "Options:\n" - "\t--start-hidden\t\tStart hidden\n" - "\t--help\t\t\tThis help message.\n" - "\t--debug-level=\tMake gmpc print out debug information.\n" - "\t\t\t\tLevel:\n" - "\t\t\t\t\t0 No Output\n" - "\t\t\t\t\t1 Error Messages\n" - "\t\t\t\t\t2 Error + Warning Messages\n" - "\t\t\t\t\t3 All messages\n" - "\t--version\t\tPrint version and git revision\n" - "\t--config=\t\tSet config file path, default ~/.gmpc/gmpc.cfg\n" - "\t--clean-cover-db\tCleanup the cover file.\n" - "\t--disable-plugins\tDon't load any plugins.\n" - "\t--replace\t\tReplace the running session with the current\n" - "\t--quit\t\t\tQuit the running gmpc session. Only works if multiple-instances is disabled.\n")); - exit(0); - } - } + context = g_option_context_new (_("Gnome Music Player Client")); + g_option_context_add_main_entries (context, entries, "gmpc"); + g_option_context_add_group (context, gtk_get_option_group (TRUE)); + g_option_context_add_group (context, egg_sm_client_get_option_group()); + g_option_context_parse (context, &argc, &argv, &error); + g_option_context_free(context); + if(error) { + g_log(NULL, G_LOG_LEVEL_ERROR, "Failed to parse commandline options: %s", error->message); + g_error_free(error); } - TEC("Parsing command line options"); - /** Init before threads are active.. */ - debug_printf(DEBUG_INFO, "Initialize curl_global_init"); - { - CURLcode result; - /** - * Only init the CURL_GLOBAL_WIN32 (should only do something on win32 anyway - * Because I don't want to load the ssl part.. (that costs me 0.5mb extra memory) - */ -#ifdef WIN32 - if ((result = curl_global_init(CURL_GLOBAL_WIN32))) -#else - if ((result = curl_global_init(CURL_GLOBAL_NOTHING))) -#endif - { - debug_printf(DEBUG_ERROR, "cURL Global init failed: %d\n", result); - abort(); - } + /* Show the version, if requested */ + if(show_version) { + print_version(); + return EXIT_SUCCESS; } - TEC("Initializing libcurl"); + /** + * Set debug level, options are + * 0 = No debug + * 1 = Error messages + * 2 = Error + Warning messages + * 3 = All messages + */ + if (debug_level >=0){ + if(debug_level == 3){ + global_log_level = G_LOG_LEVEL_DEBUG; + }else if (debug_level == 2){ + global_log_level = G_LOG_LEVEL_INFO; + } + debug_set_level(debug_level); + } + /* Show the bug-information dialog */ + if(show_bug_information){ + gtk_init(&argc, &argv); + bug_information_window_new(NULL); + return EXIT_SUCCESS; + } + TEC("Parsing command line options"); /** * initialize threading */ - debug_printf(DEBUG_INFO, "Initializing threading"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Initializing threading"); /** * Init libxml. @@ -421,7 +407,7 @@ /* * initialize gtk */ - debug_printf(DEBUG_INFO, "Initializing gtk "); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Initializing gtk "); #ifdef WIN32 /** @@ -429,7 +415,7 @@ * This is used to re-enable rule-hint in the treeview. (this is forced off on windows). */ packagedir = g_win32_get_package_installation_directory_of_module(NULL); - debug_printf(DEBUG_INFO, "Got %s as package installation dir", packagedir); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Got %s as package installation dir", packagedir); url = g_build_filename(packagedir, "share", "gmpc", "gmpc-gtk-win32.rc", NULL); q_free(packagedir); gtk_rc_add_default_file(url); @@ -438,18 +424,26 @@ /* initialize gtk */ gtk_init(&argc, &argv); - TEC("Initializing gtk"); + TEC("Gtk init"); + /* connect signal to Session manager to quit */ + g_signal_connect( egg_sm_client_get(), + "quit", + G_CALLBACK(main_quit), + NULL); + TEC("EggSmClient"); gmpc_easy_command = gmpc_easy_command_new(); + /* Add it to the plugin command */ + plugin_add_new(GMPC_PLUGIN_BASE(gmpc_easy_command), 0, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command, _("quit"), "", - _("Quit gmpc"), (GmpcEasyCommandCallback *) main_quit, NULL); + _("Quit gmpc"), (GmpcEasyCommandCallback *) main_quit, NULL); gmpc_easy_command_add_entry(gmpc_easy_command, _("hide"), "", - _("Hide gmpc"), (GmpcEasyCommandCallback *) pl3_hide, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command, _("show"), "", _("Show gmpc"), (GmpcEasyCommandCallback *) - create_playlist3, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command, _("show notification"), - "", _("Show trayicon notification"), (GmpcEasyCommandCallback *) - tray_icon2_create_tooltip, NULL); + _("Hide gmpc"), (GmpcEasyCommandCallback *) pl3_hide, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command, _("show"), "", + _("Show gmpc"), (GmpcEasyCommandCallback *)create_playlist3, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command, _("show notification"),"", + _("Show trayicon notification"), (GmpcEasyCommandCallback *)tray_icon2_create_tooltip, NULL); TEC("Init easy command"); @@ -471,7 +465,7 @@ meta_data_init(); printf("Cleaning up cover file..\n"); /* Call the cleanup */ - meta_data_cleanup(); + metadata_cache_cleanup(); printf("Done..\n"); /* Destroy the meta data system and exit. */ meta_data_destroy(); @@ -494,7 +488,7 @@ /** * Open it */ - debug_printf(DEBUG_INFO, "Trying to open the config file: %s", url); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Trying to open the config file: %s", url); config = cfg_open(url); /** test if config opened correct */ @@ -502,7 +496,7 @@ /** * Show gtk error message and quit */ - debug_printf(DEBUG_ERROR, "Failed to save/load configuration:\n%s\n", url); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to save/load configuration:\n%s\n", url); show_error_message(_("Failed to load the configuration system."), TRUE); /* this is an error so bail out correctly */ abort(); @@ -521,7 +515,7 @@ if (url) { FILE *fp = g_fopen(url, "a"); if (!fp) { - debug_printf(DEBUG_ERROR, "Failed to open debug-log file: \"%s\"\n", url); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to open debug-log file: \"%s\"\n", url); show_error_message(_("Failed to load debug-log file."), TRUE); abort(); } @@ -529,7 +523,7 @@ debug_set_output(fp); /* Force highest level */ debug_set_level(DEBUG_INFO); - debug_printf(DEBUG_INFO, "***** Opened debug log file\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "***** Opened debug log file\n"); q_free(url); TEC("Enabled Debug log"); } @@ -542,29 +536,23 @@ int *new_version = split_version(VERSION); if (url) { int *old_version = split_version((const char *)url); - debug_printf(DEBUG_INFO, "Welcome to a new version of gmpc.\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Welcome to a new version of gmpc.\n"); /* Do possible cleanup of config files and stuff */ /* old version older then 0.1.15.4.98 */ if ((old_version[0] <= 0 && old_version[1] <= 15 && old_version[2] <= 4 && old_version[3] <= 98)) { conf_mult_obj *iter, *cmo = cfg_get_class_list(config); - debug_printf(DEBUG_INFO, "Purging old keys from the config file.\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Purging old keys from the config file.\n"); for (iter = cmo; iter; iter = iter->next) { if (strstr(iter->key, "colpos") || strstr(iter->key, "colshow") || strstr(iter->key, "colsize")) { - debug_printf(DEBUG_INFO, "Removing entry: %s\n", iter->key); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Removing entry: %s\n", iter->key); cfg_remove_class(config, iter->key); } } cfg_free_multiple(cmo); } - /* old version older then 0.16.2 */ - if ((old_version[0] <= 0 && old_version[1] <= 16 && old_version[2] <= 2)) { - /* update old key */ - printf("** Update of db set, because of new version\n"); - import_old_db = TRUE; - } /* old version older then 0.17.0-beta1 */ if ((old_version[0] <= 0 && old_version[1] <= 16 && old_version[2] <= 95)) { printf("** Correct icon-size\n"); @@ -586,8 +574,8 @@ * Start IPC system. */ if (cfg_get_single_value_as_int_with_default(config, "Default", "allow-multiple", FALSE) == FALSE) { - /** - * bacon here we come + /** + * bacon here we come */ bacon_connection = bacon_message_connection_new("gmpc"); if (bacon_connection != NULL) { @@ -597,11 +585,10 @@ while (!bacon_message_connection_get_is_server(bacon_connection)) { bacon_message_connection_free(bacon_connection); bacon_connection = bacon_message_connection_new("gmpc"); - printf("Waiting te become master\n"); g_usleep(G_USEC_PER_SEC); } } else { - debug_printf(DEBUG_WARNING, "gmpc is allready running\n"); + g_log(LOG_DOMAIN_IPC, G_LOG_LEVEL_WARNING, "gmpc is allready running\n"); bacon_message_connection_send(bacon_connection, "PRESENT"); bacon_message_connection_free(bacon_connection); cfg_close(config); @@ -628,15 +615,9 @@ cfg_close(config); return EXIT_SUCCESS; } - /** - * Setup session support - */ -#ifdef ENABLE_SM - smc_connect(argc, argv); - TEC("Session manager setup"); -#endif + /* PanedSizeGroup */ + paned_size_group = (GObject *)gmpc_paned_size_group_new(); /** Signals */ - gmpc_signals = gmpc_signals_new(); gmpc_profiles = gmpc_profiles_new(); TEC("Setting up gmpc idle,signals and profiles"); @@ -645,21 +626,13 @@ * (Will spawn a new thread, so have to be after the init threading */ meta_data_init(); - if (import_old_db) { - /* import an db */ - char *old_url = gmpc_get_covers_path("covers.db"); - printf("Importing old metadata db\n"); - if (g_file_test(old_url, G_FILE_TEST_EXISTS)) { - metadata_import_old_db(old_url); - } - g_free(old_url); - } + TEC("Initializing metadata system"); /** * stock icons */ - debug_printf(DEBUG_INFO, "Loading stock icons"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Loading stock icons"); init_stock_icons(); TEC("Init stock icons"); /** @@ -670,7 +643,7 @@ /** * if failed, print error message */ - debug_printf(DEBUG_ERROR, "Failed to create connection object\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to create connection object\n"); show_error_message(_("Failed to setup libmpd"), TRUE); abort(); } @@ -698,47 +671,57 @@ /** * Add the internall plugins */ + + /** init the error messages */ + pl3_messages = playlist3_message_plugin_new(); + + + playlist = (GtkTreeModel *)gmpc_mpddata_model_playlist_new(gmpcconn,connection); + g_object_ref_sink(playlist); + gmpc_mpddata_model_disable_image(GMPC_MPDDATA_MODEL(playlist)); /** current playlist */ - plugin_add(¤t_playlist_plug, 0); + plugin_add_new((GmpcPluginBase *)play_queue_plugin_new("current-pl"), 0,NULL); /** file browser */ - plugin_add(&file_browser_plug, 0); + plugin_add(&file_browser_plug, 0, NULL); /** Find Browser */ - plugin_add(&find2_browser_plug, 0); + plugin_add(&find2_browser_plug, 0, NULL); /* this shows the connection preferences */ - plugin_add(&connection_plug, 0); + plugin_add(&connection_plug, 0, NULL); /* this the server preferences */ - plugin_add(&server_plug, 0); + plugin_add(&server_plug, 0, NULL); /* this shows the playlist preferences */ - plugin_add(&playlist_plug, 0); + plugin_add(&playlist_plug, 0, NULL); /* this shows the markup stuff */ - plugin_add(&tag2_plug, 0); + plugin_add(&tag2_plug, 0, NULL); #ifdef ENABLE_MMKEYS - plugin_add(&mmkeys_plug, 0); + plugin_add(&mmkeys_plug, 0, NULL); #endif /* the tray icon */ - plugin_add(&tray_icon2_plug, 0); + plugin_add(&tray_icon2_plug, 0, NULL); /* Info3 data browser */ - /* Meta data browser */ - plugin_add(&metab_plugin, 0); /* Playlist editor */ - plugin_add(&playlist_editor_plugin, 0); - - plugin_add(&statistics_plugin, 0); + plugin_add(&playlist_editor_plugin, 0, NULL); - plugin_add(&metadata_plug, 0); - plugin_add(&proxyplug, 0); + plugin_add(&statistics_plugin, 0, NULL); + plugin_add(&metadata_plug, 0, NULL); + plugin_add(&proxyplug, 0, NULL); TEC("Loading internal plugins"); - + plugin_add_new(GMPC_PLUGIN_BASE(gmpc_test_plugin_new()), 0, NULL); + metadata_browser = gmpc_metadata_browser_new(); + plugin_add_new(GMPC_PLUGIN_BASE(metadata_browser), 0, NULL); + plugin_add_new(GMPC_PLUGIN_BASE(gmpc_now_playing_new()), 0, NULL); + plugin_add_new(GMPC_PLUGIN_BASE(gmpc_plugin_metadata_prefetcher_new()), 0,NULL); + TEC("Loading new plugins"); /** * load dynamic plugins */ - if (load_plugins) { + if (!disable_plugins) { #ifdef WIN32 packagedir = g_win32_get_package_installation_directory_of_module(NULL); - debug_printf(DEBUG_INFO, "Got %s as package installation dir", packagedir); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Got %s as package installation dir", packagedir); url = g_build_filename(packagedir, "lib", "gmpc", "plugins", NULL); q_free(packagedir); @@ -750,20 +733,27 @@ plugin_load_dir(url); q_free(url); #endif - } - /* user space dynamic plugins */ - url = gmpc_get_user_path("plugins"); - /** - * if dir exists, try to load the plugins. - */ - if (g_file_test(url, G_FILE_TEST_IS_DIR)) { - debug_printf(DEBUG_INFO, "Trying to load plugins in: %s", url); - if (load_plugins) - plugin_load_dir(url); - } - TEC("Loading plugins from %s", url); - q_free(url); + if(g_getenv("PLUGIN_DIR") != NULL) { + gchar *path = g_build_filename(g_getenv("PLUGIN_DIR"),NULL); + if (path && g_file_test(path, G_FILE_TEST_IS_DIR)) { + plugin_load_dir(path); + } + if(path) g_free(path); + } + /* user space dynamic plugins */ + url = gmpc_get_user_path("plugins"); + /** + * if dir exists, try to load the plugins. + */ + if (g_file_test(url, G_FILE_TEST_IS_DIR)) { + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Trying to load plugins in: %s", url); + if (!disable_plugins) + plugin_load_dir(url); + } + TEC("Loading plugins from %s", url); + q_free(url); + } /* time todo some initialisation of plugins */ for (i = 0; i < num_plugins && plugins[i] != NULL; i++) { TEC("Initializing plugin: %s", gmpc_plugin_get_name(plugins[i])); @@ -773,18 +763,21 @@ /** * Ask user about added/removed provider plugins */ - meta_data_check_plugin_changed(); + if(!disable_plugins) + meta_data_check_plugin_changed(); TEC("Metadata plugin changed check"); /* Set window debug, this is used for developers to visualize redraws */ - debug_printf(DEBUG_INFO, "Create main window\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Create main window\n"); gdk_window_set_debug_updates(do_debug_updates); /** * Create the main window */ create_playlist3(); /* Initialize the message system */ - playlist3_message_init(); + //playlist3_message_init() + plugin_add_new(GMPC_PLUGIN_BASE(pl3_messages), 0, NULL); + TEC("Creating playlist window"); /** @@ -823,12 +816,14 @@ * Call this when entering the main loop, so you are connected on startup, not 5 seconds later */ gtk_init_add((GSourceFunc) autoconnect_callback, NULL); + if(fullscreen) + gtk_init_add((GSourceFunc) pl3_window_fullscreen, NULL); /** * If the user wants gmpc to be started hidden, call pl3_hide after the mainloop started running */ if (cfg_get_single_value_as_int_with_default(config, "Default", "start-hidden", FALSE) || start_hidden) { - gtk_init_add((GSourceFunc) pl3_hide, NULL); + g_timeout_add(250, (GSourceFunc)hide_on_start, NULL); } TEC("Setting up timers"); @@ -858,7 +853,7 @@ g_signal_connect(G_OBJECT(keys), "mm_volume_down", G_CALLBACK(volume_down), NULL); g_signal_connect(G_OBJECT(keys), "mm_toggle_mute", G_CALLBACK(volume_toggle_mute), NULL); g_signal_connect(G_OBJECT(keys), "mm_show_notification", G_CALLBACK(tray_icon2_create_tooltip), NULL); - g_signal_connect(G_OBJECT(keys), "mm_show_easy_command", G_CALLBACK(pl3_call_easy_command), NULL); + g_signal_connect_swapped(G_OBJECT(keys), "mm_show_easy_command", G_CALLBACK(gmpc_easy_command_popup), gmpc_easy_command); TEC("Setting up multimedia keys"); #endif @@ -879,12 +874,11 @@ } #endif /* Quit _all_ downloads */ - quit_easy_download(); gmpc_easy_async_quit(); /* tell the plugins to save themself. */ for (i = 0; i < num_plugins && plugins[i] != NULL; i++) { - debug_printf(DEBUG_INFO, "Telling '%s' to save itself\n", gmpc_plugin_get_name(plugins[i])); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Telling '%s' to save itself\n", gmpc_plugin_get_name(plugins[i])); gmpc_plugin_save_yourself(plugins[i]); } /* Should fix some possible crashes */ @@ -897,28 +891,30 @@ /* time todo some destruction of plugins */ for (i = 0; i < num_plugins && plugins[i] != NULL; i++) { - debug_printf(DEBUG_INFO, "Telling '%s' to destroy itself\n", gmpc_plugin_get_name(plugins[i])); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Telling '%s' to destroy itself\n", gmpc_plugin_get_name(plugins[i])); gmpc_plugin_destroy(plugins[i]); } - playlist3_message_destroy(); + //playlist3_message_destroy(); playlist3_destroy(); - g_object_unref(playlist); + g_object_unref(playlist); g_object_unref(G_OBJECT(gmw)); + /* Destroy PanedSizeGroup */ + g_object_unref(paned_size_group); /** * Close the config file */ TOC("Starting save config"); cfg_close(config); TOC("Saved config"); - g_object_unref(gmpc_signals); g_object_unref(gmpc_profiles); g_object_unref(gmpcconn); - g_object_unref(gmpc_easy_command); - + /** + * This now gets destroyed with the plugins + */ advanced_search_destroy(); /** * Destroy the connection object @@ -926,12 +922,10 @@ mpd_free(connection); xmlCleanupParser(); - /* cleanup curl */ - curl_global_cleanup(); /* cleanup */ gmpc_mpddata_treeview_cleanup(); - debug_printf(DEBUG_INFO, "Quit....\n"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Quit....\n"); return 0; } @@ -940,7 +934,7 @@ */ void main_quit(void) { - debug_printf(DEBUG_INFO, "Quiting gmpc...."); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Quiting gmpc...."); /** * close playlist and store size */ @@ -978,6 +972,8 @@ * and tries to autoconnect * (when enabled) */ + +static int autoconnect_backoff = 0; static int autoconnect_callback(void) { /* check if there is an connection. */ @@ -989,15 +985,19 @@ connect_to_mpd(); } } + if(autoconnect_backoff < 60) autoconnect_backoff += 1; /* keep the timeout running */ - return TRUE; + if(autoconnect_timeout) + g_source_remove(autoconnect_timeout); + autoconnect_timeout = g_timeout_add_seconds(5+autoconnect_backoff, (GSourceFunc) autoconnect_callback, NULL); + return FALSE; } static void init_stock_icons(void) { char *path; - path = gmpc_get_full_image_path(""); + path = gmpc_get_full_image_path(); gtk_icon_theme_append_search_path(gtk_icon_theme_get_default(), path); q_free(path); @@ -1017,13 +1017,16 @@ */ void GmpcStatusChangedCallback(MpdObj * mi, ChangedStatusType what, void *userdata) { - gmpc_connection_status_changed(gmpcconn, mi, what); + g_signal_emit_by_name(gmpcconn, "status-changed", mi, what); } /* The actual handling of the status changed signal */ static void gmpc_status_changed_callback_real(GmpcConnection * conn, MpdObj * mi, ChangedStatusType what, gpointer data) { int i; + if(what&MPD_CST_PERMISSION){ + advanced_search_update_taglist(); + } /** * Make the plugins recieve the signals */ @@ -1042,6 +1045,11 @@ { gchar *path; switch (response) { + case 0: + { + + return; + } case GTK_RESPONSE_OK: { path = (char *) @@ -1150,8 +1158,8 @@ { /* propagate the signal to the connection object */ if (mpd_check_connected(mi) != connected) { - debug_printf(DEBUG_ERROR, - "Connection state differs from actual state: act: %i connect: %i\n", !connected, connect); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, + "Connection state differs from actual state: act: %i\n", !connected); } /** * Check version @@ -1171,31 +1179,36 @@ if (autoconnect_timeout) g_source_remove(autoconnect_timeout); autoconnect_timeout = 0; + autoconnect_backoff = 0; } /** * send password, first thing we do, if connected */ + /* if (connected) { if (connection_use_auth()) { mpd_send_password(connection); } advanced_search_update_taglist(); } - +*/ + if(connected){ + advanced_search_update_taglist(); + } /** * force an update of status, to check password */ if (connected) { mpd_status_update(mi); if (connected != mpd_check_connected(mi)) { - debug_printf(DEBUG_ERROR, "State differs, exit"); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, "State differs, exit"); /* Probly disconnected when getting status.. exiting */ return; } } /* remove this when it does not fix it */ - gmpc_connection_connection_changed(gmpcconn, mi, mpd_check_connected(mi)); + g_signal_emit_by_name (gmpcconn, "connection-changed", mi, mpd_check_connected(mi)); } static void connection_changed_real(GmpcConnection * obj, MpdObj * mi, int connected, gpointer data) @@ -1206,9 +1219,9 @@ /** * propegate signals */ - debug_printf(DEBUG_INFO, "Connection changed %i-%i \n", connected, mpd_check_connected(mi)); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Connection changed %i-%i \n", connected, mpd_check_connected(mi)); for (i = 0; i < num_plugins; i++) { - debug_printf(DEBUG_INFO, "Connection changed plugin: %s\n", gmpc_plugin_get_name(plugins[i])); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Connection changed plugin: %s\n", gmpc_plugin_get_name(plugins[i])); gmpc_plugin_mpd_connection_changed(plugins[i], mi, connected, NULL); TEC("Connection changed plugin: %s", gmpc_plugin_get_name(plugins[i])); @@ -1230,7 +1243,7 @@ if (autoconnect_timeout) g_source_remove(autoconnect_timeout); autoconnect_timeout = g_timeout_add_seconds(5, (GSourceFunc) autoconnect_callback, NULL); - + autoconnect_backoff = 0; } } @@ -1257,7 +1270,7 @@ /* create dialog */ error_dialog = gtk_dialog_new_with_buttons(_ - ("Error occured during operation"), + ("Error occurred during operation"), NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); if (pl3_xml) { pl3_win = playlist3_get_window(); @@ -1281,7 +1294,7 @@ gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 0); /* Create label */ - label = gtk_label_new(_("The following error(s) occured:")); + label = gtk_label_new(_("The following error(s) occurred:")); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE, 0); /** Create tree view */ @@ -1329,7 +1342,7 @@ */ if (!g_file_test(url, G_FILE_TEST_EXISTS)) { if (g_mkdir_with_parents(url, 0700) < 0) { - debug_printf(DEBUG_ERROR, "Failed to create: %s\n", url); + g_log(LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to create: %s\n", url); show_error_message("Failed to create config directory.", TRUE); abort(); } @@ -1341,7 +1354,7 @@ show_error_message("The config directory is not a directory.", TRUE); abort(); } else { - debug_printf(DEBUG_INFO, "%s exist and is directory", url); + g_log(LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "%s exist and is directory", url); } /* Free the path */ q_free(url); @@ -1349,109 +1362,13 @@ void print_version(void) { - printf(BOLD "%s\n", _("Gnome Music Player Client")); + printf(BOLD "%s\n", ("Gnome Music Player Client")); printf(GMPC_COPYRIGHT "\n\n" RESET); - printf("%-25s: %s\n", _("Tagline"), GMPC_TAGLINE); - printf("%-25s: %i.%i.%i\n", _("Version"), GMPC_MAJOR_VERSION, GMPC_MINOR_VERSION, GMPC_MICRO_VERSION); + printf("%-25s: %s\n", ("Tagline"), GMPC_TAGLINE); + printf("%-25s: %i.%i.%i\n", ("Version"), GMPC_MAJOR_VERSION, GMPC_MINOR_VERSION, GMPC_MICRO_VERSION); if (revision && revision[0] != '\0') { - printf("%-25s: %s\n", _("Revision"), revision); + printf("%-25s: %s\n", ("Revision"), revision); } - printf("%-25s: %i.%i.%i\n", _("Libmpd Version"), LIBMPD_MAJOR_VERSION, LIBMPD_MINOR_VERSION, LIBMPD_MICRO_VERSION); - printf("%-25s: %i.%i.%i\n", _("GTK+ version"), GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION); - printf("%-25s: %i.%i.%i\n", _("GLIB version"), GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION); - printf("%-25s: %s\n", _("Libcurl version"), LIBCURL_VERSION); - printf("%-25s: %s\n\n", _("Platform"), -#ifdef WIN32 - _("Windows") -#else -#ifdef OSX - _("Mac OsX") -#else - _("*nix") -#endif -#endif - ); - printf("%-25s: " GMPC_WEBSITE "\n", _("Website")); - printf("%-25s: " GMPC_BUGTRACKER "\n", _("Getting help")); - printf(BOLD "\n%s:\n" RESET, _("Options enabled")); - printf("%-25s: %s\n", _("X session management"), -#ifdef ENABLE_SM - _("Enabled") -#else - _("Disabled") -#endif - ); - printf("%-25s: %s\n", _("NLS Support"), -#ifdef ENABLE_NLS - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("Multimedia Keys"), -#ifdef ENABLE_MMKEYS - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("Libegg's trayicon"), -#ifdef EGGTRAYICON - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("System libsexy"), -#ifdef USE_SYSTEM_LIBSEXY - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("Mac integration library"), -#ifdef ENABLE_IGE - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("libspiff support"), -#ifdef SPIFF - _("Enabled") -#else - _("Disabled") -#endif - ); - printf("%-25s: %s\n", _("Use ~/.config/ dir"), -#ifdef USE_CONFIG_DIR - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("Debug timing"), -#ifdef DEBUG_TIMING - _("Enabled") -#else - _("Disabled") -#endif - ); - - printf("%-25s: %s\n", _("Maintainer mode"), -#ifdef MAINTAINER_MODE - _("Enabled") -#else - _("Disabled") -#endif - ); } - /* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/main.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/main.h --- gmpc-0.18.0/src/main.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/main.h 2009-09-21 11:15:59.000000000 +0100 @@ -23,8 +23,10 @@ #include #include #ifdef ENABLE_NLS +#ifndef __G_I18N_LIB_H__ #include #endif +#endif #include "config-defaults.h" #include @@ -32,6 +34,8 @@ #include #include "config1.h" #include "plugin.h" +#include "plugin-internal.h" +#include "vala/gmpc-plugin.h" #include "mpdinteraction.h" #include "playlist3-messages.h" @@ -40,20 +44,17 @@ /** * Some gobjects */ -#include "gob/gmpc-profiles.h" -#include "gob/gmpc-connection.h" -#include "gob/gmpc-signals.h" - +#include "gmpc-profiles.h" +#include "gmpc-connection.h" #include "vala/gmpc-easy-command.h" +#include "smclient/eggsmclient.h" extern GmpcEasyCommand *gmpc_easy_command; -extern GmpcConnection *gmpcconn; -extern GmpcSignals *gmpc_signals; extern int gmpc_connected; extern GtkTreeModel *playlist; /* the plugin list */ -extern gmpcPlugin **plugins; +extern gmpcPluginParent **plugins; /* num of plugins */ extern int num_plugins; @@ -62,8 +63,9 @@ void main_quit(void); /* plugin */ -void plugin_load_dir(gchar *path); -void plugin_add(gmpcPlugin *plug, int plugin); +void plugin_load_dir(const gchar *path); +void plugin_add(gmpcPlugin *plug, int plugin, GError **error); +void plugin_add_new(GmpcPluginBase *plug, int plugin, GError **error); int plugin_get_pos(int id); void show_error_message(const gchar *string,const int block); @@ -75,7 +77,7 @@ * Metadata */ -void meta_data_add_plugin(gmpcPlugin *plug); +void meta_data_add_plugin(gmpcPluginParent *plug); /** * TODO move this */ @@ -87,19 +89,13 @@ * This is needed to make the windows port work. * (misc.c) */ -char *gmpc_get_full_image_path(const char *filename); +char *gmpc_get_full_image_path(void); /** * Help functions */ #define q_free(a) {g_free(a);a=NULL;} -/* help */ -void info2_activate(void); -void info2_fill_artist_view(const char *); -void info2_fill_album_view(const char *,const char *); -void info2_fill_song_view(mpd_Song *); - /* tray stuff */ gboolean tray_icon2_get_available(void); void tray_icon2_create_tooltip(void); diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/src/Makefile.am --- gmpc-0.18.0/src/Makefile.am 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -1,11 +1,34 @@ +if EXTRA_VERSION +REVISION=@EXTRA_VERSION@ +else REVISION=`git rev-parse --short master` +endif CONF_VERSION=0 -include Makefile.config -SUBDIRS=gob - bin_PROGRAMS=gmpc +vala_SOURCES=\ + vala/gmpc.vapi\ + vala/libmpd.vapi\ + vala/config.vapi\ + vala/gmpc-connection.vala\ + vala/gmpc-easy-command.vala\ + vala/gmpc-favorites.vala\ + vala/gmpc-image.vala\ + vala/gmpc-liststore-sort.vala\ + vala/gmpc_menu_item_rating.vala\ + vala/gmpc-metadata-browser2.vala\ + vala/gmpc-metadata-prefetcher.vala\ + vala/gmpc-mpddata-treeview-tooltip.vala\ + vala/gmpc-paned-size-group.vala\ + vala/gmpc-plugin.vala\ + vala/gmpc-progress.vala\ + vala/gmpc-rating.vala\ + vala/gmpc-song-links.vala\ + vala/gmpc-test-plugin.vala + + gmpc_SOURCES=\ main.c\ plugin.c\ @@ -17,38 +40,23 @@ playlist3-messages.c\ mm-keys.c\ config1.c\ - sm.c\ metadata.c\ - browsers/playlist3-tag2-browser.c\ - browsers/playlist3-file-browser.c\ - browsers/playlist3-current-playlist-browser.c\ - browsers/playlist3-find2-browser.c\ - browsers/playlist3-metadata-browser.c\ - browsers/playlist3-playlist-editor.c\ - vala/gmpc_image.c\ - vala/gmpc-progress.c\ - vala/gmpc_rating.c\ - vala/gmpc_menu_item_rating.c\ - vala/gmpc-easy-command.c\ - vala/gmpc-song-links.c\ + metadata-cache.c\ gmpc_easy_download.c\ setup-assistant.c\ - url_fetcher.c\ - egg/eggcolumnchooserdialog.c\ - egg/eggcolumnmodel.c\ - TreeSearchWidget.c\ - qlib/qasyncqueue.c\ - bacon/bacon-message-connection.c\ - advanced_search.c\ - browsers/server-information.c\ - edit_markup.c + url-fetcher.c\ + advanced-search.c\ + bug-information.c\ + $(gmpc_bacon_FILES)\ + $(gmpc_egg_FILES)\ + $(gmpc_vala_FILES)\ + $(gmpc_browser_FILES) -if EGGTRAYICON -gmpc_SOURCES+=egg/eggtrayicon.c -endif +nodist_gmpc_SOURCES=\ + $(gmpc_GOBCFILES) gmpc_LDADD=\ - gob/libcwidgets.la + libeggsmclient.la if WIN32 @@ -56,21 +64,22 @@ endif BUILT_SOURCES=\ - revisiont.h\ - revision.h + $(gmpc_GOBSTAMPFILES)\ + revisiont.h gmpc-win32.o: gmpc-win32.rc $(LIBTOOL) --mode=compile --tag=RC $(RC) -i $^ -o $@ .PHONY: revisiont.h revisiont.h: - @if test '$(REVISION)' != '$(CONF_VERSION)'; then\ + @if test "$(REVISION)" != "$(CONF_VERSION)"; then\ echo "Writing new Makefile.config file";\ echo "CONF_VERSION=$(REVISION)" > Makefile.config;\ + echo "static const char *revision = \"$(REVISION)""\"; " > revision.h;\ fi; -revision.h: - echo "static const char *revision = \"$(REVISION)""\"; " > revision.h +revision.h: + echo "static const char *revision = \"$(REVISION)""\"; " > revision.h; INCLUDES=\ -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ @@ -83,8 +92,8 @@ -I$(top_builddir)/src\ -I$(top_srcdir)/src/egg\ -I$(top_builddir)/src/egg\ - -I$(top_srcdir)/src/gob\ - -I$(top_builddir)/src/gob + -I$(top_srcdir)/src/vala\ + -I$(top_builddir)/src/vala @@ -98,7 +107,8 @@ @gthread_LIBS@\ @libsoup_LIBS@\ @SPIFF_LIBS@\ - @sm_LIBS@ + @libxspf_LIBS@\ + @sqlite3_LIBS@ if USE_SYSTEM_LIBSEXY LIBS += @libsexy_LIBS@ @@ -122,10 +132,11 @@ @gobject_CFLAGS@\ @gtk_CFLAGS@\ @gmodule_CFLAGS@\ + @libxspf_CFLAGS@\ @libglade_CFLAGS@\ @gthread_CFLAGS@\ - @sm_CFLAGS@\ @libsoup_CFLAGS@\ + @sqlite3_CFLAGS@\ @EXTRA_CFLAGS@\ -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\"\ -DPACKAGE_DATA_DIR=\""$(datarootdir)"\" @@ -144,14 +155,26 @@ endif +nodist_gmpcinclude_HEADERS=\ + gmpc-profiles.h\ + gmpc-meta-watcher.h\ + gmpc-mpddata-model.h\ + gmpc-mpddata-model-sort.h\ + gmpc-mpddata-treeview.h\ + gmpc-metaimage.h\ + gmpc-meta-text-view.h + gmpcinclude_HEADERS = \ plugin.h \ config1.h \ misc.h\ gmpc_easy_download.h\ vala/gmpc-easy-command.h\ - TreeSearchWidget.h \ - playlist3-messages.h\ + vala/gmpc-plugin.h\ + vala/gmpc-connection.h\ + vala/gmpc-mpddata-treeview-tooltip.h\ + vala/gmpc-paned-size-group.h\ + playlist3-messages.h\ gmpc-version.h\ metadata.h @@ -170,32 +193,189 @@ browsers/playlist3-current-playlist-browser.h\ browsers/playlist3-find2-browser.h\ browsers/playlist3-playlist-editor.h\ - vala/gmpc_image.h\ - vala/gmpc_rating.h\ + vala/gmpc-image.h\ + vala/gmpc-rating.h\ vala/gmpc-progress.h\ vala/gmpc_menu_item_rating.h\ vala/gmpc-easy-command.h\ vala/gmpc-song-links.h\ + vala/gmpc-test-plugin.h\ + vala/gmpc-metadata-browser2.h\ + vala/gmpc-favorites.h\ + vala/gmpc-liststore-sort.h\ + vala/gmpc-connection.h\ + vala/gmpc-mpddata-treeview-tooltip.h\ + vala/gmpc-metadata-prefetcher.h\ + vala/gmpc-paned-size-group.h\ + gtktransition.h\ + plugin-internal.h\ setup-assistant.h\ - sm.h\ metadata.h\ + metadata-cache.h\ egg/eggcolumnchooserdialog.h\ egg/eggcolumnmodel.h\ revision.h\ - qlib/qasyncqueue.h\ bacon/bacon-message-connection.h\ - advanced_search.h\ + advanced-search.h\ gmpc-version.h.in\ - gmpc-win32.rc - -if EGGTRAYICON -EXTRA_DIST+=egg/eggtrayicon.h -else -EXTRA_DIST+=egg/eggtrayicon.h egg/eggtrayicon.c -endif - - + bug-information.h\ + gmpc-win32.rc\ + $(vala_SOURCES)\ + $(gmpc_GOBFILES) DISTCLEANFILES=\ revision.h\ Makefile.config + +CLEANFILES=\ + $(gmpc_GOBCFILES)\ + $(gmpc_GOBHFILES)\ + $(gmpc_GOBSTAMPFILES) + +## +# GOB stuff +## +gmpc_GOBFILES = \ + gmpc-profiles.gob\ + gmpc-meta-watcher.gob\ + gmpc-metaimage.gob\ + gmpc-meta-text-view.gob\ + gmpc-mpddata-model.gob\ + gmpc-mpddata-model-playlist.gob\ + gmpc-mpddata-model-sort.gob\ + gmpc-mpddata-treeview.gob\ + gmpc-clicklabel.gob\ + gmpc-stats-label.gob + +gmpc_GOBSTAMPFILES=\ + $(gmpc_GOBFILES:.gob=.gob.stamp) + +gmpc_GOBCFILES=\ + $(gmpc_GOBFILES:.gob=.c) + +gmpc_GOBHFILES=\ + $(gmpc_GOBFILES:.gob=.h)\ + $(gmpc_GOBFILES:.gob=-private.h) + +%.gob.stamp: %.gob + $(QUIET_GE) echo " GOB $< - $(top_builddir)/src/gob/" + @GOB2@ --always-private-header $< + @touch $(top_builddir)/src/$@ + +## +# Browsers +## + +gmpc_browser_FILES=\ + browsers/playlist3-tag2-browser.c\ + browsers/playlist3-file-browser.c\ + browsers/playlist3-current-playlist-browser.c\ + browsers/playlist3-find2-browser.c\ + browsers/server-information.c\ + browsers/playlist3-playlist-editor.c + +## +# Vala files +## +gmpc_vala_FILES=\ + vala/gmpc-image.c\ + vala/gmpc-progress.c\ + vala/gmpc-rating.c\ + vala/gmpc_menu_item_rating.c\ + vala/gmpc-easy-command.c\ + vala/gmpc-song-links.c\ + vala/gmpc-plugin.c\ + vala/gmpc-test-plugin.c\ + vala/gmpc-mpddata-treeview-tooltip.c\ + vala/gmpc-metadata-browser2.c\ + vala/gmpc-favorites.c\ + vala/gmpc-paned-size-group.c\ + vala/gmpc-liststore-sort.c\ + vala/gmpc-connection.c\ + vala/gmpc-metadata-prefetcher.c + +## +# Embedded egg +## +gmpc_egg_FILES=\ + egg/eggcolumnchooserdialog.c\ + egg/eggcolumnmodel.c + +## +# Bacon +## +gmpc_bacon_FILES=\ + bacon/bacon-message-connection.c + + +### +# SM CLIENT STUFF +### + +if PLATFORM_WIN32 +platform_sources = smclient/eggsmclient-win32.c +platform_logout_test_ldflags = -mwindows +else +if PLATFORM_OSX +platform_defines = -xobjective-c +platform_ldflags = -framework Carbon +platform_session_end_ldflags = -framework Carbon +platform_logout_test_ldflags = -framework Carbon +platform_sources = smclient/eggsmclient-osx.c +else +platform_defines = -DEGG_SM_CLIENT_BACKEND_XSMP +platform_ltlibraries = \ + libeggdesktopfile.la +platform_libs = libeggdesktopfile.la -lSM -lICE +platform_sources = smclient/eggsmclient-xsmp.c +endif +endif + +libeggsmclient_la_INCLUDES = \ + -DG_LOG_DOMAIN=\""EggSMClient"\" \ + $(platform_defines) \ + $(glib_CFLAGS) \ + $(gtk_CFLAGS) + +noinst_LTLIBRARIES = \ + libeggsmclient.la \ + $(platform_ltlibraries) + +libeggsmclient_la_LIBADD = \ + $(glib_LIBS) \ + $(gtk_LIBS) \ + $(platform_libs) + +libeggsmclient_la_LDFLAGS = \ + $(platform_ldflags) + +libeggsmclient_la_SOURCES = \ + smclient/eggsmclient.c \ + smclient/eggsmclient.h \ + smclient/eggsmclient-private.h \ + $(platform_sources) + +libeggdesktopfile_la_LIBADD = \ + $(EGG_LIBS) + +libeggdesktopfile_la_SOURCES = \ + smclient/eggdesktopfile.c \ + smclient/eggdesktopfile.h + + +egg_session_end_LDADD = \ + libeggsmclient.la + +egg_session_end_LDFLAGS = \ + $(platform_session_end_ldflags) + +egg_launch_SOURCES = \ + smclient/egg-launch.c + +egg_launch_LDADD = \ + libeggdesktopfile.la + +EXTRA_DIST += \ + smclient/eggsmclient-osx.c \ + smclient/eggsmclient-win32.c \ + smclient/eggsmclient-xsmp.c diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/src/Makefile.in --- gmpc-0.18.0/src/Makefile.in 2009-03-09 16:23:15.000000000 +0000 +++ gmpc-0.19.0/src/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.7.9 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ -# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 -# Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,16 +14,13 @@ @SET_MAKE@ -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ + + VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ -top_builddir = .. - am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -INSTALL = @INSTALL@ install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c @@ -35,21 +32,123 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : +build_triplet = @build@ host_triplet = @host@ -@EGGTRAYICON_TRUE@am__append_1 = egg/eggtrayicon.c -@WIN32_TRUE@am__append_2 = gmpc-win32.o -@USE_SYSTEM_LIBSEXY_TRUE@am__append_3 = @libsexy_LIBS@ -@OSX_TRUE@am__append_4 = @macint_LIBS@ -@USE_SYSTEM_LIBSEXY_TRUE@am__append_5 = @libsexy_CFLAGS@ -@OSX_TRUE@am__append_6 = @macint_CFLAGS@ -@OSX_TRUE@am__append_7 = -DOSX=1 -@MAINTAINER_MODE_TRUE@am__append_8 = -Wall -Wdeclaration-after-statement -Wshadow -fno-common -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wold-style-definition -Wmissing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wnested-externs -Wmissing-format-attribute -Waggregate-return -Wundef -Wmissing-include-dirs -Winit-self -Wswitch-default -Wswitch-enum -@EGGTRAYICON_TRUE@am__append_9 = egg/eggtrayicon.h -@EGGTRAYICON_FALSE@am__append_10 = egg/eggtrayicon.h egg/eggtrayicon.c +bin_PROGRAMS = gmpc$(EXEEXT) +@WIN32_TRUE@am__append_1 = gmpc-win32.o +@USE_SYSTEM_LIBSEXY_TRUE@am__append_2 = @libsexy_LIBS@ +@OSX_TRUE@am__append_3 = @macint_LIBS@ +@USE_SYSTEM_LIBSEXY_TRUE@am__append_4 = @libsexy_CFLAGS@ +@OSX_TRUE@am__append_5 = @macint_CFLAGS@ +@OSX_TRUE@am__append_6 = -DOSX=1 +@MAINTAINER_MODE_TRUE@am__append_7 = -Wall -Wdeclaration-after-statement -Wshadow -fno-common -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wold-style-definition -Wmissing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wnested-externs -Wmissing-format-attribute -Waggregate-return -Wundef -Wmissing-include-dirs -Winit-self -Wswitch-default -Wswitch-enum +subdir = src +DIST_COMMON = $(gmpcinclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/gmpc-version.h.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = gmpc-version.h +LTLIBRARIES = $(noinst_LTLIBRARIES) +libeggdesktopfile_la_DEPENDENCIES = +am_libeggdesktopfile_la_OBJECTS = eggdesktopfile.lo +libeggdesktopfile_la_OBJECTS = $(am_libeggdesktopfile_la_OBJECTS) +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@am_libeggdesktopfile_la_rpath = +am__DEPENDENCIES_1 = +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@am__DEPENDENCIES_2 = libeggdesktopfile.la +libeggsmclient_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +am__libeggsmclient_la_SOURCES_DIST = smclient/eggsmclient.c \ + smclient/eggsmclient.h smclient/eggsmclient-private.h \ + smclient/eggsmclient-xsmp.c smclient/eggsmclient-osx.c \ + smclient/eggsmclient-win32.c +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@am__objects_1 = \ +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@ eggsmclient-xsmp.lo +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@am__objects_1 = \ +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@ eggsmclient-osx.lo +@PLATFORM_WIN32_TRUE@am__objects_1 = eggsmclient-win32.lo +am_libeggsmclient_la_OBJECTS = eggsmclient.lo $(am__objects_1) +libeggsmclient_la_OBJECTS = $(am_libeggsmclient_la_OBJECTS) +libeggsmclient_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libeggsmclient_la_LDFLAGS) $(LDFLAGS) -o $@ +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gmpcincludedir)" \ + "$(DESTDIR)$(gmpcincludedir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am__objects_2 = bacon-message-connection.$(OBJEXT) +am__objects_3 = eggcolumnchooserdialog.$(OBJEXT) \ + eggcolumnmodel.$(OBJEXT) +am__objects_4 = gmpc-image.$(OBJEXT) gmpc-progress.$(OBJEXT) \ + gmpc-rating.$(OBJEXT) gmpc_menu_item_rating.$(OBJEXT) \ + gmpc-easy-command.$(OBJEXT) gmpc-song-links.$(OBJEXT) \ + gmpc-plugin.$(OBJEXT) gmpc-test-plugin.$(OBJEXT) \ + gmpc-mpddata-treeview-tooltip.$(OBJEXT) \ + gmpc-metadata-browser2.$(OBJEXT) gmpc-favorites.$(OBJEXT) \ + gmpc-paned-size-group.$(OBJEXT) gmpc-liststore-sort.$(OBJEXT) \ + gmpc-connection.$(OBJEXT) gmpc-metadata-prefetcher.$(OBJEXT) +am__objects_5 = playlist3-tag2-browser.$(OBJEXT) \ + playlist3-file-browser.$(OBJEXT) \ + playlist3-current-playlist-browser.$(OBJEXT) \ + playlist3-find2-browser.$(OBJEXT) server-information.$(OBJEXT) \ + playlist3-playlist-editor.$(OBJEXT) +am_gmpc_OBJECTS = main.$(OBJEXT) plugin.$(OBJEXT) \ + mpdinteraction.$(OBJEXT) preferences.$(OBJEXT) \ + tray-icon2.$(OBJEXT) misc.$(OBJEXT) playlist3.$(OBJEXT) \ + playlist3-messages.$(OBJEXT) mm-keys.$(OBJEXT) \ + config1.$(OBJEXT) metadata.$(OBJEXT) metadata-cache.$(OBJEXT) \ + gmpc_easy_download.$(OBJEXT) setup-assistant.$(OBJEXT) \ + url-fetcher.$(OBJEXT) advanced-search.$(OBJEXT) \ + bug-information.$(OBJEXT) $(am__objects_2) $(am__objects_3) \ + $(am__objects_4) $(am__objects_5) +am__objects_6 = gmpc-profiles.$(OBJEXT) gmpc-meta-watcher.$(OBJEXT) \ + gmpc-metaimage.$(OBJEXT) gmpc-meta-text-view.$(OBJEXT) \ + gmpc-mpddata-model.$(OBJEXT) \ + gmpc-mpddata-model-playlist.$(OBJEXT) \ + gmpc-mpddata-model-sort.$(OBJEXT) \ + gmpc-mpddata-treeview.$(OBJEXT) gmpc-clicklabel.$(OBJEXT) \ + gmpc-stats-label.$(OBJEXT) +am__objects_7 = $(am__objects_6) +nodist_gmpc_OBJECTS = $(am__objects_7) +gmpc_OBJECTS = $(am_gmpc_OBJECTS) $(nodist_gmpc_OBJECTS) +gmpc_DEPENDENCIES = libeggsmclient.la $(am__append_1) +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(libeggdesktopfile_la_SOURCES) $(libeggsmclient_la_SOURCES) \ + $(gmpc_SOURCES) $(nodist_gmpc_SOURCES) +DIST_SOURCES = $(libeggdesktopfile_la_SOURCES) \ + $(am__libeggsmclient_la_SOURCES_DIST) $(gmpc_SOURCES) +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +gmpcincludeHEADERS_INSTALL = $(INSTALL_HEADER) +nodist_gmpcincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(gmpcinclude_HEADERS) $(nodist_gmpcinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ -AMDEP_FALSE = @AMDEP_FALSE@ -AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ AM_MAKEFLAGS = @AM_MAKEFLAGS@ AR = @AR@ @@ -65,7 +164,6 @@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ -CURL_CONFIG = @CURL_CONFIG@ CXX = @CXX@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ @@ -77,12 +175,11 @@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ -EGGTRAYICON_FALSE = @EGGTRAYICON_FALSE@ -EGGTRAYICON_TRUE = @EGGTRAYICON_TRUE@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ EXTRA_CFLAGS = @EXTRA_CFLAGS@ EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ FGREP = @FGREP@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GLIB_REQUIRED = @GLIB_REQUIRED@ @@ -94,63 +191,32 @@ GOB2 = @GOB2@ GREP = @GREP@ GTK_REQUIRED = @GTK_REQUIRED@ -HAVE_ZLIB_FALSE = @HAVE_ZLIB_FALSE@ -HAVE_ZLIB_TRUE = @HAVE_ZLIB_TRUE@ +INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ -INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@ -INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@ -INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ -INTLTOOL_HIGHER_04000_FALSE = @INTLTOOL_HIGHER_04000_FALSE@ -INTLTOOL_HIGHER_04000_TRUE = @INTLTOOL_HIGHER_04000_TRUE@ -INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@ -INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ -INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@ INTLTOOL_PERL = @INTLTOOL_PERL@ -INTLTOOL_POLICY_RULE = @INTLTOOL_POLICY_RULE@ -INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@ -INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@ -INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@ -INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@ -INTLTOOL_SERVICE_RULE = @INTLTOOL_SERVICE_RULE@ -INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@ -INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@ -INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@ -INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ -INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@ -INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@ -INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ - -LIBS = \ - @glib_LIBS@ @LIBS@ \ - @libmpd_LIBS@ \ - @gobject_LIBS@\ - @gtk_LIBS@\ - @gmodule_LIBS@\ - @libglade_LIBS@\ - @gthread_LIBS@\ - @libsoup_LIBS@\ - @SPIFF_LIBS@\ - @sm_LIBS@ \ -$(am__append_3) $(am__append_4) +LIBS = @glib_LIBS@ @LIBS@ @libmpd_LIBS@ @gobject_LIBS@ @gtk_LIBS@ \ + @gmodule_LIBS@ @libglade_LIBS@ @gthread_LIBS@ @libsoup_LIBS@ \ + @SPIFF_LIBS@ @libxspf_LIBS@ @sqlite3_LIBS@ $(am__append_2) \ + $(am__append_3) LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ -MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@ +MAINT = @MAINT@ MAKEFLAGS = @MAKEFLAGS@ MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ @@ -159,8 +225,6 @@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ -OSX_FALSE = @OSX_FALSE@ -OSX_TRUE = @OSX_TRUE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ @@ -188,25 +252,26 @@ SPIFF_LIBS = @SPIFF_LIBS@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ -USE_SYSTEM_LIBSEXY_FALSE = @USE_SYSTEM_LIBSEXY_FALSE@ -USE_SYSTEM_LIBSEXY_TRUE = @USE_SYSTEM_LIBSEXY_TRUE@ VERSION = @VERSION@ -WIN32_FALSE = @WIN32_FALSE@ -WIN32_TRUE = @WIN32_TRUE@ XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ -am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ +builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ @@ -241,12 +306,15 @@ libsexy_LIBS = @libsexy_LIBS@ libsoup_CFLAGS = @libsoup_CFLAGS@ libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ macint_CFLAGS = @macint_CFLAGS@ macint_LIBS = @macint_LIBS@ mandir = @mandir@ +mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ @@ -255,16 +323,36 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ shavedir = @shavedir@ -sm_CFLAGS = @sm_CFLAGS@ -sm_LIBS = @sm_LIBS@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -REVISION = `git rev-parse --short master` +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@EXTRA_VERSION_FALSE@REVISION = `git rev-parse --short master` +@EXTRA_VERSION_TRUE@REVISION = @EXTRA_VERSION@ CONF_VERSION = 0 - -SUBDIRS = gob - -bin_PROGRAMS = gmpc +vala_SOURCES = \ + vala/gmpc.vapi\ + vala/libmpd.vapi\ + vala/config.vapi\ + vala/gmpc-connection.vala\ + vala/gmpc-easy-command.vala\ + vala/gmpc-favorites.vala\ + vala/gmpc-image.vala\ + vala/gmpc-liststore-sort.vala\ + vala/gmpc_menu_item_rating.vala\ + vala/gmpc-metadata-browser2.vala\ + vala/gmpc-metadata-prefetcher.vala\ + vala/gmpc-mpddata-treeview-tooltip.vala\ + vala/gmpc-paned-size-group.vala\ + vala/gmpc-plugin.vala\ + vala/gmpc-progress.vala\ + vala/gmpc-rating.vala\ + vala/gmpc-song-links.vala\ + vala/gmpc-test-plugin.vala gmpc_SOURCES = \ main.c\ @@ -277,76 +365,52 @@ playlist3-messages.c\ mm-keys.c\ config1.c\ - sm.c\ metadata.c\ - browsers/playlist3-tag2-browser.c\ - browsers/playlist3-file-browser.c\ - browsers/playlist3-current-playlist-browser.c\ - browsers/playlist3-find2-browser.c\ - browsers/playlist3-metadata-browser.c\ - browsers/playlist3-playlist-editor.c\ - vala/gmpc_image.c\ - vala/gmpc-progress.c\ - vala/gmpc_rating.c\ - vala/gmpc_menu_item_rating.c\ - vala/gmpc-easy-command.c\ - vala/gmpc-song-links.c\ + metadata-cache.c\ gmpc_easy_download.c\ setup-assistant.c\ - url_fetcher.c\ - egg/eggcolumnchooserdialog.c\ - egg/eggcolumnmodel.c\ - TreeSearchWidget.c\ - qlib/qasyncqueue.c\ - bacon/bacon-message-connection.c\ - advanced_search.c\ - browsers/server-information.c\ - edit_markup.c \ -$(am__append_1) + url-fetcher.c\ + advanced-search.c\ + bug-information.c\ + $(gmpc_bacon_FILES)\ + $(gmpc_egg_FILES)\ + $(gmpc_vala_FILES)\ + $(gmpc_browser_FILES) -gmpc_LDADD = \ - gob/libcwidgets.la\ -$(am__append_2) +nodist_gmpc_SOURCES = \ + $(gmpc_GOBCFILES) +gmpc_LDADD = libeggsmclient.la $(am__append_1) BUILT_SOURCES = \ - revisiont.h\ - revision.h - - -INCLUDES = \ - -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ - -DGLADE_PATH=\""$(pkgdatadir)"\" \ - -DVERSION=\"@VERSION@\"\ - -DGMPC_BUILD=1\ - -I$(top_srcdir)\ - -I$(top_builddir)\ - -I$(top_srcdir)/src\ - -I$(top_builddir)/src\ - -I$(top_srcdir)/src/egg\ - -I$(top_builddir)/src/egg\ - -I$(top_srcdir)/src/gob\ - -I$(top_builddir)/src/gob\ -$(am__append_7) + $(gmpc_GOBSTAMPFILES)\ + revisiont.h +INCLUDES = -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ + -DGLADE_PATH=\""$(pkgdatadir)"\" -DVERSION=\"@VERSION@\" \ + -DGMPC_BUILD=1 -I$(top_srcdir) -I$(top_builddir) \ + -I$(top_srcdir)/src -I$(top_builddir)/src \ + -I$(top_srcdir)/src/egg -I$(top_builddir)/src/egg \ + -I$(top_srcdir)/src/vala -I$(top_builddir)/src/vala \ + $(am__append_6) AM_LDFLAGS = \ @EXTRA_LDFLAGS@\ @LDFLAGS@ - -AM_CFLAGS = @CFLAGS@\ - @glib_CFLAGS@\ - @libmpd_CFLAGS@ \ - @gobject_CFLAGS@\ - @gtk_CFLAGS@\ - @gmodule_CFLAGS@\ - @libglade_CFLAGS@\ - @gthread_CFLAGS@\ - @sm_CFLAGS@\ - @libsoup_CFLAGS@\ - @EXTRA_CFLAGS@\ - -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\"\ - -DPACKAGE_DATA_DIR=\""$(datarootdir)"\"\ -$(am__append_5) $(am__append_6) $(am__append_8) +AM_CFLAGS = @CFLAGS@ @glib_CFLAGS@ @libmpd_CFLAGS@ @gobject_CFLAGS@ \ + @gtk_CFLAGS@ @gmodule_CFLAGS@ @libxspf_CFLAGS@ \ + @libglade_CFLAGS@ @gthread_CFLAGS@ @libsoup_CFLAGS@ \ + @sqlite3_CFLAGS@ @EXTRA_CFLAGS@ \ + -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" \ + -DPACKAGE_DATA_DIR=\""$(datarootdir)"\" $(am__append_4) \ + $(am__append_5) $(am__append_7) +nodist_gmpcinclude_HEADERS = \ + gmpc-profiles.h\ + gmpc-meta-watcher.h\ + gmpc-mpddata-model.h\ + gmpc-mpddata-model-sort.h\ + gmpc-mpddata-treeview.h\ + gmpc-metaimage.h\ + gmpc-meta-text-view.h gmpcinclude_HEADERS = \ plugin.h \ @@ -354,178 +418,229 @@ misc.h\ gmpc_easy_download.h\ vala/gmpc-easy-command.h\ - TreeSearchWidget.h \ - playlist3-messages.h\ + vala/gmpc-plugin.h\ + vala/gmpc-connection.h\ + vala/gmpc-mpddata-treeview-tooltip.h\ + vala/gmpc-paned-size-group.h\ + playlist3-messages.h\ gmpc-version.h\ metadata.h - gmpcincludedir = $(includedir)/gmpc/ - -EXTRA_DIST = \ - playlist3.h\ - playlist3-keybindings.h\ - main.h\ - mm-keys.h\ - misc.h\ - mpdinteraction.h\ - config-defaults.h\ - browsers/playlist3-tag2-browser.h\ - browsers/playlist3-file-browser.h\ - browsers/playlist3-current-playlist-browser.h\ - browsers/playlist3-find2-browser.h\ - browsers/playlist3-playlist-editor.h\ - vala/gmpc_image.h\ - vala/gmpc_rating.h\ - vala/gmpc-progress.h\ - vala/gmpc_menu_item_rating.h\ - vala/gmpc-easy-command.h\ - vala/gmpc-song-links.h\ - setup-assistant.h\ - sm.h\ - metadata.h\ - egg/eggcolumnchooserdialog.h\ - egg/eggcolumnmodel.h\ - revision.h\ - qlib/qasyncqueue.h\ - bacon/bacon-message-connection.h\ - advanced_search.h\ - gmpc-version.h.in\ - gmpc-win32.rc\ -$(am__append_9) $(am__append_10) - +EXTRA_DIST = playlist3.h playlist3-keybindings.h main.h mm-keys.h \ + misc.h mpdinteraction.h config-defaults.h \ + browsers/playlist3-tag2-browser.h \ + browsers/playlist3-file-browser.h \ + browsers/playlist3-current-playlist-browser.h \ + browsers/playlist3-find2-browser.h \ + browsers/playlist3-playlist-editor.h vala/gmpc-image.h \ + vala/gmpc-rating.h vala/gmpc-progress.h \ + vala/gmpc_menu_item_rating.h vala/gmpc-easy-command.h \ + vala/gmpc-song-links.h vala/gmpc-test-plugin.h \ + vala/gmpc-metadata-browser2.h vala/gmpc-favorites.h \ + vala/gmpc-liststore-sort.h vala/gmpc-connection.h \ + vala/gmpc-mpddata-treeview-tooltip.h \ + vala/gmpc-metadata-prefetcher.h vala/gmpc-paned-size-group.h \ + gtktransition.h plugin-internal.h setup-assistant.h metadata.h \ + metadata-cache.h egg/eggcolumnchooserdialog.h \ + egg/eggcolumnmodel.h revision.h \ + bacon/bacon-message-connection.h advanced-search.h \ + gmpc-version.h.in bug-information.h gmpc-win32.rc \ + $(vala_SOURCES) $(gmpc_GOBFILES) smclient/eggsmclient-osx.c \ + smclient/eggsmclient-win32.c smclient/eggsmclient-xsmp.c DISTCLEANFILES = \ revision.h\ Makefile.config -subdir = src -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = gmpc-version.h -bin_PROGRAMS = gmpc$(EXEEXT) -PROGRAMS = $(bin_PROGRAMS) +CLEANFILES = \ + $(gmpc_GOBCFILES)\ + $(gmpc_GOBHFILES)\ + $(gmpc_GOBSTAMPFILES) + + +# GOB stuff +gmpc_GOBFILES = \ + gmpc-profiles.gob\ + gmpc-meta-watcher.gob\ + gmpc-metaimage.gob\ + gmpc-meta-text-view.gob\ + gmpc-mpddata-model.gob\ + gmpc-mpddata-model-playlist.gob\ + gmpc-mpddata-model-sort.gob\ + gmpc-mpddata-treeview.gob\ + gmpc-clicklabel.gob\ + gmpc-stats-label.gob + +gmpc_GOBSTAMPFILES = \ + $(gmpc_GOBFILES:.gob=.gob.stamp) + +gmpc_GOBCFILES = \ + $(gmpc_GOBFILES:.gob=.c) + +gmpc_GOBHFILES = \ + $(gmpc_GOBFILES:.gob=.h)\ + $(gmpc_GOBFILES:.gob=-private.h) -am__gmpc_SOURCES_DIST = main.c plugin.c mpdinteraction.c preferences.c \ - tray-icon2.c misc.c playlist3.c playlist3-messages.c mm-keys.c \ - config1.c sm.c metadata.c browsers/playlist3-tag2-browser.c \ - browsers/playlist3-file-browser.c \ - browsers/playlist3-current-playlist-browser.c \ - browsers/playlist3-find2-browser.c \ - browsers/playlist3-metadata-browser.c \ - browsers/playlist3-playlist-editor.c vala/gmpc_image.c \ - vala/gmpc-progress.c vala/gmpc_rating.c \ - vala/gmpc_menu_item_rating.c vala/gmpc-easy-command.c \ - vala/gmpc-song-links.c gmpc_easy_download.c setup-assistant.c \ - url_fetcher.c egg/eggcolumnchooserdialog.c egg/eggcolumnmodel.c \ - TreeSearchWidget.c qlib/qasyncqueue.c \ - bacon/bacon-message-connection.c advanced_search.c \ - browsers/server-information.c edit_markup.c egg/eggtrayicon.c -@EGGTRAYICON_TRUE@am__objects_1 = eggtrayicon.$(OBJEXT) -am_gmpc_OBJECTS = main.$(OBJEXT) plugin.$(OBJEXT) \ - mpdinteraction.$(OBJEXT) preferences.$(OBJEXT) \ - tray-icon2.$(OBJEXT) misc.$(OBJEXT) playlist3.$(OBJEXT) \ - playlist3-messages.$(OBJEXT) mm-keys.$(OBJEXT) \ - config1.$(OBJEXT) sm.$(OBJEXT) metadata.$(OBJEXT) \ - playlist3-tag2-browser.$(OBJEXT) \ - playlist3-file-browser.$(OBJEXT) \ - playlist3-current-playlist-browser.$(OBJEXT) \ - playlist3-find2-browser.$(OBJEXT) \ - playlist3-metadata-browser.$(OBJEXT) \ - playlist3-playlist-editor.$(OBJEXT) gmpc_image.$(OBJEXT) \ - gmpc-progress.$(OBJEXT) gmpc_rating.$(OBJEXT) \ - gmpc_menu_item_rating.$(OBJEXT) gmpc-easy-command.$(OBJEXT) \ - gmpc-song-links.$(OBJEXT) gmpc_easy_download.$(OBJEXT) \ - setup-assistant.$(OBJEXT) url_fetcher.$(OBJEXT) \ - eggcolumnchooserdialog.$(OBJEXT) eggcolumnmodel.$(OBJEXT) \ - TreeSearchWidget.$(OBJEXT) qasyncqueue.$(OBJEXT) \ - bacon-message-connection.$(OBJEXT) advanced_search.$(OBJEXT) \ - server-information.$(OBJEXT) edit_markup.$(OBJEXT) \ - $(am__objects_1) -gmpc_OBJECTS = $(am_gmpc_OBJECTS) -@WIN32_TRUE@gmpc_DEPENDENCIES = gob/libcwidgets.la gmpc-win32.o -@WIN32_FALSE@gmpc_DEPENDENCIES = gob/libcwidgets.la -gmpc_LDFLAGS = -DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/TreeSearchWidget.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/advanced_search.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/bacon-message-connection.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/config1.Po ./$(DEPDIR)/edit_markup.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/eggcolumnchooserdialog.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/eggcolumnmodel.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/eggtrayicon.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-easy-command.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-progress.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc-song-links.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc_easy_download.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc_image.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc_menu_item_rating.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/gmpc_rating.Po ./$(DEPDIR)/main.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/metadata.Po ./$(DEPDIR)/misc.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/mm-keys.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/mpdinteraction.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-current-playlist-browser.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-file-browser.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-find2-browser.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-messages.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-metadata-browser.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-playlist-editor.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3-tag2-browser.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/playlist3.Po ./$(DEPDIR)/plugin.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/preferences.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/qasyncqueue.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/server-information.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/setup-assistant.Po ./$(DEPDIR)/sm.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/tray-icon2.Po \ -@AMDEP_TRUE@ ./$(DEPDIR)/url_fetcher.Po -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -DIST_SOURCES = $(am__gmpc_SOURCES_DIST) -HEADERS = $(gmpcinclude_HEADERS) +# Browsers +gmpc_browser_FILES = \ + browsers/playlist3-tag2-browser.c\ + browsers/playlist3-file-browser.c\ + browsers/playlist3-current-playlist-browser.c\ + browsers/playlist3-find2-browser.c\ + browsers/server-information.c\ + browsers/playlist3-playlist-editor.c -RECURSIVE_TARGETS = info-recursive dvi-recursive pdf-recursive \ - ps-recursive install-info-recursive uninstall-info-recursive \ - all-recursive install-data-recursive install-exec-recursive \ - installdirs-recursive install-recursive uninstall-recursive \ - check-recursive installcheck-recursive -DIST_COMMON = $(gmpcinclude_HEADERS) $(srcdir)/Makefile.in Makefile.am \ - gmpc-version.h.in -DIST_SUBDIRS = $(SUBDIRS) -SOURCES = $(gmpc_SOURCES) +# Vala files +gmpc_vala_FILES = \ + vala/gmpc-image.c\ + vala/gmpc-progress.c\ + vala/gmpc-rating.c\ + vala/gmpc_menu_item_rating.c\ + vala/gmpc-easy-command.c\ + vala/gmpc-song-links.c\ + vala/gmpc-plugin.c\ + vala/gmpc-test-plugin.c\ + vala/gmpc-mpddata-treeview-tooltip.c\ + vala/gmpc-metadata-browser2.c\ + vala/gmpc-favorites.c\ + vala/gmpc-paned-size-group.c\ + vala/gmpc-liststore-sort.c\ + vala/gmpc-connection.c\ + vala/gmpc-metadata-prefetcher.c + + +# Embedded egg +gmpc_egg_FILES = \ + egg/eggcolumnchooserdialog.c\ + egg/eggcolumnmodel.c + + +# Bacon +gmpc_bacon_FILES = \ + bacon/bacon-message-connection.c + +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@platform_sources = smclient/eggsmclient-xsmp.c +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@platform_sources = smclient/eggsmclient-osx.c + +### +# SM CLIENT STUFF +### +@PLATFORM_WIN32_TRUE@platform_sources = smclient/eggsmclient-win32.c +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@platform_logout_test_ldflags = -framework Carbon +@PLATFORM_WIN32_TRUE@platform_logout_test_ldflags = -mwindows +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@platform_defines = -DEGG_SM_CLIENT_BACKEND_XSMP +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@platform_defines = -xobjective-c +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@platform_ldflags = -framework Carbon +@PLATFORM_OSX_TRUE@@PLATFORM_WIN32_FALSE@platform_session_end_ldflags = -framework Carbon +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@platform_ltlibraries = \ +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@ libeggdesktopfile.la + +@PLATFORM_OSX_FALSE@@PLATFORM_WIN32_FALSE@platform_libs = libeggdesktopfile.la -lSM -lICE +libeggsmclient_la_INCLUDES = \ + -DG_LOG_DOMAIN=\""EggSMClient"\" \ + $(platform_defines) \ + $(glib_CFLAGS) \ + $(gtk_CFLAGS) + +noinst_LTLIBRARIES = \ + libeggsmclient.la \ + $(platform_ltlibraries) + +libeggsmclient_la_LIBADD = \ + $(glib_LIBS) \ + $(gtk_LIBS) \ + $(platform_libs) + +libeggsmclient_la_LDFLAGS = \ + $(platform_ldflags) + +libeggsmclient_la_SOURCES = \ + smclient/eggsmclient.c \ + smclient/eggsmclient.h \ + smclient/eggsmclient-private.h \ + $(platform_sources) + +libeggdesktopfile_la_LIBADD = \ + $(EGG_LIBS) + +libeggdesktopfile_la_SOURCES = \ + smclient/eggdesktopfile.c \ + smclient/eggdesktopfile.h + +egg_session_end_LDADD = \ + libeggsmclient.la + +egg_session_end_LDFLAGS = \ + $(platform_session_end_ldflags) + +egg_launch_SOURCES = \ + smclient/egg-launch.c + +egg_launch_LDADD = \ + libeggdesktopfile.la all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-recursive + $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4) +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) -gmpc-version.h: $(top_builddir)/config.status gmpc-version.h.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +gmpc-version.h: $(top_builddir)/config.status $(srcdir)/gmpc-version.h.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) + +clean-noinstLTLIBRARIES: + -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) + @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libeggdesktopfile.la: $(libeggdesktopfile_la_OBJECTS) $(libeggdesktopfile_la_DEPENDENCIES) + $(LINK) $(am_libeggdesktopfile_la_rpath) $(libeggdesktopfile_la_OBJECTS) $(libeggdesktopfile_la_LIBADD) $(LIBS) +libeggsmclient.la: $(libeggsmclient_la_OBJECTS) $(libeggsmclient_la_DEPENDENCIES) + $(libeggsmclient_la_LINK) $(libeggsmclient_la_OBJECTS) $(libeggsmclient_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(bindir) + test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done @@ -533,8 +648,8 @@ @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - echo " rm -f $(DESTDIR)$(bindir)/$$f"; \ - rm -f $(DESTDIR)$(bindir)/$$f; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: @@ -545,30 +660,53 @@ done gmpc$(EXEEXT): $(gmpc_OBJECTS) $(gmpc_DEPENDENCIES) @rm -f gmpc$(EXEEXT) - $(LINK) $(gmpc_LDFLAGS) $(gmpc_OBJECTS) $(gmpc_LDADD) $(LIBS) + $(LINK) $(gmpc_OBJECTS) $(gmpc_LDADD) $(LIBS) mostlyclean-compile: - -rm -f *.$(OBJEXT) core *.core + -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/TreeSearchWidget.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/advanced_search.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/advanced-search.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bacon-message-connection.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-information.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config1.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit_markup.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggcolumnchooserdialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggcolumnmodel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggtrayicon.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggdesktopfile.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggsmclient-osx.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggsmclient-win32.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggsmclient-xsmp.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eggsmclient.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-clicklabel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-connection.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-easy-command.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-favorites.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-image.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-liststore-sort.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-meta-text-view.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-meta-watcher.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-metadata-browser2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-metadata-prefetcher.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-metaimage.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model-playlist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model-sort.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-model.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-treeview-tooltip.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-mpddata-treeview.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-paned-size-group.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-plugin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-profiles.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-progress.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-rating.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-song-links.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-stats-label.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc-test-plugin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_easy_download.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_image.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_menu_item_rating.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_rating.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata-cache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mm-keys.Po@am__quote@ @@ -577,786 +715,483 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-file-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-find2-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-messages.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-metadata-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-playlist-editor.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3-tag2-browser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/plugin.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/preferences.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qasyncqueue.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/server-information.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setup-assistant.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tray-icon2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url_fetcher.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url-fetcher.Po@am__quote@ .c.o: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: -@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'; fi` +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: -@am__fastdepCC_TRUE@ if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \ -@am__fastdepCC_TRUE@ -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< - -playlist3-tag2-browser.o: browsers/playlist3-tag2-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-tag2-browser.o -MD -MP -MF "$(DEPDIR)/playlist3-tag2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-tag2-browser.o `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-tag2-browser.Tpo" "$(DEPDIR)/playlist3-tag2-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-tag2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-tag2-browser.c' object='playlist3-tag2-browser.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-tag2-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-tag2-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-tag2-browser.o `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c - -playlist3-tag2-browser.obj: browsers/playlist3-tag2-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-tag2-browser.obj -MD -MP -MF "$(DEPDIR)/playlist3-tag2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-tag2-browser.obj `if test -f 'browsers/playlist3-tag2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-tag2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-tag2-browser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-tag2-browser.Tpo" "$(DEPDIR)/playlist3-tag2-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-tag2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-tag2-browser.c' object='playlist3-tag2-browser.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-tag2-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-tag2-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-tag2-browser.obj `if test -f 'browsers/playlist3-tag2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-tag2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-tag2-browser.c'; fi` - -playlist3-tag2-browser.lo: browsers/playlist3-tag2-browser.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-tag2-browser.lo -MD -MP -MF "$(DEPDIR)/playlist3-tag2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-tag2-browser.lo `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-tag2-browser.Tpo" "$(DEPDIR)/playlist3-tag2-browser.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-tag2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-tag2-browser.c' object='playlist3-tag2-browser.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-tag2-browser.Plo' tmpdepfile='$(DEPDIR)/playlist3-tag2-browser.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-tag2-browser.lo `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c - -playlist3-file-browser.o: browsers/playlist3-file-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-file-browser.o -MD -MP -MF "$(DEPDIR)/playlist3-file-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-file-browser.o `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-file-browser.Tpo" "$(DEPDIR)/playlist3-file-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-file-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-file-browser.c' object='playlist3-file-browser.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-file-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-file-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-file-browser.o `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c - -playlist3-file-browser.obj: browsers/playlist3-file-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-file-browser.obj -MD -MP -MF "$(DEPDIR)/playlist3-file-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-file-browser.obj `if test -f 'browsers/playlist3-file-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-file-browser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-file-browser.Tpo" "$(DEPDIR)/playlist3-file-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-file-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-file-browser.c' object='playlist3-file-browser.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-file-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-file-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-file-browser.obj `if test -f 'browsers/playlist3-file-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-file-browser.c'; fi` - -playlist3-file-browser.lo: browsers/playlist3-file-browser.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-file-browser.lo -MD -MP -MF "$(DEPDIR)/playlist3-file-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-file-browser.lo `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-file-browser.Tpo" "$(DEPDIR)/playlist3-file-browser.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-file-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-file-browser.c' object='playlist3-file-browser.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-file-browser.Plo' tmpdepfile='$(DEPDIR)/playlist3-file-browser.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-file-browser.lo `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -playlist3-current-playlist-browser.o: browsers/playlist3-current-playlist-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-current-playlist-browser.o -MD -MP -MF "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-current-playlist-browser.o `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" "$(DEPDIR)/playlist3-current-playlist-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-current-playlist-browser.c' object='playlist3-current-playlist-browser.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-current-playlist-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-current-playlist-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-current-playlist-browser.o `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c +eggdesktopfile.lo: smclient/eggdesktopfile.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggdesktopfile.lo -MD -MP -MF $(DEPDIR)/eggdesktopfile.Tpo -c -o eggdesktopfile.lo `test -f 'smclient/eggdesktopfile.c' || echo '$(srcdir)/'`smclient/eggdesktopfile.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggdesktopfile.Tpo $(DEPDIR)/eggdesktopfile.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smclient/eggdesktopfile.c' object='eggdesktopfile.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggdesktopfile.lo `test -f 'smclient/eggdesktopfile.c' || echo '$(srcdir)/'`smclient/eggdesktopfile.c + +eggsmclient.lo: smclient/eggsmclient.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggsmclient.lo -MD -MP -MF $(DEPDIR)/eggsmclient.Tpo -c -o eggsmclient.lo `test -f 'smclient/eggsmclient.c' || echo '$(srcdir)/'`smclient/eggsmclient.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggsmclient.Tpo $(DEPDIR)/eggsmclient.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smclient/eggsmclient.c' object='eggsmclient.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggsmclient.lo `test -f 'smclient/eggsmclient.c' || echo '$(srcdir)/'`smclient/eggsmclient.c + +eggsmclient-xsmp.lo: smclient/eggsmclient-xsmp.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggsmclient-xsmp.lo -MD -MP -MF $(DEPDIR)/eggsmclient-xsmp.Tpo -c -o eggsmclient-xsmp.lo `test -f 'smclient/eggsmclient-xsmp.c' || echo '$(srcdir)/'`smclient/eggsmclient-xsmp.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggsmclient-xsmp.Tpo $(DEPDIR)/eggsmclient-xsmp.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smclient/eggsmclient-xsmp.c' object='eggsmclient-xsmp.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggsmclient-xsmp.lo `test -f 'smclient/eggsmclient-xsmp.c' || echo '$(srcdir)/'`smclient/eggsmclient-xsmp.c + +eggsmclient-osx.lo: smclient/eggsmclient-osx.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggsmclient-osx.lo -MD -MP -MF $(DEPDIR)/eggsmclient-osx.Tpo -c -o eggsmclient-osx.lo `test -f 'smclient/eggsmclient-osx.c' || echo '$(srcdir)/'`smclient/eggsmclient-osx.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggsmclient-osx.Tpo $(DEPDIR)/eggsmclient-osx.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smclient/eggsmclient-osx.c' object='eggsmclient-osx.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggsmclient-osx.lo `test -f 'smclient/eggsmclient-osx.c' || echo '$(srcdir)/'`smclient/eggsmclient-osx.c + +eggsmclient-win32.lo: smclient/eggsmclient-win32.c +@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggsmclient-win32.lo -MD -MP -MF $(DEPDIR)/eggsmclient-win32.Tpo -c -o eggsmclient-win32.lo `test -f 'smclient/eggsmclient-win32.c' || echo '$(srcdir)/'`smclient/eggsmclient-win32.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggsmclient-win32.Tpo $(DEPDIR)/eggsmclient-win32.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='smclient/eggsmclient-win32.c' object='eggsmclient-win32.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggsmclient-win32.lo `test -f 'smclient/eggsmclient-win32.c' || echo '$(srcdir)/'`smclient/eggsmclient-win32.c -playlist3-current-playlist-browser.obj: browsers/playlist3-current-playlist-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-current-playlist-browser.obj -MD -MP -MF "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-current-playlist-browser.obj `if test -f 'browsers/playlist3-current-playlist-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-current-playlist-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-current-playlist-browser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" "$(DEPDIR)/playlist3-current-playlist-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-current-playlist-browser.c' object='playlist3-current-playlist-browser.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-current-playlist-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-current-playlist-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-current-playlist-browser.obj `if test -f 'browsers/playlist3-current-playlist-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-current-playlist-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-current-playlist-browser.c'; fi` - -playlist3-current-playlist-browser.lo: browsers/playlist3-current-playlist-browser.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-current-playlist-browser.lo -MD -MP -MF "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-current-playlist-browser.lo `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo" "$(DEPDIR)/playlist3-current-playlist-browser.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-current-playlist-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-current-playlist-browser.c' object='playlist3-current-playlist-browser.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-current-playlist-browser.Plo' tmpdepfile='$(DEPDIR)/playlist3-current-playlist-browser.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-current-playlist-browser.lo `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c +bacon-message-connection.o: bacon/bacon-message-connection.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.o -MD -MP -MF $(DEPDIR)/bacon-message-connection.Tpo -c -o bacon-message-connection.o `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bacon-message-connection.Tpo $(DEPDIR)/bacon-message-connection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bacon/bacon-message-connection.c' object='bacon-message-connection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.o `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c -playlist3-find2-browser.o: browsers/playlist3-find2-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-find2-browser.o -MD -MP -MF "$(DEPDIR)/playlist3-find2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-find2-browser.o `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-find2-browser.Tpo" "$(DEPDIR)/playlist3-find2-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-find2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-find2-browser.c' object='playlist3-find2-browser.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-find2-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-find2-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-find2-browser.o `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c +bacon-message-connection.obj: bacon/bacon-message-connection.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.obj -MD -MP -MF $(DEPDIR)/bacon-message-connection.Tpo -c -o bacon-message-connection.obj `if test -f 'bacon/bacon-message-connection.c'; then $(CYGPATH_W) 'bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/bacon/bacon-message-connection.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/bacon-message-connection.Tpo $(DEPDIR)/bacon-message-connection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bacon/bacon-message-connection.c' object='bacon-message-connection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.obj `if test -f 'bacon/bacon-message-connection.c'; then $(CYGPATH_W) 'bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/bacon/bacon-message-connection.c'; fi` -playlist3-find2-browser.obj: browsers/playlist3-find2-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-find2-browser.obj -MD -MP -MF "$(DEPDIR)/playlist3-find2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-find2-browser.obj `if test -f 'browsers/playlist3-find2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-find2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-find2-browser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-find2-browser.Tpo" "$(DEPDIR)/playlist3-find2-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-find2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-find2-browser.c' object='playlist3-find2-browser.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-find2-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-find2-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-find2-browser.obj `if test -f 'browsers/playlist3-find2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-find2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-find2-browser.c'; fi` +eggcolumnchooserdialog.o: egg/eggcolumnchooserdialog.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnchooserdialog.o -MD -MP -MF $(DEPDIR)/eggcolumnchooserdialog.Tpo -c -o eggcolumnchooserdialog.o `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggcolumnchooserdialog.Tpo $(DEPDIR)/eggcolumnchooserdialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnchooserdialog.c' object='eggcolumnchooserdialog.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnchooserdialog.o `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c -playlist3-find2-browser.lo: browsers/playlist3-find2-browser.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-find2-browser.lo -MD -MP -MF "$(DEPDIR)/playlist3-find2-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-find2-browser.lo `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-find2-browser.Tpo" "$(DEPDIR)/playlist3-find2-browser.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-find2-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-find2-browser.c' object='playlist3-find2-browser.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-find2-browser.Plo' tmpdepfile='$(DEPDIR)/playlist3-find2-browser.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-find2-browser.lo `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c - -playlist3-metadata-browser.o: browsers/playlist3-metadata-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-metadata-browser.o -MD -MP -MF "$(DEPDIR)/playlist3-metadata-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-metadata-browser.o `test -f 'browsers/playlist3-metadata-browser.c' || echo '$(srcdir)/'`browsers/playlist3-metadata-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-metadata-browser.Tpo" "$(DEPDIR)/playlist3-metadata-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-metadata-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-metadata-browser.c' object='playlist3-metadata-browser.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-metadata-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-metadata-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-metadata-browser.o `test -f 'browsers/playlist3-metadata-browser.c' || echo '$(srcdir)/'`browsers/playlist3-metadata-browser.c - -playlist3-metadata-browser.obj: browsers/playlist3-metadata-browser.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-metadata-browser.obj -MD -MP -MF "$(DEPDIR)/playlist3-metadata-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-metadata-browser.obj `if test -f 'browsers/playlist3-metadata-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-metadata-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-metadata-browser.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-metadata-browser.Tpo" "$(DEPDIR)/playlist3-metadata-browser.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-metadata-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-metadata-browser.c' object='playlist3-metadata-browser.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-metadata-browser.Po' tmpdepfile='$(DEPDIR)/playlist3-metadata-browser.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-metadata-browser.obj `if test -f 'browsers/playlist3-metadata-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-metadata-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-metadata-browser.c'; fi` - -playlist3-metadata-browser.lo: browsers/playlist3-metadata-browser.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-metadata-browser.lo -MD -MP -MF "$(DEPDIR)/playlist3-metadata-browser.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-metadata-browser.lo `test -f 'browsers/playlist3-metadata-browser.c' || echo '$(srcdir)/'`browsers/playlist3-metadata-browser.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-metadata-browser.Tpo" "$(DEPDIR)/playlist3-metadata-browser.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-metadata-browser.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-metadata-browser.c' object='playlist3-metadata-browser.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-metadata-browser.Plo' tmpdepfile='$(DEPDIR)/playlist3-metadata-browser.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-metadata-browser.lo `test -f 'browsers/playlist3-metadata-browser.c' || echo '$(srcdir)/'`browsers/playlist3-metadata-browser.c +eggcolumnchooserdialog.obj: egg/eggcolumnchooserdialog.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnchooserdialog.obj -MD -MP -MF $(DEPDIR)/eggcolumnchooserdialog.Tpo -c -o eggcolumnchooserdialog.obj `if test -f 'egg/eggcolumnchooserdialog.c'; then $(CYGPATH_W) 'egg/eggcolumnchooserdialog.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnchooserdialog.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggcolumnchooserdialog.Tpo $(DEPDIR)/eggcolumnchooserdialog.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnchooserdialog.c' object='eggcolumnchooserdialog.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnchooserdialog.obj `if test -f 'egg/eggcolumnchooserdialog.c'; then $(CYGPATH_W) 'egg/eggcolumnchooserdialog.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnchooserdialog.c'; fi` -playlist3-playlist-editor.o: browsers/playlist3-playlist-editor.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-playlist-editor.o -MD -MP -MF "$(DEPDIR)/playlist3-playlist-editor.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-playlist-editor.o `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-playlist-editor.Tpo" "$(DEPDIR)/playlist3-playlist-editor.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-playlist-editor.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-playlist-editor.c' object='playlist3-playlist-editor.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-playlist-editor.Po' tmpdepfile='$(DEPDIR)/playlist3-playlist-editor.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-playlist-editor.o `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c +eggcolumnmodel.o: egg/eggcolumnmodel.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnmodel.o -MD -MP -MF $(DEPDIR)/eggcolumnmodel.Tpo -c -o eggcolumnmodel.o `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggcolumnmodel.Tpo $(DEPDIR)/eggcolumnmodel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnmodel.c' object='eggcolumnmodel.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnmodel.o `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c -playlist3-playlist-editor.obj: browsers/playlist3-playlist-editor.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-playlist-editor.obj -MD -MP -MF "$(DEPDIR)/playlist3-playlist-editor.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-playlist-editor.obj `if test -f 'browsers/playlist3-playlist-editor.c'; then $(CYGPATH_W) 'browsers/playlist3-playlist-editor.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-playlist-editor.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-playlist-editor.Tpo" "$(DEPDIR)/playlist3-playlist-editor.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-playlist-editor.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-playlist-editor.c' object='playlist3-playlist-editor.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-playlist-editor.Po' tmpdepfile='$(DEPDIR)/playlist3-playlist-editor.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-playlist-editor.obj `if test -f 'browsers/playlist3-playlist-editor.c'; then $(CYGPATH_W) 'browsers/playlist3-playlist-editor.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-playlist-editor.c'; fi` +eggcolumnmodel.obj: egg/eggcolumnmodel.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnmodel.obj -MD -MP -MF $(DEPDIR)/eggcolumnmodel.Tpo -c -o eggcolumnmodel.obj `if test -f 'egg/eggcolumnmodel.c'; then $(CYGPATH_W) 'egg/eggcolumnmodel.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnmodel.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/eggcolumnmodel.Tpo $(DEPDIR)/eggcolumnmodel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnmodel.c' object='eggcolumnmodel.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnmodel.obj `if test -f 'egg/eggcolumnmodel.c'; then $(CYGPATH_W) 'egg/eggcolumnmodel.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnmodel.c'; fi` -playlist3-playlist-editor.lo: browsers/playlist3-playlist-editor.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-playlist-editor.lo -MD -MP -MF "$(DEPDIR)/playlist3-playlist-editor.Tpo" \ -@am__fastdepCC_TRUE@ -c -o playlist3-playlist-editor.lo `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/playlist3-playlist-editor.Tpo" "$(DEPDIR)/playlist3-playlist-editor.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/playlist3-playlist-editor.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-playlist-editor.c' object='playlist3-playlist-editor.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/playlist3-playlist-editor.Plo' tmpdepfile='$(DEPDIR)/playlist3-playlist-editor.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-playlist-editor.lo `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c - -gmpc_image.o: vala/gmpc_image.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_image.o -MD -MP -MF "$(DEPDIR)/gmpc_image.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_image.o `test -f 'vala/gmpc_image.c' || echo '$(srcdir)/'`vala/gmpc_image.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_image.Tpo" "$(DEPDIR)/gmpc_image.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_image.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_image.c' object='gmpc_image.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_image.Po' tmpdepfile='$(DEPDIR)/gmpc_image.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_image.o `test -f 'vala/gmpc_image.c' || echo '$(srcdir)/'`vala/gmpc_image.c - -gmpc_image.obj: vala/gmpc_image.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_image.obj -MD -MP -MF "$(DEPDIR)/gmpc_image.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_image.obj `if test -f 'vala/gmpc_image.c'; then $(CYGPATH_W) 'vala/gmpc_image.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_image.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_image.Tpo" "$(DEPDIR)/gmpc_image.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_image.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_image.c' object='gmpc_image.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_image.Po' tmpdepfile='$(DEPDIR)/gmpc_image.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_image.obj `if test -f 'vala/gmpc_image.c'; then $(CYGPATH_W) 'vala/gmpc_image.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_image.c'; fi` - -gmpc_image.lo: vala/gmpc_image.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_image.lo -MD -MP -MF "$(DEPDIR)/gmpc_image.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_image.lo `test -f 'vala/gmpc_image.c' || echo '$(srcdir)/'`vala/gmpc_image.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_image.Tpo" "$(DEPDIR)/gmpc_image.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_image.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_image.c' object='gmpc_image.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_image.Plo' tmpdepfile='$(DEPDIR)/gmpc_image.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_image.lo `test -f 'vala/gmpc_image.c' || echo '$(srcdir)/'`vala/gmpc_image.c +gmpc-image.o: vala/gmpc-image.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-image.o -MD -MP -MF $(DEPDIR)/gmpc-image.Tpo -c -o gmpc-image.o `test -f 'vala/gmpc-image.c' || echo '$(srcdir)/'`vala/gmpc-image.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-image.Tpo $(DEPDIR)/gmpc-image.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-image.c' object='gmpc-image.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-image.o `test -f 'vala/gmpc-image.c' || echo '$(srcdir)/'`vala/gmpc-image.c + +gmpc-image.obj: vala/gmpc-image.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-image.obj -MD -MP -MF $(DEPDIR)/gmpc-image.Tpo -c -o gmpc-image.obj `if test -f 'vala/gmpc-image.c'; then $(CYGPATH_W) 'vala/gmpc-image.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-image.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-image.Tpo $(DEPDIR)/gmpc-image.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-image.c' object='gmpc-image.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-image.obj `if test -f 'vala/gmpc-image.c'; then $(CYGPATH_W) 'vala/gmpc-image.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-image.c'; fi` gmpc-progress.o: vala/gmpc-progress.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-progress.o -MD -MP -MF "$(DEPDIR)/gmpc-progress.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-progress.o `test -f 'vala/gmpc-progress.c' || echo '$(srcdir)/'`vala/gmpc-progress.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-progress.Tpo" "$(DEPDIR)/gmpc-progress.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-progress.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-progress.o -MD -MP -MF $(DEPDIR)/gmpc-progress.Tpo -c -o gmpc-progress.o `test -f 'vala/gmpc-progress.c' || echo '$(srcdir)/'`vala/gmpc-progress.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-progress.Tpo $(DEPDIR)/gmpc-progress.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-progress.c' object='gmpc-progress.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-progress.Po' tmpdepfile='$(DEPDIR)/gmpc-progress.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-progress.o `test -f 'vala/gmpc-progress.c' || echo '$(srcdir)/'`vala/gmpc-progress.c gmpc-progress.obj: vala/gmpc-progress.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-progress.obj -MD -MP -MF "$(DEPDIR)/gmpc-progress.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-progress.obj `if test -f 'vala/gmpc-progress.c'; then $(CYGPATH_W) 'vala/gmpc-progress.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-progress.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-progress.Tpo" "$(DEPDIR)/gmpc-progress.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-progress.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-progress.obj -MD -MP -MF $(DEPDIR)/gmpc-progress.Tpo -c -o gmpc-progress.obj `if test -f 'vala/gmpc-progress.c'; then $(CYGPATH_W) 'vala/gmpc-progress.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-progress.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-progress.Tpo $(DEPDIR)/gmpc-progress.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-progress.c' object='gmpc-progress.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-progress.Po' tmpdepfile='$(DEPDIR)/gmpc-progress.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-progress.obj `if test -f 'vala/gmpc-progress.c'; then $(CYGPATH_W) 'vala/gmpc-progress.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-progress.c'; fi` -gmpc-progress.lo: vala/gmpc-progress.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-progress.lo -MD -MP -MF "$(DEPDIR)/gmpc-progress.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-progress.lo `test -f 'vala/gmpc-progress.c' || echo '$(srcdir)/'`vala/gmpc-progress.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-progress.Tpo" "$(DEPDIR)/gmpc-progress.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-progress.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-progress.c' object='gmpc-progress.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-progress.Plo' tmpdepfile='$(DEPDIR)/gmpc-progress.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-progress.lo `test -f 'vala/gmpc-progress.c' || echo '$(srcdir)/'`vala/gmpc-progress.c - -gmpc_rating.o: vala/gmpc_rating.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_rating.o -MD -MP -MF "$(DEPDIR)/gmpc_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_rating.o `test -f 'vala/gmpc_rating.c' || echo '$(srcdir)/'`vala/gmpc_rating.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_rating.Tpo" "$(DEPDIR)/gmpc_rating.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_rating.c' object='gmpc_rating.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_rating.Po' tmpdepfile='$(DEPDIR)/gmpc_rating.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_rating.o `test -f 'vala/gmpc_rating.c' || echo '$(srcdir)/'`vala/gmpc_rating.c - -gmpc_rating.obj: vala/gmpc_rating.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_rating.obj -MD -MP -MF "$(DEPDIR)/gmpc_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_rating.obj `if test -f 'vala/gmpc_rating.c'; then $(CYGPATH_W) 'vala/gmpc_rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_rating.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_rating.Tpo" "$(DEPDIR)/gmpc_rating.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_rating.c' object='gmpc_rating.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_rating.Po' tmpdepfile='$(DEPDIR)/gmpc_rating.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_rating.obj `if test -f 'vala/gmpc_rating.c'; then $(CYGPATH_W) 'vala/gmpc_rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_rating.c'; fi` - -gmpc_rating.lo: vala/gmpc_rating.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_rating.lo -MD -MP -MF "$(DEPDIR)/gmpc_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_rating.lo `test -f 'vala/gmpc_rating.c' || echo '$(srcdir)/'`vala/gmpc_rating.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_rating.Tpo" "$(DEPDIR)/gmpc_rating.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_rating.c' object='gmpc_rating.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_rating.Plo' tmpdepfile='$(DEPDIR)/gmpc_rating.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_rating.lo `test -f 'vala/gmpc_rating.c' || echo '$(srcdir)/'`vala/gmpc_rating.c +gmpc-rating.o: vala/gmpc-rating.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-rating.o -MD -MP -MF $(DEPDIR)/gmpc-rating.Tpo -c -o gmpc-rating.o `test -f 'vala/gmpc-rating.c' || echo '$(srcdir)/'`vala/gmpc-rating.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-rating.Tpo $(DEPDIR)/gmpc-rating.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-rating.c' object='gmpc-rating.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-rating.o `test -f 'vala/gmpc-rating.c' || echo '$(srcdir)/'`vala/gmpc-rating.c + +gmpc-rating.obj: vala/gmpc-rating.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-rating.obj -MD -MP -MF $(DEPDIR)/gmpc-rating.Tpo -c -o gmpc-rating.obj `if test -f 'vala/gmpc-rating.c'; then $(CYGPATH_W) 'vala/gmpc-rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-rating.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-rating.Tpo $(DEPDIR)/gmpc-rating.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-rating.c' object='gmpc-rating.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-rating.obj `if test -f 'vala/gmpc-rating.c'; then $(CYGPATH_W) 'vala/gmpc-rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-rating.c'; fi` gmpc_menu_item_rating.o: vala/gmpc_menu_item_rating.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_menu_item_rating.o -MD -MP -MF "$(DEPDIR)/gmpc_menu_item_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_menu_item_rating.o `test -f 'vala/gmpc_menu_item_rating.c' || echo '$(srcdir)/'`vala/gmpc_menu_item_rating.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo" "$(DEPDIR)/gmpc_menu_item_rating.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_menu_item_rating.o -MD -MP -MF $(DEPDIR)/gmpc_menu_item_rating.Tpo -c -o gmpc_menu_item_rating.o `test -f 'vala/gmpc_menu_item_rating.c' || echo '$(srcdir)/'`vala/gmpc_menu_item_rating.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_menu_item_rating.Tpo $(DEPDIR)/gmpc_menu_item_rating.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_menu_item_rating.c' object='gmpc_menu_item_rating.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_menu_item_rating.Po' tmpdepfile='$(DEPDIR)/gmpc_menu_item_rating.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_menu_item_rating.o `test -f 'vala/gmpc_menu_item_rating.c' || echo '$(srcdir)/'`vala/gmpc_menu_item_rating.c gmpc_menu_item_rating.obj: vala/gmpc_menu_item_rating.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_menu_item_rating.obj -MD -MP -MF "$(DEPDIR)/gmpc_menu_item_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_menu_item_rating.obj `if test -f 'vala/gmpc_menu_item_rating.c'; then $(CYGPATH_W) 'vala/gmpc_menu_item_rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_menu_item_rating.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo" "$(DEPDIR)/gmpc_menu_item_rating.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_menu_item_rating.obj -MD -MP -MF $(DEPDIR)/gmpc_menu_item_rating.Tpo -c -o gmpc_menu_item_rating.obj `if test -f 'vala/gmpc_menu_item_rating.c'; then $(CYGPATH_W) 'vala/gmpc_menu_item_rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_menu_item_rating.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_menu_item_rating.Tpo $(DEPDIR)/gmpc_menu_item_rating.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_menu_item_rating.c' object='gmpc_menu_item_rating.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_menu_item_rating.Po' tmpdepfile='$(DEPDIR)/gmpc_menu_item_rating.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_menu_item_rating.obj `if test -f 'vala/gmpc_menu_item_rating.c'; then $(CYGPATH_W) 'vala/gmpc_menu_item_rating.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc_menu_item_rating.c'; fi` -gmpc_menu_item_rating.lo: vala/gmpc_menu_item_rating.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc_menu_item_rating.lo -MD -MP -MF "$(DEPDIR)/gmpc_menu_item_rating.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc_menu_item_rating.lo `test -f 'vala/gmpc_menu_item_rating.c' || echo '$(srcdir)/'`vala/gmpc_menu_item_rating.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo" "$(DEPDIR)/gmpc_menu_item_rating.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc_menu_item_rating.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc_menu_item_rating.c' object='gmpc_menu_item_rating.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc_menu_item_rating.Plo' tmpdepfile='$(DEPDIR)/gmpc_menu_item_rating.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc_menu_item_rating.lo `test -f 'vala/gmpc_menu_item_rating.c' || echo '$(srcdir)/'`vala/gmpc_menu_item_rating.c - gmpc-easy-command.o: vala/gmpc-easy-command.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-easy-command.o -MD -MP -MF "$(DEPDIR)/gmpc-easy-command.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-easy-command.o `test -f 'vala/gmpc-easy-command.c' || echo '$(srcdir)/'`vala/gmpc-easy-command.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-easy-command.Tpo" "$(DEPDIR)/gmpc-easy-command.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-easy-command.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-easy-command.o -MD -MP -MF $(DEPDIR)/gmpc-easy-command.Tpo -c -o gmpc-easy-command.o `test -f 'vala/gmpc-easy-command.c' || echo '$(srcdir)/'`vala/gmpc-easy-command.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-easy-command.Tpo $(DEPDIR)/gmpc-easy-command.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-easy-command.c' object='gmpc-easy-command.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-easy-command.Po' tmpdepfile='$(DEPDIR)/gmpc-easy-command.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-easy-command.o `test -f 'vala/gmpc-easy-command.c' || echo '$(srcdir)/'`vala/gmpc-easy-command.c gmpc-easy-command.obj: vala/gmpc-easy-command.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-easy-command.obj -MD -MP -MF "$(DEPDIR)/gmpc-easy-command.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-easy-command.obj `if test -f 'vala/gmpc-easy-command.c'; then $(CYGPATH_W) 'vala/gmpc-easy-command.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-easy-command.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-easy-command.Tpo" "$(DEPDIR)/gmpc-easy-command.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-easy-command.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-easy-command.obj -MD -MP -MF $(DEPDIR)/gmpc-easy-command.Tpo -c -o gmpc-easy-command.obj `if test -f 'vala/gmpc-easy-command.c'; then $(CYGPATH_W) 'vala/gmpc-easy-command.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-easy-command.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-easy-command.Tpo $(DEPDIR)/gmpc-easy-command.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-easy-command.c' object='gmpc-easy-command.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-easy-command.Po' tmpdepfile='$(DEPDIR)/gmpc-easy-command.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-easy-command.obj `if test -f 'vala/gmpc-easy-command.c'; then $(CYGPATH_W) 'vala/gmpc-easy-command.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-easy-command.c'; fi` -gmpc-easy-command.lo: vala/gmpc-easy-command.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-easy-command.lo -MD -MP -MF "$(DEPDIR)/gmpc-easy-command.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-easy-command.lo `test -f 'vala/gmpc-easy-command.c' || echo '$(srcdir)/'`vala/gmpc-easy-command.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-easy-command.Tpo" "$(DEPDIR)/gmpc-easy-command.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-easy-command.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-easy-command.c' object='gmpc-easy-command.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-easy-command.Plo' tmpdepfile='$(DEPDIR)/gmpc-easy-command.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-easy-command.lo `test -f 'vala/gmpc-easy-command.c' || echo '$(srcdir)/'`vala/gmpc-easy-command.c - gmpc-song-links.o: vala/gmpc-song-links.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-song-links.o -MD -MP -MF "$(DEPDIR)/gmpc-song-links.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-song-links.o `test -f 'vala/gmpc-song-links.c' || echo '$(srcdir)/'`vala/gmpc-song-links.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-song-links.Tpo" "$(DEPDIR)/gmpc-song-links.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-song-links.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-song-links.o -MD -MP -MF $(DEPDIR)/gmpc-song-links.Tpo -c -o gmpc-song-links.o `test -f 'vala/gmpc-song-links.c' || echo '$(srcdir)/'`vala/gmpc-song-links.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-song-links.Tpo $(DEPDIR)/gmpc-song-links.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-song-links.c' object='gmpc-song-links.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-song-links.Po' tmpdepfile='$(DEPDIR)/gmpc-song-links.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-song-links.o `test -f 'vala/gmpc-song-links.c' || echo '$(srcdir)/'`vala/gmpc-song-links.c gmpc-song-links.obj: vala/gmpc-song-links.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-song-links.obj -MD -MP -MF "$(DEPDIR)/gmpc-song-links.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-song-links.obj `if test -f 'vala/gmpc-song-links.c'; then $(CYGPATH_W) 'vala/gmpc-song-links.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-song-links.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-song-links.Tpo" "$(DEPDIR)/gmpc-song-links.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-song-links.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-song-links.obj -MD -MP -MF $(DEPDIR)/gmpc-song-links.Tpo -c -o gmpc-song-links.obj `if test -f 'vala/gmpc-song-links.c'; then $(CYGPATH_W) 'vala/gmpc-song-links.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-song-links.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-song-links.Tpo $(DEPDIR)/gmpc-song-links.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-song-links.c' object='gmpc-song-links.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-song-links.Po' tmpdepfile='$(DEPDIR)/gmpc-song-links.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-song-links.obj `if test -f 'vala/gmpc-song-links.c'; then $(CYGPATH_W) 'vala/gmpc-song-links.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-song-links.c'; fi` -gmpc-song-links.lo: vala/gmpc-song-links.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-song-links.lo -MD -MP -MF "$(DEPDIR)/gmpc-song-links.Tpo" \ -@am__fastdepCC_TRUE@ -c -o gmpc-song-links.lo `test -f 'vala/gmpc-song-links.c' || echo '$(srcdir)/'`vala/gmpc-song-links.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/gmpc-song-links.Tpo" "$(DEPDIR)/gmpc-song-links.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/gmpc-song-links.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-song-links.c' object='gmpc-song-links.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/gmpc-song-links.Plo' tmpdepfile='$(DEPDIR)/gmpc-song-links.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-song-links.lo `test -f 'vala/gmpc-song-links.c' || echo '$(srcdir)/'`vala/gmpc-song-links.c +gmpc-plugin.o: vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-plugin.o -MD -MP -MF $(DEPDIR)/gmpc-plugin.Tpo -c -o gmpc-plugin.o `test -f 'vala/gmpc-plugin.c' || echo '$(srcdir)/'`vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-plugin.Tpo $(DEPDIR)/gmpc-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-plugin.c' object='gmpc-plugin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-plugin.o `test -f 'vala/gmpc-plugin.c' || echo '$(srcdir)/'`vala/gmpc-plugin.c + +gmpc-plugin.obj: vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-plugin.obj -MD -MP -MF $(DEPDIR)/gmpc-plugin.Tpo -c -o gmpc-plugin.obj `if test -f 'vala/gmpc-plugin.c'; then $(CYGPATH_W) 'vala/gmpc-plugin.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-plugin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-plugin.Tpo $(DEPDIR)/gmpc-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-plugin.c' object='gmpc-plugin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-plugin.obj `if test -f 'vala/gmpc-plugin.c'; then $(CYGPATH_W) 'vala/gmpc-plugin.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-plugin.c'; fi` + +gmpc-test-plugin.o: vala/gmpc-test-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-test-plugin.o -MD -MP -MF $(DEPDIR)/gmpc-test-plugin.Tpo -c -o gmpc-test-plugin.o `test -f 'vala/gmpc-test-plugin.c' || echo '$(srcdir)/'`vala/gmpc-test-plugin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-test-plugin.Tpo $(DEPDIR)/gmpc-test-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-test-plugin.c' object='gmpc-test-plugin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-test-plugin.o `test -f 'vala/gmpc-test-plugin.c' || echo '$(srcdir)/'`vala/gmpc-test-plugin.c + +gmpc-test-plugin.obj: vala/gmpc-test-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-test-plugin.obj -MD -MP -MF $(DEPDIR)/gmpc-test-plugin.Tpo -c -o gmpc-test-plugin.obj `if test -f 'vala/gmpc-test-plugin.c'; then $(CYGPATH_W) 'vala/gmpc-test-plugin.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-test-plugin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-test-plugin.Tpo $(DEPDIR)/gmpc-test-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-test-plugin.c' object='gmpc-test-plugin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-test-plugin.obj `if test -f 'vala/gmpc-test-plugin.c'; then $(CYGPATH_W) 'vala/gmpc-test-plugin.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-test-plugin.c'; fi` + +gmpc-mpddata-treeview-tooltip.o: vala/gmpc-mpddata-treeview-tooltip.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-mpddata-treeview-tooltip.o -MD -MP -MF $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Tpo -c -o gmpc-mpddata-treeview-tooltip.o `test -f 'vala/gmpc-mpddata-treeview-tooltip.c' || echo '$(srcdir)/'`vala/gmpc-mpddata-treeview-tooltip.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Tpo $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-mpddata-treeview-tooltip.c' object='gmpc-mpddata-treeview-tooltip.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-mpddata-treeview-tooltip.o `test -f 'vala/gmpc-mpddata-treeview-tooltip.c' || echo '$(srcdir)/'`vala/gmpc-mpddata-treeview-tooltip.c + +gmpc-mpddata-treeview-tooltip.obj: vala/gmpc-mpddata-treeview-tooltip.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-mpddata-treeview-tooltip.obj -MD -MP -MF $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Tpo -c -o gmpc-mpddata-treeview-tooltip.obj `if test -f 'vala/gmpc-mpddata-treeview-tooltip.c'; then $(CYGPATH_W) 'vala/gmpc-mpddata-treeview-tooltip.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-mpddata-treeview-tooltip.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Tpo $(DEPDIR)/gmpc-mpddata-treeview-tooltip.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-mpddata-treeview-tooltip.c' object='gmpc-mpddata-treeview-tooltip.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-mpddata-treeview-tooltip.obj `if test -f 'vala/gmpc-mpddata-treeview-tooltip.c'; then $(CYGPATH_W) 'vala/gmpc-mpddata-treeview-tooltip.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-mpddata-treeview-tooltip.c'; fi` + +gmpc-metadata-browser2.o: vala/gmpc-metadata-browser2.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-metadata-browser2.o -MD -MP -MF $(DEPDIR)/gmpc-metadata-browser2.Tpo -c -o gmpc-metadata-browser2.o `test -f 'vala/gmpc-metadata-browser2.c' || echo '$(srcdir)/'`vala/gmpc-metadata-browser2.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-metadata-browser2.Tpo $(DEPDIR)/gmpc-metadata-browser2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-metadata-browser2.c' object='gmpc-metadata-browser2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-metadata-browser2.o `test -f 'vala/gmpc-metadata-browser2.c' || echo '$(srcdir)/'`vala/gmpc-metadata-browser2.c + +gmpc-metadata-browser2.obj: vala/gmpc-metadata-browser2.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-metadata-browser2.obj -MD -MP -MF $(DEPDIR)/gmpc-metadata-browser2.Tpo -c -o gmpc-metadata-browser2.obj `if test -f 'vala/gmpc-metadata-browser2.c'; then $(CYGPATH_W) 'vala/gmpc-metadata-browser2.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-metadata-browser2.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-metadata-browser2.Tpo $(DEPDIR)/gmpc-metadata-browser2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-metadata-browser2.c' object='gmpc-metadata-browser2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-metadata-browser2.obj `if test -f 'vala/gmpc-metadata-browser2.c'; then $(CYGPATH_W) 'vala/gmpc-metadata-browser2.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-metadata-browser2.c'; fi` + +gmpc-favorites.o: vala/gmpc-favorites.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-favorites.o -MD -MP -MF $(DEPDIR)/gmpc-favorites.Tpo -c -o gmpc-favorites.o `test -f 'vala/gmpc-favorites.c' || echo '$(srcdir)/'`vala/gmpc-favorites.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-favorites.Tpo $(DEPDIR)/gmpc-favorites.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-favorites.c' object='gmpc-favorites.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-favorites.o `test -f 'vala/gmpc-favorites.c' || echo '$(srcdir)/'`vala/gmpc-favorites.c + +gmpc-favorites.obj: vala/gmpc-favorites.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-favorites.obj -MD -MP -MF $(DEPDIR)/gmpc-favorites.Tpo -c -o gmpc-favorites.obj `if test -f 'vala/gmpc-favorites.c'; then $(CYGPATH_W) 'vala/gmpc-favorites.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-favorites.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-favorites.Tpo $(DEPDIR)/gmpc-favorites.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-favorites.c' object='gmpc-favorites.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-favorites.obj `if test -f 'vala/gmpc-favorites.c'; then $(CYGPATH_W) 'vala/gmpc-favorites.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-favorites.c'; fi` + +gmpc-paned-size-group.o: vala/gmpc-paned-size-group.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-paned-size-group.o -MD -MP -MF $(DEPDIR)/gmpc-paned-size-group.Tpo -c -o gmpc-paned-size-group.o `test -f 'vala/gmpc-paned-size-group.c' || echo '$(srcdir)/'`vala/gmpc-paned-size-group.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-paned-size-group.Tpo $(DEPDIR)/gmpc-paned-size-group.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-paned-size-group.c' object='gmpc-paned-size-group.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-paned-size-group.o `test -f 'vala/gmpc-paned-size-group.c' || echo '$(srcdir)/'`vala/gmpc-paned-size-group.c + +gmpc-paned-size-group.obj: vala/gmpc-paned-size-group.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-paned-size-group.obj -MD -MP -MF $(DEPDIR)/gmpc-paned-size-group.Tpo -c -o gmpc-paned-size-group.obj `if test -f 'vala/gmpc-paned-size-group.c'; then $(CYGPATH_W) 'vala/gmpc-paned-size-group.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-paned-size-group.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-paned-size-group.Tpo $(DEPDIR)/gmpc-paned-size-group.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-paned-size-group.c' object='gmpc-paned-size-group.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-paned-size-group.obj `if test -f 'vala/gmpc-paned-size-group.c'; then $(CYGPATH_W) 'vala/gmpc-paned-size-group.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-paned-size-group.c'; fi` + +gmpc-liststore-sort.o: vala/gmpc-liststore-sort.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-liststore-sort.o -MD -MP -MF $(DEPDIR)/gmpc-liststore-sort.Tpo -c -o gmpc-liststore-sort.o `test -f 'vala/gmpc-liststore-sort.c' || echo '$(srcdir)/'`vala/gmpc-liststore-sort.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-liststore-sort.Tpo $(DEPDIR)/gmpc-liststore-sort.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-liststore-sort.c' object='gmpc-liststore-sort.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-liststore-sort.o `test -f 'vala/gmpc-liststore-sort.c' || echo '$(srcdir)/'`vala/gmpc-liststore-sort.c + +gmpc-liststore-sort.obj: vala/gmpc-liststore-sort.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-liststore-sort.obj -MD -MP -MF $(DEPDIR)/gmpc-liststore-sort.Tpo -c -o gmpc-liststore-sort.obj `if test -f 'vala/gmpc-liststore-sort.c'; then $(CYGPATH_W) 'vala/gmpc-liststore-sort.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-liststore-sort.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-liststore-sort.Tpo $(DEPDIR)/gmpc-liststore-sort.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-liststore-sort.c' object='gmpc-liststore-sort.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-liststore-sort.obj `if test -f 'vala/gmpc-liststore-sort.c'; then $(CYGPATH_W) 'vala/gmpc-liststore-sort.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-liststore-sort.c'; fi` + +gmpc-connection.o: vala/gmpc-connection.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-connection.o -MD -MP -MF $(DEPDIR)/gmpc-connection.Tpo -c -o gmpc-connection.o `test -f 'vala/gmpc-connection.c' || echo '$(srcdir)/'`vala/gmpc-connection.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-connection.Tpo $(DEPDIR)/gmpc-connection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-connection.c' object='gmpc-connection.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-connection.o `test -f 'vala/gmpc-connection.c' || echo '$(srcdir)/'`vala/gmpc-connection.c + +gmpc-connection.obj: vala/gmpc-connection.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-connection.obj -MD -MP -MF $(DEPDIR)/gmpc-connection.Tpo -c -o gmpc-connection.obj `if test -f 'vala/gmpc-connection.c'; then $(CYGPATH_W) 'vala/gmpc-connection.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-connection.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-connection.Tpo $(DEPDIR)/gmpc-connection.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-connection.c' object='gmpc-connection.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-connection.obj `if test -f 'vala/gmpc-connection.c'; then $(CYGPATH_W) 'vala/gmpc-connection.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-connection.c'; fi` + +gmpc-metadata-prefetcher.o: vala/gmpc-metadata-prefetcher.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-metadata-prefetcher.o -MD -MP -MF $(DEPDIR)/gmpc-metadata-prefetcher.Tpo -c -o gmpc-metadata-prefetcher.o `test -f 'vala/gmpc-metadata-prefetcher.c' || echo '$(srcdir)/'`vala/gmpc-metadata-prefetcher.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-metadata-prefetcher.Tpo $(DEPDIR)/gmpc-metadata-prefetcher.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-metadata-prefetcher.c' object='gmpc-metadata-prefetcher.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-metadata-prefetcher.o `test -f 'vala/gmpc-metadata-prefetcher.c' || echo '$(srcdir)/'`vala/gmpc-metadata-prefetcher.c + +gmpc-metadata-prefetcher.obj: vala/gmpc-metadata-prefetcher.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gmpc-metadata-prefetcher.obj -MD -MP -MF $(DEPDIR)/gmpc-metadata-prefetcher.Tpo -c -o gmpc-metadata-prefetcher.obj `if test -f 'vala/gmpc-metadata-prefetcher.c'; then $(CYGPATH_W) 'vala/gmpc-metadata-prefetcher.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-metadata-prefetcher.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc-metadata-prefetcher.Tpo $(DEPDIR)/gmpc-metadata-prefetcher.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='vala/gmpc-metadata-prefetcher.c' object='gmpc-metadata-prefetcher.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gmpc-metadata-prefetcher.obj `if test -f 'vala/gmpc-metadata-prefetcher.c'; then $(CYGPATH_W) 'vala/gmpc-metadata-prefetcher.c'; else $(CYGPATH_W) '$(srcdir)/vala/gmpc-metadata-prefetcher.c'; fi` -eggcolumnchooserdialog.o: egg/eggcolumnchooserdialog.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnchooserdialog.o -MD -MP -MF "$(DEPDIR)/eggcolumnchooserdialog.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnchooserdialog.o `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo" "$(DEPDIR)/eggcolumnchooserdialog.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnchooserdialog.c' object='eggcolumnchooserdialog.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnchooserdialog.Po' tmpdepfile='$(DEPDIR)/eggcolumnchooserdialog.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnchooserdialog.o `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c - -eggcolumnchooserdialog.obj: egg/eggcolumnchooserdialog.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnchooserdialog.obj -MD -MP -MF "$(DEPDIR)/eggcolumnchooserdialog.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnchooserdialog.obj `if test -f 'egg/eggcolumnchooserdialog.c'; then $(CYGPATH_W) 'egg/eggcolumnchooserdialog.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnchooserdialog.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo" "$(DEPDIR)/eggcolumnchooserdialog.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnchooserdialog.c' object='eggcolumnchooserdialog.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnchooserdialog.Po' tmpdepfile='$(DEPDIR)/eggcolumnchooserdialog.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnchooserdialog.obj `if test -f 'egg/eggcolumnchooserdialog.c'; then $(CYGPATH_W) 'egg/eggcolumnchooserdialog.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnchooserdialog.c'; fi` +playlist3-tag2-browser.o: browsers/playlist3-tag2-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-tag2-browser.o -MD -MP -MF $(DEPDIR)/playlist3-tag2-browser.Tpo -c -o playlist3-tag2-browser.o `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-tag2-browser.Tpo $(DEPDIR)/playlist3-tag2-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-tag2-browser.c' object='playlist3-tag2-browser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-tag2-browser.o `test -f 'browsers/playlist3-tag2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-tag2-browser.c -eggcolumnchooserdialog.lo: egg/eggcolumnchooserdialog.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnchooserdialog.lo -MD -MP -MF "$(DEPDIR)/eggcolumnchooserdialog.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnchooserdialog.lo `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo" "$(DEPDIR)/eggcolumnchooserdialog.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnchooserdialog.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnchooserdialog.c' object='eggcolumnchooserdialog.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnchooserdialog.Plo' tmpdepfile='$(DEPDIR)/eggcolumnchooserdialog.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnchooserdialog.lo `test -f 'egg/eggcolumnchooserdialog.c' || echo '$(srcdir)/'`egg/eggcolumnchooserdialog.c +playlist3-tag2-browser.obj: browsers/playlist3-tag2-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-tag2-browser.obj -MD -MP -MF $(DEPDIR)/playlist3-tag2-browser.Tpo -c -o playlist3-tag2-browser.obj `if test -f 'browsers/playlist3-tag2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-tag2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-tag2-browser.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-tag2-browser.Tpo $(DEPDIR)/playlist3-tag2-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-tag2-browser.c' object='playlist3-tag2-browser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-tag2-browser.obj `if test -f 'browsers/playlist3-tag2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-tag2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-tag2-browser.c'; fi` -eggcolumnmodel.o: egg/eggcolumnmodel.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnmodel.o -MD -MP -MF "$(DEPDIR)/eggcolumnmodel.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnmodel.o `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnmodel.Tpo" "$(DEPDIR)/eggcolumnmodel.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnmodel.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnmodel.c' object='eggcolumnmodel.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnmodel.Po' tmpdepfile='$(DEPDIR)/eggcolumnmodel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnmodel.o `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c +playlist3-file-browser.o: browsers/playlist3-file-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-file-browser.o -MD -MP -MF $(DEPDIR)/playlist3-file-browser.Tpo -c -o playlist3-file-browser.o `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-file-browser.Tpo $(DEPDIR)/playlist3-file-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-file-browser.c' object='playlist3-file-browser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-file-browser.o `test -f 'browsers/playlist3-file-browser.c' || echo '$(srcdir)/'`browsers/playlist3-file-browser.c -eggcolumnmodel.obj: egg/eggcolumnmodel.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnmodel.obj -MD -MP -MF "$(DEPDIR)/eggcolumnmodel.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnmodel.obj `if test -f 'egg/eggcolumnmodel.c'; then $(CYGPATH_W) 'egg/eggcolumnmodel.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnmodel.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnmodel.Tpo" "$(DEPDIR)/eggcolumnmodel.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnmodel.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnmodel.c' object='eggcolumnmodel.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnmodel.Po' tmpdepfile='$(DEPDIR)/eggcolumnmodel.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnmodel.obj `if test -f 'egg/eggcolumnmodel.c'; then $(CYGPATH_W) 'egg/eggcolumnmodel.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggcolumnmodel.c'; fi` +playlist3-file-browser.obj: browsers/playlist3-file-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-file-browser.obj -MD -MP -MF $(DEPDIR)/playlist3-file-browser.Tpo -c -o playlist3-file-browser.obj `if test -f 'browsers/playlist3-file-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-file-browser.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-file-browser.Tpo $(DEPDIR)/playlist3-file-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-file-browser.c' object='playlist3-file-browser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-file-browser.obj `if test -f 'browsers/playlist3-file-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-file-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-file-browser.c'; fi` -eggcolumnmodel.lo: egg/eggcolumnmodel.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggcolumnmodel.lo -MD -MP -MF "$(DEPDIR)/eggcolumnmodel.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggcolumnmodel.lo `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggcolumnmodel.Tpo" "$(DEPDIR)/eggcolumnmodel.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggcolumnmodel.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggcolumnmodel.c' object='eggcolumnmodel.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggcolumnmodel.Plo' tmpdepfile='$(DEPDIR)/eggcolumnmodel.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggcolumnmodel.lo `test -f 'egg/eggcolumnmodel.c' || echo '$(srcdir)/'`egg/eggcolumnmodel.c - -qasyncqueue.o: qlib/qasyncqueue.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT qasyncqueue.o -MD -MP -MF "$(DEPDIR)/qasyncqueue.Tpo" \ -@am__fastdepCC_TRUE@ -c -o qasyncqueue.o `test -f 'qlib/qasyncqueue.c' || echo '$(srcdir)/'`qlib/qasyncqueue.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/qasyncqueue.Tpo" "$(DEPDIR)/qasyncqueue.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/qasyncqueue.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='qlib/qasyncqueue.c' object='qasyncqueue.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/qasyncqueue.Po' tmpdepfile='$(DEPDIR)/qasyncqueue.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o qasyncqueue.o `test -f 'qlib/qasyncqueue.c' || echo '$(srcdir)/'`qlib/qasyncqueue.c - -qasyncqueue.obj: qlib/qasyncqueue.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT qasyncqueue.obj -MD -MP -MF "$(DEPDIR)/qasyncqueue.Tpo" \ -@am__fastdepCC_TRUE@ -c -o qasyncqueue.obj `if test -f 'qlib/qasyncqueue.c'; then $(CYGPATH_W) 'qlib/qasyncqueue.c'; else $(CYGPATH_W) '$(srcdir)/qlib/qasyncqueue.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/qasyncqueue.Tpo" "$(DEPDIR)/qasyncqueue.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/qasyncqueue.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='qlib/qasyncqueue.c' object='qasyncqueue.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/qasyncqueue.Po' tmpdepfile='$(DEPDIR)/qasyncqueue.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o qasyncqueue.obj `if test -f 'qlib/qasyncqueue.c'; then $(CYGPATH_W) 'qlib/qasyncqueue.c'; else $(CYGPATH_W) '$(srcdir)/qlib/qasyncqueue.c'; fi` - -qasyncqueue.lo: qlib/qasyncqueue.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT qasyncqueue.lo -MD -MP -MF "$(DEPDIR)/qasyncqueue.Tpo" \ -@am__fastdepCC_TRUE@ -c -o qasyncqueue.lo `test -f 'qlib/qasyncqueue.c' || echo '$(srcdir)/'`qlib/qasyncqueue.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/qasyncqueue.Tpo" "$(DEPDIR)/qasyncqueue.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/qasyncqueue.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='qlib/qasyncqueue.c' object='qasyncqueue.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/qasyncqueue.Plo' tmpdepfile='$(DEPDIR)/qasyncqueue.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o qasyncqueue.lo `test -f 'qlib/qasyncqueue.c' || echo '$(srcdir)/'`qlib/qasyncqueue.c +playlist3-current-playlist-browser.o: browsers/playlist3-current-playlist-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-current-playlist-browser.o -MD -MP -MF $(DEPDIR)/playlist3-current-playlist-browser.Tpo -c -o playlist3-current-playlist-browser.o `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-current-playlist-browser.Tpo $(DEPDIR)/playlist3-current-playlist-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-current-playlist-browser.c' object='playlist3-current-playlist-browser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-current-playlist-browser.o `test -f 'browsers/playlist3-current-playlist-browser.c' || echo '$(srcdir)/'`browsers/playlist3-current-playlist-browser.c -bacon-message-connection.o: bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.o -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.o `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bacon/bacon-message-connection.c' object='bacon-message-connection.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Po' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.o `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c +playlist3-current-playlist-browser.obj: browsers/playlist3-current-playlist-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-current-playlist-browser.obj -MD -MP -MF $(DEPDIR)/playlist3-current-playlist-browser.Tpo -c -o playlist3-current-playlist-browser.obj `if test -f 'browsers/playlist3-current-playlist-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-current-playlist-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-current-playlist-browser.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-current-playlist-browser.Tpo $(DEPDIR)/playlist3-current-playlist-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-current-playlist-browser.c' object='playlist3-current-playlist-browser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-current-playlist-browser.obj `if test -f 'browsers/playlist3-current-playlist-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-current-playlist-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-current-playlist-browser.c'; fi` -bacon-message-connection.obj: bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.obj -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.obj `if test -f 'bacon/bacon-message-connection.c'; then $(CYGPATH_W) 'bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/bacon/bacon-message-connection.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bacon/bacon-message-connection.c' object='bacon-message-connection.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Po' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.obj `if test -f 'bacon/bacon-message-connection.c'; then $(CYGPATH_W) 'bacon/bacon-message-connection.c'; else $(CYGPATH_W) '$(srcdir)/bacon/bacon-message-connection.c'; fi` +playlist3-find2-browser.o: browsers/playlist3-find2-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-find2-browser.o -MD -MP -MF $(DEPDIR)/playlist3-find2-browser.Tpo -c -o playlist3-find2-browser.o `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-find2-browser.Tpo $(DEPDIR)/playlist3-find2-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-find2-browser.c' object='playlist3-find2-browser.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-find2-browser.o `test -f 'browsers/playlist3-find2-browser.c' || echo '$(srcdir)/'`browsers/playlist3-find2-browser.c -bacon-message-connection.lo: bacon/bacon-message-connection.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT bacon-message-connection.lo -MD -MP -MF "$(DEPDIR)/bacon-message-connection.Tpo" \ -@am__fastdepCC_TRUE@ -c -o bacon-message-connection.lo `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bacon-message-connection.Tpo" "$(DEPDIR)/bacon-message-connection.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/bacon-message-connection.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='bacon/bacon-message-connection.c' object='bacon-message-connection.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/bacon-message-connection.Plo' tmpdepfile='$(DEPDIR)/bacon-message-connection.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bacon-message-connection.lo `test -f 'bacon/bacon-message-connection.c' || echo '$(srcdir)/'`bacon/bacon-message-connection.c +playlist3-find2-browser.obj: browsers/playlist3-find2-browser.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-find2-browser.obj -MD -MP -MF $(DEPDIR)/playlist3-find2-browser.Tpo -c -o playlist3-find2-browser.obj `if test -f 'browsers/playlist3-find2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-find2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-find2-browser.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-find2-browser.Tpo $(DEPDIR)/playlist3-find2-browser.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-find2-browser.c' object='playlist3-find2-browser.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-find2-browser.obj `if test -f 'browsers/playlist3-find2-browser.c'; then $(CYGPATH_W) 'browsers/playlist3-find2-browser.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-find2-browser.c'; fi` server-information.o: browsers/server-information.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server-information.o -MD -MP -MF "$(DEPDIR)/server-information.Tpo" \ -@am__fastdepCC_TRUE@ -c -o server-information.o `test -f 'browsers/server-information.c' || echo '$(srcdir)/'`browsers/server-information.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/server-information.Tpo" "$(DEPDIR)/server-information.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/server-information.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server-information.o -MD -MP -MF $(DEPDIR)/server-information.Tpo -c -o server-information.o `test -f 'browsers/server-information.c' || echo '$(srcdir)/'`browsers/server-information.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/server-information.Tpo $(DEPDIR)/server-information.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/server-information.c' object='server-information.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/server-information.Po' tmpdepfile='$(DEPDIR)/server-information.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server-information.o `test -f 'browsers/server-information.c' || echo '$(srcdir)/'`browsers/server-information.c server-information.obj: browsers/server-information.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server-information.obj -MD -MP -MF "$(DEPDIR)/server-information.Tpo" \ -@am__fastdepCC_TRUE@ -c -o server-information.obj `if test -f 'browsers/server-information.c'; then $(CYGPATH_W) 'browsers/server-information.c'; else $(CYGPATH_W) '$(srcdir)/browsers/server-information.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/server-information.Tpo" "$(DEPDIR)/server-information.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/server-information.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server-information.obj -MD -MP -MF $(DEPDIR)/server-information.Tpo -c -o server-information.obj `if test -f 'browsers/server-information.c'; then $(CYGPATH_W) 'browsers/server-information.c'; else $(CYGPATH_W) '$(srcdir)/browsers/server-information.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/server-information.Tpo $(DEPDIR)/server-information.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/server-information.c' object='server-information.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/server-information.Po' tmpdepfile='$(DEPDIR)/server-information.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server-information.obj `if test -f 'browsers/server-information.c'; then $(CYGPATH_W) 'browsers/server-information.c'; else $(CYGPATH_W) '$(srcdir)/browsers/server-information.c'; fi` -server-information.lo: browsers/server-information.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT server-information.lo -MD -MP -MF "$(DEPDIR)/server-information.Tpo" \ -@am__fastdepCC_TRUE@ -c -o server-information.lo `test -f 'browsers/server-information.c' || echo '$(srcdir)/'`browsers/server-information.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/server-information.Tpo" "$(DEPDIR)/server-information.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/server-information.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/server-information.c' object='server-information.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/server-information.Plo' tmpdepfile='$(DEPDIR)/server-information.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o server-information.lo `test -f 'browsers/server-information.c' || echo '$(srcdir)/'`browsers/server-information.c - -eggtrayicon.o: egg/eggtrayicon.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggtrayicon.o -MD -MP -MF "$(DEPDIR)/eggtrayicon.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggtrayicon.o `test -f 'egg/eggtrayicon.c' || echo '$(srcdir)/'`egg/eggtrayicon.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggtrayicon.Tpo" "$(DEPDIR)/eggtrayicon.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggtrayicon.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggtrayicon.c' object='eggtrayicon.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggtrayicon.Po' tmpdepfile='$(DEPDIR)/eggtrayicon.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggtrayicon.o `test -f 'egg/eggtrayicon.c' || echo '$(srcdir)/'`egg/eggtrayicon.c - -eggtrayicon.obj: egg/eggtrayicon.c -@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggtrayicon.obj -MD -MP -MF "$(DEPDIR)/eggtrayicon.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggtrayicon.obj `if test -f 'egg/eggtrayicon.c'; then $(CYGPATH_W) 'egg/eggtrayicon.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggtrayicon.c'; fi`; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggtrayicon.Tpo" "$(DEPDIR)/eggtrayicon.Po"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggtrayicon.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggtrayicon.c' object='eggtrayicon.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggtrayicon.Po' tmpdepfile='$(DEPDIR)/eggtrayicon.TPo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggtrayicon.obj `if test -f 'egg/eggtrayicon.c'; then $(CYGPATH_W) 'egg/eggtrayicon.c'; else $(CYGPATH_W) '$(srcdir)/egg/eggtrayicon.c'; fi` - -eggtrayicon.lo: egg/eggtrayicon.c -@am__fastdepCC_TRUE@ if $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT eggtrayicon.lo -MD -MP -MF "$(DEPDIR)/eggtrayicon.Tpo" \ -@am__fastdepCC_TRUE@ -c -o eggtrayicon.lo `test -f 'egg/eggtrayicon.c' || echo '$(srcdir)/'`egg/eggtrayicon.c; \ -@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/eggtrayicon.Tpo" "$(DEPDIR)/eggtrayicon.Plo"; \ -@am__fastdepCC_TRUE@ else rm -f "$(DEPDIR)/eggtrayicon.Tpo"; exit 1; \ -@am__fastdepCC_TRUE@ fi -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='egg/eggtrayicon.c' object='eggtrayicon.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ depfile='$(DEPDIR)/eggtrayicon.Plo' tmpdepfile='$(DEPDIR)/eggtrayicon.TPlo' @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o eggtrayicon.lo `test -f 'egg/eggtrayicon.c' || echo '$(srcdir)/'`egg/eggtrayicon.c +playlist3-playlist-editor.o: browsers/playlist3-playlist-editor.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-playlist-editor.o -MD -MP -MF $(DEPDIR)/playlist3-playlist-editor.Tpo -c -o playlist3-playlist-editor.o `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-playlist-editor.Tpo $(DEPDIR)/playlist3-playlist-editor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-playlist-editor.c' object='playlist3-playlist-editor.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-playlist-editor.o `test -f 'browsers/playlist3-playlist-editor.c' || echo '$(srcdir)/'`browsers/playlist3-playlist-editor.c + +playlist3-playlist-editor.obj: browsers/playlist3-playlist-editor.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT playlist3-playlist-editor.obj -MD -MP -MF $(DEPDIR)/playlist3-playlist-editor.Tpo -c -o playlist3-playlist-editor.obj `if test -f 'browsers/playlist3-playlist-editor.c'; then $(CYGPATH_W) 'browsers/playlist3-playlist-editor.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-playlist-editor.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/playlist3-playlist-editor.Tpo $(DEPDIR)/playlist3-playlist-editor.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='browsers/playlist3-playlist-editor.c' object='playlist3-playlist-editor.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o playlist3-playlist-editor.obj `if test -f 'browsers/playlist3-playlist-editor.c'; then $(CYGPATH_W) 'browsers/playlist3-playlist-editor.c'; else $(CYGPATH_W) '$(srcdir)/browsers/playlist3-playlist-editor.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool -uninstall-info-am: -gmpcincludeHEADERS_INSTALL = $(INSTALL_HEADER) install-gmpcincludeHEADERS: $(gmpcinclude_HEADERS) @$(NORMAL_INSTALL) - $(mkinstalldirs) $(DESTDIR)$(gmpcincludedir) + test -z "$(gmpcincludedir)" || $(MKDIR_P) "$(DESTDIR)$(gmpcincludedir)" @list='$(gmpcinclude_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " $(gmpcincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(gmpcincludedir)/$$f"; \ - $(gmpcincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(gmpcincludedir)/$$f; \ + f=$(am__strip_dir) \ + echo " $(gmpcincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(gmpcincludedir)/$$f'"; \ + $(gmpcincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(gmpcincludedir)/$$f"; \ done uninstall-gmpcincludeHEADERS: @$(NORMAL_UNINSTALL) @list='$(gmpcinclude_HEADERS)'; for p in $$list; do \ - f="`echo $$p | sed -e 's|^.*/||'`"; \ - echo " rm -f $(DESTDIR)$(gmpcincludedir)/$$f"; \ - rm -f $(DESTDIR)$(gmpcincludedir)/$$f; \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(gmpcincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(gmpcincludedir)/$$f"; \ done - -# This directory's subdirectories are mostly independent; you can cd -# into them and run `make' without going through this Makefile. -# To change the values of `make' variables: instead of editing Makefiles, -# (1) if the variable is set in `config.status', edit `config.status' -# (which will cause the Makefiles to be regenerated when you run `make'); -# (2) otherwise, pass the desired values on the `make' command line. -$(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -mostlyclean-recursive clean-recursive distclean-recursive \ -maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ - dot_seen=no; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - rev=''; for subdir in $$list; do \ - if test "$$subdir" = "."; then :; else \ - rev="$$subdir $$rev"; \ - fi; \ - done; \ - rev="$$rev ."; \ - target=`echo $@ | sed s/-recursive//`; \ - for subdir in $$rev; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ - done && test -z "$$fail" -tags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ - done -ctags-recursive: - list='$(SUBDIRS)'; for subdir in $$list; do \ - test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ +install-nodist_gmpcincludeHEADERS: $(nodist_gmpcinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(gmpcincludedir)" || $(MKDIR_P) "$(DESTDIR)$(gmpcincludedir)" + @list='$(nodist_gmpcinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(nodist_gmpcincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(gmpcincludedir)/$$f'"; \ + $(nodist_gmpcincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(gmpcincludedir)/$$f"; \ done -ETAGS = etags -ETAGSFLAGS = - -CTAGS = ctags -CTAGSFLAGS = - -tags: TAGS +uninstall-nodist_gmpcincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(nodist_gmpcinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(gmpcincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(gmpcincludedir)/$$f"; \ + done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique +tags: TAGS -TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ - if (etags --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - else \ - include_option=--include; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -f $$subdir/TAGS && \ - tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ - test -z "$(ETAGS_ARGS)$$tags$$unique" \ - || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$tags $$unique - + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ - here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) ' { files[$$0] = 1; } \ - END { for (i in files) print i; }'`; \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique @@ -1368,29 +1203,23 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) - -top_distdir = .. -distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) - $(mkinstalldirs) $(distdir)/bacon $(distdir)/browsers $(distdir)/egg $(distdir)/qlib $(distdir)/vala - @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ - list='$(DISTFILES)'; for file in $$list; do \ - case $$file in \ - $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ - $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ - esac; \ + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test "$$dir" != "$$file" && test "$$dir" != "."; then \ - dir="/$$dir"; \ - $(mkinstalldirs) "$(distdir)$$dir"; \ - else \ - dir=''; \ - fi; \ if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ @@ -1401,37 +1230,24 @@ || exit 1; \ fi; \ done - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test -d $(distdir)/$$subdir \ - || mkdir $(distdir)/$$subdir \ - || exit 1; \ - (cd $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" \ - distdir=../$(distdir)/$$subdir \ - distdir) \ - || exit 1; \ - fi; \ - done check-am: all-am check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(PROGRAMS) $(HEADERS) -installdirs: installdirs-recursive -installdirs-am: - $(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(gmpcincludedir) - + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(gmpcincludedir)" "$(DESTDIR)$(gmpcincludedir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -installcheck: installcheck-recursive +installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ @@ -1440,84 +1256,95 @@ mostlyclean-generic: clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - -rm -f $(CONFIG_CLEAN_FILES) + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-recursive +clean: clean-am -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am +clean-am: clean-binPROGRAMS clean-generic clean-libtool \ + clean-noinstLTLIBRARIES mostlyclean-am -distclean: distclean-recursive +distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ - distclean-libtool distclean-tags + distclean-tags -dvi: dvi-recursive +dvi: dvi-am dvi-am: -info: info-recursive +html: html-am + +info: info-am info-am: -install-data-am: install-gmpcincludeHEADERS +install-data-am: install-gmpcincludeHEADERS \ + install-nodist_gmpcincludeHEADERS + +install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS -install-info: install-info-recursive +install-html: install-html-am + +install-info: install-info-am install-man: +install-pdf: install-pdf-am + +install-ps: install-ps-am + installcheck-am: -maintainer-clean: maintainer-clean-recursive +maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic -mostlyclean: mostlyclean-recursive +mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool -pdf: pdf-recursive +pdf: pdf-am pdf-am: -ps: ps-recursive +ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-gmpcincludeHEADERS \ - uninstall-info-am + uninstall-nodist_gmpcincludeHEADERS -uninstall-info: uninstall-info-recursive +.MAKE: install-am install-strip -.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool clean-recursive \ - ctags ctags-recursive distclean distclean-compile \ - distclean-generic distclean-libtool distclean-recursive \ - distclean-tags distdir dvi dvi-am dvi-recursive info info-am \ - info-recursive install install-am install-binPROGRAMS \ - install-data install-data-am install-data-recursive \ - install-exec install-exec-am install-exec-recursive \ - install-gmpcincludeHEADERS install-info install-info-am \ - install-info-recursive install-man install-recursive \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am installdirs-recursive maintainer-clean \ - maintainer-clean-generic maintainer-clean-recursive mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - mostlyclean-recursive pdf pdf-am pdf-recursive ps ps-am \ - ps-recursive tags tags-recursive uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-gmpcincludeHEADERS \ - uninstall-info-am uninstall-info-recursive uninstall-recursive +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ + distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-gmpcincludeHEADERS \ + install-html install-html-am install-info install-info-am \ + install-man install-nodist_gmpcincludeHEADERS install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-gmpcincludeHEADERS \ + uninstall-nodist_gmpcincludeHEADERS -include Makefile.config @@ -1526,13 +1353,19 @@ .PHONY: revisiont.h revisiont.h: - @if test '$(REVISION)' != '$(CONF_VERSION)'; then\ + @if test "$(REVISION)" != "$(CONF_VERSION)"; then\ echo "Writing new Makefile.config file";\ echo "CONF_VERSION=$(REVISION)" > Makefile.config;\ + echo "static const char *revision = \"$(REVISION)""\"; " > revision.h;\ fi; -revision.h: - echo "static const char *revision = \"$(REVISION)""\"; " > revision.h +revision.h: + echo "static const char *revision = \"$(REVISION)""\"; " > revision.h; + +%.gob.stamp: %.gob + $(QUIET_GE) echo " GOB $< - $(top_builddir)/src/gob/" + @GOB2@ --always-private-header $< + @touch $(top_builddir)/src/$@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/metadata.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/metadata.c --- gmpc-0.18.0/src/metadata.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/metadata.c 2009-09-21 11:15:59.000000000 +0100 @@ -1,7 +1,7 @@ /* Gnome Music Player Client (GMPC) * Copyright (C) 2004-2009 Qball Cow * Project homepage: http://gmpc.wikia.com/ - + * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -15,1240 +15,1382 @@ * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ + */ #include #include #include -#include "qlib/qasyncqueue.h" #include "main.h" #include "metadata.h" +#include "metadata-cache.h" + +#include "gmpc_easy_download.h" -long unsigned num_queries = 0; -config_obj *cover_index= NULL; int meta_num_plugins=0; -GMutex *meta_plugins_lock = NULL; -gmpcPlugin **meta_plugins = NULL; +gmpcPluginParent **meta_plugins = NULL; static void meta_data_sort_plugins(void); -GThread *meta_thread = NULL; - -static MetaDataResult meta_data_get_from_cache(mpd_Song *song, MetaDataType type, char **path); -/** - * This is queue is used to send commands to the retrieval queue - */ -QAsyncQueue *meta_commands = NULL; +GList *process_queue = NULL; /** * This queue is used to send replies back. */ -QAsyncQueue *meta_results = NULL; +GQueue *meta_results = NULL; -GMutex *meta_processing = NULL; +/** + * Structure holding a metadata query */ typedef struct { + /* unique id for the query (unused)*/ guint id; - /* Data */ - mpd_Song *song; - mpd_Song *edited; - MetaDataType type; - /* Resuls */ - MetaDataResult result; - char *result_path; - /* Callback */ + /* The callback to call when the query is done, or NULL */ MetaDataCallback callback; + /* Callback user_data pointer*/ gpointer data; + /* The song the data is queries for */ + mpd_Song *song; + /* The song modified by the search system. + * This does albumartist, tag cleanup etc */ + mpd_Song *edited; + /* The type of metadata */ + MetaDataType type; + /* Result */ + MetaDataResult result; + /* The actual result data */ + MetaData *met; + /* The index of the plugin being queried */ + int index; + /* List with temporary result from plugin index */ + GList *list; + /* The current position in the list */ + GList *iter; } meta_thread_data; gboolean meta_compare_func(meta_thread_data *mt1, meta_thread_data *mt2); static gboolean meta_data_handle_results(void); -/* -static gboolean meta_data_handler_data_match(meta_thread_data *data, gpointer data2); -*/ -static mpd_Song *rewrite_mpd_song(mpd_Song *tsong, MetaDataType type) -{ - mpd_Song *edited = NULL; - /* If it is not a mpd got song */ - if(tsong->file == NULL ) - { - if(type&(META_ALBUM_ART|META_ALBUM_TXT) && tsong->artist && tsong->album) - { - MpdData *data2 = NULL; - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, tsong->artist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, tsong->album); - data2 = mpd_database_search_commit(connection); - if(data2) - { - edited = data2->song; - data2->song = NULL; - mpd_data_free(data2); - } - else if(tsong->albumartist) - { - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM_ARTIST, tsong->albumartist); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, tsong->album); - data2 = mpd_database_search_commit(connection); - if(data2) - { - edited = data2->song; - data2->song = NULL; - mpd_data_free(data2); - } - - - } - } - if(type&(META_ARTIST_ART|META_ARTIST_TXT) && tsong->artist) - { - MpdData *data2 = NULL; - mpd_database_search_start(connection, TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, tsong->artist); - data2 = mpd_database_search_commit(connection); - if(data2) - { - edited = data2->song; - data2->song = NULL; - mpd_data_free(data2); - } - } - } - if(!edited) - edited = mpd_songDup(tsong); - - /** - * Collections detection - * Only do this for album related queries. - */ - if(type&(META_ALBUM_ART|META_ALBUM_TXT)) - { - if(edited->albumartist) - { - if(edited->artist) - g_free(edited->artist); - edited->artist = g_strdup(edited->albumartist); - - } - else if(edited->album && edited->file) - { - int i=0; - MpdData *data2; - char *dir = g_path_get_dirname(edited->file); - mpd_database_search_start(connection,TRUE); - mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, edited->album); - - - data2 = mpd_database_search_commit(connection); - if(data2) - { - for(i=0;data2; data2 = mpd_data_get_next(data2)) - { - if(strncasecmp(data2->song->file, dir, strlen(dir))==0) - { - /* Check for NULL pointers */ - if(data2->song->artist && edited->artist) - { - if(strcmp(data2->song->artist, edited->artist)) - i++; - } - } - } - } - if(i >=3) - { - if(edited->artist) - g_free(edited->artist); - edited->artist = g_strdup("Various Artists"); - } - g_free(dir); - } - } - /** - * Artist renaming, Clapton, Eric -> Eric Clapton - */ - if(edited->artist && cfg_get_single_value_as_int_with_default(config, "metadata", "rename", FALSE)) - { - gchar **str = g_strsplit(edited->artist, ",", 2); - - if(str[0] && str[1]) { - g_free(edited->artist); - edited->artist = g_strdup_printf("%s %s", g_strstrip(str[1]), g_strstrip(str[0])); - } - g_strfreev(str); - debug_printf(DEBUG_INFO, "string converted to: '%s'", edited->artist); - } - - /** - * Sanitize album name and so (remove () ( - */ - if(cfg_get_single_value_as_int_with_default(config, "metadata", "sanitize", TRUE)) - { - if(edited->album) - { - int i,j=0,depth=0; - int length; - char *album = edited->album; - edited->album = g_malloc0((strlen(album)+1)*sizeof(char)); - length = strlen(album); - for(i=0;i< length;i++) - { - if(album[i] == '(') depth++; - else if (album[i] == ')')depth--; - else if (depth == 0) { - edited->album[j] = album[i]; - j++; - } - } - g_free(album); - /* Remove trailing and leading spaces */ - edited->album = g_strstrip(edited->album); - } - if(edited->title) - { - int i,j=0,depth=0; - char *title = edited->title; - int length; - edited->title = g_malloc0((strlen(title)+1)*sizeof(char)); - length = strlen(title); - for(i=0;i< length;i++) - { - if(title[i] == '(') depth++; - else if (title[i] == ')')depth--; - else if (depth == 0) { - edited->title[j] = title[i]; - j++; - } - } - g_free(title); - /* Remove trailing and leading spaces */ - edited->title = g_strstrip(edited->title); - } - - - } - return edited; -} - -static void meta_data_set_cache_real(mpd_Song *song, MetaDataType type, MetaDataResult result, char *path) -{ - if(!song) return; - /** - * Save the path for the album art - */ - if(type == META_ALBUM_ART) { - if(song->artist && song->album) { -// char *temp = g_strdup_printf("album:%s", song->album); - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,song->album,NULL, "image",path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,song->album,NULL, "image",""); - } -// q_free(temp); - } - } else if(type == META_ALBUM_TXT) { - if(song->artist && song->album) { -// char *temp = g_strdup_printf("albumtxt:%s", song->album); - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,song->album, NULL, "info",path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,song->album, NULL, "info",""); - } -// q_free(temp); - } - } else if (type == META_ARTIST_ART) { - if(song->artist) { - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,NULL, NULL, "image",path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,NULL, NULL, "image",""); - } - } - } else if (type == META_ARTIST_TXT) { - if(song->artist) { - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,NULL, NULL, "biography",path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,NULL, NULL, "biography",""); - } - } - } else if (type == META_ARTIST_SIMILAR) { - if(song->artist) { - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist, NULL, NULL,"similar_artist",path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,NULL, NULL, "similar_artist",""); - } - } - } else if (type == META_SONG_TXT) { - if(song->artist && song->title) { - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,"lyrics", NULL, song->title,path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist, "lyrics", NULL, song->title,""); - } - } - }else if (type == META_SONG_SIMILAR) { - if(song->artist && song->title) { - if(result == META_DATA_AVAILABLE) { - cfg_set_single_value_as_string_mm(cover_index, song->artist,"similar_song",NULL, song->title,path); - } else { - cfg_set_single_value_as_string_mm(cover_index, song->artist,"similar_song",NULL, song->title,""); - } - } - } +mpd_Song *rewrite_mpd_song(mpd_Song *tsong, MetaDataType type); -} -void meta_data_set_cache(mpd_Song *song, MetaDataType type, MetaDataResult result, char *path) -{ - mpd_Song *edited = rewrite_mpd_song(song, type); - meta_data_set_cache_real(edited, type, result, path); - if(edited->artist) - { - if(strcmp(edited->artist, "Various Artists")!=0) - meta_data_set_cache_real(song, type, result, path); - } - - mpd_freeSong(edited); -} - -/** - * Checking the cache - * !!NEEDS TO BE THREAD SAFE !! +/* + static gboolean meta_data_handler_data_match(meta_thread_data *data, gpointer data2); */ - - -static MetaDataResult meta_data_get_from_cache(mpd_Song *song, MetaDataType type, char **path) +mpd_Song *rewrite_mpd_song(mpd_Song *tsong, MetaDataType type) { - if(!song) - { - return META_DATA_UNAVAILABLE; - } - /* Get values acording to type */ - if(type == META_ALBUM_ART) + mpd_Song *edited = NULL; + /* If it is not a mpd got song */ + if(tsong->file == NULL ) { - //gchar *temp = NULL; - if(!song->artist || !song->album) - { - return META_DATA_UNAVAILABLE; - } -// temp = g_strdup_printf("album:%s", song->album); - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist,song->album, NULL, "image"); -// q_free(temp); - if(*path) + if(type&(META_ALBUM_ART|META_ALBUM_TXT) && tsong->artist && tsong->album) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + MpdData *data2 = NULL; + mpd_database_search_start(connection, TRUE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, tsong->artist); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, tsong->album); + data2 = mpd_database_search_commit(connection); + if(data2) { - q_free(*path); - - *path = NULL; - return META_DATA_UNAVAILABLE; + edited = data2->song; + data2->song = NULL; + mpd_data_free(data2); } - /* return that data is availible */ - if(!g_file_test(*path, G_FILE_TEST_EXISTS)) + else if(mpd_server_tag_supported(connection,MPD_TAG_ITEM_ALBUM_ARTIST) && tsong->albumartist) { -// temp = g_strdup_printf("album:%s", song->album); - cfg_del_single_value_mm(cover_index, song->artist,song->album, NULL, "image"); -// q_free(temp); - q_free(*path); - *path = NULL; - return META_DATA_FETCHING; - } - return META_DATA_AVAILABLE; - } + mpd_database_search_start(connection, TRUE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM_ARTIST, tsong->albumartist); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, tsong->album); + data2 = mpd_database_search_commit(connection); + if(data2) + { + edited = data2->song; + data2->song = NULL; + mpd_data_free(data2); + } - /* else default to fetching */ - } - /* Get values acording to type */ - else if(type == META_ARTIST_SIMILAR) - { - if(!song->artist) - { - return META_DATA_UNAVAILABLE; + + } } - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist,NULL, NULL, "similar_artist"); - if(*path) + if(type&(META_ARTIST_ART|META_ARTIST_TXT) && tsong->artist) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + MpdData *data2 = NULL; + mpd_database_search_start(connection, TRUE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ARTIST, tsong->artist); + data2 = mpd_database_search_commit(connection); + if(data2) { - q_free(*path); - - *path = NULL; - return META_DATA_UNAVAILABLE; + edited = data2->song; + data2->song = NULL; + mpd_data_free(data2); } - return META_DATA_AVAILABLE; } - - /* else default to fetching */ } + if(!edited) + edited = mpd_songDup(tsong); - else if(type == META_ALBUM_TXT) + /** + * Collections detection + * Only do this for album related queries. + */ + if(type&(META_ALBUM_ART|META_ALBUM_TXT)) { - //gchar *temp = NULL; - if(!song->artist || !song->album) + if(edited->albumartist) { - return META_DATA_UNAVAILABLE; + if(edited->artist) + g_free(edited->artist); + edited->artist = g_strdup(edited->albumartist); + } -// temp = g_strdup_printf("albumtxt:%s", song->album); - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist, song->album, NULL, "info"); -// q_free(temp); - if(*path) + else if(edited->album && edited->file) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + int i=0; + MpdData *data2; + char *dir = g_path_get_dirname(edited->file); + mpd_database_search_start(connection,TRUE); + mpd_database_search_add_constraint(connection, MPD_TAG_ITEM_ALBUM, edited->album); + + + data2 = mpd_database_search_commit(connection); + if(data2) { - q_free(*path); - *path = NULL; - return META_DATA_UNAVAILABLE; + for(i=0;data2; data2 = mpd_data_get_next(data2)) + { + if(strncasecmp(data2->song->file, dir, strlen(dir))==0) + { + /* Check for NULL pointers */ + if(data2->song->artist && edited->artist) + { + if(strcmp(data2->song->artist, edited->artist)) + i++; + } + } + } } - /* return that data is availible */ - if(!g_file_test(*path, G_FILE_TEST_EXISTS)) + if(i >=3) { -// temp = g_strdup_printf("albumtxt:%s", song->album); - cfg_del_single_value_mm(cover_index, song->artist,song->album, NULL, "info"); -// q_free(temp); - q_free(*path); - *path = NULL; - return META_DATA_FETCHING; + if(edited->artist) + g_free(edited->artist); + edited->artist = g_strdup("Various Artists"); } - /* return that data is availible */ - return META_DATA_AVAILABLE; + g_free(dir); } } - else if (type == META_ARTIST_ART) + /** + * Artist renaming, Clapton, Eric -> Eric Clapton + */ + if(edited->artist && cfg_get_single_value_as_int_with_default(config, "metadata", "rename", FALSE)) { - //gchar *temp = NULL; - if(!song->artist) + gchar **str = g_strsplit(edited->artist, ",", 2); + + if(str[0] && str[1]) { + g_free(edited->artist); + edited->artist = g_strdup_printf("%s %s", g_strstrip(str[1]), g_strstrip(str[0])); + } + g_strfreev(str); + debug_printf(DEBUG_INFO, "string converted to: '%s'", edited->artist); + } + + /** + * Sanitize album name and so (remove () ( + */ + if(cfg_get_single_value_as_int_with_default(config, "metadata", "sanitize", TRUE)) + { + if(edited->album) { - return META_DATA_UNAVAILABLE; + int i,j=0,depth=0; + int length; + char *album = edited->album; + edited->album = g_malloc0((strlen(album)+1)*sizeof(char)); + length = strlen(album); + for(i=0;i< length;i++) + { + if(album[i] == '(') depth++; + else if (album[i] == ')')depth--; + else if (depth == 0) { + edited->album[j] = album[i]; + j++; + } + } + g_free(album); + /* Remove trailing and leading spaces */ + edited->album = g_strstrip(edited->album); } - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist,NULL, NULL, "image"); - if(*path) + if(edited->title) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + int i,j=0,depth=0; + char *title = edited->title; + int length; + edited->title = g_malloc0((strlen(title)+1)*sizeof(char)); + length = strlen(title); + for(i=0;i< length;i++) { - q_free(*path); - *path = NULL; - return META_DATA_UNAVAILABLE; + if(title[i] == '(') depth++; + else if (title[i] == ')')depth--; + else if (depth == 0) { + edited->title[j] = title[i]; + j++; + } } - /* return that data is availible */ - if(!g_file_test(*path, G_FILE_TEST_EXISTS)) + g_free(title); + /* Remove trailing and leading spaces */ + edited->title = g_strstrip(edited->title); + } + + + } + return edited; +} + +/** + * Initialize + */ +void meta_data_init(void) +{ + g_assert(meta_results == NULL ); + + metadata_cache_init(); + + /** + * the result queue + */ + meta_results = g_queue_new(); + + /** + * Create the retrieval thread + */ +} + +void meta_data_add_plugin(gmpcPluginParent *plug) +{ + g_assert(plug != NULL); + + meta_num_plugins++; + meta_plugins = g_realloc(meta_plugins,(meta_num_plugins+1)*sizeof(gmpcPluginParent **)); + meta_plugins[meta_num_plugins-1] = plug; + meta_plugins[meta_num_plugins] = NULL; + meta_data_sort_plugins(); +} + +static void meta_data_sort_plugins(void) +{ + int i; + int changed = FALSE; + do{ + changed=0; + for(i=0; i< (meta_num_plugins-1);i++) + { + if(gmpc_plugin_metadata_get_priority(meta_plugins[i]) > gmpc_plugin_metadata_get_priority(meta_plugins[i+1])) { - cfg_del_single_value_mm(cover_index, song->artist,NULL, NULL,"image"); - q_free(*path); - *path = NULL; - return META_DATA_FETCHING; + gmpcPluginParent *temp = meta_plugins[i]; + changed=1; + meta_plugins[i] = meta_plugins[i+1]; + meta_plugins[i+1] = temp; } - /* return that data is availible */ - return META_DATA_AVAILABLE; } + }while(changed); +} + +static gboolean meta_data_check_plugin_changed_message(gpointer data) +{ + playlist3_show_error_message(_("A new metadata plugin was added, gmpc has purged all failed hits from the cache"), ERROR_INFO); + return FALSE; +} +void meta_data_check_plugin_changed(void) +{ + int old_amount= cfg_get_single_value_as_int_with_default(config, "metadata", "num_plugins", 0); + if(old_amount < meta_num_plugins) + { + gtk_init_add(meta_data_check_plugin_changed_message, NULL); + metadata_cache_cleanup(); } - else if (type == META_ARTIST_TXT) + if(old_amount != meta_num_plugins) { - //gchar *temp = NULL; + cfg_set_single_value_as_int(config, "metadata", "num_plugins", meta_num_plugins); + } +} +/** + * TODO: Can we guarantee that all the downloads are stopped? + */ +void meta_data_destroy(void) +{ + meta_thread_data *mtd = NULL; + INIT_TIC_TAC(); + + if(process_queue) { + GList *iter; + /* Iterate through the list and destroy all entries */ + for(iter = g_list_first(process_queue); iter; iter = iter->next) + { + mtd = iter->data; + + /* Free any possible plugin results */ + g_list_foreach(mtd->list, (GFunc)meta_data_free, NULL); + g_list_free(mtd->list); + mtd->list = mtd->iter = NULL; + /* Destroy the result */ + if(mtd->met) + meta_data_free(mtd->met); + /* destroy the copied and modified song */ + if(mtd->song) + mpd_freeSong(mtd->song); + if(mtd->edited) + mpd_freeSong(mtd->edited); + + /* Free the Request struct */ + g_free(mtd); + } + g_list_free(process_queue); + process_queue = NULL; + } + + debug_printf(DEBUG_INFO,"Done.."); + /* Close the cover database */ + TOC("test") + metadata_cache_destroy(); + TOC("Config saved") +} +gboolean meta_compare_func(meta_thread_data *mt1, meta_thread_data *mt2) +{ + if((mt1->type&META_QUERY_DATA_TYPES) != (mt2->type&META_QUERY_DATA_TYPES)) + return TRUE; + if(!gmpc_meta_watcher_match_data(mt1->type&META_QUERY_DATA_TYPES, mt1->song, mt2->song)) + { + return TRUE; + } + return FALSE; +} + +/** + * new things * + */ +static int counter = 0; +static gboolean process_itterate(void); +/** + * This function actually propagets the result. + * It is called (during idle time) when a request is done. + * The queue might hold one or more items + */ - if(!song->artist) +static gboolean meta_data_handle_results(void) +{ + meta_thread_data *data = NULL; + /** + * Check if there are results to handle + * do this until the list is clear + */ + while((data = g_queue_pop_tail(meta_results))) + { + /* Signal the result to the gmpc-meta-watcher object, any listening client is interrested in the result. */ + gmpc_meta_watcher_data_changed(gmw,data->song, (data->type)&META_QUERY_DATA_TYPES, data->result,data->met); + /* If a specific callback is set, call that */ + if(data->callback) { - return META_DATA_UNAVAILABLE; + data->callback(data->song,data->result,data->met, data->data); } - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist, NULL, NULL, "biography"); - if(*path) + /** + * Start cleaning up the meta_thead_data + */ + /* Free any possible plugin results */ + if(data->list){ + g_list_foreach(data->list, (GFunc)meta_data_free, NULL); + g_list_free(data->list); + } + /* Free the result data */ + if(data->met) + meta_data_free(data->met); + /* Free the copie and edited version of the songs */ + if(data->song) + mpd_freeSong(data->song); + if(data->edited) + mpd_freeSong(data->edited); + + /* Free the Request struct */ + g_free(data); + } + /* Make the idle handler stop */ + return FALSE; +} + +/** + * This function handles it when data needs to be downloaded (in the cache) for now that are images. + */ +/* TODO REMOVE */ +static void metadata_download_handler(const GEADAsyncHandler *handle, GEADStatus status, gpointer user_data) +{ + meta_thread_data *d = user_data; + + if(status == GEAD_PROGRESS) { + /* If we are still downloading, do nothing */ + return; + } + counter --; + if(status == GEAD_DONE) + { + /* If success, start processing result */ + /* Get filename where we need to store the result. */ + gchar *filename = gmpc_get_metadata_filename(d->type&(~META_QUERY_NO_CACHE), d->edited, NULL); + goffset length; + /* Get the data we downloaded */ + const gchar *data = gmpc_easy_handler_get_data(handle, &length); + GError *error = NULL; + /* Try to store the data in the file */ + if(length > 0) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + g_file_set_contents(filename, data, length, &error); + if(error == NULL) { - q_free(*path); - *path = NULL; - return META_DATA_UNAVAILABLE; + MetaData *md = d->iter->data; + /* Set result successs */ + d->result = META_DATA_AVAILABLE; + /* If success create a MetaData object */ + /* Create Metadata */ + d->met = meta_data_new(); + d->met->type = md->type; + d->met->plugin_name = md->plugin_name; + d->met->content_type = META_DATA_CONTENT_URI; + d->met->content = filename; + d->met->size = -1; + /* Convert ownership of string to d->met */ + filename = NULL; + /* Free any remaining results */ + g_list_foreach(d->list,(GFunc) meta_data_free, NULL); + g_list_free(d->list); + /* Set to NULL */ + d->list = NULL; + d->iter = NULL; + /* by setting index to the last, the process_itterate knows it should not look further */ + d->index = meta_num_plugins; + /* Iterate the */ + + g_idle_add((GSourceFunc)process_itterate, NULL); + //process_itterate(); + /* we trown it back, quit */ + return; } - /* return that data is availible */ - if(!g_file_test(*path, G_FILE_TEST_EXISTS)) + } + + if(error){ + /* Ok we failed to store it, now we cleanup, and try the next entry. */ + debug_printf(DEBUG_ERROR, "Failed to store file: %s: '%s'", filename, error->message); + g_error_free(error); error = NULL; + } + else + debug_printf(DEBUG_ERROR, "Failed to store file: %s: '%li'", gmpc_easy_handler_get_uri(handle),length); + /* If we fail, clean up and try next one */ + g_free(filename); + } + /** + * It seems we somehow _failed_ to get data, lets try the next result + */ + if(d->iter) + { + /* If there is a result entry, advanced it to the next entry.*/ + d->iter = g_list_next(d->iter); + if(d->iter){ + /* Get the MetaData belonging to this result */ + MetaData *md = (MetaData *)d->iter->data; + /* If it is an uri, we probly want to make a local copy of it. */ + if(meta_data_is_uri(md)) + { + const char *path = meta_data_get_uri(md);// d->iter->data; + if(path && path[0] == '/') { + /* if it is allready a local copy, store that */ + /* set the result as final result */ + d->met = md; + /* Remove it from the result list, so it does not get deleted twice */ + d->iter->data= NULL; + /* set result available */ + d->result = META_DATA_AVAILABLE; + }else if(path) { + /* Setup a new async downloader */ + + GEADAsyncHandler *new_handle = gmpc_easy_async_downloader((const gchar *)path, + metadata_download_handler, d); + /* If it is a remote one, download it */ + if(new_handle != NULL) + { + /* if it is a success nothing left todo until the result comes in */ + counter++; + return; + } + } + }else { + /* if it is not something we need to download, se the result as the final result */ + d->result = META_DATA_AVAILABLE; + d->met = md; + /* remove result from list */ + d->iter->data= NULL; + } + + } + } + /* There are no more items to query, or we have a hit. + * Cleanup the results by this plugin and advanced to the next + */ + if(d->list){ + g_list_foreach(d->list,(GFunc) meta_data_free, NULL); + g_list_free(d->list); + } + d->list = NULL; + d->iter = NULL; + /* if we have a result, skip the rest of the plugins */ + if(d->result == META_DATA_AVAILABLE) + d->index = meta_num_plugins; + else + d->index++; + /* itterate the next step */ + g_idle_add((GSourceFunc)process_itterate, NULL); + //process_itterate(); +} +/** + * this function handles the result from the plugins + */ +static void result_itterate(GList *list, gpointer user_data) +{ + MetaData *md=NULL; + meta_thread_data *d = (meta_thread_data *)user_data; + + /** + * This plugin didn't have a result + * Skip to next plugin, + * retry. + **/ + if(list == NULL){ + d->index++; + /* retry */ + + g_idle_add((GSourceFunc)process_itterate, NULL); + //process_itterate(); + return; + } + + /** + * Plugin has a result, try the downloading the first, if that fails + */ + d->list = list; + /* Set the first one as the current one */ + d->iter = g_list_first(list); + + /* Get the result of the first query */ + md = d->iter->data; + /* if the first is an uri, make a local cache copy */ + if(meta_data_is_uri(md)) + { + const char *path = meta_data_get_uri(md); + if(path && path[0] == '/') { + /* if it is a local copy, just set the result as final result */ + d->result = META_DATA_AVAILABLE; + d->met = md; + d->iter->data= NULL; + }else if (path){ + /* if it is a remote uri, download it */ + + GEADAsyncHandler *handle = gmpc_easy_async_downloader(path, metadata_download_handler, d); + if(handle != NULL) { - cfg_del_single_value_mm(cover_index, song->artist, NULL, NULL,"biography"); - q_free(*path); - *path = NULL; - return META_DATA_FETCHING; + /* if download is a success wait for result */ + counter++; + return; } - /* return that data is availible */ - return META_DATA_AVAILABLE; } + }else { + /* if it is not something to download, set the result as final */ + d->result = META_DATA_AVAILABLE; + d->met = md; + d->iter->data= NULL; + } + /* Free the remaining results. */ + if(d->list) + { + g_list_foreach(d->list, (GFunc)meta_data_free, NULL); + g_list_free(d->list); } - else if(type == META_SONG_TXT) + d->list = NULL; + d->iter = NULL; + + /** + * If still no result, try next plugin + */ + if(d->result != META_DATA_AVAILABLE) + { + d->index++; + } + /** + * If we have a result. + * Make it not check other plugins + */ + else + d->index = meta_num_plugins; + /* Continue processing */ + + g_idle_add((GSourceFunc)process_itterate,NULL); + //process_itterate(); +} +/** + * This functions processes the requests, one by one + */ +static gboolean process_itterate(void) +{ + int length1; + + meta_thread_data *d = NULL; + /* If queue is empty, do nothing */ + if(process_queue == NULL){ + return FALSE; + } + + + /** + * Get the first entry in the queue (this is the active one, or will be the active request + */ + d = process_queue->data; + /** + * Check if there are still plugins left to process + */ + if(d->index < meta_num_plugins) { - //gchar *temp = NULL; - if(!song->artist || !song->title) + /** + * Before checking all the plugins, query cache + * Except when user asks to bypass cache + */ + if(d->index == 0) { - return META_DATA_UNAVAILABLE; + /* if the user requested a bypass of the cache, don't query it */ + if(d->type&META_QUERY_NO_CACHE) + { + d->result = META_DATA_FETCHING; + } else { + MetaData *met = NULL; + d->result = meta_data_get_from_cache(d->edited,d->type&META_QUERY_DATA_TYPES, &met); + if(d->result != META_DATA_FETCHING){ + /* Copy the result to the final result */ + d->met = met; + met = NULL; + } + if(met)meta_data_free(met); + } } - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist,"lyrics",NULL, song->title); - if(*path) + /** + * If cache has no reesult, query plugin + * Only query when the cache returns + */ + if(d->result == META_DATA_FETCHING) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) + /* Get the current plugin to query */ + gmpcPluginParent *plug = meta_plugins[d->index]; + /** + * Query plugins + */ + if(gmpc_plugin_get_enabled(plug)) { - q_free(*path); - *path = NULL; - return META_DATA_UNAVAILABLE; + gmpc_plugin_metadata_query_metadata_list(plug, + d->edited, + d->type&META_QUERY_DATA_TYPES, + result_itterate, + (gpointer)d); + return FALSE; } - /* return that data is availible */ - if(!g_file_test(*path, G_FILE_TEST_EXISTS)) + else { - cfg_del_single_value_mm(cover_index, song->artist,"lyrics", NULL, song->title); - q_free(*path); - *path = NULL; - return META_DATA_FETCHING; + /* advance to the next plugin */ + d->index++; + /* do the next itteration */ + //process_itterate(); + return TRUE; } - /* return that data is availible */ - return META_DATA_AVAILABLE; - } + return FALSE; + } } - else if(type == META_SONG_SIMILAR) + /** + * If nothing found, set unavailable + */ + if(d->result == META_DATA_FETCHING ) { + d->result = META_DATA_UNAVAILABLE; + } + /* Create empty metadata object */ + if(d->met == NULL) { - //char *temp; - if(!song->artist && song->title) - { - return META_DATA_UNAVAILABLE; - } - - *path = cfg_get_single_value_as_string_mm(cover_index,song->artist,"similar_song", NULL, song->title); - if(*path) + d->met = meta_data_new(); + d->met->type = (d->type&META_QUERY_DATA_TYPES); + d->met->content_type = META_DATA_CONTENT_EMPTY; + d->met->content = NULL; d->met->size = -1; + } + /** + * Store result (or lack off) + **/ + meta_data_set_cache_real(d->edited, d->result, d->met); + if(d->edited->artist) + { + if(strcmp(d->edited->artist, "Various Artists")!=0) + meta_data_set_cache_real(d->song, /*d->type&META_QUERY_DATA_TYPES,*/ d->result, d->met); + } + /** + * Remove from queue + */ + length1 = g_list_length(process_queue); + /* Remove top */ + process_queue = g_list_delete_link(process_queue, process_queue); + if(process_queue){ + GList *iter = g_list_first(process_queue); + for(;iter;iter = g_list_next(iter)) { - /* if path length is NULL, then data unavailible */ - if(strlen(*path) == 0) - { - q_free(*path); + meta_thread_data *d2 = iter->data; + if(!meta_compare_func(d,d2)){ + /* Remove from intput list */ + iter = process_queue = g_list_delete_link(process_queue, iter); + if(d2->callback) + { + /* If old fasion query, copy result and push to result-handling */ + d2->result = d->result; + d2->met = meta_data_dup(d->met); + /* put result back */ + g_queue_push_tail(meta_results, d2); + }else{ + /* if there is no old-type callback, We can remove it completely */ + /* Free result */ + if(d2->met) + meta_data_free(d2->met); + /* free stored song copies */ + if(d2->edited) + mpd_freeSong(d2->edited); + if(d2->song) + mpd_freeSong(d2->song); - *path = NULL; - return META_DATA_UNAVAILABLE; + q_free(d2); + } } - return META_DATA_AVAILABLE; + } - /* else default to fetching */ } - return META_DATA_FETCHING; + /** + * push on handle result + */ + g_queue_push_tail(meta_results, d); + /** + * Call resuult handler + */ + g_idle_add((GSourceFunc)meta_data_handle_results,NULL); + + /** + * Next in queue + */ + + if(process_queue){ + /* Make it be called again, if there are still items in the queue*/ + return TRUE; + } + // g_idle_add((GSourceFunc)process_itterate, __FUNCTION__); + //process_itterate(); + return FALSE; } -static void meta_data_retrieve_thread(void) +/** + * Function called by the "client" + */ +MetaDataResult meta_data_get_path(mpd_Song *tsong, MetaDataType type, MetaData **met,MetaDataCallback callback, gpointer data) { - meta_thread_data *data = NULL; + static int test_id = 0; + MetaDataResult ret; + meta_thread_data *mtd = NULL; + mpd_Song *song =NULL; + /* TODO: Validate request */ + + g_assert(met != NULL); + g_assert(*met == NULL); /** - * A continues loop, waiting for new commands to arrive + * If there is no song + * return there is not metadata available; */ - do{ - /** - * Get command from queue - */ - - data = q_async_queue_pop(meta_commands); - debug_printf(DEBUG_INFO, "Got a request with id: %i, this is a request of type: %i",data->id, data->type); - /* check if quit signal */ - if(data->id == 0) - { - debug_printf(DEBUG_INFO, "Quit command recieved.. quitting"); - return; - } - g_mutex_lock(meta_processing); - /* - * Set default return values - * Just to be sure, init them. - */ - - data->result = META_DATA_UNAVAILABLE; - data->result_path = NULL; + if(tsong == NULL) + { + return META_DATA_UNAVAILABLE; + } - /* - * Check cache *again* - * because between the time this command was commited, and the time - * we start processing it, the result may allready been retrieved + if(type&META_QUERY_NO_CACHE) + { + /** + * If the users did request a bypass, + * Don't Check cache for result. + * But signal an update */ - if(data->type&META_QUERY_NO_CACHE) + gmpc_meta_watcher_data_changed(gmw,tsong, (type)&META_QUERY_DATA_TYPES,META_DATA_FETCHING, NULL); + if(callback) { - data->result = META_DATA_FETCHING; - } - else - { - data->result = meta_data_get_from_cache(data->edited/*song*/,data->type&META_QUERY_DATA_TYPES, &(data->result_path)); + callback(song,META_DATA_FETCHING,NULL,data); } + ret = META_DATA_FETCHING; + } + else + { + ret = meta_data_get_from_cache(tsong, type&META_QUERY_DATA_TYPES, met); /** - * Handle cache result. - * If the cache returns it doesn't have anything (that it needs fetching) - * Start fetching + * If the data is know. (and doesn't need fectching) + * call the callback and stop */ - if(data->result == META_DATA_FETCHING) + if(ret != META_DATA_FETCHING) { - char *path = NULL; - int i = 0; - /* - * Set default return values - * Need to be reset, because of cache fetch - */ - data->result = META_DATA_UNAVAILABLE; - data->result_path = NULL; - /* - * start fetching the results - */ - /** - * Loop through all the plugins until we don't have plugins anymore, or we have a result. - */ - for(i=0;i<(meta_num_plugins) && data->result != META_DATA_AVAILABLE;i++) - { - gmpcPlugin *plug = NULL; - /* This is locked when sorting, because entry might be invalid - * plug is always valid once obtained - */ - if(!meta_plugins_lock){ - meta_plugins_lock = g_mutex_new(); - } - g_mutex_lock(meta_plugins_lock); - plug = meta_plugins[i]; - g_mutex_unlock(meta_plugins_lock); - /* * - * Get image function is only allowed to return META_DATA_AVAILABLE or META_DATA_UNAVAILABLE - */ - if(gmpc_plugin_get_enabled(plug)) - { - debug_printf(DEBUG_INFO, "Query plugin: '%s'", plug->name); - data->result = gmpc_plugin_metadata_get_image(plug,data->edited, data->type&META_QUERY_DATA_TYPES, &path); - data->result_path = path; - } - } + return ret; } - /** - * update cache - */ - meta_data_set_cache_real(data->edited, data->type&META_QUERY_DATA_TYPES, data->result, data->result_path); - if(data->edited->artist) - { - if(strcmp(data->edited->artist, "Various Artists")!=0) - meta_data_set_cache_real(data->song, data->type&META_QUERY_DATA_TYPES, data->result, data->result_path); - } + if(*met) meta_data_free(*met); + *met = NULL; + } + mtd = g_malloc0(sizeof(*mtd)); + /** + * Get the 'edited' version we prefer to use when requesting metadata + */ + mtd->edited = rewrite_mpd_song(tsong, type); + + /** + * Query cache, but for changed artist name + */ + if((type&META_QUERY_NO_CACHE) == 0) + { + /* Query the cache for the edited version of the cache, if no bypass is requested */ + ret = meta_data_get_from_cache(mtd->edited, type&META_QUERY_DATA_TYPES, met); /** - * Push the result back - */ - q_async_queue_push(meta_results, data); - - - /** - * clear our reference to the object + * If the data is know. (and doesn't need fectching) + * call the callback and stop */ - data = NULL; - g_mutex_unlock(meta_processing); + if(ret != META_DATA_FETCHING) + { + /* store it under the original */ + meta_data_set_cache_real(tsong, ret,*met); + /* Cleanup what we had so far */ + mpd_freeSong(mtd->edited); + g_free(mtd); + /* Steal result */ + return ret; + } + /* If it is fetching free the result */ + if(*met) meta_data_free(*met); + *met = NULL; + } - g_idle_add((GSourceFunc)meta_data_handle_results,NULL); - }while(1); + + /** + * If no result, start a thread and start fetching the data from there + */ + + + /** + * unique id + * Not needed, but can be usefull for debugging + */ + mtd->id = ++test_id; + /* Create a copy of the original song */ + mtd->song = mpd_songDup(tsong); + /* Set the type */ + mtd->type = type; + /* the callback */ + mtd->callback = callback; + /* the callback data */ + mtd->data = data; + /* start at the first plugin */ + mtd->index = 0; + /* Set that we are fetching */ + mtd->result = META_DATA_FETCHING; + /* set result NULL */ + mtd->met = NULL; + + if(process_queue == NULL) { + /* If queue is empty, add it, and call the processing function. */ + process_queue = g_list_append(process_queue, mtd); + + g_idle_add((GSourceFunc)process_itterate, NULL); + //process_itterate(); + return META_DATA_FETCHING; + } + /* if queue not empy, append itand do nothing else */ + process_queue = g_list_append(process_queue, mtd); + + return META_DATA_FETCHING; } -static gboolean meta_data_handle_results(void) +static gchar * strip_invalid_chars(gchar *input) { - meta_thread_data *data = NULL; - int test = 0; - if(meta_thread == g_thread_self()) + int i = 0; + int length = 0; + g_assert(input != NULL); + length = strlen(input); + if(input == NULL) return NULL; + for(i=0;i': + case '|': + input[i] = ' '; + default: + break; + } } - /** - * Check if there are results to handle - * do this until the list is clear - */ - for(data = q_async_queue_try_pop(meta_results);data; - data = q_async_queue_try_pop(meta_results)) { + return input; +} +/** + * Helper function for storing metadata + */ +gchar * gmpc_get_metadata_filename(MetaDataType type, mpd_Song *song, char *ext) +{ + gchar *retv= NULL; + /* home dir */ + const gchar *homedir = g_get_home_dir(); + g_assert(song->artist != NULL); + g_assert(type < META_QUERY_DATA_TYPES); + { + GError *error = NULL; + gchar *filename = NULL, *dirname = NULL; + const gchar *extention= (type&(META_ALBUM_TXT|META_ARTIST_TXT|META_SONG_TXT|META_SONG_GUITAR_TAB))?"txt":((ext == NULL)?((type&(META_ALBUM_ART|META_ARTIST_ART))?"jpg":""):ext); + + /* Convert it so the filesystem likes it */ + /* TODO: Add error checking */ - gmpc_meta_watcher_data_changed(gmw,data->song, (data->type)&META_QUERY_DATA_TYPES, data->result,data->result_path); - if(data->callback) + dirname = g_filename_from_utf8(song->artist, -1, NULL, NULL, NULL); + /* + if (g_get_charset (&charset)) + { + debug_printf(DEBUG_INFO, "Locale is utf-8, just copying"); + dirname = g_strdup(song->artist); + }else{ + debug_printf(DEBUG_INFO, "Locale is %s converting to UTF-8", charset); + dirname = g_convert_with_fallback (song->artist, -1, + charset, "UTF-8","-", NULL, NULL, &error); + } + */ + if(dirname == NULL) { - data->callback(data->song,data->result,data->result_path, data->data); + const gchar *charset; + g_get_charset (&charset); + dirname = g_convert_with_fallback (song->artist, -1, + charset, "UTF-8",(char *)"-", NULL, NULL, &error); + } + //dirname = g_filename_from_utf8(song->artist,-1,NULL,NULL,&error); + if(error) { + debug_printf(DEBUG_ERROR, "Failed to convert %s to file encoding. '%s'", song->artist, error->message); + g_error_free(error); + if(dirname) g_free(dirname); + dirname = g_strdup("invalid"); + } + dirname = strip_invalid_chars(dirname); + retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,NULL); + if(g_file_test(retv, G_FILE_TEST_EXISTS) == FALSE) { + if(g_mkdir_with_parents(retv, 0755) < 0) { + g_error("Failed to create: %s\n", retv); + abort(); + } } + if(!g_file_test(retv, G_FILE_TEST_IS_DIR)) { + g_error("File exists but is not a directory: %s\n", retv); + abort(); + } + g_free(retv); + if(type&(META_ALBUM_ART|META_ALBUM_TXT)) { + gchar *temp ; + g_assert(song->album != NULL); + temp =g_filename_from_utf8(song->album,-1,NULL,NULL,NULL); + filename = g_strdup_printf("%s.%s", temp,extention); + g_free(temp); + }else if(type&META_ARTIST_ART){ + filename = g_strdup_printf("artist_IMAGE.%s", extention); + }else if (type&META_ARTIST_TXT){ + filename = g_strdup_printf("artist_BIOGRAPHY.%s", extention); + }else if (type&META_SONG_TXT) { + gchar *temp ; + g_assert(song->title != NULL); + temp =g_filename_from_utf8(song->title,-1,NULL,NULL,NULL); + filename = g_strdup_printf("%s_LYRIC.%s", temp,extention); + g_free(temp); + }else if (type&META_SONG_GUITAR_TAB) { + gchar *temp ; + g_assert(song->title != NULL); + temp =g_filename_from_utf8(song->title,-1,NULL,NULL,NULL); + filename = g_strdup_printf("%s_GUITAR_TAB.%s", temp,extention); + g_free(temp); + } + filename = strip_invalid_chars(filename); + retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,filename,NULL); + if(filename) g_free(filename); + if(dirname) g_free(dirname); + } + return retv; +} +static void metadata_pref_priority_changed(GtkCellRenderer *renderer, char *path, char *new_text, GtkListStore *store) +{ + GtkTreeIter iter; + if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, path)) + { + gmpcPluginParent *plug; + gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &plug, -1); + if(plug) + { + gmpc_plugin_metadata_set_priority(plug,(gint)g_ascii_strtoull(new_text, NULL, 0)); + gtk_list_store_set(GTK_LIST_STORE(store), &iter, 2, gmpc_plugin_metadata_get_priority(plug),-1); + meta_data_sort_plugins(); + } + } +} +static void metadata_construct_pref_pane(GtkWidget *container) +{ + GtkObject *adjustment; + int i = 0; + GtkCellRenderer *renderer; + GtkWidget *vbox, *sw; + GtkWidget *treeview; + GtkWidget *label = NULL; + GtkListStore *store = gtk_list_store_new(3, + G_TYPE_POINTER, /* The GmpcPlugin */ + G_TYPE_STRING, /* Name */ + G_TYPE_INT /* The priority */ + ); + gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), + 2, GTK_SORT_ASCENDING); + + + /* Create vbox */ + vbox = gtk_vbox_new(FALSE, 6); + /* tree + container */ + sw = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); + gtk_container_add(GTK_CONTAINER(sw), treeview); + + /* Build the columns */ + renderer = gtk_cell_renderer_text_new(); + gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), + -1, + "Name", + renderer, + "text", 1, + NULL); + renderer = gtk_cell_renderer_spin_new(); + + adjustment = gtk_adjustment_new (0, 0, 100, 1, 0, 0); + g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL); + g_object_set (renderer, "adjustment", adjustment, NULL); + g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK(metadata_pref_priority_changed), store); + gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), + -1, + "Priority", + renderer, + "text", 2, + NULL); + + + /* Add the list to the vbox */ + gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); + + gtk_container_add(GTK_CONTAINER(container), vbox); + /* add plugins to list */ + for(i=0; i< meta_num_plugins;i++) + { + GtkTreeIter iter; + if(gmpc_plugin_get_enabled(meta_plugins[i])) + { + gtk_list_store_insert_with_values(store, &iter, -1, + 0, meta_plugins[i], + 1, gmpc_plugin_get_name(meta_plugins[i]), + 2, gmpc_plugin_metadata_get_priority(meta_plugins[i]), + -1); + } + } - if(data->result_path)q_free(data->result_path); - if(data->song) - mpd_freeSong(data->song); - mpd_freeSong(data->edited); - q_free(data); + label = gtk_label_new("Plugins are evaluated from low priority to high"); + gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); + gtk_widget_show_all(container); +} +static void metadata_destroy_pref_pane(GtkWidget *container) +{ + GtkWidget *child = gtk_bin_get_child(GTK_BIN(container)); + if(child) + { + gtk_widget_destroy(child); } - /** - * Keep the timer running - */ - /* update when handled */ - test = g_mutex_trylock(meta_processing); - if(test) - g_mutex_unlock(meta_processing); - return FALSE; } /** - * Initialize + * Get a list of urls, used by f.e. selector */ -void meta_data_init(void) +typedef struct MLQuery{ + int index; + int cancel; + void (*callback)(gpointer handle,const gchar *plugin_name, GList *list, gpointer data); + gpointer userdata; + MetaDataType type; + mpd_Song *song; + int calls; +}MLQuery; + +static void metadata_get_list_itterate(GList *list, gpointer data); +static gboolean metadata_get_list_itterate_idle(gpointer data) { - gchar *url = gmpc_get_covers_path(NULL); - if(!g_file_test(url,G_FILE_TEST_IS_DIR)){ - if(g_mkdir(url, 0700)<0){ - g_error("Cannot make %s\n", url); - } - } - q_free(url); - url = gmpc_get_covers_path("covers.db2"); - cover_index = cfg_open(url); - q_free(url); - - /** - * The command queue - */ - meta_commands = q_async_queue_new(); - /** - * the result queue - */ - meta_results = q_async_queue_new(); - - meta_processing = g_mutex_new(); - /** - * Create the retrieval thread - */ - meta_thread = g_thread_create((GThreadFunc)meta_data_retrieve_thread, NULL, TRUE, NULL); + metadata_get_list_itterate(NULL, data); + return FALSE; +} +static void metadata_get_list_itterate(GList *list, gpointer data) +{ + MLQuery *q = (MLQuery *)data; + q->calls--; + if(q->cancel){ + if(list){ + g_list_foreach(list,(GFunc) meta_data_free, NULL); + g_list_free(list); + } + if(q == 0) + { + mpd_freeSong(q->song); + g_free(q); + } + /* clean up */ + return; + } + if(list) { + gmpcPluginParent *plug = meta_plugins[q->index-1]; + q->callback(q,gmpc_plugin_get_name(plug), list,q->userdata); + g_list_foreach(list,(GFunc) meta_data_free, NULL); + g_list_free(list); + } + if(q->index < meta_num_plugins) + { + gmpcPluginParent *plug = meta_plugins[q->index]; + q->index++; + if(gmpc_plugin_get_enabled(plug)){ + q->calls++; + gmpc_plugin_metadata_query_metadata_list(plug, q->song, q->type&META_QUERY_DATA_TYPES,metadata_get_list_itterate, (gpointer)q); + } + else g_idle_add(metadata_get_list_itterate_idle, q); + return; + } + /* indicate done, by calling with NULL handle */ + q->callback(q,NULL, NULL, q->userdata); + + mpd_freeSong(q->song); + g_free(q); } +void metadata_get_list_cancel(gpointer data) +{ + MLQuery *q = (MLQuery *)data; + q->cancel = TRUE; +} +gpointer metadata_get_list(mpd_Song *song, MetaDataType type, void (*callback)(gpointer handle,const gchar *plugin_name, GList *list, gpointer data), gpointer data) +{ + MLQuery *q = g_malloc0(sizeof(*q)); + q->cancel =FALSE; + q->index = 0; + q->callback = callback; + q->userdata = data; + q->type = type; + q->calls =1; + /** + * Create a copy, so song is guarantee to be valid during queries of plugins + */ + q->song = mpd_songDup(song); + /* Check cache */ + { + MetaData *met = NULL; + int retv = meta_data_get_from_cache(q->song, q->type,&met); + if(retv == META_DATA_AVAILABLE) + { + GList *list = g_list_append(NULL, met); + q->callback(q, met->plugin_name,list, q->userdata); + g_list_foreach(list,(GFunc) meta_data_free, NULL); + g_list_free(list); + met = NULL; + } + if(met) + meta_data_free(met); + } -void meta_data_add_plugin(gmpcPlugin *plug) -{ - if(!meta_plugins_lock){ - meta_plugins_lock = g_mutex_new(); - } - g_mutex_lock(meta_plugins_lock); - meta_num_plugins++; - meta_plugins = g_realloc(meta_plugins,(meta_num_plugins+1)*sizeof(gmpcPlugin **)); - meta_plugins[meta_num_plugins-1] = plug; - meta_plugins[meta_num_plugins] = NULL; - g_mutex_unlock(meta_plugins_lock); - meta_data_sort_plugins(); + g_idle_add(metadata_get_list_itterate_idle, q); + return q; +} +/** + * MetaData + */ +MetaData *meta_data_new(void) +{ + /* Create a new structure completely filled with 0's */ + MetaData *retv = g_new0(MetaData, 1); + retv->content_type = META_DATA_CONTENT_EMPTY; + return retv; } -static void meta_data_sort_plugins(void) +void meta_data_free(MetaData *data) { - int i; - int changed = FALSE; - if(!meta_plugins_lock){ - meta_plugins_lock = g_mutex_new(); - } - g_mutex_lock(meta_plugins_lock); - do{ - changed=0; - for(i=0; i< (meta_num_plugins-1);i++) - { - if(gmpc_plugin_metadata_get_priority(meta_plugins[i]) > gmpc_plugin_metadata_get_priority(meta_plugins[i+1])) - { - gmpcPlugin *temp = meta_plugins[i]; - changed=1; - meta_plugins[i] = meta_plugins[i+1]; - meta_plugins[i+1] = temp; - } - } - }while(changed); - g_mutex_unlock(meta_plugins_lock); + if(data == NULL) return; + if(data->content) { + if(data->content_type == META_DATA_CONTENT_TEXT_VECTOR) + { + g_strfreev(data->content); + } + else if (data->content_type == META_DATA_CONTENT_TEXT_LIST) + { + g_list_foreach((GList *)data->content, (GFunc)g_free, NULL); + g_list_free((GList *)data->content); + } + else if(data->content_type != META_DATA_CONTENT_EMPTY) + g_free(data->content); + data->content = NULL; + data->size = 0; + } + g_free(data); } -void meta_data_cleanup(void) +MetaData *meta_data_dup(MetaData *data) { - cfg_do_special_cleanup(cover_index); + MetaData *retv = meta_data_new(); + g_assert(data != NULL); + /* Copy type of metadata */ + retv->type = data->type; + /* Copy the type of the data */ + retv->content_type = data->content_type; + /* Copy the name of the providing plugin. (const char * so only copy pointer ) */ + retv->plugin_name = data->plugin_name; + /* copy the content */ + retv->size = data->size; + if(retv->content_type == META_DATA_CONTENT_TEXT_VECTOR) { + if(data->content) retv->content =(void *) g_strdupv((gchar **)data->content); + } + /* raw data always needs a length */ + else if (data->content_type == META_DATA_CONTENT_RAW) + { + if(data->size > 0 ) { + retv->content = g_memdup(data->content, (guint)data->size); + } + } + else if (data->content_type == META_DATA_CONTENT_TEXT_LIST) + { + GList *list = NULL; + GList *iter = g_list_first((GList *)(data->content)); + while((iter = g_list_next(iter))) + { + list = g_list_append(list, g_strdup(iter->data)); + } + data->content =(void *) g_list_reverse(list); + } + else if (data->content_type == META_DATA_CONTENT_EMPTY) + { + retv->content = NULL; retv->size = 0; + } + /* Text is NULL terminated */ + else + { + retv->content = NULL; + if(data->content){ + retv->content = g_strdup((gchar *)data->content); + } + } + return retv; } -static gboolean meta_data_check_plugin_changed_message(gpointer data) +MetaData *meta_data_dup_steal(MetaData *data) { - playlist3_show_error_message(_("A new metadata plugin was added, gmpc has purged all failed hits from the cache"), ERROR_INFO); - return FALSE; + MetaData *retv = meta_data_new(); + g_assert(data != NULL); + /* Copy type of metadata */ + retv->type = data->type; + /* Copy the type of the data */ + retv->content_type = data->content_type; + /* Copy the name of the providing plugin. (const char * so only copy pointer ) */ + retv->plugin_name = data->plugin_name; + /* copy the content */ + retv->size = data->size; + retv->content = data->content; + data->size = 0; + data->content = NULL; + return retv; } -void meta_data_check_plugin_changed(void) +gboolean meta_data_is_empty(const MetaData *data) { - int old_amount= cfg_get_single_value_as_int_with_default(config, "metadata", "num_plugins", 0); - if(old_amount < meta_num_plugins) - { - gtk_init_add(meta_data_check_plugin_changed_message, NULL); - meta_data_cleanup(); - } - if(old_amount != meta_num_plugins) - { - cfg_set_single_value_as_int(config, "metadata", "num_plugins", meta_num_plugins); - } + return data->content_type == META_DATA_CONTENT_EMPTY; } - -void meta_data_destroy(void) +gboolean meta_data_is_uri(const MetaData *data) { - meta_thread_data *mtd = NULL; - INIT_TIC_TAC(); - - - if(meta_thread) - { - debug_printf(DEBUG_INFO,"Waiting for meta thread to terminate..."); - /* remove old stuff */ - q_async_queue_lock(meta_commands); - while((mtd = q_async_queue_try_pop_unlocked(meta_commands))) - { - mpd_freeSong(mtd->song); - mpd_freeSong(mtd->edited); - q_free(mtd); - } - /* Create the quit signal, this is just an empty request with id 0 */ - mtd = g_malloc0(sizeof(*mtd)); - mtd->id = 0; - - /* push the request to the thread */ - q_async_queue_push_unlocked(meta_commands, mtd); - q_async_queue_unlock(meta_commands); - /* wait for the thread to finish */ - g_thread_join(meta_thread); - /* cleanup */ - g_free(mtd); - debug_printf(DEBUG_INFO,"Done.."); - } - if(meta_processing) { - g_mutex_free(meta_processing); - meta_processing = NULL; - } - if(meta_commands){ - q_async_queue_unref(meta_commands); - meta_commands = NULL; - } - /* Close the cover database */ - TOC("test") - cfg_close(cover_index); - TOC("Config saved") + return data->content_type == META_DATA_CONTENT_URI; } -gboolean meta_compare_func(meta_thread_data *mt1, meta_thread_data *mt2) +const gchar * meta_data_get_uri(const MetaData *data) { - if((mt1->type&META_QUERY_DATA_TYPES) != (mt2->type&META_QUERY_DATA_TYPES)) - return TRUE; - if(!gmpc_meta_watcher_match_data(mt1->type&META_QUERY_DATA_TYPES, mt1->song, mt2->song)) - { - return TRUE; - } - return FALSE; + g_assert(meta_data_is_uri(data)); + return (const gchar *)data->content; } -/** - * Function called by the "client" - */ -MetaDataResult meta_data_get_path(mpd_Song *tsong, MetaDataType type, gchar **path,MetaDataCallback callback, gpointer data) +void meta_data_set_uri(MetaData *data, const gchar *uri) { - MetaDataResult ret; - meta_thread_data *mtd = NULL; - mpd_Song *song =NULL; - guint id = 0; - int test = 0; - /* TODO: Validate request */ - - /** - * If there is no song - * return; - */ - if(tsong == NULL) - { - return META_DATA_UNAVAILABLE; - } - - /** - * Check cache for result. - */ - if(type&META_QUERY_NO_CACHE) - { - /* For others */ - gmpc_meta_watcher_data_changed(gmw,tsong, (type)&META_QUERY_DATA_TYPES,META_DATA_FETCHING, NULL); - if(callback) - { - callback(song,META_DATA_FETCHING,NULL,data); - } - ret = META_DATA_FETCHING; - } - else - { - ret = meta_data_get_from_cache(tsong, type&META_QUERY_DATA_TYPES, path); - /** - * If the data is know. (and doesn't need fectching) - * call the callback and stop - */ - if(ret != META_DATA_FETCHING) - { - return ret; - } - } - - mtd = g_malloc0(sizeof(*mtd)); - /** - * Make a copy - */ - mtd->edited = rewrite_mpd_song(tsong, type); - - /** - * Query cache, but for changed artist name - */ - if((type&META_QUERY_NO_CACHE) == 0) - { - ret = meta_data_get_from_cache(mtd->edited, type&META_QUERY_DATA_TYPES, path); - /** - * If the data is know. (and doesn't need fectching) - * call the callback and stop - */ - - if(ret != META_DATA_FETCHING) - { - /* store it under the original */ - meta_data_set_cache_real(tsong, type, ret, *path); - - mpd_freeSong(mtd->edited); - q_free(mtd); - return ret; - } - } - - - /** - * If no result, start a thread and start fetching the data from there - */ - - - /** - * unique id - * Not needed, but can be usefull for debugging - */ - mtd->song = mpd_songDup(tsong); - - id = mtd->id = g_random_int_range(1,2147483647); - mtd->type = type; - mtd->callback = callback; - mtd->data = data; - /** - * Check if request is allready in queue - */ - /* when using old api style, the request is commited anyway */ - if(!callback) - { - /* if it is allready in the queue, there is no need to push it again - * because GmpcMetaWatcher signal will arrive at every widget - */ - /* - * TODO: this misses items currently in the queue, try to catch that too. - */ - q_async_queue_lock(meta_commands); - if(q_async_queue_has_data(meta_commands,(GCompareFunc)meta_compare_func, mtd)) - { - q_async_queue_unlock(meta_commands); - mpd_freeSong(mtd->song); - mpd_freeSong(mtd->edited); - g_free(mtd); - return ret; - } - q_async_queue_unlock(meta_commands); - } - - /** push it to the other thread */ - - num_queries ++; - /* I should fix this */ - test = g_mutex_trylock(meta_processing); - if(test) - g_mutex_unlock(meta_processing); - - q_async_queue_push(meta_commands, mtd); - /** clean reference to pointer, it's now to the other thread */ - mtd = NULL; + g_assert(meta_data_is_uri(data)); + if(data->content) g_free(data->content); + data->content = g_strdup(uri); +} - return ret; +gboolean meta_data_is_text(const MetaData *data) +{ + return data->content_type == META_DATA_CONTENT_TEXT; +} +const gchar * meta_data_get_text(const MetaData *data) +{ + g_assert(meta_data_is_text(data)); + return (const gchar *)data->content; } -static gchar * strip_invalid_chars(gchar *input) +gboolean meta_data_is_html(const MetaData *data) { - int i = 0; - int length = 0; - g_assert(input != NULL); - length = strlen(input); - if(input == NULL) return NULL; - for(i=0;i': - case '|': - input[i] = ' '; - default: - break; - } - } - return input; -} - /** - * Helper function for storing metadata - */ -gchar * gmpc_get_metadata_filename(MetaDataType type, mpd_Song *song, char *ext) + return data->content_type == META_DATA_CONTENT_HTML; +} +const gchar * meta_data_get_html(const MetaData *data) { - gchar *retv= NULL; - /* home dir */ - const gchar *homedir = g_get_home_dir(); - g_assert(song->artist != NULL); - g_assert(type < META_QUERY_DATA_TYPES); - { - const gchar *charset; - GError *error = NULL; - gchar *filename = NULL, *dirname = NULL; - const gchar *extention= (type&(META_ALBUM_TXT|META_ARTIST_TXT|META_SONG_TXT))?"txt":((ext == NULL)?"":ext); - g_assert(song->artist != NULL); - - /* Convert it so the filesystem likes it */ - /* TODO: Add error checking */ - - if (g_get_charset (&charset)) - { - debug_printf(DEBUG_INFO, "Locale is utf-8, just copying"); - dirname = g_strdup(song->artist); - }else{ - debug_printf(DEBUG_INFO, "Locale is %s converting to UTF-8", charset); - dirname = g_convert_with_fallback (song->artist, -1, - charset, "UTF-8",NULL, NULL, NULL, &error); - } - //dirname = g_filename_from_utf8(song->artist,-1,NULL,NULL,&error); - if(error) { - debug_printf(DEBUG_ERROR, "Failed to convert %s to file encoding. '%s'", song->artist, error->message); - g_error_free(error); - if(dirname) g_free(dirname); - dirname = g_strdup("invalid"); - } - dirname = strip_invalid_chars(dirname); - retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,NULL); - if(g_file_test(retv, G_FILE_TEST_EXISTS) == FALSE) { - if(g_mkdir_with_parents(retv, 0755) < 0) { - g_error("Failed to create: %s\n", retv); - abort(); - } - } - if(!g_file_test(retv, G_FILE_TEST_IS_DIR)) { - g_error("File exists but is not a directory: %s\n", retv); - abort(); - } - g_free(retv); - if(type&(META_ALBUM_ART|META_ALBUM_TXT)) { - gchar *temp ; - g_assert(song->album != NULL); - temp =g_filename_from_utf8(song->album,-1,NULL,NULL,NULL); - filename = g_strdup_printf("%s.%s", temp,extention); - g_free(temp); - }else if(type&META_ARTIST_ART){ - filename = g_strdup_printf("artist_IMAGE.%s", extention); - }else if (type&META_ARTIST_TXT){ - filename = g_strdup_printf("artist_BIOGRAPHY.%s", extention); - }else if (type&META_SONG_TXT) { - gchar *temp ; - g_assert(song->title != NULL); - temp =g_filename_from_utf8(song->title,-1,NULL,NULL,NULL); - filename = g_strdup_printf("%s_LYRIC.%s", temp,extention); - g_free(temp); - } - filename = strip_invalid_chars(filename); - retv = g_build_path(G_DIR_SEPARATOR_S, homedir,METADATA_DIR, dirname,filename,NULL); - g_free(filename); - g_free(dirname); - } - return retv; + g_assert(meta_data_is_html(data)); + return (const gchar *)data->content; } -static void metadata_pref_priority_changed(GtkCellRenderer *renderer, char *path, char *new_text, GtkListStore *store) +gboolean meta_data_is_raw(const MetaData *data) { - GtkTreeIter iter; - if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, path)) - { - gmpcPlugin *plug; - gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &plug, -1); - if(plug) - { - gmpc_plugin_metadata_set_priority(plug,(gint)g_ascii_strtoull(new_text, NULL, 0)); - gtk_list_store_set(GTK_LIST_STORE(store), &iter, 2, gmpc_plugin_metadata_get_priority(plug),-1); - meta_data_sort_plugins(); - } - } + return data->content_type == META_DATA_CONTENT_RAW; } -static void metadata_construct_pref_pane(GtkWidget *container) +const guchar * meta_data_get_raw(const MetaData *data, gsize *length) { - GtkObject *adjustment; - int i = 0; - GtkCellRenderer *renderer; - GtkWidget *vbox, *sw; - GtkWidget *treeview; - GtkWidget *label = NULL; - GtkListStore *store = gtk_list_store_new(3, - G_TYPE_POINTER, /* The GmpcPlugin */ - G_TYPE_STRING, /* Name */ - G_TYPE_INT /* The priority */ - ); - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), - 2, GTK_SORT_ASCENDING); - - - /* Create vbox */ - vbox = gtk_vbox_new(FALSE, 6); - /* tree + container */ - sw = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(store)); - gtk_container_add(GTK_CONTAINER(sw), treeview); - - /* Build the columns */ - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), - -1, - "Name", - renderer, - "text", 1, - NULL); - renderer = gtk_cell_renderer_spin_new(); - - adjustment = gtk_adjustment_new (0, 0, 100, 1, 0, 0); - g_object_set(G_OBJECT(renderer), "editable", TRUE, NULL); - g_object_set (renderer, "adjustment", adjustment, NULL); - g_signal_connect(G_OBJECT(renderer), "edited", G_CALLBACK(metadata_pref_priority_changed), store); - gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(treeview), - -1, - "Priority", - renderer, - "text", 2, - NULL); - - - /* Add the list to the vbox */ - gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); - - gtk_container_add(GTK_CONTAINER(container), vbox); - /* add plugins to list */ - for(i=0; i< meta_num_plugins;i++) - { - GtkTreeIter iter; - if(gmpc_plugin_get_enabled(meta_plugins[i])) - { - gtk_list_store_insert_with_values(store, &iter, -1, - 0, meta_plugins[i], - 1, gmpc_plugin_get_name(meta_plugins[i]), - 2, gmpc_plugin_metadata_get_priority(meta_plugins[i]), - -1); - } - } - - label = gtk_label_new("Plugins are evaluated from low priority to high"); - gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - gtk_widget_show_all(container); + g_assert(meta_data_is_raw(data)); + if(length) + *length = data->size; + return (guchar *)data->content; } -static void metadata_destroy_pref_pane(GtkWidget *container) +gboolean meta_data_is_text_vector(const MetaData *data) +{ + return data->content_type == META_DATA_CONTENT_TEXT_VECTOR; +} +const gchar ** meta_data_get_text_vector(const MetaData *data) { - GtkWidget *child = gtk_bin_get_child(GTK_BIN(container)); - if(child) - { - gtk_widget_destroy(child); - } -} - - - -void metadata_import_old_db(char *url) -{ - config_obj *old = cfg_open(url); - if(old) - { - conf_mult_obj *mult, *iter; - - mult = cfg_get_class_list(old); - for(iter = mult; iter; iter = iter->next) - { - char *artist = iter->key; - if(artist) - { - mpd_Song *song = mpd_newSong(); - conf_mult_obj *cm , *citer; - cm = cfg_get_key_list(old, artist); - song->artist = artist; - for(citer = cm; citer; citer = citer->next) - { - /* Artist only */ - if(strcmp(citer->key, "image") == 0) - { - meta_data_set_cache_real(song, - META_ARTIST_ART, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - }else if (strcmp(citer->key, "similar") == 0) - { - meta_data_set_cache_real(song, - META_ARTIST_SIMILAR, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - }else if (strcmp(citer->key, "biography") == 0) - { - meta_data_set_cache_real(song, - META_ARTIST_TXT, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - } - /* Album */ - else if(strncmp(citer->key, "album:",6) == 0) - { - song->album = &((citer->key)[6]); - meta_data_set_cache_real(song, - META_ALBUM_ART, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - } - else if (strncmp(citer->key, "albumtxt:", 9) == 0) - { - song->album = &((citer->key)[9]); - meta_data_set_cache_real(song, - META_ALBUM_TXT, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - } - /* song */ - else if (strncmp(citer->key, "lyrics:",7) == 0) - { - song->title = &((citer->key)[7]); - meta_data_set_cache_real(song, - META_SONG_TXT, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - }else if (strncmp(citer->key, "similar:", 8) == 0) - { - song->title = &((citer->key)[8]); - meta_data_set_cache_real(song, - META_SONG_SIMILAR, - (strlen(citer->value) > 0)?META_DATA_AVAILABLE:META_DATA_UNAVAILABLE, citer->value); - } - - song->album = NULL; - song->title = NULL; - } - song->artist = NULL; - mpd_freeSong(song); - cfg_free_multiple(cm); - } - } - if(mult) - cfg_free_multiple(mult); - cfg_close(old); - } + g_assert(meta_data_is_text_vector(data)); + return (const gchar **)data->content; } +gboolean meta_data_is_text_list(const MetaData *data) +{ + return data->content_type == META_DATA_CONTENT_TEXT_LIST; +} +const GList *meta_data_get_text_list(const MetaData *data) +{ + g_assert(meta_data_is_text_list(data)); + return (const GList *)data->content; +} +/** + * Plugin structure + */ gmpcPrefPlugin metadata_pref_plug = { - .construct = metadata_construct_pref_pane, - .destroy = metadata_destroy_pref_pane + .construct = metadata_construct_pref_pane, + .destroy = metadata_destroy_pref_pane }; gmpcPlugin metadata_plug = { - .name = N_("Metadata Handler"), - .version = {1,1,1}, - .plugin_type = GMPC_INTERNALL, - .pref = &metadata_pref_plug + .name = N_("Metadata Handler"), + .version = {1,1,1}, + .plugin_type = GMPC_INTERNALL, + .pref = &metadata_pref_plug }; - - +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/metadata-cache.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/metadata-cache.c --- gmpc-0.18.0/src/metadata-cache.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/metadata-cache.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,651 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include "main.h" +#include "metadata.h" +#include "config1.h" +#include "metadata-cache.h" + +#define CACHE_NAME "Metadata cache" +#define MDC_LOG_DOMAIN "MetaDataCache" + +/* function from metadata.c */ +mpd_Song *rewrite_mpd_song(mpd_Song *tsong, MetaDataType type); + +static const char metadata_sql_create[] = +"CREATE TABLE IF NOT EXISTS metadata(" +" type INT NOT NULL, " +" key_a VARCHAR," +" key_b VARCHAR," +" contenttype INT NOT NULL," +" content VARCHAR " +");" +"CREATE INDEX IF NOT EXISTS" +" metadata_content ON metadata(type, key_a, key_b)" +""; + +enum metadata_sql { + META_DATA_SQL_GET, + META_DATA_SQL_SET, + META_DATA_SQL_UPDATE, + META_DATA_SQL_DELETE, + META_DATA_SQL_CLEANUP, + META_DATA_SQL_LIST_START, + META_DATA_SQL_LIST_END, + META_DATA_SQL_SET_SYNCHRONOUS, + META_DATA_SQL_CHECK_INTEGRETY +}; + +static const char *const metadata_sql[] = { + [META_DATA_SQL_GET] = + "SELECT contenttype,content FROM metadata WHERE type=? AND key_a=? AND key_b=?", + [META_DATA_SQL_SET] = + "INSERT INTO metadata(contenttype,content,type,key_a, key_B) VALUES(?,?,?,?,?)", + [META_DATA_SQL_UPDATE] = + "UPDATE metadata SET contenttype=?,content=? WHERE type=? AND key_a=? AND key_b=?", + [META_DATA_SQL_DELETE] = + "DELETE FROM metadata WHERE type=? AND key_a=? AND key_b=?", + /* Clean all entries that are set 'UNAVAILABLE' */ + [META_DATA_SQL_CLEANUP] = + "DELETE FROM metadata WHERE contenttype=0", + [META_DATA_SQL_LIST_START] = + "BEGIN TRANSACTION", + [META_DATA_SQL_LIST_END] = + "COMMIT TRANSACTION", + [META_DATA_SQL_SET_SYNCHRONOUS] = + "PRAGMA synchronous = 0", + [META_DATA_SQL_CHECK_INTEGRETY] = + "PRAGMA integrity_check;" +}; + +static sqlite3 *metadata_db; +static sqlite3_stmt *metadata_stmt[G_N_ELEMENTS(metadata_sql)]; +static void sqlite_set_synchronous(void) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_SET_SYNCHRONOUS]; + int ret; + sqlite3_reset(stmt); + do{ + ret = sqlite3_step(stmt); + }while(ret == SQLITE_BUSY); + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return; + } + sqlite3_reset(stmt); +} +static gboolean sqlite_check_integrity(void) +{ + int database_check = FALSE; + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_CHECK_INTEGRETY]; + int ret; + sqlite3_reset(stmt); + do{ + ret = sqlite3_step(stmt); + if(ret == SQLITE_ROW) + { + const gchar *value = (const gchar *)sqlite3_column_text(stmt, 0); + if(strcmp(value, "ok") == 0){ + database_check = TRUE; + }else{ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "%s: Sqlite database integrety check failed: %s\n", + __FUNCTION__, + value); + } + } + }while(ret == SQLITE_BUSY || ret == SQLITE_ROW); + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return FALSE; + } + sqlite3_reset(stmt); + return database_check; +} +static void sqlite_cleanup(void) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_CLEANUP]; + int ret; + sqlite3_reset(stmt); + do{ + ret = sqlite3_step(stmt); + }while(ret == SQLITE_BUSY); + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return; + } + sqlite3_reset(stmt); +} +static void sqlite_list_start(void) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_LIST_START]; + int ret; + sqlite3_reset(stmt); + do{ + ret = sqlite3_step(stmt); + }while(ret == SQLITE_BUSY); + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return; + } + sqlite3_reset(stmt); +} + +static void sqlite_list_end(void) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_LIST_END]; + int ret; + sqlite3_reset(stmt); + do{ + ret = sqlite3_step(stmt); + }while(ret == SQLITE_BUSY); + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return ; + } + sqlite3_reset(stmt); +} +static gboolean sqlite_delete_value(MetaDataType type,const char *key_a,const char *key_b) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_DELETE]; + int ret; + sqlite3_reset(stmt); + + ret = sqlite3_bind_int(stmt, 1, type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 2, key_a,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 3, key_b,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + do { + ret = sqlite3_step(stmt); + } while (ret == SQLITE_BUSY); + + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + + ret = sqlite3_changes(metadata_db); + + sqlite3_reset(stmt); + sqlite3_clear_bindings(stmt); + return ret > 0; +} + +static gboolean sqlite_update_value(MetaDataType type,const char *key_a,const char *key_b, MetaDataContentType content_type, const char *content) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_UPDATE]; + int ret; + sqlite3_reset(stmt); + + ret = sqlite3_bind_int(stmt, 1, content_type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + ret = sqlite3_bind_text(stmt, 2, content,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_int(stmt, 3, type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 4, key_a,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 5, key_b,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + do { + ret = sqlite3_step(stmt); + } while (ret == SQLITE_BUSY); + + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_changes(metadata_db); + + sqlite3_reset(stmt); + sqlite3_clear_bindings(stmt); + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Updated entry: %i-%s-%s with status: %i", type, key_a, key_b, ret>0); + return ret > 0; +} + +static gboolean sqlite_set_value(MetaDataType type,const char *key_a,const char *key_b, MetaDataContentType content_type, const char *content) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_SET]; + int ret; + sqlite3_reset(stmt); + + ret = sqlite3_bind_int(stmt, 1, content_type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + ret = sqlite3_bind_text(stmt, 2, content,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_int(stmt, 3, type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 4, key_a,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + ret = sqlite3_bind_text(stmt, 5, key_b,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return FALSE; + } + do { + ret = sqlite3_step(stmt); + } while (ret == SQLITE_BUSY); + + if (ret != SQLITE_DONE) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed %s::%s content:'%s' : %s",__FUNCTION__, key_a, key_b,content, + sqlite3_errmsg(metadata_db)); + return FALSE; + } + + + ret = sqlite3_changes(metadata_db); + + sqlite3_reset(stmt); + sqlite3_clear_bindings(stmt); + return ret > 0; +} + +static MetaData *sqlite_get_value(MetaDataType type,const char *key_a,const char *key_b) +{ + sqlite3_stmt *const stmt = metadata_stmt[META_DATA_SQL_GET]; + int ret; + MetaData *met = NULL; + sqlite3_reset(stmt); + + ret = sqlite3_bind_int(stmt, 1, type); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_int() failed: %s", + sqlite3_errmsg(metadata_db)); + return NULL; + } + + ret = sqlite3_bind_text(stmt, 2, key_a,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return NULL; + } + + ret = sqlite3_bind_text(stmt, 3, key_b,-1, NULL); + if (ret != SQLITE_OK) { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"sqlite3_bind_text() failed: %s", + sqlite3_errmsg(metadata_db)); + return NULL; + } + + do { + ret = sqlite3_step(stmt); + switch(ret) { + case SQLITE_ROW: + if(!met) { + met = meta_data_new(); + met->type = type; + met->plugin_name = "Metadata Cache"; + met->content_type = sqlite3_column_int(stmt, 0); + } + if(meta_data_is_text_vector(met)) { + gchar *value = (gchar *) sqlite3_column_text(stmt, 1); + met->size += 1; + met->content = g_realloc((gchar **)met->content, sizeof(gchar *)*(met->size+1)); + ((gchar **)met->content)[met->size-1] = g_strdup(value); + ((gchar **)met->content)[met->size] = NULL; + }else if (meta_data_is_text_list(met)) { + gchar *value = (gchar *) sqlite3_column_text(stmt, 1); + met->content = (void *)g_list_append((GList *)met->content, g_strdup(value)); + met->size = 0; + }else{ + if(meta_data_is_uri(met) || + meta_data_is_text(met)|| + meta_data_is_html(met)) + { + const guchar *value = sqlite3_column_text(stmt, 1); + met->content = g_strdup((gchar *)value); + met->size = -1; + } + else if (meta_data_is_raw(met)) + { + const guchar *value = sqlite3_column_text(stmt, 1); + gsize size; + met->content = g_base64_decode((gchar *)value, &size); + met->size = size; + } + /* indicate we don't query anymore */ + ret = SQLITE_DONE; + } + case SQLITE_DONE: + case SQLITE_BUSY: + break; + default: + + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"%s: sqlite3_step() failed: %s",__FUNCTION__, + sqlite3_errmsg(metadata_db)); + if(met) meta_data_free(met); + sqlite3_reset(stmt); + sqlite3_clear_bindings(stmt); + return NULL; + } + } while (ret != SQLITE_DONE); + + + sqlite3_reset(stmt); + sqlite3_clear_bindings(stmt); + return met; +} + + +MetaDataResult meta_data_get_from_cache(mpd_Song *song, MetaDataType type, MetaData **met) +{ + const char *key_a= "", *key_b = ""; + if(type == META_ALBUM_ART){ + key_a = song->artist; + key_b = song->album; + }else if(type == META_ALBUM_TXT){ + key_a = song->artist; + key_b = song->album; + }else if (type == META_ARTIST_ART || type == META_ARTIST_TXT || type == META_ARTIST_SIMILAR) { + key_a = song->artist; + }else if (type == META_SONG_TXT || type == META_SONG_SIMILAR || type == META_SONG_GUITAR_TAB) { + key_a = song->artist; + key_b = song->title; + }else if (type == META_GENRE_SIMILAR) { + key_a = song->genre; + } + if(key_a == NULL || key_b == NULL) { + *met = meta_data_new(); (*met)->type = type; + (*met)->plugin_name = CACHE_NAME; (*met)->content_type = META_DATA_CONTENT_EMPTY; + return META_DATA_UNAVAILABLE; + } + if(!g_utf8_validate(key_a, -1, NULL)){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"Key_a is not valid utf-8"); + (*met) = meta_data_new(); (*met)->type = type; + (*met)->plugin_name = CACHE_NAME; (*met)->content_type = META_DATA_CONTENT_EMPTY; + return META_DATA_UNAVAILABLE; + } + + if(!g_utf8_validate(key_b, -1, NULL)){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"Key_b is not valid utf-8"); + (*met) = meta_data_new(); (*met)->type = type; + (*met)->plugin_name = CACHE_NAME; (*met)->content_type = META_DATA_CONTENT_EMPTY; + return META_DATA_UNAVAILABLE; + } + *met = sqlite_get_value(type,key_a, key_b); + if((*met) == NULL) + { + *met = meta_data_new(); + (*met)->type = type; + (*met)->plugin_name = "Metadata Cache"; + (*met)->content_type = META_DATA_CONTENT_EMPTY; + + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "No entry found for: %i-%s-%s", type, key_a, key_b); + return META_DATA_FETCHING; + } + if(meta_data_is_empty(*met)) + { + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Empty entry found for: %i-%s-%s", type, key_a, key_b); + return META_DATA_UNAVAILABLE; + } + if(meta_data_is_uri(*met)) + { + const gchar *path = meta_data_get_uri(*met); + if(!g_file_test(path, G_FILE_TEST_EXISTS)) + { + sqlite_delete_value(type, key_a, key_b); + (*met)->content_type = META_DATA_CONTENT_EMPTY; + g_free((gchar *)((*met)->content)); + (*met)->content = NULL; + (*met)->size = 0; + + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Uri entry found for but invalid: %i-%s-%s", type, key_a, key_b); + return META_DATA_FETCHING; + } + } + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Entry found for: %i-%s-%s", type, key_a, key_b); + return META_DATA_AVAILABLE; +} +void meta_data_set_cache_real(mpd_Song *song, MetaDataResult result, MetaData *met) +{ + const char *key_a= "", *key_b = ""; + if(!song) return; + if((met)->type == META_ALBUM_ART){ + key_a = song->artist; + key_b = song->album; + }else if((met)->type == META_ALBUM_TXT){ + key_a = song->artist; + key_b = song->album; + }else if ((met)->type == META_ARTIST_ART || (met)->type == META_ARTIST_TXT || (met)->type == META_ARTIST_SIMILAR) { + key_a = song->artist; + }else if ((met)->type == META_SONG_TXT || (met)->type == META_SONG_SIMILAR || (met)->type == META_SONG_GUITAR_TAB) { + key_a = song->artist; + key_b = song->title; + }else if ((met)->type == META_GENRE_SIMILAR) { + key_a = song->genre; + } + if(key_a == NULL || key_b == NULL) { + return ; + } + if(!g_utf8_validate(key_a, -1, NULL)){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"Key_a is not valid utf-8"); + return ; + } + + if(!g_utf8_validate(key_b, -1, NULL)){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING,"Key_b is not valid utf-8"); + return ; + } + + + if(meta_data_is_uri(met)|| + meta_data_is_text(met)|| + meta_data_is_html(met)|| + meta_data_is_empty(met)) + { + if(!sqlite_update_value(met->type, key_a, key_b, met->content_type, (const gchar *)met->content)) + sqlite_set_value(met->type, key_a, key_b, met->content_type, (const gchar *)met->content); + }else if (meta_data_is_raw(met)) { + gsize size; + const guchar *udata = meta_data_get_raw(met, &size); + gchar *data = g_base64_encode(udata, size); + if(!sqlite_update_value(met->type, key_a, key_b, met->content_type, (const gchar *)data)) + sqlite_set_value(met->type, key_a, key_b, met->content_type, (const gchar *)data); + g_free(data); + }else if (meta_data_is_text_list(met)) { + GList *iter; + sqlite_delete_value(met->type, key_a, key_b); + iter = g_list_first((GList *)meta_data_get_text_list(met)); + sqlite_list_start(); + for(;iter; iter = g_list_next(iter)){ + sqlite_set_value(met->type, key_a, key_b, met->content_type, (const gchar *)iter->data); + } + sqlite_list_end(); + }else if (meta_data_is_text_vector(met)) { + int i = 0; + const gchar **text_vector = meta_data_get_text_vector(met); + sqlite_delete_value(met->type, key_a, key_b); + sqlite_list_start(); + for(i=0;text_vector && text_vector[i];i++){ + sqlite_set_value(met->type, key_a, key_b, met->content_type, (const gchar *)text_vector[i]); + } + sqlite_list_end(); + } +} +void meta_data_set_cache(mpd_Song *song, MetaDataResult result, MetaData *met) +{ + mpd_Song *edited = rewrite_mpd_song(song, met->type); + meta_data_set_cache_real(edited, result, met); + if(edited->artist) + { + if(strcmp(edited->artist, "Various Artists")!=0) + meta_data_set_cache_real(song, result, met); + } + mpd_freeSong(edited); +} + + static sqlite3_stmt * +metadata_prepare(const char *sql) +{ + int ret; + sqlite3_stmt *stmt; + + ret = sqlite3_prepare_v2(metadata_db, sql, -1, &stmt, NULL); + if (ret != SQLITE_OK) + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR,"sqlite3_prepare_v2() failed: %s", + sqlite3_errmsg(metadata_db)); + + return stmt; +} + +void metadata_cache_init(void) +{ + int ret; + unsigned i; + gboolean database_valid = FALSE; + gchar *url = gmpc_get_covers_path(NULL); + if(!g_file_test(url,G_FILE_TEST_IS_DIR)){ + if(g_mkdir(url, 0700)<0){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Cannot create directory %s\n", url); + } + } + q_free(url); + + url = gmpc_get_covers_path("covers.sql"); + do{ + ret = sqlite3_open(url, &metadata_db); + if (ret != SQLITE_OK) + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to open sqlite database '%s': %s", + url, sqlite3_errmsg(metadata_db)); + + ret = sqlite3_exec(metadata_db, metadata_sql_create, NULL, NULL, NULL); + if (ret != SQLITE_OK) + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to create metadata table: %s", + sqlite3_errmsg(metadata_db)); + + /* prepare the statements we're going to use */ + + for (i = 0; i < G_N_ELEMENTS(metadata_sql); ++i) { + g_assert(metadata_sql[i] != NULL); + + metadata_stmt[i] = metadata_prepare(metadata_sql[i]); + } + database_valid = sqlite_check_integrity(); + if(!database_valid){ + gchar buffer[128]; + gchar *new_uri = NULL; + const time_t tt= time(NULL); + struct tm *tm = localtime(&tt); + strftime(buffer, 128, "%H%M-%d-%m-%Y", tm); + new_uri = g_strdup_printf("%s-%s", url,buffer); + + metadata_cache_destroy(); + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "Database was invalid. Renaming db to %s and trying again.", + new_uri); + if(g_rename(url, new_uri) <0){ + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_ERROR, "Failed to rename corrupt database: %s", + url); + } + g_free(new_uri); + } + g_log(MDC_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Database integrity check: valid"); + }while(!database_valid); + g_free(url); + sqlite_set_synchronous(); +} + + +void metadata_cache_cleanup(void) +{ + sqlite_cleanup(); +} +void metadata_cache_destroy(void) +{ + unsigned i; + for (i = 0; i < G_N_ELEMENTS(metadata_stmt); ++i) { + g_assert(metadata_stmt[i] != NULL); + + sqlite3_finalize(metadata_stmt[i]); + } + sqlite3_close(metadata_db); +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/metadata-cache.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/metadata-cache.h --- gmpc-0.18.0/src/metadata-cache.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/metadata-cache.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,54 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef __METADATA_CACHE_H__ +#define __METADATA_CACHE_H__ +/** + * Get metadata from cache. + * *met needs to be free-ed. + */ +MetaDataResult meta_data_get_from_cache(mpd_Song *song, MetaDataType type, MetaData **met); + +/** + * Set a cache entry directly. Don't use. + */ +void meta_data_set_cache_real(mpd_Song *song, MetaDataResult result, MetaData *met); +/** + * Set the rewrited value. + */ +void meta_data_set_cache(mpd_Song *song, MetaDataResult result, MetaData *met); + +/** + * Removes all entries that are set to META_DATA_CONTENT_EMPTY (or META_DATA_UNAVAILABLE) + */ +void metadata_cache_cleanup(void); + + + +/** + * Start the cache. + * (initializes sqlite db, etc) + */ +void metadata_cache_init(void); + +/** + * Destroy the cache + */ +void metadata_cache_destroy(void); +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/metadata.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/metadata.h --- gmpc-0.18.0/src/metadata.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/metadata.h 2009-09-21 11:15:59.000000000 +0100 @@ -19,8 +19,7 @@ #ifndef __METADATA_H__ #define __METADATA_H__ - - +#include typedef enum { META_ALBUM_ART = 1, /* Album Cover art */ @@ -29,9 +28,11 @@ META_ARTIST_TXT = 8, /* Artist biography */ META_SONG_TXT = 16, /* Lyrics */ META_ARTIST_SIMILAR = 32, /* Similar artists */ - META_SONG_SIMILAR = 64, /* Similar songs */ - META_QUERY_DATA_TYPES = 127, /* Bitmask for getting the metadata types only */ - META_QUERY_NO_CACHE = 128 /* Do the query withouth checking the cache first */ + META_SONG_SIMILAR = 64, /* Similar songs */ + META_GENRE_SIMILAR = 128, + META_SONG_GUITAR_TAB = 256, + META_QUERY_DATA_TYPES = 65535, /* Bitmask for getting the metadata types only */ + META_QUERY_NO_CACHE = 65536 /* Do the query withouth checking the cache first */ }MetaDataType; typedef enum { @@ -40,25 +41,112 @@ META_DATA_FETCHING } MetaDataResult; -typedef void (*MetaDataCallback)(mpd_Song *song, MetaDataResult result, char *path, gpointer data); +/** + * The MetaAata object that will be used in the future to pass metadata around + */ + +/** + * This can be extended + */ +typedef enum { + META_DATA_CONTENT_EMPTY, + /* contains a string with an uri to the data */ + META_DATA_CONTENT_URI, + /* Contains result (text) */ + META_DATA_CONTENT_TEXT, + /* Contains result (raw image data) */ + META_DATA_CONTENT_RAW, + /* Contains result (text) in html format */ + META_DATA_CONTENT_HTML, + /* A null-terminated array of strings, f.e. similar artists*/ + META_DATA_CONTENT_TEXT_VECTOR, + /* list */ + META_DATA_CONTENT_TEXT_LIST +} MetaDataContentType; + +typedef struct { + /* The MetaDataType this holds */ + MetaDataType type; + /* The name of the plugin that provided the data + * This can be NULL if unknown. + **/ + const gchar *plugin_name; + /* The data type */ + MetaDataContentType content_type; + /* The contents */ + void *content; + /* size is only used for raw data. Might be set for text, but that needs to be + * null terminated anyway. + */ + gsize size; +}MetaData; + + +typedef void (*MetaDataCallback)(mpd_Song *song, MetaDataResult result, MetaData *met, gpointer data); +/** + * Create empty MetaData + */ +MetaData * meta_data_new(void); +/** + * Free MetaData object + */ +void meta_data_free(MetaData *data); +/** + * copy a MetaData object + */ +MetaData *meta_data_dup(MetaData *data); +/** + * Steals the data from the orginal. + * This can be used to avoid having large data blocks copied. + **/ +MetaData *meta_data_dup_steal(MetaData *data); + + +gboolean meta_data_is_empty(const MetaData *data); +/* URI */ +gboolean meta_data_is_uri(const MetaData *data); +const gchar *meta_data_get_uri(const MetaData *data); +void meta_data_set_uri(MetaData *data, const gchar *uri); +/* TEXT */ +gboolean meta_data_is_text(const MetaData *data); +const gchar * meta_data_get_text(const MetaData *data); +/* HTML */ +gboolean meta_data_is_html(const MetaData *data); +const gchar * meta_data_get_html(const MetaData *data); +/* RAW */ +gboolean meta_data_is_raw(const MetaData *data); +const guchar * meta_data_get_raw(const MetaData *data, gsize *length); +/* TEXT VECTOR */ +gboolean meta_data_is_text_vector(const MetaData *data); +const gchar **meta_data_get_text_vector(const MetaData *data); +/* TEXT LIST */ +gboolean meta_data_is_text_list(const MetaData *data); +const GList *meta_data_get_text_list (const MetaData *data); + +/* ****************************************** */ void metadata_import_old_db(char *url); #include "gmpc-meta-watcher.h" extern GmpcMetaWatcher *gmw; /*guint meta_data_get_path_callback(mpd_Song *song, MetaDataType type, MetaDataCallback callback, gpointer data);*/ -void meta_data_set_cache(mpd_Song *song, MetaDataType type, MetaDataResult result, char *path); + void meta_data_init(void); void meta_data_check_plugin_changed(void); void meta_data_handle_remove_request(guint id); void meta_data_destroy(void); -void meta_data_cleanup(void); -MetaDataResult meta_data_get_path(mpd_Song *tsong, MetaDataType type, gchar **path,MetaDataCallback callback, gpointer data); +MetaDataResult meta_data_get_path(mpd_Song *tsong, MetaDataType type, MetaData **met,MetaDataCallback callback, gpointer data); #define METADATA_DIR ".covers" gchar * gmpc_get_metadata_filename(MetaDataType type, mpd_Song *song, char *extention); + + +gpointer metadata_get_list(mpd_Song *song, MetaDataType type, void (*callback)(gpointer handle, const gchar *plugin_name, GList *list, gpointer data), gpointer data); + +void metadata_get_list_cancel(gpointer data); + #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/misc.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/misc.c --- gmpc-0.18.0/src/misc.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/misc.c 2009-09-21 11:15:59.000000000 +0100 @@ -35,7 +35,11 @@ */ gchar *format_time(unsigned long seconds) { - return format_time_real(seconds, _(" Total time: ")); + gchar *retv = NULL; + gchar *string = g_strdup_printf("%s: ", _("Total time")); + retv = format_time_real(seconds, string); + g_free(string); + return retv; } gchar * format_time_real(unsigned long seconds, const gchar *data) { @@ -43,29 +47,21 @@ int days = seconds/86400; int hours = (seconds % 86400)/3600; int minutes = (seconds % 3600)/60; - int sec = (seconds % 60); char *ret; - if(seconds == 0) - { + if(seconds == 0) { return g_strdup(""); } str = g_string_new(data); - if(days != 0) - { + if(days != 0) { g_string_append_printf(str, "%i %s ", days, ngettext("day", "days", days)); } - if(hours != 0) - { + if(hours != 0) { g_string_append_printf(str, "%i %s ", hours, ngettext("hour", "hours", hours)); } - if(minutes != 0) - { + if(minutes != 0) { g_string_append_printf(str, "%i %s ", minutes, ngettext("minute", "minutes", minutes)); } - if(sec != 0) - { - g_string_append_printf(str, "%i %s", sec, ngettext("second", "seconds", sec)); - } + ret = str->str; g_string_free(str, FALSE); return ret; @@ -206,21 +202,36 @@ * While this is compile time on linux, windows * needs to determine it run-time. */ -char *gmpc_get_full_image_path(const char *filename) +char *gmpc_get_full_image_path(void) { gchar *path; -#ifdef WIN32 - gchar *packagedir; - packagedir = g_win32_get_package_installation_directory_of_module(NULL); - debug_printf(DEBUG_INFO, "Got %s as package installation dir", packagedir); - - path = g_build_filename(packagedir, "share","gmpc","icons", filename, NULL); + const gchar * const *paths = g_get_system_data_dirs(); + int i; - q_free(packagedir); + /* First try the compile time path */ + path = g_build_filename(PIXMAP_PATH, NULL); + if(path){ + if(g_file_test(path, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_DIR)) + { + return path; + } + g_free(path); + path = NULL; + } -#else - path = g_build_filename(G_DIR_SEPARATOR_S, PIXMAP_PATH, filename,NULL); -#endif + for(i=0; paths && paths[i]; i++) { + path = g_build_filename(paths[i], "gmpc", "icons", NULL); + if(g_file_test(path, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_DIR)) + { + return path; + } + g_free(path); + path = NULL; + } + if(path == NULL){ + g_error("Failed to find images"); + return NULL; + } return path; } @@ -232,18 +243,31 @@ char *gmpc_get_full_glade_path(const char *filename) { gchar *path; -#ifdef WIN32 - gchar *packagedir; - packagedir = g_win32_get_package_installation_directory_of_module(NULL); - debug_printf(DEBUG_INFO, "Got %s as package installation dir", packagedir); - - path = g_build_filename(packagedir, "share","gmpc", filename, NULL); - - q_free(packagedir); + const gchar * const *paths = g_get_system_data_dirs(); + int i; -#else - path = g_build_filename(G_DIR_SEPARATOR_S, GLADE_PATH, filename,NULL); -#endif + path = g_build_filename(GLADE_PATH, filename,NULL); + if(path) + { + if(g_file_test(path, G_FILE_TEST_EXISTS)) + { + return path; + } + g_free(path); + } + for(i=0; paths && paths[i]; i++) { + path = g_build_filename(paths[i], "gmpc", filename, NULL); + if(g_file_test(path, G_FILE_TEST_EXISTS)) + { + return path; + } + g_free(path); + path = NULL; + } + if(path == NULL){ + g_error("Failed to locate glade path"); + return NULL; + } return path; } @@ -261,7 +285,9 @@ gchar *browser_command = cfg_get_single_value_as_string_with_default(config, "Misc","browser", "xdg-open '%s'"); #endif #endif - command = g_strdup_printf(browser_command, uri); + gchar *escaped_uri = g_strdup(uri); + command = g_strdup_printf(browser_command, escaped_uri); + g_free(escaped_uri); result = g_spawn_command_line_async (command, &error); if(error) { @@ -452,7 +478,16 @@ if(a->type == MPD_DATA_TYPE_SONG && b->type == MPD_DATA_TYPE_SONG) { - return strcmp(a->song->file, b->song->file); + if(a->song->file && b->song->file) + return strcmp(a->song->file, b->song->file); + else{ + gchar *chk_a = mpd_song_checksum(a->song); + gchar *chk_b = mpd_song_checksum(b->song); + int retv = strcmp(chk_a, chk_b); + g_free(chk_a); + g_free(chk_b); + return retv; + } } else if(a->type == MPD_DATA_TYPE_TAG && b->type == MPD_DATA_TYPE_TAG) { @@ -474,7 +509,7 @@ { if(node->type == MPD_DATA_TYPE_SONG && node->next->type == MPD_DATA_TYPE_SONG) { - if(strcmp(node->song->file, node->next->song->file) == 0) + if(__sort_filename(&node, &(node->next),NULL) == 0)//strcmp(node->song->file, node->next->song->file) == 0) { node = (MpdData_real *) mpd_data_delete_item((MpdData *)node); continue; @@ -482,7 +517,7 @@ } else if(node->type == MPD_DATA_TYPE_TAG && node->next->type == MPD_DATA_TYPE_TAG) { - if(strcmp(node->tag, node->next->tag) == 0) + if(__sort_filename(&(node), &(node->next),NULL) == 0)//strcmp(node->tag, node->next->tag) == 0) { node = (MpdData_real *) mpd_data_delete_item((MpdData *)node); continue; @@ -543,24 +578,43 @@ return result; } - -gboolean misc_header_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) +void misc_header_style_set_process_containers(GtkWidget *container, GtkStyle *old_style, gpointer data) { + GtkStyle *style = container->style; + GList *list = NULL; + list = gtk_container_get_children(GTK_CONTAINER(container)); + if(list) + { + GList *node; + for(node = g_list_first(list);node;node = g_list_next(node)) + { + gtk_widget_modify_fg((GtkWidget *)node->data, GTK_STATE_NORMAL, &(style->fg[GTK_STATE_SELECTED])); + gtk_widget_modify_text((GtkWidget *)node->data, GTK_STATE_NORMAL, &(style->fg[GTK_STATE_SELECTED])); + if(GTK_IS_CONTAINER(node->data)) + { + misc_header_style_set_process_containers((GtkWidget *)node->data, NULL, NULL); + } + } + g_list_free(list); + } +} +gboolean misc_header_expose_event(GtkWidget *widget, GdkEventExpose *event) +{ int width = widget->allocation.width; int height = widget->allocation.height; - + gtk_paint_flat_box(widget->style, widget->window, GTK_STATE_SELECTED, GTK_SHADOW_NONE, - NULL, + &(event->area), widget, "cell_odd", 0,0,width,height); gtk_paint_focus(widget->style, widget->window, GTK_STATE_NORMAL, - NULL, + &(event->area), widget, "button", 0,0,width,height); @@ -573,21 +627,68 @@ if(song) { GChecksum *cs=g_checksum_new(G_CHECKSUM_SHA256); - if(song->file) g_checksum_update(cs, song->file, -1); - if(song->artist) g_checksum_update(cs, song->artist, -1); - if(song->title) g_checksum_update(cs, song->title, -1); - if(song->album) g_checksum_update(cs, song->album, -1); - if(song->track) g_checksum_update(cs, song->track, -1); - if(song->name) g_checksum_update(cs, song->name, -1); - if(song->date) g_checksum_update(cs, song->date, -1); - if(song->genre) g_checksum_update(cs, song->genre, -1); - if(song->composer) g_checksum_update(cs, song->composer, -1); - if(song->performer) g_checksum_update(cs, song->performer, -1); - if(song->disc) g_checksum_update(cs, song->disc, -1); - if(song->albumartist) g_checksum_update(cs, song->albumartist, -1); + if(song->file) g_checksum_update(cs, (guchar *)song->file, -1); + if(song->artist) g_checksum_update(cs,(guchar *) song->artist, -1); + if(song->title) g_checksum_update(cs,(guchar *) song->title, -1); + if(song->album) g_checksum_update(cs,(guchar *) song->album, -1); + if(song->track) g_checksum_update(cs,(guchar *) song->track, -1); + if(song->name) g_checksum_update(cs,(guchar *) song->name, -1); + if(song->date) g_checksum_update(cs,(guchar *) song->date, -1); + if(song->genre) g_checksum_update(cs,(guchar *) song->genre, -1); + if(song->composer) g_checksum_update(cs,(guchar *) song->composer, -1); + if(song->performer) g_checksum_update(cs,(guchar *) song->performer, -1); + if(song->disc) g_checksum_update(cs,(guchar *) song->disc, -1); + if(song->albumartist) g_checksum_update(cs,(guchar *) song->albumartist, -1); retv = g_strdup(g_checksum_get_string(cs)); g_checksum_free(cs); } return retv; } + +/* Kudos to the gnome-panel guys. */ +void +colorshift_pixbuf(GdkPixbuf *dest, GdkPixbuf *src, int shift) +{ + gint i, j; + gint width, height, has_alpha, src_rowstride, dest_rowstride; + guchar *target_pixels; + guchar *original_pixels; + guchar *pix_src; + guchar *pix_dest; + int val; + guchar r, g, b; + + has_alpha = gdk_pixbuf_get_has_alpha(src); + width = gdk_pixbuf_get_width(src); + height = gdk_pixbuf_get_height(src); + src_rowstride = gdk_pixbuf_get_rowstride(src); + dest_rowstride = gdk_pixbuf_get_rowstride(dest); + original_pixels = gdk_pixbuf_get_pixels(src); + target_pixels = gdk_pixbuf_get_pixels(dest); + + for (i = 0; i < height; i++) + { + pix_dest = target_pixels + i * dest_rowstride; + pix_src = original_pixels + i * src_rowstride; + + for (j = 0; j < width; j++) + { + r = *(pix_src++); + g = *(pix_src++); + b = *(pix_src++); + + val = r + shift; + *(pix_dest++) = CLAMP(val, 0, 255); + + val = g + shift; + *(pix_dest++) = CLAMP(val, 0, 255); + + val = b + shift; + *(pix_dest++) = CLAMP(val, 0, 255); + + if (has_alpha) + *(pix_dest++) = *(pix_src++); + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/misc.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/misc.h --- gmpc-0.18.0/src/misc.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/misc.h 2009-09-21 11:15:59.000000000 +0100 @@ -21,12 +21,16 @@ #define __MISC_H__ #define RANGE(l,u,v) (((v)<(l))?(l):(((v)<(u))?(v):(u))) +#include /** * format time into * Total time: %i days %i hours %i minutes */ - gchar * format_time(unsigned long seconds); + +/** + * Allows you to prepend a string + */ gchar * format_time_real(unsigned long seconds, const gchar *data); void mpd_song_markup_escaped(char *buffer, int size, char *markup, mpd_Song *song); @@ -48,7 +52,11 @@ gchar ** tokenize_string(const gchar *string); -gboolean misc_header_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data); +gboolean misc_header_expose_event(GtkWidget *widget, GdkEventExpose *event); +void misc_header_style_set_process_containers(GtkWidget *container, GtkStyle *old_style, gpointer data); gchar * mpd_song_checksum(const mpd_Song *song); + +void +colorshift_pixbuf(GdkPixbuf *dest, GdkPixbuf *src, int shift); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/mm-keys.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/mm-keys.c --- gmpc-0.18.0/src/mm-keys.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/mm-keys.c 2009-09-21 11:15:59.000000000 +0100 @@ -291,36 +291,39 @@ GdkScreen *screen; GdkWindow *root; gint i, j; - int keycode = 0; +// int keycode = 0; int anyKeybindsFailed = FALSE; int anyDuplicatesFound = FALSE; display = gdk_display_get_default (); - /** Play Pause */ + /** Play Pause keycode = XKeysymToKeycode (GDK_DISPLAY (), XF86XK_AudioPlay); keycodes[MM_PLAYPAUSE] = cfg_get_single_value_as_int_with_default(config, "Keybindings", keynames[MM_PLAYPAUSE], keycode); masks[MM_PLAYPAUSE] = cfg_get_single_value_as_int_with_default(config, "Keymasks", keynames[MM_PLAYPAUSE], 0); + */ /** * Previous - */ + keycode = XKeysymToKeycode (GDK_DISPLAY (), XF86XK_AudioPrev); keycodes[MM_PREV] = cfg_get_single_value_as_int_with_default(config, "Keybindings", keynames[MM_PREV], keycode); masks[MM_PREV] = cfg_get_single_value_as_int_with_default(config, "Keymasks", keynames[MM_PREV], 0); + */ /** * Next - */ + * keycode = XKeysymToKeycode (GDK_DISPLAY (), XF86XK_AudioNext); keycodes[MM_NEXT] = cfg_get_single_value_as_int_with_default(config, "Keybindings", keynames[MM_NEXT], keycode); masks[MM_NEXT] = cfg_get_single_value_as_int_with_default(config, "Keymasks", keynames[MM_NEXT], 0); + */ /** * Stop - */ + * keycode = XKeysymToKeycode (GDK_DISPLAY (), XF86XK_AudioStop); keycodes[MM_STOP] = cfg_get_single_value_as_int_with_default(config, "Keybindings", keynames[MM_STOP], keycode); masks[MM_STOP] = cfg_get_single_value_as_int_with_default(config, "Keymasks", keynames[MM_STOP], 0); - +*/ for(i=0;istr, TRUE); + temp = g_markup_escape_text(message->str, message->len); + playlist3_show_error_message(temp, ERROR_WARNING); + g_free(temp); g_string_free (message, TRUE); } if (anyDuplicatesFound) { - show_error_message(_("Duplicate mapping(s) detected\n\n" - "Some duplicate multimedia key mappings were detected, and disabled. Please revisit the preferences and ensure your settings are now correct."), TRUE ); + playlist3_show_error_message(_("Duplicate mapping(s) detected\n\n" + "Some duplicate multimedia key mappings were detected, and disabled. Please revisit the preferences and ensure your settings are now correct."), + ERROR_WARNING); } } @@ -678,8 +685,16 @@ void mmkeys_pref_construct(GtkWidget *container) { gchar *path = gmpc_get_full_glade_path("preferences-mmkeys.ui"); + GError *error = NULL; mmkeys_pref_xml = gtk_builder_new(); - gtk_builder_add_from_file(mmkeys_pref_xml, path, NULL); + gtk_builder_add_from_file(mmkeys_pref_xml, path, &error); + if(error) + { + debug_printf(DEBUG_ERROR, "Problems loading ui: %s\n", error->message); + g_error_free(error); + g_object_unref(mmkeys_pref_xml); + return; + } q_free(path); if(mmkeys_pref_xml) { diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/mpdinteraction.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/mpdinteraction.c --- gmpc-0.18.0/src/mpdinteraction.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/mpdinteraction.c 2009-09-21 11:15:59.000000000 +0100 @@ -24,7 +24,7 @@ #include "config1.h" #include "playlist3.h" #include "mpdinteraction.h" -#include "advanced_search.h" +#include "advanced-search.h" #include "vala/gmpc_menu_item_rating.h" //G_LOCK_DEFINE (connecting_lock); @@ -44,7 +44,7 @@ static void ServerStatusChangedCallback(MpdObj *mi, ChangedStatusType what, void *userdata); static GtkBuilder *server_pref_xml = NULL; -static GtkBuilder *connection_pref_xml = NULL; +static GtkBuilder *connection_pref_xml = NULL; gmpcPrefPlugin server_gpp = { server_pref_construct, @@ -55,6 +55,8 @@ void xfade_enable_toggled(GtkToggleButton *but); void xfade_time_changed(GtkSpinButton *but); void entry_auth_changed(GtkEntry *entry); + +void entry_music_directory_changed(GtkEntry *entry); void auth_enable_toggled(GtkToggleButton *but); void preferences_window_autoconnect(GtkToggleButton *tog); @@ -73,12 +75,62 @@ void submenu_dir_clicked(GtkWidget *item); -static void volume_set(gpointer data, const char *param) +/** + * Easy command interface + */ +static void output_set (gpointer data, const char *param) +{ + gchar *str_param = g_strstrip(g_strdup(param)); + gchar **split = g_strsplit(str_param, " ", 2); + if(split){ + int output=-1; + if(split[0]) { + output = (int) strtol(split[0], NULL, 10); + } + if(output >=0 && split[1]){ + if(g_utf8_collate(split[1], _("enable"))==0){ + printf("enable output %i\n", output); + mpd_server_set_output_device(connection, output, 1); + }else if (g_utf8_collate(split[1], _("disable"))==0) { + mpd_server_set_output_device(connection, output, 0); + printf("disable output %i\n", output); + } + } + g_free(split); + } + g_free(str_param); +} + +static void crossfade_set(gpointer data, const char *param) { - if(strlen(param) > 0) + gchar *param_c = g_utf8_casefold(param, -1); + gchar *key_c = g_utf8_casefold(_("Off"), -1); + if(g_utf8_collate(param_c, key_c)==0) { - int volume = atoi(param); - mpd_status_set_volume(connection,volume); + mpd_status_set_crossfade(connection, 0); + } + else{ + int i = (int) strtol(param, NULL, 10); + if(i >= 0 && i < 60) + { + mpd_status_set_crossfade(connection, i); + } + } + g_free(key_c); + g_free(param_c); +} +static void volume_set(gpointer data, const char *param) +{ + int cur_volume = mpd_status_get_volume(connection); + /* if volume is disabled (current_volume < 0) ignore this command */ + if(strlen(param) > 0 && current_volume >= 0) + { + int volume = 0; + if(param[0] == '-' || param[0] == '+') { + volume = cur_volume; + } + volume += atoi(param); + mpd_status_set_volume(connection,volume); } } @@ -102,6 +154,45 @@ repeat_toggle(); } } + +static void set_single(gpointer data, const char *param) +{ + int val = mpd_server_check_command_allowed(connection, "single"); + if(val == MPD_SERVER_COMMAND_NOT_SUPPORTED) { + playlist3_message_show(pl3_messages, _("Single: The used MPD server is to old and does not support this."), ERROR_CRITICAL); + }else if (val == MPD_SERVER_COMMAND_NOT_ALLOWED) { + playlist3_message_show(pl3_messages, _("Single: You have insufficient permission to use this option."), ERROR_WARNING); + }else if (val == MPD_SERVER_COMMAND_ALLOWED) { + if(g_utf8_collate(param,"on") == 0){ + mpd_player_set_single(connection, TRUE); + }else if (g_utf8_collate(param, "off") == 0){ + mpd_player_set_single(connection, FALSE); + }else{ + mpd_player_set_single(connection, + !mpd_player_get_single(connection)); + } + } +} + +static void set_consume(gpointer data, const char *param) +{ + int val = mpd_server_check_command_allowed(connection, "consume"); + if(val == MPD_SERVER_COMMAND_NOT_SUPPORTED) { + playlist3_message_show(pl3_messages, _("Consume: The used MPD server is to old and does not support this."), ERROR_CRITICAL); + }else if (val == MPD_SERVER_COMMAND_NOT_ALLOWED) { + playlist3_message_show(pl3_messages, _("Consume: You have insufficient permission to use this option."), ERROR_WARNING); + }else if (val == MPD_SERVER_COMMAND_ALLOWED) { + if(g_utf8_collate(param,"on") == 0){ + mpd_player_set_consume(connection, TRUE); + }else if (g_utf8_collate(param, "off") == 0){ + mpd_player_set_consume(connection, FALSE); + }else{ + mpd_player_set_consume(connection, + !mpd_player_get_consume(connection)); + } + } +} + static void replace_command(gpointer user_data, const char *param) { gulong songs = 0; @@ -114,7 +205,7 @@ mpd_playlist_queue_commit(connection); } if(data->type == MPD_DATA_TYPE_SONG) { - mpd_playlist_queue_add(connection,data->song->file); + mpd_playlist_queue_add(connection,data->song->file); songs++; } } @@ -131,7 +222,7 @@ mpd_playlist_queue_commit(connection); } if(data->type == MPD_DATA_TYPE_SONG) { - mpd_playlist_queue_add(connection,data->song->file); + mpd_playlist_queue_add(connection,data->song->file); songs++; } } @@ -148,28 +239,116 @@ } } +static void seek_command(gpointer user_data, const char *param) +{ + int i = 0, j = 0; + gchar **fields; + if(!param) return; + if(!mpd_check_connected(connection)) return; + printf("seek: '%s'\n",param); + fields = g_strsplit(param, ":", -1); + /* Calculate time */ + for(j=0;fields && fields[j];j++){ + i = atoi(fields[j])+i*60; + } + if(param[0] == '+' || param[0] == '-') { + /* seek relative */ + mpd_player_seek(connection, mpd_status_get_elapsed_song_time(connection)+i); + }else{ + /* seek absolute */ + mpd_player_seek(connection, i); + } + g_strfreev(fields); +} + +static void stop_after_current_song_command(gpointer user_data, const char *param) +{ + int val = mpd_server_check_command_allowed(connection, "single"); + if(val == MPD_SERVER_COMMAND_NOT_SUPPORTED) { + playlist3_message_show(pl3_messages, _("Stop after current song: The used MPD server is to old and does not support this."), ERROR_CRITICAL); + }else if (val == MPD_SERVER_COMMAND_NOT_ALLOWED) { + playlist3_message_show(pl3_messages, _("Stop after current song: You have insufficient permission."), ERROR_WARNING); + }else if (val == MPD_SERVER_COMMAND_ALLOWED) { + playlist3_message_show(pl3_messages, _("Playback will be stopped after the current playing song."), ERROR_INFO); + mpd_player_set_repeat(connection, FALSE); + mpd_player_set_single(connection, TRUE); + } +} + +static void repeat_current_song_command(gpointer user_data, const char *param) +{ + int val = mpd_server_check_command_allowed(connection, "single"); + if(val == MPD_SERVER_COMMAND_NOT_SUPPORTED) { + playlist3_message_show(pl3_messages, _("Repeat current song: The used MPD server is to old and does not support this."), ERROR_CRITICAL); + }else if (val == MPD_SERVER_COMMAND_NOT_ALLOWED) { + playlist3_message_show(pl3_messages, _("Repeat current song: You have insufficient permission."), ERROR_WARNING); + }else if (val == MPD_SERVER_COMMAND_ALLOWED) { + playlist3_message_show(pl3_messages, _("The current song will be forever repeated."), ERROR_INFO); + mpd_player_set_repeat(connection, TRUE); + mpd_player_set_single(connection, TRUE); + } +} + +static void update_database_command(gpointer user_data, const char *param) +{ + int val = mpd_server_check_command_allowed(connection, "update"); + if(val == MPD_SERVER_COMMAND_NOT_SUPPORTED) { + playlist3_message_show(pl3_messages, _("Update database: The used MPD server is to old and does not support this."), ERROR_CRITICAL); + }else if (val == MPD_SERVER_COMMAND_NOT_ALLOWED) { + playlist3_message_show(pl3_messages, _("Update database: You have insufficient permission."), ERROR_WARNING); + }else if (val == MPD_SERVER_COMMAND_ALLOWED) { + mpd_database_update_dir(connection, "/"); + } +} + static void mpd_interaction_init(void) { /* Player control */ - gmpc_easy_command_add_entry(gmpc_easy_command,_("play"), "",_("start playback"), (GmpcEasyCommandCallback *)mpd_player_play, connection); - gmpc_easy_command_add_entry(gmpc_easy_command,_("pause"), "",_("pause playback"), (GmpcEasyCommandCallback *)mpd_player_pause, connection); - gmpc_easy_command_add_entry(gmpc_easy_command,_("next"), "",_("next song"), (GmpcEasyCommandCallback *)next_song, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("prev"), "",_("previous song"), (GmpcEasyCommandCallback *)prev_song, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("stop"), "",_("stop playback"), (GmpcEasyCommandCallback *)stop_song, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("play"), "",_("start playback"), (GmpcEasyCommandCallback *)mpd_player_play, connection); + gmpc_easy_command_add_entry(gmpc_easy_command,_("pause"), "",_("pause playback"), (GmpcEasyCommandCallback *)mpd_player_pause, connection); + gmpc_easy_command_add_entry(gmpc_easy_command,_("next"), "",_("next song"), (GmpcEasyCommandCallback *)next_song, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("prev"), "",_("previous song"), (GmpcEasyCommandCallback *)prev_song, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("stop"), "",_("stop playback"), (GmpcEasyCommandCallback *)stop_song, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("random"),"(on|off|)",_("Random (on|off)"),(GmpcEasyCommandCallback *)set_random, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("repeat"),"(on|off|)",_("Repeat (on|off)"),(GmpcEasyCommandCallback *)set_repeat, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("random"),"(on|off|)",_("Random (on|off)"),(GmpcEasyCommandCallback *)set_random, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("repeat"),"(on|off|)",_("Repeat (on|off)"),(GmpcEasyCommandCallback *)set_repeat, NULL); + + gmpc_easy_command_add_entry(gmpc_easy_command,_("single"),"(on|off|)",_("Single (on|off)"),(GmpcEasyCommandCallback *)set_single, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("consume"),"(on|off|)",_("Consume (on|off)"),(GmpcEasyCommandCallback *)set_consume, NULL); /* volume commands */ - gmpc_easy_command_add_entry(gmpc_easy_command,_("volume"),"[0-9]+",_("Volume "),(GmpcEasyCommandCallback *)volume_set, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("volume \\+"),"", _("Increase volume"),(GmpcEasyCommandCallback *)volume_up, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("volume -"),"", _("Decrease volume"),(GmpcEasyCommandCallback *)volume_down, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("mute"), "", _("Mute"),(GmpcEasyCommandCallback *)volume_mute, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("volume"),"[+-]?[0-9]+",_("Volume (+-)"),(GmpcEasyCommandCallback *)volume_set, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("mute"), "", _("Mute"),(GmpcEasyCommandCallback *)volume_mute, NULL); + + gmpc_easy_command_add_entry(gmpc_easy_command,_("crossfade"),C_("Regex for matching crossfade, translate off","([0-9]+|Off)"), _("Set Crossfade "),(GmpcEasyCommandCallback *)crossfade_set, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("output"),C_("Regex for matching output","[0-9]+ (Enable|Disable)"), + _("output X enable or disable"),(GmpcEasyCommandCallback *)output_set, NULL); /* basic playlist commands */ - gmpc_easy_command_add_entry(gmpc_easy_command,_("play"),".*",_("Play "),(GmpcEasyCommandCallback *)play_command, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("add"),".*",_("Add "),(GmpcEasyCommandCallback *)add_command, NULL); - gmpc_easy_command_add_entry(gmpc_easy_command,_("replace"),".*",_("Replace "),(GmpcEasyCommandCallback *)replace_command, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("play"),".*",_("Play "),(GmpcEasyCommandCallback *)play_command, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("add"),".*",_("Add "),(GmpcEasyCommandCallback *)add_command, NULL); + gmpc_easy_command_add_entry(gmpc_easy_command,_("replace"),".*",_("Replace "),(GmpcEasyCommandCallback *)replace_command, NULL); + + /* Basic seek commands */ + gmpc_easy_command_add_entry(gmpc_easy_command,_("seek"), "[+-]?[0-9:]+",_("Seek within the current song"), (GmpcEasyCommandCallback *)seek_command, NULL); + /* Advanced commands */ + gmpc_easy_command_add_entry(gmpc_easy_command, + _("stop after current song"), + "", + _("Stop playback after the current song"), + (GmpcEasyCommandCallback *)stop_after_current_song_command, NULL); + + gmpc_easy_command_add_entry(gmpc_easy_command, + _("repeat current song"), + "", + _("Repeat the current song"), + (GmpcEasyCommandCallback *)repeat_current_song_command, NULL); + + gmpc_easy_command_add_entry(gmpc_easy_command, + _("update database"), + "", + _("Update the database"), + (GmpcEasyCommandCallback *)update_database_command, NULL); } gmpcPlugin server_plug = { @@ -269,7 +448,6 @@ } if(!/*G_TRYLOCK*/g_mutex_trylock(connecting_lock)) { - debug_printf(DEBUG_ERROR, "Allready busy connecting to mpd.. not doing anything"); return FALSE; } /** @@ -277,7 +455,7 @@ */ string = connection_get_hostname(); mpd_set_hostname(connection,string); - /** + /** * Set port */ mpd_set_port(connection,connection_get_port()); @@ -295,19 +473,12 @@ { mpd_set_password(connection,""); } - /* - if(mpd_connect(connection) < 0) - { - debug_printf(DEBUG_INFO,"Connection failed\n"); - return TRUE; - } - */ g_thread_create((GThreadFunc)connection_thread, NULL, FALSE,NULL); connecting_pulse = g_timeout_add(200,(GSourceFunc)(connecting_pulse_callback),NULL); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(glade_xml_get_widget(pl3_xml, "pl3_progressbar")), _("Connecting")); gtk_widget_show(glade_xml_get_widget(pl3_xml, "pl3_progressbar")); - /* Set the title + /* Set the title update_mpd_status(); mpd_stats_update(connection); */ @@ -502,9 +673,9 @@ while(data != NULL && data->output_dev->id != -10) { gtk_list_store_append(store, &iter); - gtk_list_store_set(store, &iter, - 0, data->output_dev->enabled?TRUE:FALSE, - 1, data->output_dev->name, + gtk_list_store_set(store, &iter, + 0, data->output_dev->enabled?TRUE:FALSE, + 1, data->output_dev->name, 2, data->output_dev->id, -1); data = mpd_data_get_next(data); } @@ -767,7 +938,7 @@ GtkTreeIter iter; GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(xml, "cb_profiles"); GtkListStore *store = (GtkListStore *)gtk_combo_box_get_model(combo); - /* tell it to update all the information in the view. + /* tell it to update all the information in the view. * might be to much work, so check id*/ gchar *uid; if(gtk_combo_box_get_active_iter(combo,&iter) && id) @@ -784,8 +955,7 @@ } static void gmpc_connection_changed_pref_win(GmpcConnection *object, MpdObj *mi, int connected, GtkBuilder *xml) -{ - debug_printf(DEBUG_INFO, "set buttons %i", connected); +{ if(connected != mpd_check_connected(mi)) return; if(!connected) { @@ -801,7 +971,7 @@ void entry_auth_changed(GtkEntry *entry) { GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkComboBox *combo = (GtkComboBox *)gtk_builder_get_object(connection_pref_xml, "cb_profiles"); GtkTreeIter iter; GtkListStore *store = (GtkListStore *)gtk_combo_box_get_model(combo); @@ -820,7 +990,7 @@ void auth_enable_toggled(GtkToggleButton *but) { GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(connection_pref_xml, "cb_profiles"); GtkTreeIter iter; GtkTreeModel *store = gtk_combo_box_get_model(combo); @@ -831,8 +1001,8 @@ g_signal_handler_block(G_OBJECT(gmpc_profiles), *a); gmpc_profiles_set_do_auth(gmpc_profiles, uid, gtk_toggle_button_get_active(but)); - gtk_widget_set_sensitive((GtkWidget *)gtk_builder_get_object(connection_pref_xml, "entry_auth"), - gmpc_profiles_get_do_auth(gmpc_profiles, uid)); + gtk_widget_set_sensitive((GtkWidget *)gtk_builder_get_object(connection_pref_xml, "entry_auth"), + gmpc_profiles_get_do_auth(gmpc_profiles, uid)); g_signal_handler_unblock(G_OBJECT(gmpc_profiles), *a); q_free(uid); @@ -843,7 +1013,7 @@ void update_preferences_name(GtkWidget *entry) { GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(connection_pref_xml, "cb_profiles"); GtkTreeIter iter; GtkTreeModel *store = gtk_combo_box_get_model(combo); @@ -864,11 +1034,33 @@ } } +void entry_music_directory_changed(GtkEntry *entry) +{ + GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(connection_pref_xml, "cb_profiles"); + GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + GtkTreeIter iter; + GtkTreeModel *store = gtk_combo_box_get_model(combo); + + if(gtk_combo_box_get_active_iter(combo,&iter)) + { + char *value= NULL, *uid = NULL; + gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &uid, 1,&value, -1); + g_signal_handler_block(G_OBJECT(gmpc_profiles), *a); + + gmpc_profiles_set_music_directory(gmpc_profiles, uid, + (char *)gtk_entry_get_text(GTK_ENTRY(entry))); + g_signal_handler_unblock(G_OBJECT(gmpc_profiles), *a); + + q_free(uid); + q_free(value); + } +} void update_preferences_hostname(GtkWidget *entry) { GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(connection_pref_xml, "cb_profiles"); GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkTreeIter iter; GtkTreeModel *store = gtk_combo_box_get_model(combo); @@ -889,7 +1081,7 @@ void update_preferences_portnumber(GtkWidget *wid) { GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(connection_pref_xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(connection_pref_xml, "cb_profiles"); GtkTreeIter iter; GtkTreeModel *store = gtk_combo_box_get_model(combo); @@ -913,7 +1105,7 @@ /* update timeout live */ if(mpd_check_connected(connection)) { - mpd_set_connection_timeout(connection, + mpd_set_connection_timeout(connection, (float)gtk_spin_button_get_value(GTK_SPIN_BUTTON((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "timeout_spin")))); } } @@ -933,7 +1125,7 @@ if(gtk_combo_box_get_active_iter(combo,&iter)) { char *uid = NULL; - gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &uid, -1); + gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &uid, -1); if(uid) { connection_set_current_profile(uid); @@ -949,7 +1141,7 @@ if(!mpd_check_connected(connection)) { connect_to_mpd(); - } + } } } @@ -957,7 +1149,6 @@ { /* set that user doesn't want to connect */ gmpc_connected = FALSE; - debug_printf(DEBUG_INFO,"**DEBUG** disconnect\n"); mpd_disconnect(connection); } @@ -973,10 +1164,6 @@ connection_pref_xml = NULL; } } - else - { - debug_printf(DEBUG_ERROR, "No child widget to destroy\n"); - } } void connection_profiles_changed(GtkComboBox *combo, gpointer data) { @@ -997,13 +1184,13 @@ * Set hostname */ string = g_strdup(gmpc_profiles_get_hostname(gmpc_profiles, uid)); - gtk_entry_set_text(GTK_ENTRY((GtkWidget *) gtk_builder_get_object(xml, "hostname_entry")), + gtk_entry_set_text(GTK_ENTRY((GtkWidget *) gtk_builder_get_object(xml, "hostname_entry")), string); g_free(string); /** - * Set port number + * Set port number */ - gtk_spin_button_set_value(GTK_SPIN_BUTTON((GtkWidget *) gtk_builder_get_object(xml, "port_spin")), + gtk_spin_button_set_value(GTK_SPIN_BUTTON((GtkWidget *) gtk_builder_get_object(xml, "port_spin")), gmpc_profiles_get_port(gmpc_profiles, uid)); /** @@ -1011,9 +1198,9 @@ */ string = g_strdup(gmpc_profiles_get_password(gmpc_profiles, uid)); gtk_toggle_button_set_active((GtkToggleButton *) - gtk_builder_get_object(xml, "ck_auth"), + gtk_builder_get_object(xml, "ck_auth"), gmpc_profiles_get_do_auth(gmpc_profiles, uid)); - gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(xml, "entry_auth"), + gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(xml, "entry_auth"), gmpc_profiles_get_do_auth(gmpc_profiles, uid)); gtk_entry_set_text(GTK_ENTRY((GtkWidget *) gtk_builder_get_object(xml, "entry_auth")),/*string);*/ @@ -1021,6 +1208,12 @@ g_free(string); /** + * Set music directory + */ + string = gmpc_profiles_get_music_directory(gmpc_profiles, uid); + gtk_entry_set_text(GTK_ENTRY((GtkWidget *) gtk_builder_get_object(xml, "music_directory")), + string?string:""); + /** * Only enable the rmeove button when there is more then 1 profile */ if(gtk_tree_model_iter_n_children(GTK_TREE_MODEL(store),NULL) >1) @@ -1042,7 +1235,7 @@ gchar *value = NULL; GtkBuilder *xml = connection_pref_xml; GtkWidget *vbox = (GtkWidget *) gtk_builder_get_object(xml, "connection-vbox"); - gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); + gulong *a = g_object_get_data(G_OBJECT(vbox),"profile-signal-handler"); GtkComboBox *combo = (GtkComboBox *) gtk_builder_get_object(xml, "cb_profiles"); GtkTreeIter iter; GtkTreeModel *store = gtk_combo_box_get_model(combo); @@ -1112,18 +1305,18 @@ gtk_cell_layout_pack_start(GTK_CELL_LAYOUT((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "cb_profiles")), renderer, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "cb_profiles")), renderer, "text", 1, NULL); - mult = gmpc_profiles_get_profiles_ids(gmpc_profiles); + mult = gmpc_profiles_get_profiles_ids(gmpc_profiles); if(mult) { int i = 0; iter = mult; do{ GtkTreeIter piter; - const gchar *value = gmpc_profiles_get_name(gmpc_profiles, (char *)iter->data); + const gchar *value = gmpc_profiles_get_name(gmpc_profiles, (char *)iter->data); gtk_list_store_append(store, &piter); gtk_list_store_set(store, &piter, 0,iter->data, 1,value,-1); if(!strcmp((char *)(iter->data), def_profile)) - { + { gtk_combo_box_set_active(GTK_COMBO_BOX((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "cb_profiles")),i); } i++; @@ -1145,9 +1338,9 @@ connection_profiles_changed(GTK_COMBO_BOX((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "cb_profiles")),NULL); - gtk_spin_button_set_value(GTK_SPIN_BUTTON((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "timeout_spin")), + gtk_spin_button_set_value(GTK_SPIN_BUTTON((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "timeout_spin")), (gdouble)cfg_get_single_value_as_float_with_default(config,"connection", "timeout",DEFAULT_TIMEOUT)); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "ck_autocon")), + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "ck_autocon")), cfg_get_single_value_as_int_with_default(config,"connection", "autoconnect", 0)); @@ -1155,12 +1348,12 @@ if(!mpd_check_connected(connection)) { gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_con"), TRUE); - gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_dis"), FALSE); + gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_dis"), FALSE); } else { gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_con"), FALSE); - gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_dis"), TRUE); + gtk_widget_set_sensitive((GtkWidget *) gtk_builder_get_object(connection_pref_xml, "bt_dis"), TRUE); } gtk_container_add(GTK_CONTAINER(container),vbox); //glade_xml_signal_autoconnect(connection_pref_xml); @@ -1187,7 +1380,7 @@ gchar *profile = gmpc_profiles_get_current(gmpc_profiles); /** * if NULL, or length 0, then disable, else set - */ + */ if(password && password[0] != '\0') { gmpc_profiles_set_password(gmpc_profiles, profile, password); @@ -1234,6 +1427,13 @@ g_free(profile); return retv; } +char *connection_get_music_directory(void) +{ + gchar *profile = gmpc_profiles_get_current(gmpc_profiles); + gchar *retv = gmpc_profiles_get_music_directory(gmpc_profiles, profile); + g_free(profile); + return retv; +} /** * Helper menu functions * @@ -1241,24 +1441,24 @@ void submenu_artist_clicked(GtkWidget *item) { gchar *artist = g_object_get_data(G_OBJECT(item), "artist"); - add_artist(artist); + add_artist(artist); } void submenu_album_clicked(GtkWidget *item) { gchar *artist = g_object_get_data(G_OBJECT(item), "artist"); gchar *album = g_object_get_data(G_OBJECT(item), "album"); - add_album(artist,album); + add_album(artist,album); } void submenu_genre_clicked(GtkWidget *item) { gchar *genre = g_object_get_data(G_OBJECT(item), "genre"); - add_genre(genre); + add_genre(genre); } void submenu_dir_clicked(GtkWidget *item) { gchar *dir = g_object_get_data(G_OBJECT(item), "path"); - add_directory(dir); + add_directory(dir); } void submenu_for_song(GtkWidget *menu, mpd_Song *song) @@ -1271,15 +1471,15 @@ { gchar *schema = g_uri_parse_scheme(song->file); /* If it has a schame, it isn't an mpd url */ - if(schema) + if(schema) { g_object_ref_sink(smenu); g_object_unref(smenu); g_free(schema); return; - } + } } - if(song->artist && song->album) + if(song->artist && song->album) { /* Add all from album */ sitem = gtk_image_menu_item_new_with_label(_("All from album")); diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/playlist3.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/playlist3.c --- gmpc-0.18.0/src/playlist3.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/playlist3.c 2009-09-21 11:15:59.000000000 +0100 @@ -24,14 +24,17 @@ #include #include #include "main.h" +#include "plugin.h" #include "misc.h" #include "playlist3.h" /* every part split out over multiple files */ #include "revision.h" #include "gmpc-clicklabel.h" -#include "gmpc-liststore-sort.h" +#include "vala/gmpc-liststore-sort.h" #include "gmpc-metaimage.h" #include "vala/gmpc-progress.h" +#include "vala/gmpc-favorites.h" +#include "vala/gmpc-metadata-browser2.h" #ifdef ENABLE_IGE #include "ige-mac-menu.h" #include "ige-mac-dock.h" @@ -57,6 +60,7 @@ GtkWidget *metaimage_album_art = NULL; GtkWidget *metaimage_artist_art = NULL; +GmpcFavoritesButton *favorites_button = NULL; /** * Widgets used in the header. * and the new progresbar @@ -86,7 +90,7 @@ void set_playlist_format(void); static void playlist_player_volume_changed(GtkWidget * vol_but); -void pl3_option_menu_activate(void); + /* Glade declarations, otherwise these would be static */ void about_window(void); @@ -97,11 +101,12 @@ void show_cover_case_tb(GtkToggleButton * but); void save_possize_enable_tb(GtkToggleButton *); void playlist_menu_repeat_changed(GtkCheckMenuItem *); +void playlist_menu_single_mode_changed(GtkCheckMenuItem * menu); +void playlist_menu_consume_changed(GtkCheckMenuItem * menu); + void playlist_menu_random_changed(GtkCheckMenuItem *); void playlist_menu_cover_image_changed(GtkCheckMenuItem *); -void playlist_player_cover_art_pressed(GtkEventBox *, GdkEventButton *); void hide_on_close_enable_tb(GtkToggleButton * but); -void pl3_window_fullscreen(void); gboolean pl3_close(void); static void pl3_update_profiles_menu(GmpcProfiles * prof, const int changed, const int col, const gchar * id); gboolean playlist3_enter_notify_event(GtkWidget * wid, GdkEventCrossing * event, gpointer data); @@ -112,6 +117,8 @@ static void playlist3_fill_server_menu(void); static void playlist3_server_update_db(void); +void easy_command_help_window(void); + /* Old category browser style */ static int old_type = -1; @@ -137,6 +144,14 @@ static guint updating_id = 0; +/** + * Status icons + */ + +static void main_window_update_status_icons(void); +static GtkWidget *si_repeat = NULL; +static GtkWidget *si_random = NULL; + /* Get the type of the selected row.. * -1 means no row selected */ @@ -402,92 +417,105 @@ gmpc_plugin_browser_key_press_event(plugins[i], mw, event, type); } } - - list = cfg_get_key_list(config, KB_GLOBAL); - /* If no keybindings are found, add the default ones */ - if (list == NULL) { - for (i = 0; i < KB_NUM; i++) { - cfg_set_single_value_as_int(config, KB_GLOBAL, Keybindname[i], KeybindingDefault[i][0]); - cfg_set_single_value_as_int(config, MK_GLOBAL, Keybindname[i], KeybindingDefault[i][1]); - cfg_set_single_value_as_int(config, AC_GLOBAL, Keybindname[i], KeybindingDefault[i][2]); - } + if(event->keyval > 0) + { list = cfg_get_key_list(config, KB_GLOBAL); - } - /* Walk through the keybinding list */ - if (list) { - int edited = 0; - conf_mult_obj *iter = NULL; - /* Sort list on name. so chains can be defined */ - do { - edited = 0; - iter = list; + /* If no keybindings are found, add the default ones */ + if (list == NULL) { + for (i = 0; i < KB_NUM; i++) { + cfg_set_single_value_as_int(config, KB_GLOBAL, Keybindname[i], KeybindingDefault[i][0]); + cfg_set_single_value_as_int(config, MK_GLOBAL, Keybindname[i], KeybindingDefault[i][1]); + cfg_set_single_value_as_int(config, AC_GLOBAL, Keybindname[i], KeybindingDefault[i][2]); + } + list = cfg_get_key_list(config, KB_GLOBAL); + } + /* Walk through the keybinding list */ + if (list) { + int edited = 0; + conf_mult_obj *iter = NULL; + /* Sort list on name. so chains can be defined */ do { - if (iter->next) { - if (strcmp(iter->key, iter->next->key) > 0) { - char *temp = iter->key; - iter->key = iter->next->key; - iter->next->key = temp; - edited = 1; + edited = 0; + iter = list; + do { + if (iter->next) { + if (strcmp(iter->key, iter->next->key) > 0) { + char *temp = iter->key; + iter->key = iter->next->key; + iter->next->key = temp; + edited = 1; + } + } + iter = iter->next; + } while (iter); + } while (edited); + + for (iter = list; iter; iter = iter->next) { + guint keycode = (guint)cfg_get_single_value_as_int_with_default(config, KB_GLOBAL, + iter->key, -1); + guint keymask = (guint)cfg_get_single_value_as_int_with_default(config, MK_GLOBAL, + iter->key, 0); + + /* ignore numpad and caps lock */ + if (keycode > 0 && ((event->state&(GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK)) == (keymask)) + && (keycode == event->keyval)) { + int action = cfg_get_single_value_as_int_with_default(config, AC_GLOBAL, + iter->key, -1); + found = 1; + /* Play control */ + if (action == KB_ACTION_PLAY) + play_song(); + else if (action == KB_ACTION_NEXT) + next_song(); + else if (action == KB_ACTION_PREV) + prev_song(); + else if (action == KB_ACTION_STOP) + stop_song(); + else if (action == KB_ACTION_FF) + seek_ps(5); + else if (action == KB_ACTION_REW) + seek_ps(-5); + /* Other actions */ + else if (action == KB_ACTION_CLEAR_PLAYLIST) + mpd_playlist_clear(connection); + else if (action == KB_ACTION_FULL_ADD_PLAYLIST) + mpd_playlist_add(connection, "/"); + /* View control */ + else if (action == KB_ACTION_INTERFACE_COLLAPSE) + playlist_zoom_out(); + else if (action == KB_ACTION_INTERFACE_EXPAND) + playlist_zoom_in(); + else if (action == KB_ACTION_FULLSCREEN) + pl3_window_fullscreen(); + /* Program control */ + else if (action == KB_ACTION_QUIT) + main_quit(); + else if (action == KB_ACTION_CLOSE) + pl3_close(); + else if (action == KB_ACTION_SINGLE_MODE){ + mpd_player_set_single(connection, !mpd_player_get_single(connection)); + } + else if (action == KB_ACTION_CONSUME){ + mpd_player_set_consume(connection, !mpd_player_get_consume(connection)); + } + else if (action == KB_ACTION_REPEAT) + mpd_player_set_repeat(connection, !mpd_player_get_repeat(connection)); + else if (action == KB_ACTION_RANDOM) + mpd_player_set_random(connection, !mpd_player_get_random(connection)); + else if (action == KB_ACTION_TOGGLE_MUTE) + volume_toggle_mute(); + else { + debug_printf(DEBUG_ERROR, + "Keybinding action (%i) for: %i %i is invalid\n", action, event->state, event->keyval); + found = 0; } - } - iter = iter->next; - } while (iter); - } while (edited); - - for (iter = list; iter; iter = iter->next) { - int keycode = cfg_get_single_value_as_int_with_default(config, KB_GLOBAL, - iter->key, -1); - int keymask = cfg_get_single_value_as_int_with_default(config, MK_GLOBAL, - iter->key, 0); - - if (keycode >= 0 && (event->state == (unsigned)keymask) - && ((unsigned)keycode == event->keyval)) { - int action = cfg_get_single_value_as_int_with_default(config, AC_GLOBAL, - iter->key, -1); - found = 1; - /* Play control */ - if (action == KB_ACTION_PLAY) - play_song(); - else if (action == KB_ACTION_NEXT) - next_song(); - else if (action == KB_ACTION_PREV) - prev_song(); - else if (action == KB_ACTION_STOP) - stop_song(); - /* Other actions */ - else if (action == KB_ACTION_CLEAR_PLAYLIST) - mpd_playlist_clear(connection); - else if (action == KB_ACTION_FULL_ADD_PLAYLIST) - mpd_playlist_add(connection, "/"); - /* View control */ - else if (action == KB_ACTION_INTERFACE_COLLAPSE) - playlist_zoom_out(); - else if (action == KB_ACTION_INTERFACE_EXPAND) - playlist_zoom_in(); - else if (action == KB_ACTION_FULLSCREEN) - pl3_window_fullscreen(); - /* Program control */ - else if (action == KB_ACTION_QUIT) - main_quit(); - else if (action == KB_ACTION_CLOSE) - pl3_close(); - else if (action == KB_ACTION_REPEAT) - mpd_player_set_repeat(connection, !mpd_player_get_repeat(connection)); - else if (action == KB_ACTION_RANDOM) - mpd_player_set_random(connection, !mpd_player_get_random(connection)); - else if (action == KB_ACTION_TOGGLE_MUTE) - volume_toggle_mute(); - else { - debug_printf(DEBUG_ERROR, - "Keybinding action (%i) for: %i %i is invalid\n", action, event->state, event->keyval); - found = 0; } } + cfg_free_multiple(list); + } + if (!found) { + return FALSE; } - cfg_free_multiple(list); - } - if (!found) { - return FALSE; } /* don't propagate */ @@ -599,24 +627,32 @@ return TRUE; } +static GtkWidget *si_update = NULL; static void pl3_updating_changed(MpdObj * mi, int updating) { char *mesg = _("MPD database is updating"); if (pl3_xml != NULL) { gtk_statusbar_pop(GTK_STATUSBAR(glade_xml_get_widget(pl3_xml, "statusbar1")), updating_id); - gtk_widget_hide(glade_xml_get_widget(pl3_xml, "image_updating")); if (updating > 0) { updating_id = gtk_statusbar_get_context_id(GTK_STATUSBAR(glade_xml_get_widget(pl3_xml, "statusbar1")), mesg); gtk_statusbar_push(GTK_STATUSBAR(glade_xml_get_widget(pl3_xml, "statusbar1")), updating_id, mesg); - gtk_widget_show(glade_xml_get_widget(pl3_xml, "image_updating")); - playlist3_show_error_message(_("MPD is updating its database"), ERROR_INFO); } else if (updating_id > 0) { playlist3_show_error_message(_("MPD finished updating its database"), ERROR_INFO); updating_id = 0; } } + + if(updating && si_update == NULL) { + si_update = gtk_image_new_from_icon_name("gtk-refresh", GTK_ICON_SIZE_MENU); + gtk_widget_set_tooltip_text(GTK_WIDGET(si_update), _("MPD is rescanning the database")); + gtk_widget_show(GTK_WIDGET(si_update)); + main_window_add_status_icon(si_update); + }else if (!updating && si_update != NULL) { + gtk_widget_destroy(si_update); + si_update = NULL; + } } /* create the playlist view @@ -662,31 +698,17 @@ if (info != 99) { int found = 0; const gchar *url_data = (gchar *) data->data; - /* Hack, move this too libmpd? */ - char **handlers = mpd_server_get_url_handlers(connection); - int has_http = FALSE, has_file = FALSE; - int i = 0; - for (i = 0; handlers && handlers[i]; i++) { - if (strcmp(handlers[i], "http://") == 0) { - has_http = TRUE; - } else if (strcmp(handlers[i], "file://") == 0) { - has_file = TRUE; - } - } - if (handlers) - g_strfreev(handlers); + int i; if (url_data) { gchar **url = g_uri_list_extract_uris(url_data); for (i = 0; url && url[i]; i++) { - if (has_file && strncmp(url[i], "file://", 7) == 0) { - char *uri = g_uri_unescape_string(url[i], ""); - mpd_playlist_add(connection, uri); - g_free(uri); - found = 1; - } else if (has_http && strncmp(url[i], "http://", 7) == 0) { + gchar *scheme = g_uri_parse_scheme(url[i]); + /* Don't add lines withouth an actual scheme. */ + if(scheme) + { url_start_real(url[i]); - found = 1; + g_free(scheme); } } if (url) @@ -729,7 +751,6 @@ */ void pl3_pb_seek_event(GtkWidget * pb, guint seek_time, gpointer user_data) { - printf("seek to: %i\n", (int)seek_time); mpd_player_seek(connection, (int)seek_time); } @@ -813,14 +834,17 @@ * make the playlist update itself */ playlist_status_changed(connection, - MPD_CST_STATE | MPD_CST_SONGID | + MPD_CST_STATE | MPD_CST_SONGID | MPD_CST_NEXTSONG | MPD_CST_ELAPSED_TIME | MPD_CST_VOLUME | - MPD_CST_REPEAT | MPD_CST_RANDOM | MPD_CST_PERMISSION, NULL); + MPD_CST_REPEAT | MPD_CST_RANDOM | MPD_CST_PERMISSION + | MPD_CST_SINGLE_MODE | MPD_CST_CONSUME_MODE | MPD_CST_UPDATING + , NULL); /** * Also need updating */ pl3_option_menu_activate(); + pl3_tool_menu_update(); playlist3_fill_server_menu(); @@ -916,17 +940,23 @@ #endif /* create tree store for the "category" view */ if (pl3_tree == NULL) { + GType types[] = { + G_TYPE_INT, /* row type, see free_type struct */ + G_TYPE_STRING, /* display name */ + G_TYPE_STRING, /* full path and stuff for backend */ + G_TYPE_STRING, /* icon id */ + G_TYPE_BOOLEAN, /* cat proc */ + G_TYPE_UINT, /* icon size */ + G_TYPE_STRING, /* browser markup */ + G_TYPE_INT, /* ordering */ + G_TYPE_STRING /* Num items */ + }; /* song id, song title */ - pl3_tree = (GtkTreeModel *) gmpc_liststore_sort_new(PL3_CAT_NROWS, G_TYPE_INT, /* row type, see free_type struct */ - G_TYPE_STRING, /* display name */ - G_TYPE_STRING, /* full path and stuff for backend */ - G_TYPE_STRING, /* icon id */ - G_TYPE_BOOLEAN, /* cat proc */ - G_TYPE_UINT, /* icon size */ - G_TYPE_STRING, /* browser markup */ - G_TYPE_INT, /* ordering */ - G_TYPE_STRING /* Num items */ - ); + pl3_tree = (GtkTreeModel *) gmpc_liststore_sort_new(); + gtk_list_store_set_column_types(GTK_LIST_STORE(pl3_tree), + PL3_CAT_NROWS, + types + ); } g_signal_connect(G_OBJECT(pl3_tree), "row_inserted", G_CALLBACK(thv_row_inserted_signal), NULL); g_signal_connect(G_OBJECT(pl3_tree), "row_changed", G_CALLBACK(thv_row_changed_signal), NULL); @@ -943,15 +973,16 @@ renderer = gtk_cell_renderer_pixbuf_new(); column = gtk_tree_view_column_new(); gtk_tree_view_column_pack_start(column, renderer, FALSE); - gtk_tree_view_column_set_attributes(column, renderer, "icon-name", 3, "stock-size", 5, NULL); + g_object_set(G_OBJECT(renderer), "stock-size", GTK_ICON_SIZE_DND, NULL); + gtk_tree_view_column_set_attributes(column, renderer, "icon-name", PL3_CAT_ICON_ID, NULL); renderer = gtk_cell_renderer_text_new(); /* insert the column in the tree */ gtk_tree_view_column_pack_start(column, renderer, TRUE); - gtk_tree_view_column_set_attributes(column, renderer, "text", 1, NULL); + gtk_tree_view_column_set_attributes(column, renderer, "text", PL3_CAT_TITLE, NULL); g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); - gtk_tree_view_set_search_column(GTK_TREE_VIEW(tree), 1); + gtk_tree_view_set_search_column(GTK_TREE_VIEW(tree), PL3_CAT_TITLE); g_signal_connect_after(G_OBJECT(sel), "changed", G_CALLBACK(pl3_cat_sel_changed), NULL); @@ -1004,15 +1035,26 @@ new_pb = pb; /* Add volume slider. */ + volume_button = gtk_volume_button_new(); gtk_button_set_relief(GTK_BUTTON(volume_button), GTK_RELIEF_NORMAL); gtk_box_pack_end(GTK_BOX(glade_xml_get_widget(pl3_xml, "hbox12" /*playlist_player" */ )), volume_button, FALSE, FALSE, 0); gtk_widget_show_all(volume_button); + /* Make sure change is applied */ + + playlist3_new_header(); + favorites_button = gmpc_favorites_button_new(); + gtk_box_pack_start(GTK_BOX(glade_xml_get_widget(pl3_xml, "hbox10")), + GTK_WIDGET(favorites_button), FALSE, FALSE, 0); + gtk_widget_show(GTK_WIDGET(favorites_button)); + playlist_status_changed(connection, - MPD_CST_STATE | MPD_CST_SONGID | + MPD_CST_STATE | MPD_CST_SONGID | MPD_CST_NEXTSONG | MPD_CST_ELAPSED_TIME | MPD_CST_VOLUME | - MPD_CST_REPEAT | MPD_CST_RANDOM | MPD_CST_PERMISSION, NULL); + MPD_CST_REPEAT | MPD_CST_RANDOM | MPD_CST_PERMISSION + | MPD_CST_SINGLE_MODE | MPD_CST_CONSUME_MODE + , NULL); g_signal_connect(G_OBJECT(volume_button), "value_changed", G_CALLBACK(playlist_player_volume_changed), NULL); /* Restore values from config */ @@ -1022,9 +1064,8 @@ cfg_get_single_value_as_int_with_default (config, "playlist", "cover-image-enable", 0)); - /* Make sure change is applied */ - playlist3_new_header(); + /* connect signals that are defined in the gui description */ glade_xml_signal_autoconnect(pl3_xml); @@ -1145,7 +1186,8 @@ cfg_set_single_value_as_int(config, AC_GLOBAL, Keybindname[i], KeybindingDefault[i][2]); } list = cfg_get_key_list(config, KB_GLOBAL); - } else { + } + if(list){ GtkAccelGroup *ac = gtk_accel_group_new(); GtkWidget *pl3_win = playlist3_get_window(); int action_seen = 0; @@ -1183,6 +1225,10 @@ item = glade_xml_get_widget(pl3_xml, "menu_random"); } else if (action == KB_ACTION_TOGGLE_MUTE) { item = glade_xml_get_widget(pl3_xml, "menu_mute_toggle"); + } else if (action == KB_ACTION_SINGLE_MODE) { + item = glade_xml_get_widget(pl3_xml, "menu_single_mode_toggle"); + } else if (action == KB_ACTION_CONSUME) { + item = glade_xml_get_widget(pl3_xml, "menu_consume_toggle"); } if (item) { @@ -1193,6 +1239,29 @@ } cfg_free_multiple(list); } + + /** + * Add status icons + */ + si_repeat = gtk_event_box_new(); + g_signal_connect(G_OBJECT(si_repeat), "button-release-event", G_CALLBACK(repeat_toggle), NULL); + gtk_container_add(GTK_CONTAINER(si_repeat), + gtk_image_new_from_icon_name("stock_repeat", GTK_ICON_SIZE_MENU)); + gtk_widget_show_all(si_repeat); + main_window_add_status_icon(si_repeat); + + si_random = gtk_event_box_new(); + g_signal_connect(G_OBJECT(si_random), "button-release-event", G_CALLBACK(random_toggle), NULL); + gtk_container_add(GTK_CONTAINER(si_random), + gtk_image_new_from_icon_name("stock_shuffle", GTK_ICON_SIZE_MENU)); + gtk_widget_show_all(si_random); + main_window_add_status_icon(si_random); + + /* Listen for icon changed + g_object_connect(gtk_icon_theme_get_default(), "changed", + G_CALLBACK(main_window_update_status_icons), NULL); + */ + main_window_update_status_icons(); } /** @@ -1340,23 +1409,6 @@ q_free(path); } -/* Playlist player */ -static void playlist_player_set_song(MpdObj * mi) -{ - char buffer[1024]; - mpd_Song *song = mpd_playlist_get_current_song(mi); - if (song) { - char *mark = cfg_get_single_value_as_string_with_default(config, - "playlist", - "player_markup", - DEFAULT_PLAYLIST_PLAYER_MARKUP); - /** - * Render song markup - */ - mpd_song_markup_escaped(buffer, 1024, mark, song); - cfg_free_string(mark); - } -} /** * Menu Callback functions @@ -1378,6 +1430,23 @@ } } +void playlist_menu_single_mode_changed(GtkCheckMenuItem * menu) +{ + int active = gtk_check_menu_item_get_active(menu); + if (active != mpd_player_get_single(connection)) { + mpd_player_set_single(connection, active); + } +} + +void playlist_menu_consume_changed(GtkCheckMenuItem * menu) +{ + int active = gtk_check_menu_item_get_active(menu); + if (active != mpd_player_get_consume(connection)) { + mpd_player_set_consume(connection, active); + } +} + + /** * This is artist image * FIXME: Rename @@ -1500,6 +1569,8 @@ } gtk_window_set_resizable(GTK_WINDOW(pl3_win), FALSE); + gtk_widget_hide(glade_xml_get_widget(pl3_xml, "vbox5")); + break; case PLAYLIST_SMALL: gtk_widget_hide(glade_xml_get_widget(pl3_xml, "vbox5")); if (!cfg_get_single_value_as_int_with_default(config, "playlist", "button-heading", FALSE)) @@ -1516,6 +1587,8 @@ cfg_set_single_value_as_int(config, "playlist", "zoomlevel", pl3_zoom); } + + /** * Update the window to status changes in mpd */ @@ -1534,6 +1607,7 @@ * Player state changed */ if (what & MPD_CST_STATE) { + mpd_Song *song = mpd_playlist_get_current_song(connection); #ifdef ENABLE_IGE IgeMacDock *dock = ige_mac_dock_get_default(); GdkPixbuf *pb; @@ -1557,11 +1631,6 @@ (pl3_xml, "pp_but_play_img")), "gtk-media-pause", GTK_ICON_SIZE_BUTTON); /** - * Update song indicator in window - */ - playlist_player_set_song(mi); - - /** * Update window title */ mpd_song_markup(buffer, 1024, markup, mpd_playlist_get_current_song(connection)); @@ -1626,6 +1695,12 @@ } playlist3_update_header(); + + if ( state == MPD_PLAYER_PLAY|| state == MPD_PLAYER_PAUSE) { + gmpc_favorites_button_set_song(favorites_button, song); + }else{ + gmpc_favorites_button_set_song(favorites_button, NULL); + } } /** * Handle song change or Playlist change @@ -1633,9 +1708,6 @@ */ if (what & MPD_CST_SONGID || what & MPD_CST_SONGPOS || what & MPD_CST_PLAYLIST) { playlist3_update_header(); - if (mpd_player_get_state(mi) == MPD_PLAYER_PLAY) { - playlist_player_set_song(mi); - } /* make is update markups and stuff */ playlist_status_changed(mi, MPD_CST_STATE, NULL); } @@ -1667,6 +1739,34 @@ (pl3_xml, "menu_random")), mpd_player_get_random(connection)); } } + if(what&(MPD_CST_RANDOM|MPD_CST_REPEAT)) { + main_window_update_status_icons(); + } + if (what & MPD_CST_SINGLE_MODE) { + if (mpd_check_connected(connection)) { + char *string = g_strdup_printf(_("Single mode: %s"), + (mpd_player_get_single(connection)) ? _("On") : _("Off")); + pl3_push_statusbar_message(string); + q_free(string); + + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM + (glade_xml_get_widget + (pl3_xml, "menu_single_mode_toggle")), mpd_player_get_single(connection)); + } + } + + if (what & MPD_CST_CONSUME_MODE ) { + if (mpd_check_connected(connection)) { + char *string = g_strdup_printf(_("Consume: %s"), + (mpd_player_get_consume(connection)) ? _("On") : _("Off")); + pl3_push_statusbar_message(string); + q_free(string); + + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM + (glade_xml_get_widget + (pl3_xml, "menu_consume_toggle")), mpd_player_get_consume(connection)); + } + } if (what & MPD_CST_ELAPSED_TIME) { if (mpd_check_connected(connection)) { int totalTime = mpd_status_get_total_song_time(connection); @@ -1679,14 +1779,31 @@ } if (what & MPD_CST_VOLUME) { int volume = gtk_scale_button_get_value(GTK_SCALE_BUTTON(volume_button)) * 100; + int new_volume = mpd_status_get_volume(connection); /* don't do anything if nothing is changed */ - if (mpd_status_get_volume(connection) != volume) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(volume_button), mpd_status_get_volume(connection) / 100.0); + if(new_volume < 0){ + gtk_widget_set_sensitive(volume_button, FALSE); + }else + { + gtk_widget_set_sensitive(volume_button, TRUE); + if (new_volume != volume) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(volume_button), new_volume / 100.0); + } } } if (what & MPD_CST_PERMISSION) { /* Check for control */ + if (mpd_server_check_command_allowed(connection, "single") == MPD_SERVER_COMMAND_ALLOWED && mpd_check_connected(connection)) { + gtk_widget_set_sensitive(glade_xml_get_widget(pl3_xml, "menu_single_mode_toggle"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(pl3_xml, "menu_single_mode_toggle"), FALSE); + } + if (mpd_server_check_command_allowed(connection, "consume") == MPD_SERVER_COMMAND_ALLOWED && mpd_check_connected(connection)) { + gtk_widget_set_sensitive(glade_xml_get_widget(pl3_xml, "menu_consume_toggle"), TRUE); + } else { + gtk_widget_set_sensitive(glade_xml_get_widget(pl3_xml, "menu_consume_toggle"), FALSE); + } if (mpd_server_check_command_allowed(connection, "play") == MPD_SERVER_COMMAND_ALLOWED && mpd_check_connected(connection)) { gtk_widget_set_sensitive(glade_xml_get_widget(pl3_xml, "pl3_button_control_box"), TRUE); @@ -1723,27 +1840,38 @@ if (what & MPD_CST_OUTPUT) { playlist3_fill_server_menu(); } -} + if (what & MPD_CST_NEXTSONG) { -void playlist_player_cover_art_pressed(GtkEventBox * event_widget, GdkEventButton * event) -{ - mpd_Song *song = NULL; - int state = mpd_player_get_state(connection); - if (state == MPD_PLAYER_STOP || state == MPD_PLAYER_UNKNOWN) - return; - if (!mpd_check_connected(connection)) - return; - song = mpd_playlist_get_current_song(connection); - if (song) { - info2_activate(); - info2_fill_song_view(song); + GtkWidget *next_button = glade_xml_get_widget(pl3_xml, "button9"); + if(next_button) + { + int i = mpd_player_get_next_song_id(mi); + if(i >= 0 ) + { + mpd_Song *song = mpd_playlist_get_song(mi, i); + if(song) + { + mpd_song_markup(buffer, 1024, + "[%title% - &[%artist%]]|%shortfile%", + song); + gtk_widget_set_tooltip_text(next_button, buffer); + mpd_freeSong(song); + } + else + gtk_widget_set_tooltip_text(next_button, ""); + } + else + gtk_widget_set_tooltip_text(next_button, ""); + } } } + static void playlist_player_volume_changed(GtkWidget * vol_but) { int volume = gtk_scale_button_get_value(GTK_SCALE_BUTTON(vol_but)) * 100; - if (mpd_status_get_volume(connection) != volume) { + int new_volume = mpd_status_get_volume(connection); + if (new_volume >= 0 && new_volume != volume) { mpd_status_set_volume(connection, volume); } } @@ -1993,13 +2121,39 @@ /** * new header */ +/* glue code */ + +extern GmpcMetadataBrowser *metadata_browser; + +void info2_activate(void) +{ + GtkTreeView *tree = (GtkTreeView *) glade_xml_get_widget(pl3_xml, "cat_tree"); + gmpc_metadata_browser_select_browser(metadata_browser, tree); +} +void info2_fill_song_view(mpd_Song *song) +{ + info2_activate(); + gmpc_metadata_browser_set_song(metadata_browser, song); +} +void info2_fill_artist_view(const gchar *artist) +{ + info2_activate(); + gmpc_metadata_browser_set_artist(metadata_browser,artist); +} +void info2_fill_album_view(const gchar *artist,const gchar *album) +{ + info2_activate(); + gmpc_metadata_browser_set_album(metadata_browser,artist,album); +} static void playlist3_header_song(void) { mpd_Song *song = mpd_playlist_get_current_song(connection); if (song) { - info2_activate(); - info2_fill_song_view(song); + GtkTreeView *tree = (GtkTreeView *) glade_xml_get_widget(pl3_xml, "cat_tree"); + gmpc_metadata_browser_select_browser(metadata_browser, tree); + gmpc_metadata_browser_set_song(metadata_browser, song); + //info2_fill_song_view(song); } } @@ -2007,8 +2161,11 @@ { mpd_Song *song = mpd_playlist_get_current_song(connection); if (song && song->artist) { - info2_activate(); - info2_fill_artist_view(song->artist); + GtkTreeView *tree = (GtkTreeView *) glade_xml_get_widget(pl3_xml, "cat_tree"); + gmpc_metadata_browser_select_browser(metadata_browser, tree); + gmpc_metadata_browser_set_artist(metadata_browser, song->artist); +// info2_activate(); +// info2_fill_artist_view(song->artist); } } @@ -2022,8 +2179,9 @@ { mpd_Song *song = mpd_playlist_get_current_song(connection); if (song && song->artist && song->album) { - info2_activate(); - info2_fill_album_view(song->artist, song->album); + GtkTreeView *tree = (GtkTreeView *) glade_xml_get_widget(pl3_xml, "cat_tree"); + gmpc_metadata_browser_select_browser(metadata_browser, tree); + gmpc_metadata_browser_set_album(metadata_browser, song->artist, song->album); } } @@ -2038,19 +2196,16 @@ /** Title */ header_labels[0] = gmpc_clicklabel_new(""); gmpc_clicklabel_font_size(GMPC_CLICKLABEL(header_labels[0]), 4); - gmpc_clicklabel_set_do_bold(GMPC_CLICKLABEL(header_labels[0]), FALSE); header_labels[1] = gtk_label_new(_("By")); /** Artist */ header_labels[2] = gmpc_clicklabel_new(""); gmpc_clicklabel_set_ellipsize(GMPC_CLICKLABEL(header_labels[2]), PANGO_ELLIPSIZE_NONE); - gmpc_clicklabel_set_do_bold(GMPC_CLICKLABEL(header_labels[2]), FALSE); gmpc_clicklabel_set_do_italic(GMPC_CLICKLABEL(header_labels[2]), TRUE); header_labels[3] = gtk_label_new(_("From")); /** Albumr */ header_labels[4] = gmpc_clicklabel_new(""); - gmpc_clicklabel_set_do_bold(GMPC_CLICKLABEL(header_labels[4]), FALSE); gmpc_clicklabel_set_do_italic(GMPC_CLICKLABEL(header_labels[4]), TRUE); gtk_box_pack_start(GTK_BOX(vbox), header_labels[0], FALSE, TRUE, 0); @@ -2061,9 +2216,9 @@ gtk_box_pack_start(GTK_BOX(hbox), header_labels[3], FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX(hbox), header_labels[4], TRUE, TRUE, 0); - g_signal_connect(G_OBJECT(header_labels[0]), "button-press-event", G_CALLBACK(playlist3_header_song), NULL); - g_signal_connect(G_OBJECT(header_labels[2]), "button-press-event", G_CALLBACK(playlist3_header_artist), NULL); - g_signal_connect(G_OBJECT(header_labels[4]), "button-press-event", G_CALLBACK(playlist3_header_album), NULL); + g_signal_connect(G_OBJECT(header_labels[0]), "clicked", G_CALLBACK(playlist3_header_song), NULL); + g_signal_connect(G_OBJECT(header_labels[2]), "clicked", G_CALLBACK(playlist3_header_artist), NULL); + g_signal_connect(G_OBJECT(header_labels[4]), "clicked", G_CALLBACK(playlist3_header_album), NULL); /* Create tooltip */ { GtkWidget *win, *item = (GtkWidget *) gmpc_metaimage_new_size(META_ARTIST_ART, 200); @@ -2161,7 +2316,7 @@ gtk_paint_flat_box(wid->style, wid->window, GTK_STATE_NORMAL, - GTK_SHADOW_OUT, NULL, wid, "tooltip", 0, 0, wid->allocation.width, wid->allocation.height); + GTK_SHADOW_OUT, NULL, wid, "tooltip", 0, 0, wid->allocation.width-12, wid->allocation.height-12); return FALSE; } @@ -2186,17 +2341,6 @@ * Category editing */ -void set_browser_format(void) -{ - char *string = gmpc_signals_get_browser_markup(gmpc_signals); - char *format = edit_song_markup(string); - cfg_free_string(string); - if (format != NULL) { - gmpc_signals_browser_markup_changed(gmpc_signals, format); - } - q_free(format); -} - void playlist3_destroy(void) { GtkWidget *win = playlist3_get_window(); @@ -2390,10 +2534,11 @@ GtkHBox *box = (GtkHBox *) gtk_hbox_new(FALSE, 6); gchar *title, *image; GtkImage *imagew = (GtkImage *) gtk_image_new(); - GtkLabel *label = (GtkLabel *) gtk_label_new(title ? "" : title); - + GtkLabel *label = NULL; gtk_tree_model_get(model, iter, 3, &image, 1, &title, -1); + label = (GtkLabel *) gtk_label_new(title ? "" : title); + /* Create new tabbed-button object */ tb = g_malloc0(sizeof(*tb)); tb->button = button; @@ -2462,4 +2607,77 @@ g_free(image); } +/** + * Tool menu + */ + +void pl3_tool_menu_update(void) +{ + int i; + int menu_items = 0; + GtkWidget *menu = NULL; + GtkAccelGroup *group = gtk_accel_group_new(); + + gtk_menu_item_set_submenu(GTK_MENU_ITEM(glade_xml_get_widget(pl3_xml, "menu_tool")), NULL); + gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(pl3_xml, "menu_tool")), FALSE); + if (!mpd_check_connected(connection)) + return; + + menu = gtk_menu_new(); + gtk_menu_set_accel_group(GTK_MENU(menu), group); + g_object_unref(group); + gtk_window_add_accel_group(GTK_WINDOW(playlist3_get_window()), group); + for (i = 0; i < num_plugins; i++) { + menu_items += gmpc_plugin_tool_menu_integration(plugins[i], GTK_MENU(menu)); + } + if (menu_items) { + gtk_widget_show_all(menu); + gtk_menu_item_set_submenu(GTK_MENU_ITEM(glade_xml_get_widget(pl3_xml, "menu_tool")), menu); + gtk_widget_set_sensitive(GTK_WIDGET(glade_xml_get_widget(pl3_xml, "menu_tool")), TRUE); + } else { + g_object_ref_sink(menu); + g_object_unref(menu); + } + +} + +void easy_command_help_window(void) +{ + if(gmpc_easy_command) + gmpc_easy_command_help_window(gmpc_easy_command,NULL); +} + + +static void main_window_update_status_icons(void) +{ + if(si_repeat) + { + GtkWidget *image = gtk_bin_get_child(GTK_BIN(si_repeat)); + if(mpd_check_connected(connection) && mpd_player_get_repeat(connection)){ + gtk_widget_set_sensitive(GTK_WIDGET(image), TRUE); + gtk_widget_set_tooltip_text(si_repeat, _("Repeat enabled")); + }else{ + gtk_widget_set_sensitive(GTK_WIDGET(image), FALSE); + gtk_widget_set_tooltip_text(si_repeat, _("Repeat disabled")); + } + } + if(si_random) + { + GtkWidget *image = gtk_bin_get_child(GTK_BIN(si_random)); + if(mpd_check_connected(connection) && mpd_player_get_random(connection)){ + gtk_widget_set_sensitive(GTK_WIDGET(image), TRUE); + gtk_widget_set_tooltip_text(si_random, _("Random enabled")); + }else{ + gtk_widget_set_sensitive(GTK_WIDGET(image), FALSE); + gtk_widget_set_tooltip_text(si_random, _("Random disabled")); + } + } +} + +void main_window_add_status_icon(GtkWidget *icon) +{ + GtkWidget *hbox = glade_xml_get_widget(pl3_xml, "status-icon-hbox"); + g_return_if_fail(icon != NULL); + gtk_box_pack_start(GTK_BOX(hbox), icon, FALSE, TRUE, 0); +} /* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/playlist3.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/playlist3.h --- gmpc-0.18.0/src/playlist3.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/playlist3.h 2009-09-21 11:15:59.000000000 +0100 @@ -58,4 +58,6 @@ */ void serverinformation_show_popup(void); + +void pl3_window_fullscreen(void); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/playlist3-keybindings.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/playlist3-keybindings.h --- gmpc-0.18.0/src/playlist3-keybindings.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/playlist3-keybindings.h 2009-09-21 11:15:59.000000000 +0100 @@ -41,7 +41,11 @@ KB_ACTION_FULLSCREEN, KB_ACTION_REPEAT, KB_ACTION_RANDOM, - KB_ACTION_TOGGLE_MUTE + KB_ACTION_TOGGLE_MUTE, + KB_ACTION_SINGLE_MODE, + KB_ACTION_CONSUME, + KB_ACTION_FF, + KB_ACTION_REW }KeybindAction; /** Some default keybindings */ typedef enum _Keybind{ @@ -55,12 +59,16 @@ KB_INTERFACE_EXPAND_KP, KB_INTERFACE_COLLAPSE, KB_INTERFACE_EXPAND, - KB_QUIT, KB_CLOSE, + KB_QUIT, KB_FULLSCREEN, KB_REPEAT, KB_RANDOM, KB_TOGGLE_MUTE, + KB_SINGLE_MODE, + KB_CONSUME, + KB_FF, + KB_REW, KB_NUM }Keybind; @@ -81,24 +89,32 @@ "Fullscreen", "Repeat", "Random", - "Mute" + "Mute", + "SingleMode", + "Consume", + "Fast Forward", + "Rewind" }; int KeybindingDefault[KB_NUM][3] = { - {GDK_Up, GDK_CONTROL_MASK, KB_ACTION_PLAY}, - {GDK_Right, GDK_CONTROL_MASK, KB_ACTION_NEXT}, - {GDK_Left, GDK_CONTROL_MASK, KB_ACTION_PREV}, - {GDK_Down, GDK_CONTROL_MASK, KB_ACTION_STOP}, - {GDK_Delete, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_CLEAR_PLAYLIST}, - {GDK_Insert, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_FULL_ADD_PLAYLIST}, - {GDK_KP_Subtract, 0, KB_ACTION_INTERFACE_COLLAPSE}, - {GDK_KP_Add, 0 , KB_ACTION_INTERFACE_EXPAND}, - {GDK_minus, GDK_CONTROL_MASK, KB_ACTION_INTERFACE_COLLAPSE}, - {GDK_plus, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_INTERFACE_EXPAND}, - {GDK_w, GDK_CONTROL_MASK, KB_ACTION_CLOSE}, - {GDK_q, GDK_CONTROL_MASK, KB_ACTION_QUIT}, - {GDK_F12, 0, KB_ACTION_FULLSCREEN}, - {GDK_r, GDK_CONTROL_MASK, KB_ACTION_REPEAT}, - {GDK_s, GDK_CONTROL_MASK, KB_ACTION_RANDOM}, - {GDK_m, GDK_CONTROL_MASK, KB_ACTION_TOGGLE_MUTE} + {GDK_Up, GDK_CONTROL_MASK, KB_ACTION_PLAY}, // KB_PLAY + {GDK_Right, GDK_CONTROL_MASK, KB_ACTION_NEXT}, // KB_NEXT + {GDK_Left, GDK_CONTROL_MASK, KB_ACTION_PREV}, // KB_PREV + {GDK_Down, GDK_CONTROL_MASK, KB_ACTION_STOP}, // KB_STOP + {GDK_Delete, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_CLEAR_PLAYLIST}, // KB_CLEAR_PLAYLIST + {GDK_Insert, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_FULL_ADD_PLAYLIST}, // KB_ADD PLAYLIST + {GDK_KP_Subtract, 0, KB_ACTION_INTERFACE_COLLAPSE}, // KB_INTERFACE_COLLAPSE_KP + {GDK_KP_Add, 0 , KB_ACTION_INTERFACE_EXPAND}, // KB_INTERFACE_EXPAND_KP + {GDK_minus, GDK_CONTROL_MASK, KB_ACTION_INTERFACE_COLLAPSE}, // KB_INTERFACE_COLLAPSE + {GDK_plus, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_INTERFACE_EXPAND}, // KB_INTERFACE_EXPAND + {GDK_w, GDK_CONTROL_MASK, KB_ACTION_CLOSE}, // KB_CLOSE + {GDK_q, GDK_CONTROL_MASK, KB_ACTION_QUIT}, // KB_QUIT + {GDK_F12, 0, KB_ACTION_FULLSCREEN}, // KB_FULLSCREEN + {GDK_r, GDK_CONTROL_MASK, KB_ACTION_REPEAT}, // KB_REPEAT + {GDK_s, GDK_CONTROL_MASK, KB_ACTION_RANDOM}, // KB_RANDOM + {GDK_m, GDK_CONTROL_MASK, KB_ACTION_TOGGLE_MUTE}, // KB_TOGGLE_MUTE + {GDK_k, GDK_CONTROL_MASK, KB_ACTION_SINGLE_MODE}, // KB_SINGLE_MODE + {GDK_l, GDK_CONTROL_MASK, KB_ACTION_CONSUME}, // KB_CONSUME + {GDK_Right, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_FF}, // KB_FF + {GDK_Left, GDK_CONTROL_MASK|GDK_SHIFT_MASK, KB_ACTION_REW} // KB_REW }; #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/playlist3-messages.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/playlist3-messages.c --- gmpc-0.18.0/src/playlist3-messages.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/playlist3-messages.c 2009-09-21 11:15:59.000000000 +0100 @@ -22,42 +22,49 @@ #include "main.h" #include "playlist3.h" -static gboolean error_visible = FALSE; -static ErrorLevel last_error_level = ERROR_INFO; -static guint timeout_callback = 0; -static GtkListStore *message_list = NULL; -static GIOChannel *log_file = NULL; - static const char *error_levels[3] = { N_("Info"), N_("Warning"), N_("Critical") }; -void playlist3_message_destroy(void) + +/** + * Private data structure + */ +typedef struct _Playlist3MessagePluginPrivate { + gboolean error_visible; + ErrorLevel last_error_level; + guint timeout_callback; + GtkListStore *message_list; + GIOChannel *log_file; +} _Playlist3MessagePluginPrivate; + + +static void playlist3_message_destroy(Playlist3MessagePlugin *self) { - g_io_channel_flush(log_file, NULL); - g_io_channel_unref(log_file); + g_io_channel_flush(self->priv->log_file, NULL); + g_io_channel_unref(self->priv->log_file); } -void playlist3_message_init(void) +static void playlist3_message_init(Playlist3MessagePlugin *self) { - if(!message_list) + if(!self->priv->message_list) { GError *error = NULL; gchar *path = gmpc_get_user_path("gmpc.log"); - message_list = gtk_list_store_new(3, G_TYPE_INT64, G_TYPE_STRING, G_TYPE_STRING); + self->priv->message_list = gtk_list_store_new(3, G_TYPE_INT64, G_TYPE_STRING, G_TYPE_STRING); - log_file = g_io_channel_new_file(path, "a", &error); + self->priv->log_file = g_io_channel_new_file(path, "a", &error); if(error) { g_error("Failed to log file: '%s'", error->message); } q_free(path); - g_io_channel_flush(log_file, NULL); + g_io_channel_flush(self->priv->log_file, NULL); } } -void playlist3_show_error_message(const gchar *message, ErrorLevel el) +void playlist3_message_show(Playlist3MessagePlugin *self, const gchar *message, ErrorLevel el) { gchar text[64]; struct tm *lt; @@ -68,18 +75,18 @@ ErrorLevel level; const gchar *image_name; gchar *string; - playlist3_message_init(); - gtk_list_store_prepend(message_list, &iter); - gtk_list_store_set(message_list, &iter, 0, (gint64)t, 2, message,-1); + playlist3_message_init(self); + gtk_list_store_prepend(self->priv->message_list, &iter); + gtk_list_store_set(self->priv->message_list, &iter, 0, (gint64)t, 2, message,-1); lt = localtime(&t); strftime(text, 64,"%d/%m/%Y-%H:%M:%S", lt); string = g_strdup_printf("%s:%s:%s\n",text,error_levels[el], message); - g_io_channel_write_chars(log_file, string, -1, NULL, NULL); + g_io_channel_write_chars(self->priv->log_file, string, -1, NULL, NULL); q_free(string); - g_io_channel_flush(log_file, NULL); + g_io_channel_flush(self->priv->log_file, NULL); level = cfg_get_single_value_as_int_with_default(config, "Default","min-error-level", ERROR_INFO); @@ -96,28 +103,28 @@ image_name = GTK_STOCK_DIALOG_INFO; break; } - gtk_list_store_set(message_list, &iter, 1, image_name,-1); + gtk_list_store_set(self->priv->message_list, &iter, 1, image_name,-1); if(el < level) { return; } - if(error_visible) + if(self->priv->error_visible) { /* higher level errors are not overwritten by lower level errors */ - if(el < last_error_level) + if(el < self->priv->last_error_level) { return; } playlist3_close_error(); - if(timeout_callback) + if(self->priv->timeout_callback) { - g_source_remove(timeout_callback); + g_source_remove(self->priv->timeout_callback); } - timeout_callback = 0; + self->priv->timeout_callback = 0; } /* store last level */ - last_error_level = el; + self->priv->last_error_level = el; if(pl3_xml && pl3_zoom != PLAYLIST_MINI) { GList *list, *siter; @@ -143,20 +150,20 @@ gtk_widget_modify_fg(GTK_WIDGET(siter->data),GTK_STATE_NORMAL, &(event->style->fg[GTK_STATE_NORMAL])); gtk_widget_modify_text(GTK_WIDGET(siter->data),GTK_STATE_NORMAL, &(event->style->text[GTK_STATE_NORMAL])); } + if(list) g_list_free(list); - //event = (GtkWidget *) glade_xml_get_widget(pl3_xml, "error_event"); gtk_widget_show_all(event); /* Error */ - error_visible = TRUE; - timeout_callback = g_timeout_add_seconds(5, (GSourceFunc)playlist3_close_error, NULL); + self->priv->error_visible = TRUE; + self->priv->timeout_callback = g_timeout_add_seconds(5, (GSourceFunc)playlist3_message_close, self); }else{ - error_visible = FALSE; + self->priv->error_visible = FALSE; } } /* Indicates if a widget is allready added */ static gboolean widget_added = FALSE; -void playlist3_error_add_widget(GtkWidget *widget) +void playlist3_message_add_widget(Playlist3MessagePlugin *self, GtkWidget *widget) { GtkWidget *event = (GtkWidget *) glade_xml_get_widget(pl3_xml, "error_hbox"); /* Avoid adding more then one widget */ @@ -167,14 +174,14 @@ gtk_widget_show_all(event); } -gboolean playlist3_close_error(void) +gboolean playlist3_message_close(Playlist3MessagePlugin *self) { /* reset */ widget_added = FALSE; - if(error_visible) + if(self->priv->error_visible) { - error_visible = FALSE; - g_source_remove(timeout_callback); + self->priv->error_visible = FALSE; + g_source_remove(self->priv->timeout_callback); if(pl3_xml) @@ -185,7 +192,7 @@ gtk_container_foreach(GTK_CONTAINER(event), (GtkCallback)(gtk_widget_destroy), NULL); } } - timeout_callback = 0; + self->priv->timeout_callback = 0; return FALSE; } static void message_cell_data_func(GtkTreeViewColumn *tree_column, @@ -210,11 +217,17 @@ /** * The list of messages */ -void message_window_open(void); -void message_window_destroy(GtkWidget *win); -static GtkBuilder *message_xml = NULL; -void message_window_open(void) + +void message_window_destroy(GtkWidget *win,GdkEvent *event, GtkBuilder *message_xml); +void message_window_destroy(GtkWidget *win,GdkEvent *event, GtkBuilder *message_xml) { + gtk_widget_destroy(win); + g_object_unref(message_xml); + message_xml = NULL; +} +static void playlist3_message_window_open(Playlist3MessagePlugin *self) +{ + GtkBuilder *message_xml = NULL; GtkWidget *win,*pl3_win = playlist3_get_window(); GtkBuilder *xml; GtkCellRenderer *renderer; @@ -224,7 +237,7 @@ message_xml = xml = gtk_builder_new(); gtk_builder_add_from_file(xml, path, NULL); q_free(path); - playlist3_message_init(); + playlist3_message_init(self); /* set transient */ win = (GtkWidget *) gtk_builder_get_object(xml, "message_window"); @@ -238,18 +251,120 @@ gtk_tree_view_insert_column_with_data_func(GTK_TREE_VIEW(tree), -1,_("Time"), renderer,(GtkTreeCellDataFunc)message_cell_data_func, NULL,NULL); renderer = gtk_cell_renderer_text_new(); gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(tree), -1,_("Message"), renderer, "markup", 2,NULL); - gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(message_list)); + gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(self->priv->message_list)); gtk_widget_show(win); - gtk_builder_connect_signals(xml, NULL); + gtk_builder_connect_signals(xml, xml); } -void message_window_destroy(GtkWidget *win) + +/** + * Turn this into a plugin. This is a test implementation. + * This is not usefull-as-is + */ +static void playlist3_message_plugin_class_init (Playlist3MessagePluginClass *klass); +GType playlist3_message_plugin_get_type(void); + +static int *playlist3_message_plugin_get_version(GmpcPluginBase *plug, int *length) { - gtk_widget_destroy(win); - g_object_unref(message_xml); - message_xml = NULL; + static int version[3] = {0,0,1}; + if(length) *length = 3; + return (int *)version; +} + +static const char *playlist3_message_plugin_get_name(GmpcPluginBase *plug) +{ + return "Playlist3 Messages"; +} + +static void playlist3_message_plugin_finalize(GObject *obj) { + Playlist3MessagePluginClass * klass = (g_type_class_peek (playlist3_message_plugin_get_type())); + gpointer parent_class = g_type_class_peek_parent (klass); + playlist3_message_destroy((Playlist3MessagePlugin *)obj); + + if(((Playlist3MessagePlugin *)obj)->priv){ + Playlist3MessagePluginPrivate *priv = ((Playlist3MessagePlugin *)obj)->priv; + if(priv->message_list) + g_object_unref(priv->message_list); + g_free(priv); + ((Playlist3MessagePlugin *)obj)->priv = NULL; + } + if(parent_class) + G_OBJECT_CLASS(parent_class)->finalize(obj); +} +static GObject *playlist3_message_plugin_constructor(GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + Playlist3MessagePluginClass * klass; + Playlist3MessagePlugin *self; + GObjectClass * parent_class; + klass = (g_type_class_peek (playlist3_message_plugin_get_type())); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + self = (Playlist3MessagePlugin *) parent_class->constructor (type, n_construct_properties, construct_properties); + + /* setup private structure */ + self->priv = g_malloc0(sizeof(Playlist3MessagePluginPrivate)); + self->priv->error_visible = FALSE; + self->priv->last_error_level = ERROR_INFO; + self->priv->timeout_callback = 0; + self->priv->message_list = NULL; + self->priv->log_file = NULL; + + /* Make it an internal plugin */ + GMPC_PLUGIN_BASE(self)->plugin_type = GMPC_INTERNALL; + playlist3_message_init(self); + + return G_OBJECT(self); +} + +static void playlist3_message_plugin_class_init (Playlist3MessagePluginClass *klass) +{ + /* Connect destroy and construct */ + G_OBJECT_CLASS(klass)->finalize = playlist3_message_plugin_finalize; + G_OBJECT_CLASS(klass)->constructor = playlist3_message_plugin_constructor; + + /* Connect plugin functions */ + GMPC_PLUGIN_BASE_CLASS(klass)->get_version = playlist3_message_plugin_get_version; + GMPC_PLUGIN_BASE_CLASS(klass)->get_name = playlist3_message_plugin_get_name; + +} +GType playlist3_message_plugin_get_type(void) { + static GType playlist3_message_plugin_type_id = 0; + if(playlist3_message_plugin_type_id == 0) { + static const GTypeInfo info = { + .class_size = sizeof(Playlist3MessagePluginClass), + .class_init = (GClassInitFunc)playlist3_message_plugin_class_init, + .instance_size = sizeof(Playlist3MessagePlugin), + .n_preallocs = 0 + }; + playlist3_message_plugin_type_id = g_type_register_static(GMPC_PLUGIN_TYPE_BASE, "Playlist3MessagesPlugin", &info, 0); + } + return playlist3_message_plugin_type_id; +} + +Playlist3MessagePlugin * playlist3_message_plugin_new(void) { + return g_object_newv(playlist3_message_plugin_get_type(), 0, NULL); } +/** + * Old compatibility functions + */ +void playlist3_show_error_message(const gchar *message, ErrorLevel el) +{ + playlist3_message_show(pl3_messages, message, el); +} + +void playlist3_close_error(void) +{ + playlist3_message_close(pl3_messages); +} + +void playlist3_error_add_widget(GtkWidget *widget) +{ + playlist3_message_add_widget(pl3_messages, widget); +} + +void message_window_open(void) +{ + playlist3_message_window_open(pl3_messages); +} /* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/playlist3-messages.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/playlist3-messages.h --- gmpc-0.18.0/src/playlist3-messages.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/playlist3-messages.h 2009-09-21 11:15:59.000000000 +0100 @@ -19,8 +19,24 @@ #ifndef __PLAYLIST_MESSAGES_H__ #define __PLAYLIST_MESSAGES_H__ - -gboolean playlist3_close_error(void); +/** + * Object based plugin integration + */ +#include + +typedef struct _Playlist3MessagePlugin Playlist3MessagePlugin; +typedef struct _Playlist3MessagePluginClass Playlist3MessagePluginClass; +typedef struct _Playlist3MessagePluginPrivate Playlist3MessagePluginPrivate; +struct _Playlist3MessagePlugin +{ + GmpcPluginBase parent_instance; + Playlist3MessagePluginPrivate *priv; +}; + +struct _Playlist3MessagePluginClass +{ + GmpcPluginBaseClass parent_class; +}; typedef enum { ERROR_INFO, @@ -28,12 +44,18 @@ ERROR_CRITICAL } ErrorLevel; -void playlist3_show_error_message(const gchar *message, ErrorLevel el); -void playlist3_error_add_widget(GtkWidget *widget); +extern Playlist3MessagePlugin* pl3_messages; +Playlist3MessagePlugin * playlist3_message_plugin_new(void); -void playlist3_message_init(void); -void playlist3_message_destroy(void); +gboolean playlist3_message_close(Playlist3MessagePlugin *self); +void playlist3_message_add_widget(Playlist3MessagePlugin *self, GtkWidget *widget); +void playlist3_message_show(Playlist3MessagePlugin *self, const gchar *message, ErrorLevel el); +/* Old interface */ +void playlist3_close_error(void); +void playlist3_show_error_message(const gchar *message, ErrorLevel el); +void playlist3_error_add_widget(GtkWidget *widget); +void message_window_open(void); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/plugin.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/plugin.c --- gmpc-0.18.0/src/plugin.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/plugin.c 2009-09-21 11:15:59.000000000 +0100 @@ -21,83 +21,116 @@ #include #include #include +#include "vala/gmpc-plugin.h" #include "main.h" #include "metadata.h" +#define PLUGIN_LOG_DOMAIN "Plugin" -gmpcPlugin **plugins = NULL; +gmpcPluginParent **plugins = NULL; int num_plugins = 0; -gmpcPlugin * plugin_get_from_id(int id) +typedef struct _gmpcPluginParent { + gmpcPlugin *old; + GmpcPluginBase *new; +}_gmpcPluginParent; + +gmpcPluginParent * plugin_get_from_id(int id) { int pos = plugin_get_pos(id); g_assert_cmpint(pos, <, num_plugins); return plugins[pos]; } +static inline GQuark +plugin_quark(void) +{ + return g_quark_from_static_string("tagedit_plugin"); +} int plugin_get_pos(int id) { return id&(PLUGIN_ID_MARK-1); } -static int plugin_validate(gmpcPlugin *plug) +static int plugin_validate(gmpcPlugin *plug, GError **error) { int i; - if(plug == NULL) - { - debug_printf(DEBUG_ERROR, "plug != NULL failed"); - return FALSE; - } if(plug->name == NULL) { - debug_printf(DEBUG_ERROR, "Plugin has no name."); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin has no name")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "pluging has no name: %s", plug->path); return FALSE; } for(i=0;iname) == 0) { - debug_printf(DEBUG_ERROR, "Plugin with same name allready exists."); + g_set_error(error, plugin_quark(), 0,"%s '%s': %s", _("Failed to load plugin"),plug->name, _("plugin with same name already exists")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "pluging with same name already exists: %s", plug->name); return FALSE; } } if(plug->set_enabled == NULL || plug->get_enabled == NULL) { - debug_printf(DEBUG_ERROR, "%s: set_enabled == NULL || get_enabled == NULL failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin is missing set/get enable function")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "%s: set_enabled == NULL || get_enabled == NULL failed",plug->name); return FALSE; } if(plug->plugin_type&GMPC_PLUGIN_PL_BROWSER) { if(plug->browser == NULL) { - debug_printf(DEBUG_ERROR, "%s: plugin_type&GMPC_PLUGIN_PL_BROWSER && plugin->browser != NULL Failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin browser structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,"%s: plugin_type&GMPC_PLUGIN_PL_BROWSER && plugin->browser != NULL Failed",plug->name); return FALSE; } if(plug->browser->cat_key_press != NULL) { - debug_printf(DEBUG_ERROR, "Plugin %s implements a cat_key_press event handler that is deprecated", plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin browser structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "Plugin %s implements a cat_key_press event handler that is deprecated", plug->name); } } if(plug->plugin_type&GMPC_PLUGIN_META_DATA) { if(plug->metadata == NULL) { - debug_printf(DEBUG_ERROR, "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata != NULL Failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin metadata structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL,"%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata != NULL Failed",plug->name); return FALSE; } if(plug->metadata->get_priority == NULL) { - debug_printf(DEBUG_ERROR, "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_priority != NULL Failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin metadata structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_priority != NULL Failed",plug->name); return FALSE; } if(plug->metadata->set_priority == NULL) { - debug_printf(DEBUG_ERROR, "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->set_priority != NULL Failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin metadata structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->set_priority != NULL Failed",plug->name); + return FALSE; + } + if(plug->metadata->get_image != NULL) + { + g_set_error(error, plugin_quark(), 0,"%s: %s %s", _("Failed to load plugin"), plug->name, _("plugin get_image api is deprecated ")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_image != NULL was true",plug->name); + return FALSE; + } + if(plug->metadata->get_uris != NULL) + { + g_set_error(error, plugin_quark(), 0,"%s: %s %s", _("Failed to load plugin"),plug->name, _("plugin get_uris api is deprecated ")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_uris != NULL was true",plug->name); return FALSE; } - if(plug->metadata->get_image == NULL) + if(plug->metadata->get_metadata == NULL) { - debug_printf(DEBUG_ERROR, "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_image != NULL Failed",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin metadata structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin_type&GMPC_PLUGIN_META_DATA && plugin->metadata->get_image != NULL Failed",plug->name); return FALSE; } } @@ -106,7 +139,9 @@ { if((plug->browser->selected && plug->browser->unselected == NULL) ||(plug->browser->selected == NULL && plug->browser->unselected)) { - debug_printf(DEBUG_ERROR, "%s: If a plugin provides a browser pane, it needs both selected and unselected",plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin browser structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: If a plugin provides a browser pane, it needs both selected and unselected",plug->name); return FALSE; } } @@ -115,30 +150,55 @@ { if(!(plug->pref->construct && plug->pref->destroy)) { - debug_printf(DEBUG_ERROR, "%s: If a plugin has a preferences pane, it needs both construct and destroy", plug->name); + g_set_error(error, plugin_quark(), 0,"%s: %s", _("Failed to load plugin"), _("plugin preferences structure is incorrect")); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: If a plugin has a preferences pane, it needs both construct and destroy", plug->name); } } return TRUE; } -void plugin_add(gmpcPlugin *plug, int plugin) +void plugin_add(gmpcPlugin *plug, int plugin, GError **error) { + gmpcPluginParent *parent = g_malloc0(sizeof(*parent)); + parent->old = plug; + parent->new = NULL; /* set plugin id */ plug->id = num_plugins|((plugin)?PLUGIN_ID_MARK:PLUGIN_ID_INTERNALL); /* put it in the list */ num_plugins++; plugins = g_realloc(plugins,(num_plugins+1)*sizeof(gmpcPlugin **)); - plugins[num_plugins-1] = plug; + plugins[num_plugins-1] = parent; plugins[num_plugins] = NULL; if(plug->plugin_type&GMPC_PLUGIN_META_DATA) { - meta_data_add_plugin(plug); + meta_data_add_plugin(parent); } } -static int plugin_load(char *path, const char *file) +void plugin_add_new(GmpcPluginBase *plug, int plugin, GError **error) { + gmpcPluginParent *parent = g_malloc0(sizeof(*parent)); + parent->new = plug; + parent->old = NULL; + /* set plugin id */ + plug->id = num_plugins|((plugin)?PLUGIN_ID_MARK:PLUGIN_ID_INTERNALL); + /* put it in the list */ + num_plugins++; + plugins = g_realloc(plugins,(num_plugins+1)*sizeof(gmpcPlugin **)); + plugins[num_plugins-1] = parent; + plugins[num_plugins] = NULL; + + if(plug->plugin_type&GMPC_PLUGIN_META_DATA) + { + meta_data_add_plugin(parent); + } +} + +static int plugin_load(const char *path, const char *file, GError **error) +{ + gpointer function; GModule *handle; int *api_version=0; gmpcPlugin *plug = NULL; @@ -149,66 +209,82 @@ return 1; } full_path = g_strdup_printf("%s%c%s", path,G_DIR_SEPARATOR, file); - debug_printf(DEBUG_INFO, "plugin_load: trying to load plugin %s", full_path); + + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, + "plugin_load: trying to load plugin %s", full_path); handle = g_module_open(full_path, G_MODULE_BIND_LOCAL); q_free(full_path); if (!handle) { - gchar *message = g_strdup_printf("Failed to load plugin:\n%s:%s",file, g_module_error()); - debug_printf (DEBUG_ERROR, "plugin_load: module failed to load: %s:%s\n", file, g_module_error()); - show_error_message(message, FALSE); - q_free(message); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "plugin_load: module failed to load: %s:%s\n", file, g_module_error()); + g_set_error(error, plugin_quark(), 0,"%s %s: '%s'", _("Failed to load plugin"), file, g_module_error()); return 1; } + + if(g_module_symbol(handle, "plugin_get_type", (gpointer)&function)){ + GmpcPluginBase *new; + GType (*get_type)(void); + get_type = function; + new = g_object_newv(get_type(),0,NULL); + + if(!new){ + g_set_error(error, plugin_quark(), 0,"%s %s: '%s'", _("Failed to create plugin instance"), file, g_module_error()); + return 1; + } + new->path = g_strdup(path); + plugin_add_new(new, 1, error); + return 0; + } if(!g_module_symbol(handle, "plugin_api_version", (gpointer)&api_version)){ - gchar *message = g_strdup_printf("Failed to load plugin:\n%s:%s",file, g_module_error()); - debug_printf(DEBUG_ERROR, "plugin_load: symbol failed to bind: %s:%s\n",file, g_module_error()); - show_error_message(message,FALSE); + + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "plugin_load: symbol failed to bind: %s:%s\n",file, g_module_error()); + + g_set_error(error, plugin_quark(), 0,"%s %s: '%s'", _("Failed to bind symbol in plugin"), file, g_module_error()); + q_free(string); - q_free(message); g_module_close(handle); return 1; } if(*api_version != PLUGIN_API_VERSION) { - gchar *message = g_strdup_printf("Plugin '%s' has the wrong api version.\nPlugin api is %i, but we need %i", - file, *api_version, PLUGIN_API_VERSION); - debug_printf(DEBUG_ERROR, "Plugin '%s' has the wrong api version.\nPlugin api is %i, but we need %i", - file, *api_version, PLUGIN_API_VERSION); - // show_error_message(message,FALSE); - playlist3_show_error_message(message, ERROR_WARNING); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "Plugin '%s' has the wrong api version.\nPlugin api is %i, but we need %i", + file, *api_version, PLUGIN_API_VERSION); + + g_set_error(error, plugin_quark(), 0,_("Plugin %s has wrong api version: %i"), file, *api_version); + q_free(string); - q_free(message); g_module_close(handle); return 1; } + if(!g_module_symbol(handle, "plugin", (gpointer)&(plug))){ + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "plugin_load: symbol failed to bind: %s:%s\n",file, g_module_error()); - if(!g_module_symbol(handle, "plugin", (gpointer)&plug)){ - gchar *message = g_strdup_printf("Failed to load plugin:\n%s:%s",file, g_module_error()); - debug_printf(DEBUG_ERROR, "plugin_load: symbol failed to bind: %s:%s\n",file, g_module_error()); -// show_error_message(message,FALSE); - playlist3_show_error_message(message, ERROR_CRITICAL); + g_set_error(error, plugin_quark(), 0,"%s %s: '%s'", _("Plugin %s has wrong no plugin structure: %s"), file, g_module_error()); q_free(string); - q_free(message); g_module_close(handle); return 1; } if(plug == NULL) { - debug_printf(DEBUG_WARNING, "plugin load: unknown type of plugin.\n"); - g_module_close(handle); + g_set_error(error, plugin_quark(), 0,"%s %s: '%s'", _("Plugin %s has wrong no plugin structure: %s"), file, g_module_error()); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "%s: plugin load: unknown type of plugin.\n",file); + g_module_close(handle); return 1; } - if(!plugin_validate(plug)) + /* set path, plugins might want this for images and glade files. */ + plug->path = g_strdup(path); + if(!plugin_validate(plug, error)) { - debug_printf(DEBUG_ERROR, "Faled to validate plugin: %s\n", file); g_module_close(handle); return 1; } - /* set path, plugins might want this for images and glade files. */ - plug->path = g_strdup(path); /* add the plugin to the list */ - plugin_add(plug,1); + plugin_add(plug,1, error); return 0; } static gboolean __show_plugin_load_error(gpointer data) @@ -217,7 +293,7 @@ return FALSE; } -void plugin_load_dir(gchar *path) +void plugin_load_dir(const gchar *path) { GDir *dir = g_dir_open(path, 0, NULL); int failure = 0; @@ -230,15 +306,21 @@ /* Make sure only to load plugins */ if(g_str_has_suffix(dirname, G_MODULE_SUFFIX)) { - if(plugin_load(path,dirname)) + GError *error = NULL; + if(plugin_load(path,dirname, &error)) { failure = 1; - debug_printf(DEBUG_ERROR, "Failed to load plugin: %s\n", dirname); + playlist3_show_error_message(error->message, ERROR_CRITICAL); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, + "Failed to load plugin: %s: %s\n", dirname, error->message); + g_error_free(error); + error = NULL; } } else { - debug_printf(DEBUG_INFO, "File not loaded, wrong extention, should be: '%s'", G_MODULE_SUFFIX); + g_log(PLUGIN_LOG_DOMAIN, G_LOG_LEVEL_INFO, + "%s not loaded, wrong extention, should be: '%s'", dirname,G_MODULE_SUFFIX); } q_free(full_path); } @@ -254,55 +336,92 @@ * gmpcPlugin */ -void gmpc_plugin_destroy(gmpcPlugin *plug) +void gmpc_plugin_destroy(gmpcPluginParent *plug) { - if(plug->destroy) + if(plug->new) + { + g_object_unref(plug->new); + return; + } + if(plug->old->destroy) { - plug->destroy(); + plug->old->destroy(); } } -void gmpc_plugin_init(gmpcPlugin *plug) +void gmpc_plugin_init(gmpcPluginParent *plug) { - if(plug->init) + if(plug->new) { - plug->init(); + + return; + } + if(plug->old->init) + { + plug->old->init(); } } -void gmpc_plugin_status_changed(gmpcPlugin *plug, MpdObj *mi, ChangedStatusType what) +void gmpc_plugin_status_changed(gmpcPluginParent *plug, MpdObj *mi, ChangedStatusType what) { - if(plug->mpd_status_changed) + if(plug->new) return; + if(plug->old->mpd_status_changed) { - plug->mpd_status_changed(mi,what,NULL); + plug->old->mpd_status_changed(mi,what,NULL); } } -const char *gmpc_plugin_get_name(gmpcPlugin *plug) +const char *gmpc_plugin_get_name(gmpcPluginParent *plug) { - g_assert(plug->name != NULL); - return plug->name; + /* if new plugin, use that method */ + if(plug->new) { + return gmpc_plugin_base_get_name(plug->new); + } + g_assert(plug->old->name != NULL); + return plug->old->name; } -void gmpc_plugin_save_yourself(gmpcPlugin *plug) +void gmpc_plugin_save_yourself(gmpcPluginParent *plug) { - if(plug->save_yourself) + if(plug->new) { - plug->save_yourself(); + gmpc_plugin_base_save_yourself(plug->new); + return; + } + if(plug->old->save_yourself) + { + plug->old->save_yourself(); } } -gboolean gmpc_plugin_get_enabled(gmpcPlugin *plug) +gboolean gmpc_plugin_get_enabled(gmpcPluginParent *plug) { - if(plug->get_enabled) + if(plug->new){ + return gmpc_plugin_base_get_enabled(plug->new); + } + if(plug->old->get_enabled) { - return plug->get_enabled(); + return plug->old->get_enabled(); } return TRUE; } -void gmpc_plugin_set_enabled(gmpcPlugin *plug, gboolean enabled) +void gmpc_plugin_set_enabled(gmpcPluginParent *plug, gboolean enabled) { - if(plug->set_enabled) + if(plug->new){ + return gmpc_plugin_base_set_enabled(plug->new,enabled); + } + if(plug->old->set_enabled) { - plug->set_enabled(enabled); + plug->old->set_enabled(enabled); } } +const gchar * gmpc_plugin_get_translation_domain(gmpcPluginParent *plug) +{ + if(plug->new) + { + return plug->new->translation_domain; + } + if(plug->old && plug->old->get_translation_domain) { + return plug->old->get_translation_domain(); + } + return NULL; +} gchar *gmpc_plugin_get_data_path(gmpcPlugin *plug) { #ifdef WIN32 @@ -310,6 +429,8 @@ gchar *retv = g_build_path(G_DIR_SEPARATOR_S, url, "share", "gmpc", "plugins", NULL); return retv;//g_strdup(plug->path); #else + int i; + const gchar * const *paths = g_get_system_data_dirs(); gchar *url = NULL; gchar *homedir = gmpc_get_user_path(""); if(strncmp(plug->path,homedir ,strlen(homedir)) == 0) @@ -321,196 +442,306 @@ } g_free(homedir); + + if(url){ + if(g_file_test(url, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_DIR)) + { + return url; + } + g_free(url); + url = NULL; + } + + for(i=0; paths && paths[i]; i++) { + url = g_build_filename(paths[i], "gmpc", "plugins", NULL); + if(g_file_test(url, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_DIR)) + { + return url; + } + g_free(url); + url = NULL; + } return url; #endif } -void gmpc_plugin_mpd_connection_changed(gmpcPlugin *plug, MpdObj *mi, int connected, gpointer data) +void gmpc_plugin_mpd_connection_changed(gmpcPluginParent *plug, MpdObj *mi, int connected, gpointer data) { g_assert(plug != NULL); - if(plug->mpd_connection_changed != NULL) + + if(plug->new) return; + if(plug->old->mpd_connection_changed != NULL) { - plug->mpd_connection_changed(mi,connected,data); + plug->old->mpd_connection_changed(mi,connected,data); } } -gboolean gmpc_plugin_is_browser(gmpcPlugin *plug) +gboolean gmpc_plugin_is_browser(gmpcPluginParent *plug) { - return ((plug->plugin_type&GMPC_PLUGIN_PL_BROWSER) != 0); + if(plug->new) { + return GMPC_PLUGIN_IS_BROWSER_IFACE(plug->new); + } + return ((plug->old->plugin_type&GMPC_PLUGIN_PL_BROWSER) != 0); } -void gmpc_plugin_browser_unselected(gmpcPlugin *plug, GtkWidget *container) +void gmpc_plugin_browser_unselected(gmpcPluginParent *plug, GtkWidget *container) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - g_assert(plug->browser->unselected != NULL); - plug->browser->unselected(container); + if(plug->new) { + gmpc_plugin_browser_iface_browser_unselected((GmpcPluginBrowserIface *)plug->new, GTK_CONTAINER(container)); + return; + } + g_assert(plug->old->browser != NULL); + g_assert(plug->old->browser->unselected != NULL); + plug->old->browser->unselected(container); } } -void gmpc_plugin_browser_selected(gmpcPlugin *plug, GtkWidget *container) +void gmpc_plugin_browser_selected(gmpcPluginParent *plug, GtkWidget *container) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - g_assert(plug->browser->selected != NULL); - plug->browser->selected(container); + if(plug->new) { + gmpc_plugin_browser_iface_browser_selected((GmpcPluginBrowserIface *)plug->new, GTK_CONTAINER(container)); + return; + } + g_assert(plug->old->browser != NULL); + g_assert(plug->old->browser->selected != NULL); + plug->old->browser->selected(container); } } -void gmpc_plugin_browser_add(gmpcPlugin *plug, GtkWidget *cat_tree) +void gmpc_plugin_browser_add(gmpcPluginParent *plug, GtkWidget *cat_tree) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - if(plug->browser->add) + if(plug->new) { + gmpc_plugin_browser_iface_browser_add((GmpcPluginBrowserIface *)plug->new, cat_tree); + return; + } + g_assert(plug->old->browser != NULL); + if(plug->old->browser->add) { - plug->browser->add(cat_tree); + plug->old->browser->add(cat_tree); } } } -int gmpc_plugin_browser_cat_right_mouse_menu(gmpcPlugin *plug, GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event) +int gmpc_plugin_browser_cat_right_mouse_menu(gmpcPluginParent *plug, GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - if(plug->browser->cat_right_mouse_menu != NULL) + if(plug->new){ + if(type == plug->new->id) + return gmpc_plugin_browser_iface_browser_option_menu((GmpcPluginBrowserIface *)plug->new, GTK_MENU(menu)); + return 0; + } + g_assert(plug->old->browser != NULL); + if(plug->old->browser->cat_right_mouse_menu != NULL) { - return plug->browser->cat_right_mouse_menu(menu,type,tree,event); + return plug->old->browser->cat_right_mouse_menu(menu,type,tree,event); } } return 0; } -int gmpc_plugin_browser_key_press_event(gmpcPlugin *plug, GtkWidget *mw, GdkEventKey *event, int type) +int gmpc_plugin_browser_key_press_event(gmpcPluginParent *plug, GtkWidget *mw, GdkEventKey *event, int type) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - if(plug->browser->key_press_event != NULL) + if(plug->new) { + /* not going to be implemented */ + return 0; + } + g_assert(plug->old->browser != NULL); + if(plug->old->browser->key_press_event != NULL) { - return plug->browser->key_press_event(mw,event,type); + return plug->old->browser->key_press_event(mw,event,type); } } return 0; } -int gmpc_plugin_browser_add_go_menu(gmpcPlugin *plug, GtkWidget *menu) +int gmpc_plugin_browser_add_go_menu(gmpcPluginParent *plug, GtkWidget *menu) { if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - if(plug->browser->add_go_menu != NULL) + if(plug->new) { + return gmpc_plugin_browser_iface_browser_add_go_menu((GmpcPluginBrowserIface *)plug->new, GTK_MENU(menu)); + } + g_assert(plug->old->browser != NULL); + if(plug->old->browser->add_go_menu != NULL) { - return plug->browser->add_go_menu(menu); + return plug->old->browser->add_go_menu(menu); } } return 0; } -int gmpc_plugin_browser_song_list_option_menu(gmpcPlugin *plug, GmpcMpdDataTreeview *tree, GtkMenu *menu) +int gmpc_plugin_browser_song_list_option_menu(gmpcPluginParent *plug, GmpcMpdDataTreeview *tree, GtkMenu *menu) { + if(plug->new) { + if(GMPC_PLUGIN_IS_SONG_LIST_IFACE(plug->new)) + { + return gmpc_plugin_song_list_iface_song_list(GMPC_PLUGIN_SONG_LIST_IFACE(plug->new), GTK_WIDGET(tree), menu); + } + return 0; + } if(gmpc_plugin_is_browser(plug)) { - g_assert(plug->browser != NULL); - if(plug->browser->song_list_option_menu) + g_assert(plug->old->browser != NULL); + if(plug->old->browser->song_list_option_menu) { - return plug->browser->song_list_option_menu(tree, menu); + return plug->old->browser->song_list_option_menu(tree, menu); } } return 0; } -gboolean gmpc_plugin_browser_has_integrate_search(gmpcPlugin *plug) +gboolean gmpc_plugin_browser_has_integrate_search(gmpcPluginParent *plug) { if(gmpc_plugin_is_browser(plug)) { - return plug->browser->integrate_search != NULL; + if(plug->new){ + /* TODO */ + return FALSE; + } + return plug->old->browser->integrate_search != NULL; } return FALSE; } -MpdData *gmpc_plugin_browser_integrate_search(gmpcPlugin *plug, const int search_field, const gchar * query, GError **error) +MpdData *gmpc_plugin_browser_integrate_search(gmpcPluginParent *plug, const int search_field, const gchar * query, GError **error) { if(!gmpc_plugin_browser_has_integrate_search(plug)) return NULL; - return plug->browser->integrate_search(search_field,query,error); + return plug->old->browser->integrate_search(search_field,query,error); } -gboolean gmpc_plugin_browser_integrate_search_field_supported(gmpcPlugin *plug, const int search_field) +gboolean gmpc_plugin_browser_integrate_search_field_supported(gmpcPluginParent *plug, const int search_field) { if(!gmpc_plugin_browser_has_integrate_search(plug)) return FALSE; - if(plug->browser->integrate_search_field_supported == NULL) return TRUE; - return plug->browser->integrate_search_field_supported(search_field); + if(plug->old->browser->integrate_search_field_supported == NULL) return TRUE; + return plug->old->browser->integrate_search_field_supported(search_field); } -gboolean gmpc_plugin_has_preferences(gmpcPlugin *plug) +gboolean gmpc_plugin_has_preferences(gmpcPluginParent *plug) { - return (plug->pref != NULL); + if(plug->new) { + return GMPC_PLUGIN_IS_PREFERENCES_IFACE(plug->new); + } + return (plug->old->pref != NULL); } -void gmpc_plugin_preferences_construct(gmpcPlugin *plug,GtkWidget *wid) +void gmpc_plugin_preferences_construct(gmpcPluginParent *plug,GtkWidget *wid) { if(gmpc_plugin_has_preferences(plug)) { - g_assert(plug->pref != NULL); - g_assert(plug->pref->construct); - plug->pref->construct(wid); + if(plug->new) { + gmpc_plugin_preferences_iface_preferences_pane_construct(GMPC_PLUGIN_PREFERENCES_IFACE(plug->new), GTK_CONTAINER(wid)); + return; + } + g_assert(plug->old->pref != NULL); + g_assert(plug->old->pref->construct); + plug->old->pref->construct(wid); } } -void gmpc_plugin_preferences_destroy(gmpcPlugin *plug,GtkWidget *wid) +void gmpc_plugin_preferences_destroy(gmpcPluginParent *plug,GtkWidget *wid) { if(gmpc_plugin_has_preferences(plug)) { - g_assert(plug->pref != NULL); - g_assert(plug->pref->destroy); - plug->pref->destroy(wid); + if(plug->new) { + gmpc_plugin_preferences_iface_preferences_pane_destroy(GMPC_PLUGIN_PREFERENCES_IFACE(plug->new), GTK_CONTAINER(wid)); + return; + } + g_assert(plug->old->pref != NULL); + g_assert(plug->old->pref->destroy); + plug->old->pref->destroy(wid); } } -gboolean gmpc_plugin_is_internal(gmpcPlugin *plug) +gboolean gmpc_plugin_is_internal(gmpcPluginParent *plug) { - return (((plug->plugin_type)&GMPC_INTERNALL) != 0); + if(plug->new) { + return (((plug->new->plugin_type)&GMPC_INTERNALL) != 0); +; + } + return (((plug->old->plugin_type)&GMPC_INTERNALL) != 0); } -const int * gmpc_plugin_get_version(gmpcPlugin *plug) +const int * gmpc_plugin_get_version(gmpcPluginParent *plug) { - return (int *)plug->version; + if(plug->new) { + gint length; + return (const int *)gmpc_plugin_base_get_version(plug->new, &length); + } + return (const int *)plug->old->version; } -int gmpc_plugin_get_type(gmpcPlugin *plug) +int gmpc_plugin_get_type(gmpcPluginParent *plug) { - return plug->plugin_type; + if(plug->new) { + return plug->new->plugin_type; + } + return plug->old->plugin_type; } -int gmpc_plugin_get_id(gmpcPlugin *plug) +int gmpc_plugin_get_id(gmpcPluginParent *plug) { - return plug->id; + if(plug->new) { + return plug->new->id; + } + return plug->old->id; } -gboolean gmpc_plugin_is_metadata(gmpcPlugin *plug) +gboolean gmpc_plugin_is_metadata(gmpcPluginParent *plug) { - return (plug->metadata != NULL); + if(plug->new){ + return GMPC_PLUGIN_IS_META_DATA_IFACE(plug->new); + } + return (plug->old->metadata != NULL); } -int gmpc_plugin_metadata_get_priority(gmpcPlugin *plug) +int gmpc_plugin_metadata_get_priority(gmpcPluginParent *plug) { if(gmpc_plugin_is_metadata(plug)) { - return plug->metadata->get_priority(); + if(plug->new) return gmpc_plugin_meta_data_iface_get_priority(GMPC_PLUGIN_META_DATA_IFACE(plug->new)); + return plug->old->metadata->get_priority(); } return 100; } -void gmpc_plugin_metadata_set_priority(gmpcPlugin *plug, int priority) +void gmpc_plugin_metadata_set_priority(gmpcPluginParent *plug, int priority) { if(gmpc_plugin_is_metadata(plug)) { - return plug->metadata->set_priority(priority); + if(plug->new) return gmpc_plugin_meta_data_iface_set_priority(GMPC_PLUGIN_META_DATA_IFACE(plug->new),priority); + return plug->old->metadata->set_priority(priority); } } -int gmpc_plugin_metadata_get_image(gmpcPlugin *plug, mpd_Song *song, MetaDataType type, char **path) +void gmpc_plugin_metadata_query_metadata_list(gmpcPluginParent *plug, mpd_Song *song, MetaDataType type, void (*callback)(GList *uris, gpointer data), gpointer data) { - *path = NULL; if(gmpc_plugin_is_metadata(plug)) { - return plug->metadata->get_image(song, type, path); + if(plug->new) + { + gmpc_plugin_meta_data_iface_get_data(GMPC_PLUGIN_META_DATA_IFACE(plug->new), song, type, callback, data); + return; + } + if(plug->old->metadata->get_metadata) + { + plug->old->metadata->get_metadata(song, type, callback, data); + return; + } } - return META_DATA_UNAVAILABLE; + callback(NULL, data); +} + +gint gmpc_plugin_tool_menu_integration (gmpcPluginParent *plug, GtkMenu *menu) +{ + if(plug->new) { + if(GMPC_PLUGIN_IS_TOOL_MENU_IFACE(plug->new)){ + return gmpc_plugin_tool_menu_iface_tool_menu_integration(GMPC_PLUGIN_TOOL_MENU_IFACE(plug->new), menu); + } + return 0; + } + if(plug->old->tool_menu_integration) + return plug->old->tool_menu_integration(menu); + return 0; } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/plugin.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/plugin.h --- gmpc-0.18.0/src/plugin.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/plugin.h 2009-09-21 11:15:59.000000000 +0100 @@ -23,9 +23,13 @@ #include "gmpc-profiles.h" #include "gmpc-mpddata-model.h" #include "gmpc-mpddata-treeview.h" +//#include "gmpc-plugin.h" +#include "gmpc-connection.h" -#ifndef __GMPC_PLUGIN_H__ -#define __GMPC_PLUGIN_H__ +//#include "gmpc-paned-size-group.h" + +#ifndef __PLUGIN_H__ +#define __PLUGIN_H__ #define PLUGIN_ID_MARK 1024 #define PLUGIN_ID_INTERNALL 2048 @@ -33,7 +37,10 @@ extern MpdObj *connection; extern config_obj *config; extern GmpcProfiles *gmpc_profiles; +extern GmpcConnection *gmpcconn; + +typedef struct _gmpcPluginParent gmpcPluginParent; /* Plugin Type's */ /* This is a bitmask.*/ typedef enum { @@ -54,9 +61,9 @@ PL3_CAT_TITLE, /** title that is showed */ PL3_CAT_INT_ID, /* id */ PL3_CAT_ICON_ID, /* icon id */ - PL3_CAT_PROC, /* for the lazy tree, if the dir is allready processed */ - PL3_CAT_ICON_SIZE, /** icon size */ - PL3_CAT_BROWSE_FORMAT, /** string, added for tag browser */ + PL3_CAT_PROC_DEPRECATED, /* for the lazy tree, if the dir is allready processed */ + PL3_CAT_ICON_SIZE_DEPRECATED, /** icon size */ + PL3_CAT_BROWSE_FORMAT_DEPRECATED, /** string, added for tag browser */ PL3_CAT_ORDER, /* int for sorting the list */ PL3_CAT_NUM_ITEMS, PL3_CAT_NROWS @@ -109,14 +116,17 @@ * Metadata fetching plugin. * All fields required */ + typedef struct { /* Set and get priority */ int (*get_priority) (void); void (*set_priority) (int priority); - int (*get_image) (mpd_Song *song, MetaDataType type, char **path); + int (*get_image) (mpd_Song *song, MetaDataType type, char **path) G_GNUC_DEPRECATED; + /* Padding */ - void (*padding1) (void); - void (*padding2) (void); + void (*get_uris) (mpd_Song *song, MetaDataType type, void (*callback)(GList *uris, gpointer data), gpointer data) G_GNUC_DEPRECATED; + /* New api, return linked list of MetaData Objects (see metadata.h) */ + void (*get_metadata) (mpd_Song *song, MetaDataType, void (*callback)(GList *metadata, gpointer data), gpointer data); void (*padding3) (void); } gmpcMetaDataPlugin; @@ -170,8 +180,8 @@ void (*save_yourself)(void); /* Padding */ - void (*padding1) (void); - void (*padding2) (void); + gint (*tool_menu_integration) (GtkMenu *menu); + const gchar* (*get_translation_domain) (void); void (*padding3) (void); } gmpcPlugin; @@ -199,7 +209,7 @@ gboolean playlist3_window_is_hidden(void); /** plugin functions */ -gmpcPlugin * plugin_get_from_id(int id); +gmpcPluginParent * plugin_get_from_id(int id); /** @@ -210,50 +220,41 @@ gchar * gmpc_get_covers_path(const gchar *filename); gchar * gmpc_get_user_path(const gchar *filename); void playlist3_insert_browser(GtkTreeIter *iter, gint position); + + +void pl3_option_menu_activate(void); /* Tell mpd to reload the go menu */ void pl3_update_go_menu(void); +/* Used by plugins themself */ +gchar * gmpc_plugin_get_data_path (gmpcPlugin *plug); + /** - * Plugin functions + * Update parts of the gui */ +void pl3_tool_menu_update(void); -int gmpc_plugin_get_id (gmpcPlugin *plug); -void gmpc_plugin_init (gmpcPlugin *plug); -void gmpc_plugin_destroy (gmpcPlugin *plug); -void gmpc_plugin_save_yourself (gmpcPlugin *plug); -gboolean gmpc_plugin_get_enabled (gmpcPlugin *plug); -void gmpc_plugin_set_enabled (gmpcPlugin *plug, gboolean enabled); +/***/ -const char * gmpc_plugin_get_name (gmpcPlugin *plug); -void gmpc_plugin_status_changed (gmpcPlugin *plug, MpdObj *mi, ChangedStatusType what); -gchar * gmpc_plugin_get_data_path (gmpcPlugin *plug); -void gmpc_plugin_mpd_connection_changed (gmpcPlugin *plug, MpdObj *mi, int connected, gpointer data); +char *connection_get_music_directory(void); +/* glue */ + +void info2_fill_song_view(mpd_Song *song); +void info2_activate(void); + +void info2_fill_artist_view(const gchar *artist); +void info2_fill_album_view(const gchar *artist,const gchar *album); + +extern GObject *paned_size_group; + +/** Main window */ +/** + * @param icon The #GtkWidget to add + * + * Add an icon to the status bar. + */ -gboolean gmpc_plugin_is_browser (gmpcPlugin *plug); -void gmpc_plugin_browser_unselected (gmpcPlugin *plug, GtkWidget *container); -void gmpc_plugin_browser_selected (gmpcPlugin *plug, GtkWidget *container); -void gmpc_plugin_browser_add (gmpcPlugin *plug, GtkWidget *cat_tree); -int gmpc_plugin_browser_cat_right_mouse_menu (gmpcPlugin *plug, GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event); -int gmpc_plugin_browser_key_press_event (gmpcPlugin *plug, GtkWidget *mw, GdkEventKey *event, int type); -int gmpc_plugin_browser_add_go_menu (gmpcPlugin *plug, GtkWidget *menu); -int gmpc_plugin_browser_song_list_option_menu (gmpcPlugin *plug, GmpcMpdDataTreeview *tree, GtkMenu *menu); -gboolean gmpc_plugin_browser_has_integrate_search (gmpcPlugin *plug); -MpdData * gmpc_plugin_browser_integrate_search (gmpcPlugin *plug, const int search_field, const gchar * query, GError **error); -gboolean gmpc_plugin_browser_integrate_search_field_supported (gmpcPlugin *plug, const int search_field); - -gboolean gmpc_plugin_has_preferences (gmpcPlugin *plug); -void gmpc_plugin_preferences_construct (gmpcPlugin *plug,GtkWidget *wid); -void gmpc_plugin_preferences_destroy (gmpcPlugin *plug,GtkWidget *wid); - -int gmpc_plugin_get_type(gmpcPlugin *plug); -const int * gmpc_plugin_get_version (gmpcPlugin *plug); -gboolean gmpc_plugin_is_internal (gmpcPlugin *plug); - -/* metadata */ -gboolean gmpc_plugin_is_metadata (gmpcPlugin *plug); -int gmpc_plugin_metadata_get_priority (gmpcPlugin *plug); -void gmpc_plugin_metadata_set_priority (gmpcPlugin *plug, int priority); -int gmpc_plugin_metadata_get_image (gmpcPlugin *plug, mpd_Song *song, MetaDataType type, char **path); +void main_window_add_status_icon(GtkWidget *icon); #endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/plugin-internal.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/plugin-internal.h --- gmpc-0.18.0/src/plugin-internal.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/plugin-internal.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,80 @@ + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include "metadata.h" +#include "gmpc-profiles.h" +#include "gmpc-mpddata-model.h" +#include "gmpc-mpddata-treeview.h" + +#ifndef __PLUGIN_INTERNAL_H__ +#define __PLUGIN_INTERNAL_H__ + +/** + * Plugin functions + */ + +int gmpc_plugin_get_id (gmpcPluginParent *plug); +void gmpc_plugin_init (gmpcPluginParent *plug); +void gmpc_plugin_destroy (gmpcPluginParent *plug); +void gmpc_plugin_save_yourself (gmpcPluginParent *plug); + +gboolean gmpc_plugin_get_enabled (gmpcPluginParent *plug); +void gmpc_plugin_set_enabled (gmpcPluginParent *plug, gboolean enabled); + +const gchar * gmpc_plugin_get_translation_domain(gmpcPluginParent *plug); +const char * gmpc_plugin_get_name (gmpcPluginParent *plug); +void gmpc_plugin_status_changed (gmpcPluginParent *plug, MpdObj *mi, ChangedStatusType what); + +gint gmpc_plugin_tool_menu_integration (gmpcPluginParent *plug, GtkMenu *menu); +void gmpc_plugin_mpd_connection_changed (gmpcPluginParent *plug, MpdObj *mi, int connected, gpointer data); + +gboolean gmpc_plugin_is_browser (gmpcPluginParent *plug); +void gmpc_plugin_browser_unselected (gmpcPluginParent *plug, GtkWidget *container); +void gmpc_plugin_browser_selected (gmpcPluginParent *plug, GtkWidget *container); +void gmpc_plugin_browser_add (gmpcPluginParent *plug, GtkWidget *cat_tree); +int gmpc_plugin_browser_cat_right_mouse_menu (gmpcPluginParent *plug, GtkWidget *menu, int type, GtkWidget *tree, GdkEventButton *event); +int gmpc_plugin_browser_key_press_event (gmpcPluginParent *plug, GtkWidget *mw, GdkEventKey *event, int type); +int gmpc_plugin_browser_add_go_menu (gmpcPluginParent *plug, GtkWidget *menu); +int gmpc_plugin_browser_song_list_option_menu (gmpcPluginParent *plug, GmpcMpdDataTreeview *tree, GtkMenu *menu); +gboolean gmpc_plugin_browser_has_integrate_search (gmpcPluginParent *plug); +MpdData * gmpc_plugin_browser_integrate_search (gmpcPluginParent *plug, const int search_field, const gchar * query, GError **error); +gboolean gmpc_plugin_browser_integrate_search_field_supported (gmpcPluginParent *plug, const int search_field); + +gboolean gmpc_plugin_has_preferences (gmpcPluginParent *plug); +void gmpc_plugin_preferences_construct (gmpcPluginParent *plug,GtkWidget *wid); +void gmpc_plugin_preferences_destroy (gmpcPluginParent *plug,GtkWidget *wid); + +int gmpc_plugin_get_type(gmpcPluginParent *plug); +const int * gmpc_plugin_get_version (gmpcPluginParent *plug); +gboolean gmpc_plugin_is_internal (gmpcPluginParent *plug); + +/* metadata */ +gboolean gmpc_plugin_is_metadata (gmpcPluginParent *plug); +int gmpc_plugin_metadata_get_priority (gmpcPluginParent *plug); +void gmpc_plugin_metadata_set_priority (gmpcPluginParent *plug, int priority); + +void gmpc_plugin_metadata_query_metadata_list (gmpcPluginParent *plug, + mpd_Song *song, + MetaDataType type, + void (*callback)(GList *uris, gpointer data), + gpointer data); +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/preferences.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/preferences.c --- gmpc-0.18.0/src/preferences.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/preferences.c 2009-09-21 11:15:59.000000000 +0100 @@ -69,17 +69,29 @@ if(id >= 0 && gmpc_plugin_has_preferences(plugins[id])) { char *buf = NULL; + const gchar *translation_domain = gmpc_plugin_get_translation_domain(plugins[id]); if(!gmpc_plugin_is_internal(plugins[id])) { const int *version = gmpc_plugin_get_version(plugins[id]); - buf = g_strdup_printf("%s\nPlugin version: %i.%i.%i", - N_(gmpc_plugin_get_name(plugins[id])), - version[0],version[1], version[2]); + if(version != NULL) { + buf = g_strdup_printf("%s\n%s: %i.%i.%i", + +#if defined(ENABLE_NLS) && GLIB_CHECK_VERSION(2,18,0) + g_dgettext(translation_domain, gmpc_plugin_get_name(plugins[id])), +#else + gmpc_plugin_get_name(plugins[id]), +#endif + _("Plugin version"), + version[0],version[1], version[2]); + }else + buf = g_strdup_printf("%s", + gmpc_plugin_get_name(plugins[id])); + } else { buf = g_strdup_printf("%s", - N_(gmpc_plugin_get_name(plugins[id]))); + N_(gmpc_plugin_get_name(plugins[id]))); } gmpc_plugin_preferences_construct(plugins[id],(GtkWidget *)gtk_builder_get_object(xml_preferences_window, "plugin_container")); @@ -171,12 +183,18 @@ if(gmpc_plugin_is_internal(plugins[i])) { GtkTreeIter iter; + const gchar *translation_domain = gmpc_plugin_get_translation_domain(plugins[i]); gtk_list_store_append(GTK_LIST_STORE(plugin_store), &iter); gtk_list_store_set(GTK_LIST_STORE(plugin_store), &iter, 0, i, - 1, _(gmpc_plugin_get_name(plugins[i])), -1); - if(gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection( - GTK_TREE_VIEW(gtk_builder_get_object(xml_preferences_window, "plugin_tree")))) == 0) +#if defined(ENABLE_NLS) && GLIB_CHECK_VERSION(2,18,0) + 1, g_dgettext(translation_domain, gmpc_plugin_get_name(plugins[i])), +#else + 1, gmpc_plugin_get_name(plugins[i]), +#endif + -1); + if(gtk_tree_selection_count_selected_rows(gtk_tree_view_get_selection( + GTK_TREE_VIEW(gtk_builder_get_object(xml_preferences_window, "plugin_tree")))) == 0) { gtk_tree_selection_select_iter(gtk_tree_view_get_selection( GTK_TREE_VIEW(gtk_builder_get_object(xml_preferences_window, "plugin_tree"))),&iter); @@ -192,6 +210,7 @@ { GtkTreeIter iter; gchar *value = g_markup_printf_escaped("%s:", _("Plugins")); + gtk_list_store_append(GTK_LIST_STORE(plugin_store), &iter); gtk_list_store_set(GTK_LIST_STORE(plugin_store), &iter, 0,PLUGIN_STATS, @@ -201,10 +220,17 @@ { if(gmpc_plugin_has_preferences(plugins[i]) && ! gmpc_plugin_is_internal(plugins[i]) && gmpc_plugin_get_enabled(plugins[i])) { + const gchar *translation_domain = gmpc_plugin_get_translation_domain(plugins[i]); gtk_list_store_append(GTK_LIST_STORE(plugin_store), &iter); gtk_list_store_set(GTK_LIST_STORE(plugin_store), &iter, 0, i, + +#if defined(ENABLE_NLS) && GLIB_CHECK_VERSION(2,18,0) + 1, g_dgettext(translation_domain,gmpc_plugin_get_name(plugins[i])), + +#else 1, gmpc_plugin_get_name(plugins[i]), +#endif -1); } } @@ -213,10 +239,8 @@ label = (GtkWidget *)gtk_builder_get_object(xml_preferences_window, "plugin_label_box"); gtk_widget_set_app_paintable(label, TRUE); g_signal_connect(G_OBJECT(label), "expose-event", G_CALLBACK(misc_header_expose_event), NULL); -// gtk_widget_modify_bg(label, GTK_STATE_NORMAL, &dialog->style->light[GTK_STATE_SELECTED]); -/* label = gtk_builder_get_object(xml_preferences_window, "plugin_label"); - gtk_widget_modify_fg(label, GTK_STATE_NORMAL, &dialog->style->fg[GTK_STATE_SELECTED]); -*/ + gtk_widget_set_state(GTK_WIDGET(label), GTK_STATE_SELECTED); + gtk_widget_show(dialog); gtk_builder_connect_signals(xml_preferences_window, NULL); } @@ -249,7 +273,7 @@ if(gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store), &iter, path)) { int toggled; - gmpcPlugin *plug = NULL; + gmpcPluginParent *plug = NULL; gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, 0, &toggled, 3, &plug, -1); { gmpc_plugin_set_enabled(plug,!toggled); @@ -257,10 +281,17 @@ if(gmpc_plugin_has_preferences(plug)) { if(!toggled) { + const gchar *translation_domain = gmpc_plugin_get_translation_domain(plug); gtk_list_store_append(GTK_LIST_STORE(plugin_store), &iter); gtk_list_store_set(GTK_LIST_STORE(plugin_store), &iter, 0, plugin_get_pos(gmpc_plugin_get_id(plug)), + +#if defined(ENABLE_NLS) && GLIB_CHECK_VERSION(2,18,0) + 1, g_dgettext(translation_domain, gmpc_plugin_get_name(plug)), +#else 1, gmpc_plugin_get_name(plug), +#endif + -1); }else{ GtkTreeIter piter; @@ -316,10 +347,20 @@ { if(!gmpc_plugin_is_internal(plugins[i])) { + const gchar *translation_domain = gmpc_plugin_get_translation_domain(plugins[i]); const int *ver = gmpc_plugin_get_version(plugins[i]); - gchar *version = g_strdup_printf("%i.%i.%i",ver[0], ver[1],ver[2]); + gchar *version = (ver)?g_strdup_printf("%i.%i.%i",ver[0], ver[1],ver[2]):g_strdup("n/a"); gtk_list_store_append(store, &iter); - gtk_list_store_set(store, &iter, 0,TRUE,1, gmpc_plugin_get_name(plugins[i]),3,(plugins[i]),4,version, -1); + gtk_list_store_set(store, &iter, + 0,TRUE, + +#if defined(ENABLE_NLS) && GLIB_CHECK_VERSION(2,18,0) + 1, g_dgettext(translation_domain, gmpc_plugin_get_name(plugins[i])), +#else + 1, gmpc_plugin_get_name(plugins[i]), +#endif + 3,(plugins[i]), + 4,version, -1); g_free(version); if(gmpc_plugin_get_enabled(plugins[i])) { diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/qlib/qasyncqueue.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/qlib/qasyncqueue.c --- gmpc-0.18.0/src/qlib/qasyncqueue.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/qlib/qasyncqueue.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,729 +0,0 @@ -/* GLIB - Library of useful routines for C programming - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * QAsyncQueue: asynchronous queue implementation, based on Gqueue. - * Copyright (C) 2000 Sebastian Wilhelmi; University of Karlsruhe - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * MT safe - */ -/* Modified by qball - * Renamed gasync->qasync to stop name colision - */ - -#include -#include "qlib/qasyncqueue.h" - - -struct _QAsyncQueue -{ - GMutex *mutex; - GCond *cond; - GQueue *queue; - guint waiting_threads; - gint32 ref_count; -}; - -typedef struct { - GCompareDataFunc func; - gpointer user_data; -} SortData; - -/** - * q_async_queue_new: - * - * Creates a new asynchronous queue with the initial reference count of 1. - * - * Return value: the new #QAsyncQueue. - **/ -QAsyncQueue* -q_async_queue_new (void) -{ - QAsyncQueue* retval = g_new (QAsyncQueue, 1); - retval->mutex = g_mutex_new (); - retval->cond = NULL; - retval->queue = g_queue_new (); - retval->waiting_threads = 0; - retval->ref_count = 1; - return retval; -} - -/** - * q_async_queue_ref: - * @queue: a #QAsyncQueue. - * - * Increases the reference count of the asynchronous @queue by 1. You - * do not need to hold the lock to call this function. - * - * Returns: the @queue that was passed in (since 2.6) - **/ -QAsyncQueue * -q_async_queue_ref (QAsyncQueue *queue) -{ - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - g_atomic_int_inc (&queue->ref_count); - - return queue; -} - -/** - * q_async_queue_ref_unlocked: - * @queue: a #QAsyncQueue. - * - * Increases the reference count of the asynchronous @queue by 1. - * - * @Deprecated: Since 2.8, reference counting is done atomically - * so q_async_queue_ref() can be used regardless of the @queue's - * lock. - **/ -void -q_async_queue_ref_unlocked (QAsyncQueue *queue) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - - g_atomic_int_inc (&queue->ref_count); -} - -/** - * q_async_queue_unref_and_unlock: - * @queue: a #QAsyncQueue. - * - * Decreases the reference count of the asynchronous @queue by 1 and - * releases the lock. This function must be called while holding the - * @queue's lock. If the reference count went to 0, the @queue will be - * destroyed and the memory allocated will be freed. - * - * @Deprecated: Since 2.8, reference counting is done atomically - * so q_async_queue_unref() can be used regardless of the @queue's - * lock. - **/ -void -q_async_queue_unref_and_unlock (QAsyncQueue *queue) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - - g_mutex_unlock (queue->mutex); - q_async_queue_unref (queue); -} - -/** - * q_async_queue_unref: - * @queue: a #QAsyncQueue. - * - * Decreases the reference count of the asynchronous @queue by 1. If - * the reference count went to 0, the @queue will be destroyed and the - * memory allocated will be freed. So you are not allowed to use the - * @queue afterwards, as it might have disappeared. You do not need to - * hold the lock to call this function. - **/ -void -q_async_queue_unref (QAsyncQueue *queue) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - - if (g_atomic_int_dec_and_test (&queue->ref_count)) - { - g_return_if_fail (queue->waiting_threads == 0); - g_mutex_free (queue->mutex); - if (queue->cond) - g_cond_free (queue->cond); - g_queue_free (queue->queue); - g_free (queue); - } -} - -/** - * q_async_queue_lock: - * @queue: a #QAsyncQueue. - * - * Acquires the @queue's lock. After that you can only call the - * q_async_queue_*_unlocked() function variants on that - * @queue. Otherwise it will deadlock. - **/ -void -q_async_queue_lock (QAsyncQueue *queue) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - - g_mutex_lock (queue->mutex); -} - -/** - * q_async_queue_unlock: - * @queue: a #QAsyncQueue. - * - * Releases the queue's lock. - **/ -void -q_async_queue_unlock (QAsyncQueue *queue) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - - g_mutex_unlock (queue->mutex); -} - -/** - * q_async_queue_push: - * @queue: a #QAsyncQueue. - * @data: @data to push into the @queue. - * - * Pushes the @data into the @queue. @data must not be %NULL. - **/ -void -q_async_queue_push (QAsyncQueue* queue, gpointer data) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - g_return_if_fail (data); - - g_mutex_lock (queue->mutex); - q_async_queue_push_unlocked (queue, data); - g_mutex_unlock (queue->mutex); -} - -/** - * q_async_queue_push_unlocked: - * @queue: a #QAsyncQueue. - * @data: @data to push into the @queue. - * - * Pushes the @data into the @queue. @data must not be %NULL. This - * function must be called while holding the @queue's lock. - **/ -void -q_async_queue_push_unlocked (QAsyncQueue* queue, gpointer data) -{ - g_return_if_fail (queue); - g_return_if_fail (g_atomic_int_get (&queue->ref_count) > 0); - g_return_if_fail (data); - - g_queue_push_head (queue->queue, data); - if (queue->waiting_threads > 0) - g_cond_signal (queue->cond); -} - -/** - * q_async_queue_push_sorted: - * @queue: a #QAsyncQueue - * @data: the @data to push into the @queue - * @func: the #GCompareDataFunc is used to sort @queue. This function - * is passed two elements of the @queue. The function should return - * 0 if they are equal, a negative value if the first element - * should be higher in the @queue or a positive value if the first - * element should be lower in the @queue than the second element. - * @user_data: user data passed to @func. - * - * Inserts @data into @queue using @func to determine the new - * position. - * - * This function requires that the @queue is sorted before pushing on - * new elements. - * - * This function will lock @queue before it sorts the queue and unlock - * it when it is finished. - * - * For an example of @func see q_async_queue_sort(). - * - * Since: 2.10 - **/ -void -q_async_queue_push_sorted (QAsyncQueue *queue, - gpointer data, - GCompareDataFunc func, - gpointer user_data) -{ - g_return_if_fail (queue != NULL); - - g_mutex_lock (queue->mutex); - q_async_queue_push_sorted_unlocked (queue, data, func, user_data); - g_mutex_unlock (queue->mutex); -} - -static gint -q_async_queue_invert_compare (gpointer v1, - gpointer v2, - SortData *sd) -{ - return -sd->func (v1, v2, sd->user_data); -} - -/** - * q_async_queue_push_sorted_unlocked: - * @queue: a #QAsyncQueue - * @data: the @data to push into the @queue - * @func: the #GCompareDataFunc is used to sort @queue. This function - * is passed two elements of the @queue. The function should return - * 0 if they are equal, a negative value if the first element - * should be higher in the @queue or a positive value if the first - * element should be lower in the @queue than the second element. - * @user_data: user data passed to @func. - * - * Inserts @data into @queue using @func to determine the new - * position. - * - * This function requires that the @queue is sorted before pushing on - * new elements. - * - * This function is called while holding the @queue's lock. - * - * For an example of @func see q_async_queue_sort(). - * - * Since: 2.10 - **/ -void -q_async_queue_push_sorted_unlocked (QAsyncQueue *queue, - gpointer data, - GCompareDataFunc func, - gpointer user_data) -{ - SortData sd; - - g_return_if_fail (queue != NULL); - - sd.func = func; - sd.user_data = user_data; - - g_queue_insert_sorted (queue->queue, - data, - (GCompareDataFunc)q_async_queue_invert_compare, - &sd); - if (queue->waiting_threads > 0) - g_cond_signal (queue->cond); -} - -static gpointer -q_async_queue_pop_intern_unlocked (QAsyncQueue *queue, - gboolean try, - GTimeVal *end_time) -{ - gpointer retval; - - if (!g_queue_peek_tail_link (queue->queue)) - { - if (try) - return NULL; - - if (!queue->cond) - queue->cond = g_cond_new (); - - if (!end_time) - { - queue->waiting_threads++; - while (!g_queue_peek_tail_link (queue->queue)) - g_cond_wait (queue->cond, queue->mutex); - queue->waiting_threads--; - } - else - { - queue->waiting_threads++; - while (!g_queue_peek_tail_link (queue->queue)) - if (!g_cond_timed_wait (queue->cond, queue->mutex, end_time)) - break; - queue->waiting_threads--; - if (!g_queue_peek_tail_link (queue->queue)) - return NULL; - } - } - - retval = g_queue_pop_tail (queue->queue); - - g_assert (retval); - - return retval; -} - -/** - * q_async_queue_pop: - * @queue: a #QAsyncQueue. - * - * Pops data from the @queue. This function blocks until data become - * available. - * - * Return value: data from the queue. - **/ -gpointer -q_async_queue_pop (QAsyncQueue* queue) -{ - gpointer retval; - - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - g_mutex_lock (queue->mutex); - retval = q_async_queue_pop_intern_unlocked (queue, FALSE, NULL); - g_mutex_unlock (queue->mutex); - - return retval; -} - -/** - * q_async_queue_pop_unlocked: - * @queue: a #QAsyncQueue. - * - * Pops data from the @queue. This function blocks until data become - * available. This function must be called while holding the @queue's - * lock. - * - * Return value: data from the queue. - **/ -gpointer -q_async_queue_pop_unlocked (QAsyncQueue* queue) -{ - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - return q_async_queue_pop_intern_unlocked (queue, FALSE, NULL); -} - -/** - * q_async_queue_try_pop: - * @queue: a #QAsyncQueue. - * - * Tries to pop data from the @queue. If no data is available, %NULL is - * returned. - * - * Return value: data from the queue or %NULL, when no data is - * available immediately. - **/ -gpointer -q_async_queue_try_pop (QAsyncQueue* queue) -{ - gpointer retval; - - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - g_mutex_lock (queue->mutex); - retval = q_async_queue_pop_intern_unlocked (queue, TRUE, NULL); - g_mutex_unlock (queue->mutex); - - return retval; -} - -/** - * q_async_queue_try_pop_unlocked: - * @queue: a #QAsyncQueue. - * - * Tries to pop data from the @queue. If no data is available, %NULL is - * returned. This function must be called while holding the @queue's - * lock. - * - * Return value: data from the queue or %NULL, when no data is - * available immediately. - **/ -gpointer -q_async_queue_try_pop_unlocked (QAsyncQueue* queue) -{ - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - return q_async_queue_pop_intern_unlocked (queue, TRUE, NULL); -} - -/** - * q_async_queue_timed_pop: - * @queue: a #QAsyncQueue. - * @end_time: a #GTimeVal, determining the final time. - * - * Pops data from the @queue. If no data is received before @end_time, - * %NULL is returned. - * - * To easily calculate @end_time a combination of g_get_current_time() - * and g_time_val_add() can be used. - * - * Return value: data from the queue or %NULL, when no data is - * received before @end_time. - **/ -gpointer -q_async_queue_timed_pop (QAsyncQueue* queue, GTimeVal *end_time) -{ - gpointer retval; - - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - g_mutex_lock (queue->mutex); - retval = q_async_queue_pop_intern_unlocked (queue, FALSE, end_time); - g_mutex_unlock (queue->mutex); - - return retval; -} - -/** - * q_async_queue_timed_pop_unlocked: - * @queue: a #QAsyncQueue. - * @end_time: a #GTimeVal, determining the final time. - * - * Pops data from the @queue. If no data is received before @end_time, - * %NULL is returned. This function must be called while holding the - * @queue's lock. - * - * To easily calculate @end_time a combination of g_get_current_time() - * and g_time_val_add() can be used. - * - * Return value: data from the queue or %NULL, when no data is - * received before @end_time. - **/ -gpointer -q_async_queue_timed_pop_unlocked (QAsyncQueue* queue, GTimeVal *end_time) -{ - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - return q_async_queue_pop_intern_unlocked (queue, FALSE, end_time); -} -/** - * q_async_queue_true_length: - * @queue: a #QAsyncQueue. - * - * Returns the length of the queue, negative values mean waiting - * threads, positive values mean available entries in the - * @queue. Actually this function returns the number of data items in - * the queue minus the number of waiting threads. Thus a return value - * of 0 could mean 'n' entries in the queue and 'n' thread waiting. - * That can happen due to locking of the queue or due to - * scheduling. - * - * Return value: the length of the @queue. - **/ -gint -q_async_queue_true_length (QAsyncQueue* queue) -{ - gint retval; - - g_return_val_if_fail (queue, 0); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, 0); - - g_mutex_lock (queue->mutex); - retval = queue->queue->length; - g_mutex_unlock (queue->mutex); - - return retval; -} -/** - * q_async_queue_length: - * @queue: a #QAsyncQueue. - * - * Returns the length of the queue, negative values mean waiting - * threads, positive values mean available entries in the - * @queue. Actually this function returns the number of data items in - * the queue minus the number of waiting threads. Thus a return value - * of 0 could mean 'n' entries in the queue and 'n' thread waiting. - * That can happen due to locking of the queue or due to - * scheduling. - * - * Return value: the length of the @queue. - **/ -gint -q_async_queue_length (QAsyncQueue* queue) -{ - gint retval; - - g_return_val_if_fail (queue, 0); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, 0); - - g_mutex_lock (queue->mutex); - retval = queue->queue->length - queue->waiting_threads; - g_mutex_unlock (queue->mutex); - - return retval; -} - -/** - * q_async_queue_length_unlocked: - * @queue: a #QAsyncQueue. - * - * Returns the length of the queue, negative values mean waiting - * threads, positive values mean available entries in the - * @queue. Actually this function returns the number of data items in - * the queue minus the number of waiting threads. Thus a return value - * of 0 could mean 'n' entries in the queue and 'n' thread waiting. - * That can happen due to locking of the queue or due to - * scheduling. This function must be called while holding the @queue's - * lock. - * - * Return value: the length of the @queue. - **/ -gint -q_async_queue_length_unlocked (QAsyncQueue* queue) -{ - g_return_val_if_fail (queue, 0); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, 0); - - return queue->queue->length - queue->waiting_threads; -} - -/** - * q_async_queue_sort: - * @queue: a #QAsyncQueue - * @func: the #GCompareDataFunc is used to sort @queue. This - * function is passed two elements of the @queue. The function - * should return 0 if they are equal, a negative value if the - * first element should be higher in the @queue or a positive - * value if the first element should be lower in the @queue than - * the second element. - * @user_data: user data passed to @func - * - * Sorts @queue using @func. - * - * This function will lock @queue before it sorts the queue and unlock - * it when it is finished. - * - * If you were sorting a list of priority numbers to make sure the - * lowest priority would be at the top of the queue, you could use: - * - * gint32 id1; - * gint32 id2; - * - * id1 = GPOINTER_TO_INT (element1); - * id2 = GPOINTER_TO_INT (element2); - * - * return (id1 > id2 ? +1 : id1 == id2 ? 0 : -1); - * - * - * Since: 2.10 - **/ -void -q_async_queue_sort (QAsyncQueue *queue, - GCompareDataFunc func, - gpointer user_data) -{ - g_return_if_fail (queue != NULL); - g_return_if_fail (func != NULL); - - g_mutex_lock (queue->mutex); - q_async_queue_sort_unlocked (queue, func, user_data); - g_mutex_unlock (queue->mutex); -} - -/** - * q_async_queue_sort_unlocked: - * @queue: a #QAsyncQueue - * @func: the #GCompareDataFunc is used to sort @queue. This - * function is passed two elements of the @queue. The function - * should return 0 if they are equal, a negative value if the - * first element should be higher in the @queue or a positive - * value if the first element should be lower in the @queue than - * the second element. - * @user_data: user data passed to @func - * - * Sorts @queue using @func. - * - * This function is called while holding the @queue's lock. - * - * Since: 2.10 - **/ -void -q_async_queue_sort_unlocked (QAsyncQueue *queue, - GCompareDataFunc func, - gpointer user_data) -{ - SortData sd; - - g_return_if_fail (queue != NULL); - g_return_if_fail (func != NULL); - - sd.func = func; - sd.user_data = user_data; - - g_queue_sort (queue->queue, - (GCompareDataFunc)q_async_queue_invert_compare, - &sd); -} - -/* - * Private API - */ - -GMutex* -_q_async_queue_get_mutex (QAsyncQueue* queue) -{ - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - return queue->mutex; -} - - - - - -/** - * q_async_queue_remove_data_unlocked: - * @queue: a #QAsyncQueue. - * - * Pops data from the @queue. - * - * Return value: data from the queue. - **/ -gpointer -q_async_queue_remove_data_unlocked (QAsyncQueue* queue, GCompareFunc func, gpointer data) -{ - gint length; - GList *list = NULL; - gpointer retval= NULL; - - g_return_val_if_fail (queue, NULL); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, NULL); - - /* get the first */ - list = g_queue_peek_nth_link(queue->queue, 0); - for(length = g_queue_get_length(queue->queue);list;length++) - { - /* if we find it, then pop it off and return it... */ - if(!func(list->data, data)) - { - retval = list->data; - g_queue_delete_link(queue->queue, list); - return retval; - } - list = list->next; - } - return NULL; -} - -gboolean -q_async_queue_has_data (QAsyncQueue *queue, GCompareFunc func, gpointer data) -{ - gint length; - GList *list = NULL; - - g_return_val_if_fail (queue,FALSE); - g_return_val_if_fail (g_atomic_int_get (&queue->ref_count) > 0, FALSE); - - /* get the first */ - list = g_queue_peek_nth_link(queue->queue, 0); - for(length = g_queue_get_length(queue->queue);list;length++) - { - if(!func(list->data, data)) - { - return TRUE; - } - list = list->next; - } - return FALSE; -} - -#define __Q_ASYNCQUEUE_C__ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/qlib/qasyncqueue.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/qlib/qasyncqueue.h --- gmpc-0.18.0/src/qlib/qasyncqueue.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/qlib/qasyncqueue.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,135 +0,0 @@ -/* GLIB - Library of useful routines for C programming - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GLib Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GLib Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. - */ -/* - * Modified by Qball For usage in gmpc. - */ - -#ifndef __Q_ASYNCQUEUE_H__ -#define __Q_ASYNCQUEUE_H__ - -#include - -G_BEGIN_DECLS - -typedef struct _QAsyncQueue QAsyncQueue; - -/* Asyncronous Queues, can be used to communicate between threads */ - -/* Get a new QAsyncQueue with the ref_count 1 */ -QAsyncQueue* q_async_queue_new (void); - -/* Lock and unlock a QAsyncQueue. All functions lock the queue for - * themselves, but in certain cirumstances you want to hold the lock longer, - * thus you lock the queue, call the *_unlocked functions and unlock it again. - */ -void q_async_queue_lock (QAsyncQueue *queue); -void q_async_queue_unlock (QAsyncQueue *queue); - -/* Ref and unref the QAsyncQueue. */ -QAsyncQueue* q_async_queue_ref (QAsyncQueue *queue); -void q_async_queue_unref (QAsyncQueue *queue); - -#ifndef G_DISABLE_DEPRECATED -/* You don't have to hold the lock for calling *_ref and *_unref anymore. */ -void q_async_queue_ref_unlocked (QAsyncQueue *queue); -void q_async_queue_unref_and_unlock (QAsyncQueue *queue); -#endif /* !G_DISABLE_DEPRECATED */ - -/* Push data into the async queue. Must not be NULL. */ -void q_async_queue_push (QAsyncQueue *queue, - gpointer data); -void q_async_queue_push_unlocked (QAsyncQueue *queue, - gpointer data); - -void q_async_queue_push_sorted (QAsyncQueue *queue, - gpointer data, - GCompareDataFunc func, - gpointer user_data); -void q_async_queue_push_sorted_unlocked (QAsyncQueue *queue, - gpointer data, - GCompareDataFunc func, - gpointer user_data); - -/* Pop data from the async queue. When no data is there, the thread is blocked - * until data arrives. - */ -gpointer q_async_queue_pop (QAsyncQueue *queue); -gpointer q_async_queue_pop_unlocked (QAsyncQueue *queue); - -/* Try to pop data. NULL is returned in case of empty queue. */ -gpointer q_async_queue_try_pop (QAsyncQueue *queue); -gpointer q_async_queue_try_pop_unlocked (QAsyncQueue *queue); - - - -/* Wait for data until at maximum until end_time is reached. NULL is returned - * in case of empty queue. - */ -gpointer q_async_queue_timed_pop (QAsyncQueue *queue, - GTimeVal *end_time); -gpointer q_async_queue_timed_pop_unlocked (QAsyncQueue *queue, - GTimeVal *end_time); - -gint -q_async_queue_true_length (QAsyncQueue* queue); -/* Return the length of the queue. Negative values mean that threads - * are waiting, positve values mean that there are entries in the - * queue. Actually this function returns the length of the queue minus - * the number of waiting threads, q_async_queue_length == 0 could also - * mean 'n' entries in the queue and 'n' thread waiting. Such can - * happen due to locking of the queue or due to scheduling. - */ -gint q_async_queue_length (QAsyncQueue *queue); -gint q_async_queue_length_unlocked (QAsyncQueue *queue); -void q_async_queue_sort (QAsyncQueue *queue, - GCompareDataFunc func, - gpointer user_data); -void q_async_queue_sort_unlocked (QAsyncQueue *queue, - GCompareDataFunc func, - gpointer user_data); - -/* Private API */ -GMutex* _q_async_queue_get_mutex (QAsyncQueue *queue); - -G_END_DECLS - - -/** - * q_async_queue_remove_data_unlocked: - * @queue: a #QAsyncQueue. - * - * Pops data from the @queue. - * - * Return value: data from the queue. - **/ -gpointer -q_async_queue_remove_data_unlocked (QAsyncQueue* queue, GCompareFunc func, gpointer data); - - -gboolean -q_async_queue_has_data (QAsyncQueue *queue, GCompareFunc func, gpointer data); -#endif /* __Q_ASYNCQUEUE_H__ */ - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/revision.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/revision.h --- gmpc-0.18.0/src/revision.h 2009-03-09 16:23:22.000000000 +0000 +++ gmpc-0.19.0/src/revision.h 2009-09-21 11:15:59.000000000 +0100 @@ -1 +1 @@ -static const char *revision = "d81f794"; +static const char *revision = "7ab4037"; diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/setup-assistant.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/setup-assistant.c --- gmpc-0.18.0/src/setup-assistant.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/setup-assistant.c 2009-09-21 11:15:59.000000000 +0100 @@ -65,14 +65,11 @@ static void close_assistant(GtkAssistant *assistant) { /* Read out the configuration */ - - destroy_assistant(assistant); } static void cancel_assistant(GtkAssistant *assistant) { - destroy_assistant(assistant); } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/sm.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/sm.c --- gmpc-0.18.0/src/sm.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/sm.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,184 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Modified and borrowed from Bill Wilson (GKrellM) - * This projects' homepage is: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include -#ifdef ENABLE_SM - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "main.h" -#include "sm.h" - -static gchar *client_id; -static gchar *session_id = NULL; - - -static void cb_smc_save_yourself(SmcConn smc_conn, SmPointer client_data, gint save_type, - gboolean shutdown, gint interact_style, gboolean fast) -{ - debug_printf(DEBUG_INFO,"Save myself\n"); - SmcSaveYourselfDone(smc_conn, True); -} - - static void -cb_smc_die(SmcConn smc_conn, SmPointer client_data) -{ - debug_printf(DEBUG_INFO,"gmpc die\n"); - SmcCloseConnection(smc_conn, 0, NULL); - main_quit(); -} - - static void -cb_smc_save_complete(SmcConn smc_conn, SmPointer client_data) -{ - debug_printf(DEBUG_INFO,"gmpc save complete\n"); -} - - static void -cb_smc_shutdown_cancelled(SmcConn smc_conn, SmPointer client_data) -{ - debug_printf(DEBUG_INFO,"shutdown cancelled\n"); -} - - static void -cb_ice_connection_messages(IceConn ice_connection, gint source, - GdkInputCondition condition) -{ - debug_printf(DEBUG_INFO, "Ice connection"); - IceProcessMessages(ice_connection, NULL, NULL); -} - -void smc_connect(gint argc, gchar **argv) -{ - SmProp userid, program, restart, restart_style, clone, pid, - *props[5]; - SmPropValue userid_val, pid_val, restart_style_val; - CARD8 restartstyle; - SmcCallbacks *callbacks; - SmcConn smc_connection; - IceConn ice_connection; - struct passwd *pwd; - uid_t uid; - gchar error_string[256], pid_str[16], userid_string[256]; - gulong mask; - gint i, j; - - /* Session manager callbacks - */ - callbacks = g_new0(SmcCallbacks, 1); - callbacks->save_yourself.callback = cb_smc_save_yourself; - callbacks->die.callback = cb_smc_die; - callbacks->save_complete.callback = cb_smc_save_complete; - callbacks->shutdown_cancelled.callback = cb_smc_shutdown_cancelled; - - mask = SmcSaveYourselfProcMask | SmcDieProcMask | SmcSaveCompleteProcMask - | SmcShutdownCancelledProcMask; - - smc_connection = SmcOpenConnection(NULL /* SESSION_MANAGER env variable */, - NULL /* share ICE connection */, - SmProtoMajor, SmProtoMinor, mask, - callbacks, - session_id, &client_id, - sizeof(error_string), error_string); - q_free(callbacks); - if (!smc_connection) - return; - - gdk_set_sm_client_id(client_id); - - /* Session manager properties - 4 are required. - */ - userid.name = SmUserID; - userid.type = SmARRAY8; - userid.num_vals = 1; - userid.vals = &userid_val; - uid = getuid(); - if ((pwd = getpwuid(uid)) != NULL) - snprintf(userid_string, sizeof(userid_string), "%s", pwd->pw_name); - else - snprintf(userid_string, sizeof(userid_string), "%d", uid); - userid_val.value = userid_string; - userid_val.length = strlen(userid_string); - - pid.name = SmProcessID; - pid.type = SmARRAY8; - pid.num_vals = 1; - pid.vals = &pid_val; - sprintf(pid_str, "%i", getpid()); - pid_val.value = (SmPointer) pid_str; - pid_val.length = strlen(pid_str); - - restart.name = SmRestartCommand; - restart.type = SmLISTofARRAY8; - restart.vals = g_new0(SmPropValue, argc + 2); - j = 0; - for (i = 0; i < argc; ++i) { - if ( strcmp(argv[i], "--sm-client-id") ) { - restart.vals[j].value = (SmPointer) argv[i]; - restart.vals[j++].length = strlen(argv[i]); - } else - i++; - } - restart.vals[j].value = (SmPointer) "--sm-client-id"; - restart.vals[j++].length = strlen("--sm-client-id"); - restart.vals[j].value = (SmPointer) client_id; - restart.vals[j++].length = strlen(client_id); - restart.num_vals = j; - - restartstyle = SmRestartImmediately; - restart_style.name = SmRestartStyleHint; - restart_style.type = SmCARD8; - restart_style.num_vals = 1; - restart_style.vals = &restart_style_val; - restart_style_val.value = (SmPointer) &restartstyle; - restart_style_val.length = 1; - - clone.name = SmCloneCommand; - clone.type = SmLISTofARRAY8; - clone.vals = restart.vals; - clone.num_vals = restart.num_vals - 2; - - program.name = SmProgram; - program.type = SmARRAY8; - program.vals = restart.vals; - program.num_vals = 1; - - props[0] = &program; - props[1] = &userid; - props[2] = &restart; - props[3] = &clone; - props[4] = &pid; - SmcSetProperties(smc_connection, 5, props); - - q_free(restart.vals); - - ice_connection = SmcGetIceConnection(smc_connection); - gdk_input_add(IceConnectionNumber(ice_connection), GDK_INPUT_READ, - (GdkInputFunction) cb_ice_connection_messages, ice_connection); -} - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggdesktopfile.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggdesktopfile.c --- gmpc-0.18.0/src/smclient/eggdesktopfile.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggdesktopfile.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,1477 @@ +/* eggdesktopfile.c - Freedesktop.Org Desktop Files + * Copyright (C) 2007 Novell, Inc. + * + * Based on gnome-desktop-item.c + * Copyright (C) 1999, 2000 Red Hat Inc. + * Copyright (C) 2001 George Lebl + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - + * Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "eggdesktopfile.h" + +#include +#include + +#include +#include +#include + +struct EggDesktopFile { + GKeyFile *key_file; + char *source; + + char *name, *icon; + EggDesktopFileType type; + char document_code; +}; + +/** + * egg_desktop_file_new: + * @desktop_file_path: path to a Freedesktop-style Desktop file + * @error: error pointer + * + * Creates a new #EggDesktopFile for @desktop_file. + * + * Return value: the new #EggDesktopFile, or %NULL on error. + **/ +EggDesktopFile * +egg_desktop_file_new (const char *desktop_file_path, GError **error) +{ + GKeyFile *key_file; + + key_file = g_key_file_new (); + if (!g_key_file_load_from_file (key_file, desktop_file_path, 0, error)) + { + g_key_file_free (key_file); + return NULL; + } + + return egg_desktop_file_new_from_key_file (key_file, desktop_file_path, + error); +} + +/** + * egg_desktop_file_new_from_data_dirs: + * @desktop_file_path: relative path to a Freedesktop-style Desktop file + * @error: error pointer + * + * Looks for @desktop_file_path in the paths returned from + * g_get_user_data_dir() and g_get_system_data_dirs(), and creates + * a new #EggDesktopFile from it. + * + * Return value: the new #EggDesktopFile, or %NULL on error. + **/ +EggDesktopFile * +egg_desktop_file_new_from_data_dirs (const char *desktop_file_path, + GError **error) +{ + EggDesktopFile *desktop_file; + GKeyFile *key_file; + char *full_path; + + key_file = g_key_file_new (); + if (!g_key_file_load_from_data_dirs (key_file, desktop_file_path, + &full_path, 0, error)) + { + g_key_file_free (key_file); + return NULL; + } + + desktop_file = egg_desktop_file_new_from_key_file (key_file, + full_path, + error); + g_free (full_path); + return desktop_file; +} + +/** + * egg_desktop_file_new_from_dirs: + * @desktop_file_path: relative path to a Freedesktop-style Desktop file + * @search_dirs: NULL-terminated array of directories to search + * @error: error pointer + * + * Looks for @desktop_file_path in the paths returned from + * g_get_user_data_dir() and g_get_system_data_dirs(), and creates + * a new #EggDesktopFile from it. + * + * Return value: the new #EggDesktopFile, or %NULL on error. + **/ +EggDesktopFile * +egg_desktop_file_new_from_dirs (const char *desktop_file_path, + const char **search_dirs, + GError **error) +{ + EggDesktopFile *desktop_file; + GKeyFile *key_file; + char *full_path; + + key_file = g_key_file_new (); + if (!g_key_file_load_from_dirs (key_file, desktop_file_path, search_dirs, + &full_path, 0, error)) + { + g_key_file_free (key_file); + return NULL; + } + + desktop_file = egg_desktop_file_new_from_key_file (key_file, + full_path, + error); + g_free (full_path); + return desktop_file; +} + +/** + * egg_desktop_file_new_from_key_file: + * @key_file: a #GKeyFile representing a desktop file + * @source: the path or URI that @key_file was loaded from, or %NULL + * @error: error pointer + * + * Creates a new #EggDesktopFile for @key_file. Assumes ownership of + * @key_file (on success or failure); you should consider @key_file to + * be freed after calling this function. + * + * Return value: the new #EggDesktopFile, or %NULL on error. + **/ +EggDesktopFile * +egg_desktop_file_new_from_key_file (GKeyFile *key_file, + const char *source, + GError **error) +{ + EggDesktopFile *desktop_file; + char *version, *type; + + if (!g_key_file_has_group (key_file, EGG_DESKTOP_FILE_GROUP)) + { + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_INVALID, + _("File is not a valid .desktop file")); + g_key_file_free (key_file); + return NULL; + } + + version = g_key_file_get_value (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_VERSION, + NULL); + if (version) + { + double version_num; + char *end; + + version_num = g_ascii_strtod (version, &end); + if (*end) + { + g_warning ("Invalid Version string '%s' in %s", + version, source ? source : "(unknown)"); + } + else if (version_num > 1.0) + { + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_INVALID, + _("Unrecognized desktop file Version '%s'"), version); + g_free (version); + g_key_file_free (key_file); + return NULL; + } + g_free (version); + } + + desktop_file = g_new0 (EggDesktopFile, 1); + desktop_file->key_file = key_file; + + if (g_path_is_absolute (source)) + desktop_file->source = g_filename_to_uri (source, NULL, NULL); + else + desktop_file->source = g_strdup (source); + + desktop_file->name = g_key_file_get_string (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_NAME, error); + if (!desktop_file->name) + { + egg_desktop_file_free (desktop_file); + return NULL; + } + + type = g_key_file_get_string (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_TYPE, error); + if (!type) + { + egg_desktop_file_free (desktop_file); + return NULL; + } + + if (!strcmp (type, "Application")) + { + char *exec, *p; + + desktop_file->type = EGG_DESKTOP_FILE_TYPE_APPLICATION; + + exec = g_key_file_get_string (key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_EXEC, + error); + if (!exec) + { + egg_desktop_file_free (desktop_file); + g_free (type); + return NULL; + } + + /* See if it takes paths or URIs or neither */ + for (p = exec; *p; p++) + { + if (*p == '%') + { + if (p[1] == '\0' || strchr ("FfUu", p[1])) + { + desktop_file->document_code = p[1]; + break; + } + p++; + } + } + + g_free (exec); + } + else if (!strcmp (type, "Link")) + { + char *url; + + desktop_file->type = EGG_DESKTOP_FILE_TYPE_LINK; + + url = g_key_file_get_string (key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_URL, + error); + if (!url) + { + egg_desktop_file_free (desktop_file); + g_free (type); + return NULL; + } + g_free (url); + } + else if (!strcmp (type, "Directory")) + desktop_file->type = EGG_DESKTOP_FILE_TYPE_DIRECTORY; + else + desktop_file->type = EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED; + + g_free (type); + + /* Check the Icon key */ + desktop_file->icon = g_key_file_get_string (key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_ICON, + NULL); + if (desktop_file->icon && !g_path_is_absolute (desktop_file->icon)) + { + char *ext; + + /* Lots of .desktop files still get this wrong */ + ext = strrchr (desktop_file->icon, '.'); + if (ext && (!strcmp (ext, ".png") || + !strcmp (ext, ".xpm") || + !strcmp (ext, ".svg"))) + { + g_warning ("Desktop file '%s' has malformed Icon key '%s'" + "(should not include extension)", + source ? source : "(unknown)", + desktop_file->icon); + *ext = '\0'; + } + } + + return desktop_file; +} + +/** + * egg_desktop_file_free: + * @desktop_file: an #EggDesktopFile + * + * Frees @desktop_file. + **/ +void +egg_desktop_file_free (EggDesktopFile *desktop_file) +{ + g_key_file_free (desktop_file->key_file); + g_free (desktop_file->source); + g_free (desktop_file->name); + g_free (desktop_file->icon); + g_free (desktop_file); +} + +/** + * egg_desktop_file_get_source: + * @desktop_file: an #EggDesktopFile + * + * Gets the URI that @desktop_file was loaded from. + * + * Return value: @desktop_file's source URI + **/ +const char * +egg_desktop_file_get_source (EggDesktopFile *desktop_file) +{ + return desktop_file->source; +} + +/** + * egg_desktop_file_get_desktop_file_type: + * @desktop_file: an #EggDesktopFile + * + * Gets the desktop file type of @desktop_file. + * + * Return value: @desktop_file's type + **/ +EggDesktopFileType +egg_desktop_file_get_desktop_file_type (EggDesktopFile *desktop_file) +{ + return desktop_file->type; +} + +/** + * egg_desktop_file_get_name: + * @desktop_file: an #EggDesktopFile + * + * Gets the (localized) value of @desktop_file's "Name" key. + * + * Return value: the application/link name + **/ +const char * +egg_desktop_file_get_name (EggDesktopFile *desktop_file) +{ + return desktop_file->name; +} + +/** + * egg_desktop_file_get_icon: + * @desktop_file: an #EggDesktopFile + * + * Gets the value of @desktop_file's "Icon" key. + * + * If the icon string is a full path (that is, if g_path_is_absolute() + * returns %TRUE when called on it), it points to a file containing an + * unthemed icon. If the icon string is not a full path, it is the + * name of a themed icon, which can be looked up with %GtkIconTheme, + * or passed directly to a theme-aware widget like %GtkImage or + * %GtkCellRendererPixbuf. + * + * Return value: the icon path or name + **/ +const char * +egg_desktop_file_get_icon (EggDesktopFile *desktop_file) +{ + return desktop_file->icon; +} + +gboolean +egg_desktop_file_has_key (EggDesktopFile *desktop_file, + const char *key, + GError **error) +{ + return g_key_file_has_key (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, + error); +} + +char * +egg_desktop_file_get_string (EggDesktopFile *desktop_file, + const char *key, + GError **error) +{ + return g_key_file_get_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, + error); +} + +char * +egg_desktop_file_get_locale_string (EggDesktopFile *desktop_file, + const char *key, + const char *locale, + GError **error) +{ + return g_key_file_get_locale_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, locale, + error); +} + +gboolean +egg_desktop_file_get_boolean (EggDesktopFile *desktop_file, + const char *key, + GError **error) +{ + return g_key_file_get_boolean (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, + error); +} + +double +egg_desktop_file_get_numeric (EggDesktopFile *desktop_file, + const char *key, + GError **error) +{ + return g_key_file_get_double (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, + error); +} + +char ** +egg_desktop_file_get_string_list (EggDesktopFile *desktop_file, + const char *key, + gsize *length, + GError **error) +{ + return g_key_file_get_string_list (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, length, + error); +} + +char ** +egg_desktop_file_get_locale_string_list (EggDesktopFile *desktop_file, + const char *key, + const char *locale, + gsize *length, + GError **error) +{ + return g_key_file_get_locale_string_list (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, key, + locale, length, + error); +} + +/** + * egg_desktop_file_can_launch: + * @desktop_file: an #EggDesktopFile + * @desktop_environment: the name of the running desktop environment, + * or %NULL + * + * Tests if @desktop_file can/should be launched in the current + * environment. If @desktop_environment is non-%NULL, @desktop_file's + * "OnlyShowIn" and "NotShowIn" keys are checked to make sure that + * this desktop_file is appropriate for the named environment. + * + * Furthermore, if @desktop_file has type + * %EGG_DESKTOP_FILE_TYPE_APPLICATION, its "TryExec" key (if any) is + * also checked, to make sure the binary it points to exists. + * + * egg_desktop_file_can_launch() does NOT check the value of the + * "Hidden" key. + * + * Return value: %TRUE if @desktop_file can be launched + **/ +gboolean +egg_desktop_file_can_launch (EggDesktopFile *desktop_file, + const char *desktop_environment) +{ + char *try_exec, *found_program; + char **only_show_in, **not_show_in; + gboolean found; + int i; + + if (desktop_file->type != EGG_DESKTOP_FILE_TYPE_APPLICATION && + desktop_file->type != EGG_DESKTOP_FILE_TYPE_LINK) + return FALSE; + + if (desktop_environment) + { + only_show_in = g_key_file_get_string_list (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_ONLY_SHOW_IN, + NULL, NULL); + if (only_show_in) + { + for (i = 0, found = FALSE; only_show_in[i] && !found; i++) + { + if (!strcmp (only_show_in[i], desktop_environment)) + found = TRUE; + } + + g_strfreev (only_show_in); + + if (!found) + return FALSE; + } + + not_show_in = g_key_file_get_string_list (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_NOT_SHOW_IN, + NULL, NULL); + if (not_show_in) + { + for (i = 0, found = FALSE; not_show_in[i] && !found; i++) + { + if (!strcmp (not_show_in[i], desktop_environment)) + found = TRUE; + } + + g_strfreev (not_show_in); + + if (found) + return FALSE; + } + } + + if (desktop_file->type == EGG_DESKTOP_FILE_TYPE_APPLICATION) + { + try_exec = g_key_file_get_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_TRY_EXEC, + NULL); + if (try_exec) + { + found_program = g_find_program_in_path (try_exec); + g_free (try_exec); + + if (!found_program) + return FALSE; + g_free (found_program); + } + } + + return TRUE; +} + +/** + * egg_desktop_file_accepts_documents: + * @desktop_file: an #EggDesktopFile + * + * Tests if @desktop_file represents an application that can accept + * documents on the command line. + * + * Return value: %TRUE or %FALSE + **/ +gboolean +egg_desktop_file_accepts_documents (EggDesktopFile *desktop_file) +{ + return desktop_file->document_code != 0; +} + +/** + * egg_desktop_file_accepts_multiple: + * @desktop_file: an #EggDesktopFile + * + * Tests if @desktop_file can accept multiple documents at once. + * + * If this returns %FALSE, you can still pass multiple documents to + * egg_desktop_file_launch(), but that will result in multiple copies + * of the application being launched. See egg_desktop_file_launch() + * for more details. + * + * Return value: %TRUE or %FALSE + **/ +gboolean +egg_desktop_file_accepts_multiple (EggDesktopFile *desktop_file) +{ + return (desktop_file->document_code == 'F' || + desktop_file->document_code == 'U'); +} + +/** + * egg_desktop_file_accepts_uris: + * @desktop_file: an #EggDesktopFile + * + * Tests if @desktop_file can accept (non-"file:") URIs as documents to + * open. + * + * Return value: %TRUE or %FALSE + **/ +gboolean +egg_desktop_file_accepts_uris (EggDesktopFile *desktop_file) +{ + return (desktop_file->document_code == 'U' || + desktop_file->document_code == 'u'); +} + +static void +append_quoted_word (GString *str, + const char *s, + gboolean in_single_quotes, + gboolean in_double_quotes) +{ + const char *p; + + if (!in_single_quotes && !in_double_quotes) + g_string_append_c (str, '\''); + else if (!in_single_quotes && in_double_quotes) + g_string_append (str, "\"'"); + + if (!strchr (s, '\'')) + g_string_append (str, s); + else + { + for (p = s; *p != '\0'; p++) + { + if (*p == '\'') + g_string_append (str, "'\\''"); + else + g_string_append_c (str, *p); + } + } + + if (!in_single_quotes && !in_double_quotes) + g_string_append_c (str, '\''); + else if (!in_single_quotes && in_double_quotes) + g_string_append (str, "'\""); +} + +static void +do_percent_subst (EggDesktopFile *desktop_file, + char code, + GString *str, + GSList **documents, + gboolean in_single_quotes, + gboolean in_double_quotes) +{ + GSList *d; + char *doc; + + switch (code) + { + case '%': + g_string_append_c (str, '%'); + break; + + case 'F': + case 'U': + for (d = *documents; d; d = d->next) + { + doc = d->data; + g_string_append (str, " "); + append_quoted_word (str, doc, in_single_quotes, in_double_quotes); + } + *documents = NULL; + break; + + case 'f': + case 'u': + if (*documents) + { + doc = (*documents)->data; + g_string_append (str, " "); + append_quoted_word (str, doc, in_single_quotes, in_double_quotes); + *documents = (*documents)->next; + } + break; + + case 'i': + if (desktop_file->icon) + { + g_string_append (str, "--icon "); + append_quoted_word (str, desktop_file->icon, + in_single_quotes, in_double_quotes); + } + break; + + case 'c': + if (desktop_file->name) + { + append_quoted_word (str, desktop_file->name, + in_single_quotes, in_double_quotes); + } + break; + + case 'k': + if (desktop_file->source) + { + append_quoted_word (str, desktop_file->source, + in_single_quotes, in_double_quotes); + } + break; + + case 'D': + case 'N': + case 'd': + case 'n': + case 'v': + case 'm': + /* Deprecated; skip */ + break; + + default: + g_warning ("Unrecognized %%-code '%%%c' in Exec", code); + break; + } +} + +static char * +parse_exec (EggDesktopFile *desktop_file, + GSList **documents, + GError **error) +{ + char *exec, *p, *command; + gboolean escape, single_quot, double_quot; + GString *gs; + + exec = g_key_file_get_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_EXEC, + error); + if (!exec) + return NULL; + + /* Build the command */ + gs = g_string_new (NULL); + escape = single_quot = double_quot = FALSE; + + for (p = exec; *p != '\0'; p++) + { + if (escape) + { + escape = FALSE; + g_string_append_c (gs, *p); + } + else if (*p == '\\') + { + if (!single_quot) + escape = TRUE; + g_string_append_c (gs, *p); + } + else if (*p == '\'') + { + g_string_append_c (gs, *p); + if (!single_quot && !double_quot) + single_quot = TRUE; + else if (single_quot) + single_quot = FALSE; + } + else if (*p == '"') + { + g_string_append_c (gs, *p); + if (!single_quot && !double_quot) + double_quot = TRUE; + else if (double_quot) + double_quot = FALSE; + } + else if (*p == '%' && p[1]) + { + do_percent_subst (desktop_file, p[1], gs, documents, + single_quot, double_quot); + p++; + } + else + g_string_append_c (gs, *p); + } + + g_free (exec); + command = g_string_free (gs, FALSE); + + /* Prepend "xdg-terminal " if needed (FIXME: use gvfs) */ + if (g_key_file_has_key (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_TERMINAL, + NULL)) + { + GError *terminal_error = NULL; + gboolean use_terminal = + g_key_file_get_boolean (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_TERMINAL, + &terminal_error); + if (terminal_error) + { + g_free (command); + g_propagate_error (error, terminal_error); + return NULL; + } + + if (use_terminal) + { + gs = g_string_new ("xdg-terminal "); + append_quoted_word (gs, command, FALSE, FALSE); + g_free (command); + command = g_string_free (gs, FALSE); + } + } + + return command; +} + +static GSList * +translate_document_list (EggDesktopFile *desktop_file, GSList *documents) +{ + gboolean accepts_uris = egg_desktop_file_accepts_uris (desktop_file); + GSList *ret, *d; + + for (d = documents, ret = NULL; d; d = d->next) + { + const char *document = d->data; + gboolean is_uri = !g_path_is_absolute (document); + char *translated; + + if (accepts_uris) + { + if (is_uri) + translated = g_strdup (document); + else + translated = g_filename_to_uri (document, NULL, NULL); + } + else + { + if (is_uri) + translated = g_filename_from_uri (document, NULL, NULL); + else + translated = g_strdup (document); + } + + if (translated) + ret = g_slist_prepend (ret, translated); + } + + return g_slist_reverse (ret); +} + +static void +free_document_list (GSList *documents) +{ + GSList *d; + + for (d = documents; d; d = d->next) + g_free (d->data); + g_slist_free (documents); +} + +/** + * egg_desktop_file_parse_exec: + * @desktop_file: a #EggDesktopFile + * @documents: a list of document paths or URIs + * @error: error pointer + * + * Parses @desktop_file's Exec key, inserting @documents into it, and + * returns the result. + * + * If @documents contains non-file: URIs and @desktop_file does not + * accept URIs, those URIs will be ignored. Likewise, if @documents + * contains more elements than @desktop_file accepts, the extra + * documents will be ignored. + * + * Return value: the parsed Exec string + **/ +char * +egg_desktop_file_parse_exec (EggDesktopFile *desktop_file, + GSList *documents, + GError **error) +{ + GSList *translated, *docs; + char *command; + + docs = translated = translate_document_list (desktop_file, documents); + command = parse_exec (desktop_file, &docs, error); + free_document_list (translated); + + return command; +} + +static gboolean +parse_link (EggDesktopFile *desktop_file, + EggDesktopFile **app_desktop_file, + GSList **documents, + GError **error) +{ + char *url; + GKeyFile *key_file; + + url = g_key_file_get_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_URL, + error); + if (!url) + return FALSE; + *documents = g_slist_prepend (NULL, url); + + /* FIXME: use gvfs */ + key_file = g_key_file_new (); + g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_NAME, + "xdg-open"); + g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_TYPE, + "Application"); + g_key_file_set_string (key_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_EXEC, + "xdg-open %u"); + *app_desktop_file = egg_desktop_file_new_from_key_file (key_file, NULL, NULL); + return TRUE; +} + +#if GTK_CHECK_VERSION (2, 12, 0) +static char * +start_startup_notification (GdkDisplay *display, + EggDesktopFile *desktop_file, + const char *argv0, + int screen, + int workspace, + guint32 launch_time) +{ + static int sequence = 0; + char *startup_id; + char *description, *wmclass; + char *screen_str, *workspace_str; + + if (g_key_file_has_key (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY, + NULL)) + { + if (!g_key_file_get_boolean (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY, + NULL)) + return NULL; + wmclass = NULL; + } + else + { + wmclass = g_key_file_get_string (desktop_file->key_file, + EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_STARTUP_WM_CLASS, + NULL); + if (!wmclass) + return NULL; + } + + if (launch_time == (guint32)-1) + launch_time = gdk_x11_display_get_user_time (display); + startup_id = g_strdup_printf ("%s-%lu-%s-%s-%d_TIME%lu", + g_get_prgname (), + (unsigned long)getpid (), + g_get_host_name (), + argv0, + sequence++, + (unsigned long)launch_time); + + description = g_strdup_printf (_("Starting %s"), desktop_file->name); + screen_str = g_strdup_printf ("%d", screen); + workspace_str = workspace == -1 ? NULL : g_strdup_printf ("%d", workspace); + + gdk_x11_display_broadcast_startup_message (display, "new", + "ID", startup_id, + "NAME", desktop_file->name, + "SCREEN", screen_str, + "BIN", argv0, + "ICON", desktop_file->icon, + "DESKTOP", workspace_str, + "DESCRIPTION", description, + "WMCLASS", wmclass, + NULL); + + g_free (description); + g_free (wmclass); + g_free (screen_str); + g_free (workspace_str); + + return startup_id; +} + +static void +end_startup_notification (GdkDisplay *display, + const char *startup_id) +{ + gdk_x11_display_broadcast_startup_message (display, "remove", + "ID", startup_id, + NULL); +} + +#define EGG_DESKTOP_FILE_SN_TIMEOUT_LENGTH (30 /* seconds */) + +typedef struct { + GdkDisplay *display; + char *startup_id; +} StartupNotificationData; + +static gboolean +startup_notification_timeout (gpointer data) +{ + StartupNotificationData *sn_data = data; + + end_startup_notification (sn_data->display, sn_data->startup_id); + g_object_unref (sn_data->display); + g_free (sn_data->startup_id); + g_free (sn_data); + + return FALSE; +} + +static void +set_startup_notification_timeout (GdkDisplay *display, + const char *startup_id) +{ + StartupNotificationData *sn_data; + + sn_data = g_new (StartupNotificationData, 1); + sn_data->display = g_object_ref (display); + sn_data->startup_id = g_strdup (startup_id); + + g_timeout_add_seconds (EGG_DESKTOP_FILE_SN_TIMEOUT_LENGTH, + startup_notification_timeout, sn_data); +} +#endif /* GTK 2.12 */ + +static GPtrArray * +array_putenv (GPtrArray *env, char *variable) +{ + guint i, keylen; + + if (!env) + { + char **envp; + + env = g_ptr_array_new (); + + envp = g_listenv (); + for (i = 0; envp[i]; i++) + { + const char *value; + + value = g_getenv (envp[i]); + g_ptr_array_add (env, g_strdup_printf ("%s=%s", envp[i], + value ? value : "")); + } + g_strfreev (envp); + } + + keylen = strcspn (variable, "="); + + /* Remove old value of key */ + for (i = 0; i < env->len; i++) + { + char *envvar = env->pdata[i]; + + if (!strncmp (envvar, variable, keylen) && envvar[keylen] == '=') + { + g_free (envvar); + g_ptr_array_remove_index_fast (env, i); + break; + } + } + + /* Add new value */ + g_ptr_array_add (env, g_strdup (variable)); + + return env; +} + +static gboolean +egg_desktop_file_launchv (EggDesktopFile *desktop_file, + GSList *documents, va_list args, + GError **error) +{ + EggDesktopFileLaunchOption option; + GSList *translated_documents = NULL, *docs = NULL; + char *command, **argv; + int argc, i, screen_num; + gboolean success, current_success; + GdkDisplay *display; + char *startup_id; + + GPtrArray *env = NULL; + char **variables = NULL; + GdkScreen *screen = NULL; + int workspace = -1; + const char *directory = NULL; + guint32 launch_time = (guint32)-1; + GSpawnFlags flags = G_SPAWN_SEARCH_PATH; + GSpawnChildSetupFunc setup_func = NULL; + gpointer setup_data = NULL; + + GPid *ret_pid = NULL; + int *ret_stdin = NULL, *ret_stdout = NULL, *ret_stderr = NULL; + char **ret_startup_id = NULL; + + if (documents && desktop_file->document_code == 0) + { + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, + _("Application does not accept documents on command line")); + return FALSE; + } + + /* Read the options: technically it's incorrect for the caller to + * NULL-terminate the list of options (rather than 0-terminating + * it), but NULL-terminating lets us use G_GNUC_NULL_TERMINATED, + * it's more consistent with other glib/gtk methods, and it will + * work as long as sizeof (int) <= sizeof (NULL), and NULL is + * represented as 0. (Which is true everywhere we care about.) + */ + while ((option = va_arg (args, EggDesktopFileLaunchOption))) + { + switch (option) + { + case EGG_DESKTOP_FILE_LAUNCH_CLEARENV: + if (env) + g_ptr_array_free (env, TRUE); + env = g_ptr_array_new (); + break; + case EGG_DESKTOP_FILE_LAUNCH_PUTENV: + variables = va_arg (args, char **); + for (i = 0; variables[i]; i++) + env = array_putenv (env, variables[i]); + break; + + case EGG_DESKTOP_FILE_LAUNCH_SCREEN: + screen = va_arg (args, GdkScreen *); + break; + case EGG_DESKTOP_FILE_LAUNCH_WORKSPACE: + workspace = va_arg (args, int); + break; + + case EGG_DESKTOP_FILE_LAUNCH_DIRECTORY: + directory = va_arg (args, const char *); + break; + case EGG_DESKTOP_FILE_LAUNCH_TIME: + launch_time = va_arg (args, guint32); + break; + case EGG_DESKTOP_FILE_LAUNCH_FLAGS: + flags |= va_arg (args, GSpawnFlags); + /* Make sure they didn't set any flags that don't make sense. */ + flags &= ~G_SPAWN_FILE_AND_ARGV_ZERO; + break; + case EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC: + setup_func = va_arg (args, GSpawnChildSetupFunc); + setup_data = va_arg (args, gpointer); + break; + + case EGG_DESKTOP_FILE_LAUNCH_RETURN_PID: + ret_pid = va_arg (args, GPid *); + break; + case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE: + ret_stdin = va_arg (args, int *); + break; + case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE: + ret_stdout = va_arg (args, int *); + break; + case EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE: + ret_stderr = va_arg (args, int *); + break; + case EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID: + ret_startup_id = va_arg (args, char **); + break; + + default: + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_UNRECOGNIZED_OPTION, + _("Unrecognized launch option: %d"), + GPOINTER_TO_INT (option)); + success = FALSE; + goto out; + } + } + + if (screen) + { + char *display_name = gdk_screen_make_display_name (screen); + char *display_env = g_strdup_printf ("DISPLAY=%s", display_name); + env = array_putenv (env, display_env); + g_free (display_name); + g_free (display_env); + + display = gdk_screen_get_display (screen); + } + else + { + display = gdk_display_get_default (); + screen = gdk_display_get_default_screen (display); + } + screen_num = gdk_screen_get_number (screen); + + translated_documents = translate_document_list (desktop_file, documents); + docs = translated_documents; + + success = FALSE; + + do + { + command = parse_exec (desktop_file, &docs, error); + if (!command) + goto out; + + if (!g_shell_parse_argv (command, &argc, &argv, error)) + { + g_free (command); + goto out; + } + g_free (command); + +#if GTK_CHECK_VERSION (2, 12, 0) + startup_id = start_startup_notification (display, desktop_file, + argv[0], screen_num, + workspace, launch_time); + if (startup_id) + { + char *startup_id_env = g_strdup_printf ("DESKTOP_STARTUP_ID=%s", + startup_id); + env = array_putenv (env, startup_id_env); + g_free (startup_id_env); + } +#else + startup_id = NULL; +#endif /* GTK 2.12 */ + + if (env != NULL) + g_ptr_array_add (env, NULL); + + current_success = + g_spawn_async_with_pipes (directory, + argv, + env ? (char **)(env->pdata) : NULL, + flags, + setup_func, setup_data, + ret_pid, + ret_stdin, ret_stdout, ret_stderr, + error); + g_strfreev (argv); + + if (startup_id) + { +#if GTK_CHECK_VERSION (2, 12, 0) + if (current_success) + { + set_startup_notification_timeout (display, startup_id); + + if (ret_startup_id) + *ret_startup_id = startup_id; + else + g_free (startup_id); + } + else +#endif /* GTK 2.12 */ + g_free (startup_id); + } + else if (ret_startup_id) + *ret_startup_id = NULL; + + if (current_success) + { + /* If we successfully launch any instances of the app, make + * sure we return TRUE and don't set @error. + */ + success = TRUE; + error = NULL; + + /* Also, only set the output params on the first one */ + ret_pid = NULL; + ret_stdin = ret_stdout = ret_stderr = NULL; + ret_startup_id = NULL; + } + } + while (docs && current_success); + + out: + if (env) + { + g_strfreev ((char **)env->pdata); + g_ptr_array_free (env, FALSE); + } + free_document_list (translated_documents); + + return success; +} + +/** + * egg_desktop_file_launch: + * @desktop_file: an #EggDesktopFile + * @documents: a list of URIs or paths to documents to open + * @error: error pointer + * @...: additional options + * + * Launches @desktop_file with the given arguments. Additional options + * can be specified as follows: + * + * %EGG_DESKTOP_FILE_LAUNCH_CLEARENV: (no arguments) + * clears the environment in the child process + * %EGG_DESKTOP_FILE_LAUNCH_PUTENV: (char **variables) + * adds the NAME=VALUE strings in the given %NULL-terminated + * array to the child process's environment + * %EGG_DESKTOP_FILE_LAUNCH_SCREEN: (GdkScreen *screen) + * causes the application to be launched on the given screen + * %EGG_DESKTOP_FILE_LAUNCH_WORKSPACE: (int workspace) + * causes the application to be launched on the given workspace + * %EGG_DESKTOP_FILE_LAUNCH_DIRECTORY: (char *dir) + * causes the application to be launched in the given directory + * %EGG_DESKTOP_FILE_LAUNCH_TIME: (guint32 launch_time) + * sets the "launch time" for the application. If the user + * interacts with another window after @launch_time but before + * the launched application creates its first window, the window + * manager may choose to not give focus to the new application. + * Passing 0 for @launch_time will explicitly request that the + * application not receive focus. + * %EGG_DESKTOP_FILE_LAUNCH_FLAGS (GSpawnFlags flags) + * Sets additional #GSpawnFlags to use. See g_spawn_async() for + * more details. + * %EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC (GSpawnChildSetupFunc, gpointer) + * Sets the child setup callback and the data to pass to it. + * (See g_spawn_async() for more details.) + * + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_PID (GPid **pid) + * On a successful launch, sets *@pid to the PID of the launched + * application. + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID (char **startup_id) + * On a successful launch, sets *@startup_id to the Startup + * Notification "startup id" of the launched application. + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE (int *fd) + * On a successful launch, sets *@fd to the file descriptor of + * a pipe connected to the application's stdin. + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE (int *fd) + * On a successful launch, sets *@fd to the file descriptor of + * a pipe connected to the application's stdout. + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE (int *fd) + * On a successful launch, sets *@fd to the file descriptor of + * a pipe connected to the application's stderr. + * + * The options should be terminated with a single %NULL. + * + * If @documents contains multiple documents, but + * egg_desktop_file_accepts_multiple() returns %FALSE for + * @desktop_file, then egg_desktop_file_launch() will actually launch + * multiple instances of the application. In that case, the return + * value (as well as any values passed via + * %EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, etc) will only reflect the + * first instance of the application that was launched (but the + * %EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC will be called for each + * instance). + * + * Return value: %TRUE if the application was successfully launched. + **/ +gboolean +egg_desktop_file_launch (EggDesktopFile *desktop_file, + GSList *documents, GError **error, + ...) +{ + va_list args; + gboolean success; + EggDesktopFile *app_desktop_file; + + switch (desktop_file->type) + { + case EGG_DESKTOP_FILE_TYPE_APPLICATION: + va_start (args, error); + success = egg_desktop_file_launchv (desktop_file, documents, + args, error); + va_end (args); + break; + + case EGG_DESKTOP_FILE_TYPE_LINK: + if (documents) + { + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, + _("Can't pass document URIs to a 'Type=Link' desktop entry")); + return FALSE; + } + + if (!parse_link (desktop_file, &app_desktop_file, &documents, error)) + return FALSE; + + va_start (args, error); + success = egg_desktop_file_launchv (app_desktop_file, documents, + args, error); + va_end (args); + + egg_desktop_file_free (app_desktop_file); + free_document_list (documents); + break; + + default: + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, + _("Not a launchable item")); + success = FALSE; + break; + } + + return success; +} + + +GQuark +egg_desktop_file_error_quark (void) +{ + return g_quark_from_static_string ("egg-desktop_file-error-quark"); +} + + +G_LOCK_DEFINE_STATIC (egg_desktop_file); +static EggDesktopFile *egg_desktop_file; + +/** + * egg_set_desktop_file: + * @desktop_file_path: path to the application's desktop file + * + * Creates an #EggDesktopFile for the application from the data at + * @desktop_file_path. This will also call g_set_application_name() + * with the localized application name from the desktop file, and + * gtk_window_set_default_icon_name() or + * gtk_window_set_default_icon_from_file() with the application's + * icon. Other code may use additional information from the desktop + * file. + * + * Note that for thread safety reasons, this function can only + * be called once. + **/ +void +egg_set_desktop_file (const char *desktop_file_path) +{ + GError *error = NULL; + + G_LOCK (egg_desktop_file); + if (egg_desktop_file) + egg_desktop_file_free (egg_desktop_file); + + egg_desktop_file = egg_desktop_file_new (desktop_file_path, &error); + if (error) + { + g_warning ("Could not load desktop file '%s': %s", + desktop_file_path, error->message); + g_error_free (error); + } + + if (egg_desktop_file) { + /* Set localized application name and default window icon */ + if (egg_desktop_file->name) + g_set_application_name (egg_desktop_file->name); + if (egg_desktop_file->icon) + { + if (g_path_is_absolute (egg_desktop_file->icon)) + gtk_window_set_default_icon_from_file (egg_desktop_file->icon, NULL); + else + gtk_window_set_default_icon_name (egg_desktop_file->icon); + } + } + + G_UNLOCK (egg_desktop_file); +} + +/** + * egg_get_desktop_file: + * + * Gets the application's #EggDesktopFile, as set by + * egg_set_desktop_file(). + * + * Return value: the #EggDesktopFile, or %NULL if it hasn't been set. + **/ +EggDesktopFile * +egg_get_desktop_file (void) +{ + EggDesktopFile *retval; + + G_LOCK (egg_desktop_file); + retval = egg_desktop_file; + G_UNLOCK (egg_desktop_file); + + return retval; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggdesktopfile.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggdesktopfile.h --- gmpc-0.18.0/src/smclient/eggdesktopfile.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggdesktopfile.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,159 @@ +/* eggdesktopfile.h - Freedesktop.Org Desktop Files + * Copyright (C) 2007 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - + * Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __EGG_DESKTOP_FILE_H__ +#define __EGG_DESKTOP_FILE_H__ + +#include + +G_BEGIN_DECLS + +typedef struct EggDesktopFile EggDesktopFile; + +typedef enum { + EGG_DESKTOP_FILE_TYPE_UNRECOGNIZED, + + EGG_DESKTOP_FILE_TYPE_APPLICATION, + EGG_DESKTOP_FILE_TYPE_LINK, + EGG_DESKTOP_FILE_TYPE_DIRECTORY +} EggDesktopFileType; + +EggDesktopFile *egg_desktop_file_new (const char *desktop_file_path, + GError **error); + +EggDesktopFile *egg_desktop_file_new_from_data_dirs (const char *desktop_file_path, + GError **error); +EggDesktopFile *egg_desktop_file_new_from_dirs (const char *desktop_file_path, + const char **search_dirs, + GError **error); +EggDesktopFile *egg_desktop_file_new_from_key_file (GKeyFile *key_file, + const char *source, + GError **error); + +void egg_desktop_file_free (EggDesktopFile *desktop_file); + +const char *egg_desktop_file_get_source (EggDesktopFile *desktop_file); + +EggDesktopFileType egg_desktop_file_get_desktop_file_type (EggDesktopFile *desktop_file); + +const char *egg_desktop_file_get_name (EggDesktopFile *desktop_file); +const char *egg_desktop_file_get_icon (EggDesktopFile *desktop_file); + +gboolean egg_desktop_file_can_launch (EggDesktopFile *desktop_file, + const char *desktop_environment); + +gboolean egg_desktop_file_accepts_documents (EggDesktopFile *desktop_file); +gboolean egg_desktop_file_accepts_multiple (EggDesktopFile *desktop_file); +gboolean egg_desktop_file_accepts_uris (EggDesktopFile *desktop_file); + +char *egg_desktop_file_parse_exec (EggDesktopFile *desktop_file, + GSList *documents, + GError **error); + +gboolean egg_desktop_file_launch (EggDesktopFile *desktop_file, + GSList *documents, + GError **error, + ...) G_GNUC_NULL_TERMINATED; + +typedef enum { + EGG_DESKTOP_FILE_LAUNCH_CLEARENV = 1, + EGG_DESKTOP_FILE_LAUNCH_PUTENV, + EGG_DESKTOP_FILE_LAUNCH_SCREEN, + EGG_DESKTOP_FILE_LAUNCH_WORKSPACE, + EGG_DESKTOP_FILE_LAUNCH_DIRECTORY, + EGG_DESKTOP_FILE_LAUNCH_TIME, + EGG_DESKTOP_FILE_LAUNCH_FLAGS, + EGG_DESKTOP_FILE_LAUNCH_SETUP_FUNC, + EGG_DESKTOP_FILE_LAUNCH_RETURN_PID, + EGG_DESKTOP_FILE_LAUNCH_RETURN_STDIN_PIPE, + EGG_DESKTOP_FILE_LAUNCH_RETURN_STDOUT_PIPE, + EGG_DESKTOP_FILE_LAUNCH_RETURN_STDERR_PIPE, + EGG_DESKTOP_FILE_LAUNCH_RETURN_STARTUP_ID +} EggDesktopFileLaunchOption; + +/* Standard Keys */ +#define EGG_DESKTOP_FILE_GROUP "Desktop Entry" + +#define EGG_DESKTOP_FILE_KEY_TYPE "Type" +#define EGG_DESKTOP_FILE_KEY_VERSION "Version" +#define EGG_DESKTOP_FILE_KEY_NAME "Name" +#define EGG_DESKTOP_FILE_KEY_GENERIC_NAME "GenericName" +#define EGG_DESKTOP_FILE_KEY_NO_DISPLAY "NoDisplay" +#define EGG_DESKTOP_FILE_KEY_COMMENT "Comment" +#define EGG_DESKTOP_FILE_KEY_ICON "Icon" +#define EGG_DESKTOP_FILE_KEY_HIDDEN "Hidden" +#define EGG_DESKTOP_FILE_KEY_ONLY_SHOW_IN "OnlyShowIn" +#define EGG_DESKTOP_FILE_KEY_NOT_SHOW_IN "NotShowIn" +#define EGG_DESKTOP_FILE_KEY_TRY_EXEC "TryExec" +#define EGG_DESKTOP_FILE_KEY_EXEC "Exec" +#define EGG_DESKTOP_FILE_KEY_PATH "Path" +#define EGG_DESKTOP_FILE_KEY_TERMINAL "Terminal" +#define EGG_DESKTOP_FILE_KEY_MIME_TYPE "MimeType" +#define EGG_DESKTOP_FILE_KEY_CATEGORIES "Categories" +#define EGG_DESKTOP_FILE_KEY_STARTUP_NOTIFY "StartupNotify" +#define EGG_DESKTOP_FILE_KEY_STARTUP_WM_CLASS "StartupWMClass" +#define EGG_DESKTOP_FILE_KEY_URL "URL" + +/* Accessors */ +gboolean egg_desktop_file_has_key (EggDesktopFile *desktop_file, + const char *key, + GError **error); +char *egg_desktop_file_get_string (EggDesktopFile *desktop_file, + const char *key, + GError **error) G_GNUC_MALLOC; +char *egg_desktop_file_get_locale_string (EggDesktopFile *desktop_file, + const char *key, + const char *locale, + GError **error) G_GNUC_MALLOC; +gboolean egg_desktop_file_get_boolean (EggDesktopFile *desktop_file, + const char *key, + GError **error); +double egg_desktop_file_get_numeric (EggDesktopFile *desktop_file, + const char *key, + GError **error); +char **egg_desktop_file_get_string_list (EggDesktopFile *desktop_file, + const char *key, + gsize *length, + GError **error) G_GNUC_MALLOC; +char **egg_desktop_file_get_locale_string_list (EggDesktopFile *desktop_file, + const char *key, + const char *locale, + gsize *length, + GError **error) G_GNUC_MALLOC; + + +/* Errors */ +#define EGG_DESKTOP_FILE_ERROR egg_desktop_file_error_quark() + +GQuark egg_desktop_file_error_quark (void); + +typedef enum { + EGG_DESKTOP_FILE_ERROR_INVALID, + EGG_DESKTOP_FILE_ERROR_NOT_LAUNCHABLE, + EGG_DESKTOP_FILE_ERROR_UNRECOGNIZED_OPTION +} EggDesktopFileError; + +/* Global application desktop file */ +void egg_set_desktop_file (const char *desktop_file_path); +EggDesktopFile *egg_get_desktop_file (void); + + +G_END_DECLS + +#endif /* __EGG_DESKTOP_FILE_H__ */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient.c --- gmpc-0.18.0/src/smclient/eggsmclient.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,589 @@ +/* + * Copyright (C) 2007 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include +#include + +#include "eggsmclient.h" +#include "eggsmclient-private.h" + +static void egg_sm_client_debug_handler (const char *log_domain, + GLogLevelFlags log_level, + const char *message, + gpointer user_data); + +enum { + SAVE_STATE, + QUIT_REQUESTED, + QUIT_CANCELLED, + QUIT, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL]; + +struct _EggSMClientPrivate { + GKeyFile *state_file; +}; + +#define EGG_SM_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), EGG_TYPE_SM_CLIENT, EggSMClientPrivate)) + +G_DEFINE_TYPE (EggSMClient, egg_sm_client, G_TYPE_OBJECT) + +static EggSMClient *global_client; +static EggSMClientMode global_client_mode = EGG_SM_CLIENT_MODE_NORMAL; + +static void +egg_sm_client_init (EggSMClient *client) +{ + ; +} + +static void +egg_sm_client_class_init (EggSMClientClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + g_type_class_add_private (klass, sizeof (EggSMClientPrivate)); + + /** + * EggSMClient::save_state: + * @client: the client + * @state_file: a #GKeyFile to save state information into + * + * Emitted when the session manager has requested that the + * application save information about its current state. The + * application should save its state into @state_file, and then the + * session manager may then restart the application in a future + * session and tell it to initialize itself from that state. + * + * You should not save any data into @state_file's "start group" + * (ie, the %NULL group). Instead, applications should save their + * data into groups with names that start with the application name, + * and libraries that connect to this signal should save their data + * into groups with names that start with the library name. + * + * Alternatively, rather than (or in addition to) using @state_file, + * the application can save its state by calling + * egg_sm_client_set_restart_command() during the processing of this + * signal (eg, to include a list of files to open). + **/ + signals[SAVE_STATE] = + g_signal_new ("save_state", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EggSMClientClass, save_state), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, + 1, G_TYPE_POINTER); + + /** + * EggSMClient::quit_requested: + * @client: the client + * + * Emitted when the session manager requests that the application + * exit (generally because the user is logging out). The application + * should decide whether or not it is willing to quit (perhaps after + * asking the user what to do with documents that have unsaved + * changes) and then call egg_sm_client_will_quit(), passing %TRUE + * or %FALSE to give its answer to the session manager. (It does not + * need to give an answer before returning from the signal handler; + * it can interact with the user asynchronously and then give its + * answer later on.) If the application does not connect to this + * signal, then #EggSMClient will automatically return %TRUE on its + * behalf. + * + * The application should not save its session state as part of + * handling this signal; if the user has requested that the session + * be saved when logging out, then ::save_state will be emitted + * separately. + * + * If the application agrees to quit, it should then wait for either + * the ::quit_cancelled or ::quit signals to be emitted. + **/ + signals[QUIT_REQUESTED] = + g_signal_new ("quit_requested", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EggSMClientClass, quit_requested), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + /** + * EggSMClient::quit_cancelled: + * @client: the client + * + * Emitted when the session manager decides to cancel a logout after + * the application has already agreed to quit. After receiving this + * signal, the application can go back to what it was doing before + * receiving the ::quit_requested signal. + **/ + signals[QUIT_CANCELLED] = + g_signal_new ("quit_cancelled", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EggSMClientClass, quit_cancelled), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + /** + * EggSMClient::quit: + * @client: the client + * + * Emitted when the session manager wants the application to quit + * (generally because the user is logging out). The application + * should exit as soon as possible after receiving this signal; if + * it does not, the session manager may choose to forcibly kill it. + * + * Normally a GUI application would only be sent a ::quit if it + * agreed to quit in response to a ::quit_requested signal. However, + * this is not guaranteed; in some situations the session manager + * may decide to end the session without giving applications a + * chance to object. + **/ + signals[QUIT] = + g_signal_new ("quit", + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (EggSMClientClass, quit), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); +} + +static gboolean sm_client_disable = FALSE; +static char *sm_client_state_file = NULL; +static char *sm_client_id = NULL; +static char *sm_config_prefix = NULL; + +static gboolean +sm_client_post_parse_func (GOptionContext *context, + GOptionGroup *group, + gpointer data, + GError **error) +{ + EggSMClient *client = egg_sm_client_get (); + + if (sm_client_id == NULL) + { + const gchar *desktop_autostart_id; + + desktop_autostart_id = g_getenv ("DESKTOP_AUTOSTART_ID"); + + if (desktop_autostart_id != NULL) + sm_client_id = g_strdup (desktop_autostart_id); + } + + /* Unset DESKTOP_AUTOSTART_ID in order to avoid child processes to + * use the same client id. */ + g_unsetenv ("DESKTOP_AUTOSTART_ID"); + + if (EGG_SM_CLIENT_GET_CLASS (client)->startup) + EGG_SM_CLIENT_GET_CLASS (client)->startup (client, sm_client_id); + return TRUE; +} + +/** + * egg_sm_client_get_option_group: + * + * Creates a %GOptionGroup containing the session-management-related + * options. You should add this group to the application's + * %GOptionContext if you want to use #EggSMClient. + * + * Return value: the %GOptionGroup + **/ +GOptionGroup * +egg_sm_client_get_option_group (void) +{ + const GOptionEntry entries[] = { + { "sm-client-disable", 0, 0, + G_OPTION_ARG_NONE, &sm_client_disable, + N_("Disable connection to session manager"), NULL }, + { "sm-client-state-file", 0, 0, + G_OPTION_ARG_FILENAME, &sm_client_state_file, + N_("Specify file containing saved configuration"), N_("FILE") }, + { "sm-client-id", 0, 0, + G_OPTION_ARG_STRING, &sm_client_id, + N_("Specify session management ID"), N_("ID") }, + /* GnomeClient compatibility option */ + { "sm-disable", 0, G_OPTION_FLAG_HIDDEN, + G_OPTION_ARG_NONE, &sm_client_disable, + NULL, NULL }, + /* GnomeClient compatibility option. This is a dummy option that only + * exists so that sessions saved by apps with GnomeClient can be restored + * later when they've switched to EggSMClient. See bug #575308. + */ + { "sm-config-prefix", 0, G_OPTION_FLAG_HIDDEN, + G_OPTION_ARG_STRING, &sm_config_prefix, + NULL, NULL }, + { NULL } + }; + GOptionGroup *group; + + /* Use our own debug handler for the "EggSMClient" domain. */ + g_log_set_handler (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, + egg_sm_client_debug_handler, NULL); + + group = g_option_group_new ("sm-client", + _("Session management options:"), + _("Show session management options"), + NULL, NULL); + g_option_group_add_entries (group, entries); + g_option_group_set_parse_hooks (group, NULL, sm_client_post_parse_func); + + return group; +} + +/** + * egg_sm_client_set_mode: + * @mode: an #EggSMClient mode + * + * Sets the "mode" of #EggSMClient as follows: + * + * %EGG_SM_CLIENT_MODE_DISABLED: Session management is completely + * disabled. The application will not even connect to the session + * manager. (egg_sm_client_get() will still return an #EggSMClient, + * but it will just be a dummy object.) + * + * %EGG_SM_CLIENT_MODE_NO_RESTART: The application will connect to + * the session manager (and thus will receive notification when the + * user is logging out, etc), but will request to not be + * automatically restarted with saved state in future sessions. + * + * %EGG_SM_CLIENT_MODE_NORMAL: The default. #EggSMCLient will + * function normally. + * + * This must be called before the application's main loop begins. + **/ +void +egg_sm_client_set_mode (EggSMClientMode mode) +{ + global_client_mode = mode; +} + +/** + * egg_sm_client_get_mode: + * + * Gets the global #EggSMClientMode. See egg_sm_client_set_mode() + * for details. + * + * Return value: the global #EggSMClientMode + **/ +EggSMClientMode +egg_sm_client_get_mode (void) +{ + return global_client_mode; +} + +/** + * egg_sm_client_get: + * + * Returns the master #EggSMClient for the application. + * + * On platforms that support saved sessions (ie, POSIX/X11), the + * application will only request to be restarted by the session + * manager if you call egg_set_desktop_file() to set an application + * desktop file. In particular, if the desktop file contains the key + * "X + * + * Return value: the master #EggSMClient. + **/ +EggSMClient * +egg_sm_client_get (void) +{ + if (!global_client) + { + if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED && + !sm_client_disable) + { +#if defined (GDK_WINDOWING_WIN32) + global_client = egg_sm_client_win32_new (); +#elif defined (GDK_WINDOWING_QUARTZ) + global_client = egg_sm_client_osx_new (); +#else + /* If both D-Bus and XSMP are compiled in, try XSMP first + * (since it supports state saving) and fall back to D-Bus + * if XSMP isn't available. + */ +# ifdef EGG_SM_CLIENT_BACKEND_XSMP + global_client = egg_sm_client_xsmp_new (); +# endif +# ifdef EGG_SM_CLIENT_BACKEND_DBUS + if (!global_client) + global_client = egg_sm_client_dbus_new (); +# endif +#endif + } + + /* Fallback: create a dummy client, so that callers don't have + * to worry about a %NULL return value. + */ + if (!global_client) + global_client = g_object_new (EGG_TYPE_SM_CLIENT, NULL); + } + + return global_client; +} + +/** + * egg_sm_client_is_resumed: + * @client: the client + * + * Checks whether or not the current session has been resumed from + * a previous saved session. If so, the application should call + * egg_sm_client_get_state_file() and restore its state from the + * returned #GKeyFile. + * + * Return value: %TRUE if the session has been resumed + **/ +gboolean +egg_sm_client_is_resumed (EggSMClient *client) +{ + g_return_val_if_fail (client == global_client, FALSE); + + return sm_client_state_file != NULL; +} + +/** + * egg_sm_client_get_state_file: + * @client: the client + * + * If the application was resumed by the session manager, this will + * return the #GKeyFile containing its state from the previous + * session. + * + * Note that other libraries and #EggSMClient itself may also store + * state in the key file, so if you call egg_sm_client_get_groups(), + * on it, the return value will likely include groups that you did not + * put there yourself. (It is also not guaranteed that the first + * group created by the application will still be the "start group" + * when it is resumed.) + * + * Return value: the #GKeyFile containing the application's earlier + * state, or %NULL on error. You should not free this key file; it + * is owned by @client. + **/ +GKeyFile * +egg_sm_client_get_state_file (EggSMClient *client) +{ + EggSMClientPrivate *priv = EGG_SM_CLIENT_GET_PRIVATE (client); + char *state_file_path; + GError *err = NULL; + + g_return_val_if_fail (client == global_client, NULL); + + if (!sm_client_state_file) + return NULL; + if (priv->state_file) + return priv->state_file; + + if (!strncmp (sm_client_state_file, "file://", 7)) + state_file_path = g_filename_from_uri (sm_client_state_file, NULL, NULL); + else + state_file_path = g_strdup (sm_client_state_file); + + priv->state_file = g_key_file_new (); + if (!g_key_file_load_from_file (priv->state_file, state_file_path, 0, &err)) + { + g_warning ("Could not load SM state file '%s': %s", + sm_client_state_file, err->message); + g_clear_error (&err); + g_key_file_free (priv->state_file); + priv->state_file = NULL; + } + + g_free (state_file_path); + return priv->state_file; +} + +/** + * egg_sm_client_set_restart_command: + * @client: the client + * @argc: the length of @argv + * @argv: argument vector + * + * Sets the command used to restart @client if it does not have a + * .desktop file that can be used to find its restart command. + * + * This can also be used when handling the ::save_state signal, to + * save the current state via an updated command line. (Eg, providing + * a list of filenames to open when the application is resumed.) + **/ +void +egg_sm_client_set_restart_command (EggSMClient *client, + int argc, + const char **argv) +{ + g_return_if_fail (EGG_IS_SM_CLIENT (client)); + + if (EGG_SM_CLIENT_GET_CLASS (client)->set_restart_command) + EGG_SM_CLIENT_GET_CLASS (client)->set_restart_command (client, argc, argv); +} + +/** + * egg_sm_client_will_quit: + * @client: the client + * @will_quit: whether or not the application is willing to quit + * + * This MUST be called in response to the ::quit_requested signal, to + * indicate whether or not the application is willing to quit. The + * application may call it either directly from the signal handler, or + * at some later point (eg, after asynchronously interacting with the + * user). + * + * If the application does not connect to ::quit_requested, + * #EggSMClient will call this method on its behalf (passing %TRUE + * for @will_quit). + * + * After calling this method, the application should wait to receive + * either ::quit_cancelled or ::quit. + **/ +void +egg_sm_client_will_quit (EggSMClient *client, + gboolean will_quit) +{ + g_return_if_fail (EGG_IS_SM_CLIENT (client)); + + if (EGG_SM_CLIENT_GET_CLASS (client)->will_quit) + EGG_SM_CLIENT_GET_CLASS (client)->will_quit (client, will_quit); +} + +/** + * egg_sm_client_end_session: + * @style: a hint at how to end the session + * @request_confirmation: whether or not the user should get a chance + * to confirm the action + * + * Requests that the session manager end the current session. @style + * indicates how the session should be ended, and + * @request_confirmation indicates whether or not the user should be + * given a chance to confirm the logout/reboot/shutdown. Both of these + * flags are merely hints though; the session manager may choose to + * ignore them. + * + * Return value: %TRUE if the request was sent; %FALSE if it could not + * be (eg, because it could not connect to the session manager). + **/ +gboolean +egg_sm_client_end_session (EggSMClientEndStyle style, + gboolean request_confirmation) +{ + EggSMClient *client = egg_sm_client_get (); + + g_return_val_if_fail (EGG_IS_SM_CLIENT (client), FALSE); + + if (EGG_SM_CLIENT_GET_CLASS (client)->end_session) + { + return EGG_SM_CLIENT_GET_CLASS (client)->end_session (client, style, + request_confirmation); + } + else + return FALSE; +} + +/* Signal-emitting callbacks from platform-specific code */ + +GKeyFile * +egg_sm_client_save_state (EggSMClient *client) +{ + GKeyFile *state_file; + char *group; + + g_return_val_if_fail (client == global_client, NULL); + + state_file = g_key_file_new (); + + g_debug ("Emitting save_state"); + g_signal_emit (client, signals[SAVE_STATE], 0, state_file); + g_debug ("Done emitting save_state"); + + group = g_key_file_get_start_group (state_file); + if (group) + { + g_free (group); + return state_file; + } + else + { + g_key_file_free (state_file); + return NULL; + } +} + +void +egg_sm_client_quit_requested (EggSMClient *client) +{ + g_return_if_fail (client == global_client); + + if (!g_signal_has_handler_pending (client, signals[QUIT_REQUESTED], 0, FALSE)) + { + g_debug ("Not emitting quit_requested because no one is listening"); + egg_sm_client_will_quit (client, TRUE); + return; + } + + g_debug ("Emitting quit_requested"); + g_signal_emit (client, signals[QUIT_REQUESTED], 0); + g_debug ("Done emitting quit_requested"); +} + +void +egg_sm_client_quit_cancelled (EggSMClient *client) +{ + g_return_if_fail (client == global_client); + + g_debug ("Emitting quit_cancelled"); + g_signal_emit (client, signals[QUIT_CANCELLED], 0); + g_debug ("Done emitting quit_cancelled"); +} + +void +egg_sm_client_quit (EggSMClient *client) +{ + g_return_if_fail (client == global_client); + + g_debug ("Emitting quit"); + g_signal_emit (client, signals[QUIT], 0); + g_debug ("Done emitting quit"); + + /* FIXME: should we just call gtk_main_quit() here? */ +} + +static void +egg_sm_client_debug_handler (const char *log_domain, + GLogLevelFlags log_level, + const char *message, + gpointer user_data) +{ + static int debug = -1; + + if (debug < 0) + debug = (g_getenv ("EGG_SM_CLIENT_DEBUG") != NULL); + + if (debug) + g_log_default_handler (log_domain, log_level, message, NULL); +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient.h --- gmpc-0.18.0/src/smclient/eggsmclient.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,117 @@ +/* eggsmclient.h + * Copyright (C) 2007 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __EGG_SM_CLIENT_H__ +#define __EGG_SM_CLIENT_H__ + +#include + +G_BEGIN_DECLS + +#define EGG_TYPE_SM_CLIENT (egg_sm_client_get_type ()) +#define EGG_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT, EggSMClient)) +#define EGG_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT, EggSMClientClass)) +#define EGG_IS_SM_CLIENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT)) +#define EGG_IS_SM_CLIENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT)) +#define EGG_SM_CLIENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT, EggSMClientClass)) + +typedef struct _EggSMClient EggSMClient; +typedef struct _EggSMClientClass EggSMClientClass; +typedef struct _EggSMClientPrivate EggSMClientPrivate; + +typedef enum { + EGG_SM_CLIENT_END_SESSION_DEFAULT, + EGG_SM_CLIENT_LOGOUT, + EGG_SM_CLIENT_REBOOT, + EGG_SM_CLIENT_SHUTDOWN +} EggSMClientEndStyle; + +typedef enum { + EGG_SM_CLIENT_MODE_DISABLED, + EGG_SM_CLIENT_MODE_NO_RESTART, + EGG_SM_CLIENT_MODE_NORMAL +} EggSMClientMode; + +struct _EggSMClient +{ + GObject parent; + +}; + +struct _EggSMClientClass +{ + GObjectClass parent_class; + + /* signals */ + void (*save_state) (EggSMClient *client, + GKeyFile *state_file); + + void (*quit_requested) (EggSMClient *client); + void (*quit_cancelled) (EggSMClient *client); + void (*quit) (EggSMClient *client); + + /* virtual methods */ + void (*startup) (EggSMClient *client, + const char *client_id); + void (*set_restart_command) (EggSMClient *client, + int argc, + const char **argv); + void (*will_quit) (EggSMClient *client, + gboolean will_quit); + gboolean (*end_session) (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation); + + /* Padding for future expansion */ + void (*_egg_reserved1) (void); + void (*_egg_reserved2) (void); + void (*_egg_reserved3) (void); + void (*_egg_reserved4) (void); +}; + +GType egg_sm_client_get_type (void) G_GNUC_CONST; + +GOptionGroup *egg_sm_client_get_option_group (void); + +/* Initialization */ +void egg_sm_client_set_mode (EggSMClientMode mode); +EggSMClientMode egg_sm_client_get_mode (void); +EggSMClient *egg_sm_client_get (void); + +/* Resuming a saved session */ +gboolean egg_sm_client_is_resumed (EggSMClient *client); +GKeyFile *egg_sm_client_get_state_file (EggSMClient *client); + +/* Alternate means of saving state */ +void egg_sm_client_set_restart_command (EggSMClient *client, + int argc, + const char **argv); + +/* Handling "quit_requested" signal */ +void egg_sm_client_will_quit (EggSMClient *client, + gboolean will_quit); + +/* Initiate a logout/reboot/shutdown */ +gboolean egg_sm_client_end_session (EggSMClientEndStyle style, + gboolean request_confirmation); + +G_END_DECLS + + +#endif /* __EGG_SM_CLIENT_H__ */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient-osx.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient-osx.c --- gmpc-0.18.0/src/smclient/eggsmclient-osx.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient-osx.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,235 @@ +/* + * Copyright (C) 2007 Novell, Inc. + * Copyright (C) 2008 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* EggSMClientOSX + * + * For details on the OS X logout process, see: + * http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html#//apple_ref/doc/uid/20002130-114618 + * + * EggSMClientOSX registers for the kAEQuitApplication AppleEvent; the + * handler we register (quit_requested()) will be invoked from inside + * the quartz event-handling code (specifically, from inside + * [NSApplication nextEventMatchingMask]) when an AppleEvent arrives. + * We use AESuspendTheCurrentEvent() and AEResumeTheCurrentEvent() to + * allow asynchronous / non-main-loop-reentering processing of the + * quit request. (These are part of the Carbon framework; it doesn't + * seem to be possible to handle AppleEvents asynchronously from + * Cocoa.) + */ + +#include "config.h" + +#include "eggsmclient-private.h" +#include +#include +#include + +#define EGG_TYPE_SM_CLIENT_OSX (egg_sm_client_osx_get_type ()) +#define EGG_SM_CLIENT_OSX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSX)) +#define EGG_SM_CLIENT_OSX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) +#define EGG_IS_SM_CLIENT_OSX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_OSX)) +#define EGG_IS_SM_CLIENT_OSX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_OSX)) +#define EGG_SM_CLIENT_OSX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) + +typedef struct _EggSMClientOSX EggSMClientOSX; +typedef struct _EggSMClientOSXClass EggSMClientOSXClass; + +struct _EggSMClientOSX { + EggSMClient parent; + + AppleEvent quit_event, quit_reply; + gboolean quit_requested, quitting; +}; + +struct _EggSMClientOSXClass +{ + EggSMClientClass parent_class; + +}; + +static void sm_client_osx_startup (EggSMClient *client, + const char *client_id); +static void sm_client_osx_will_quit (EggSMClient *client, + gboolean will_quit); +static gboolean sm_client_osx_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation); + +static pascal OSErr quit_requested (const AppleEvent *, AppleEvent *, long); + +G_DEFINE_TYPE (EggSMClientOSX, egg_sm_client_osx, EGG_TYPE_SM_CLIENT) + +static void +egg_sm_client_osx_init (EggSMClientOSX *osx) +{ + ; +} + +static void +egg_sm_client_osx_class_init (EggSMClientOSXClass *klass) +{ + EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); + + sm_client_class->startup = sm_client_osx_startup; + sm_client_class->will_quit = sm_client_osx_will_quit; + sm_client_class->end_session = sm_client_osx_end_session; +} + +EggSMClient * +egg_sm_client_osx_new (void) +{ + return g_object_new (EGG_TYPE_SM_CLIENT_OSX, NULL); +} + +static void +sm_client_osx_startup (EggSMClient *client, + const char *client_id) +{ + AEInstallEventHandler (kCoreEventClass, kAEQuitApplication, + NewAEEventHandlerUPP (quit_requested), + (long)GPOINTER_TO_SIZE (client), false); +} + +static gboolean +idle_quit_requested (gpointer client) +{ + egg_sm_client_quit_requested (client); + return FALSE; +} + +static pascal OSErr +quit_requested (const AppleEvent *aevt, AppleEvent *reply, long refcon) +{ + EggSMClient *client = GSIZE_TO_POINTER ((gsize)refcon); + EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); + + g_return_val_if_fail (!osx->quit_requested, userCanceledErr); + + /* FIXME AEInteractWithUser? */ + + osx->quit_requested = TRUE; + AEDuplicateDesc (aevt, &osx->quit_event); + AEDuplicateDesc (reply, &osx->quit_reply); + AESuspendTheCurrentEvent (aevt); + + /* Don't emit the "quit_requested" signal immediately, since we're + * called from a weird point in the guts of gdkeventloop-quartz.c + */ + g_idle_add (idle_quit_requested, client); + return noErr; +} + +static pascal OSErr +quit_requested_resumed (const AppleEvent *aevt, AppleEvent *reply, long refcon) +{ + EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); + + osx->quit_requested = FALSE; + return osx->quitting ? noErr : userCanceledErr; +} + +static gboolean +idle_will_quit (gpointer client) +{ + EggSMClientOSX *osx = (EggSMClientOSX *)client; + + /* Resume the event with a new handler that will return a value to + * the system. + */ + AEResumeTheCurrentEvent (&osx->quit_event, &osx->quit_reply, + NewAEEventHandlerUPP (quit_requested_resumed), + (long)GPOINTER_TO_SIZE (client)); + AEDisposeDesc (&osx->quit_event); + AEDisposeDesc (&osx->quit_reply); + + if (osx->quitting) + egg_sm_client_quit (client); + return FALSE; +} + +static void +sm_client_osx_will_quit (EggSMClient *client, + gboolean will_quit) +{ + EggSMClientOSX *osx = (EggSMClientOSX *)client; + + g_return_if_fail (osx->quit_requested); + + osx->quitting = will_quit; + + /* Finish in an idle handler since the caller might have called + * egg_sm_client_will_quit() from inside the "quit_requested" signal + * handler, but may not expect the "quit" signal to arrive during + * the _will_quit() call. + */ + g_idle_add (idle_will_quit, client); +} + +static gboolean +sm_client_osx_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation) +{ + static const ProcessSerialNumber loginwindow_psn = { 0, kSystemProcess }; + AppleEvent event = { typeNull, NULL }, reply = { typeNull, NULL }; + AEAddressDesc target; + AEEventID id; + OSErr err; + + switch (style) + { + case EGG_SM_CLIENT_END_SESSION_DEFAULT: + case EGG_SM_CLIENT_LOGOUT: + id = request_confirmation ? kAELogOut : kAEReallyLogOut; + break; + case EGG_SM_CLIENT_REBOOT: + id = request_confirmation ? kAEShowRestartDialog : kAERestart; + break; + case EGG_SM_CLIENT_SHUTDOWN: + id = request_confirmation ? kAEShowShutdownDialog : kAEShutDown; + break; + } + + err = AECreateDesc (typeProcessSerialNumber, &loginwindow_psn, + sizeof (loginwindow_psn), &target); + if (err != noErr) + { + g_warning ("Could not create descriptor for loginwindow: %d", err); + return FALSE; + } + + err = AECreateAppleEvent (kCoreEventClass, id, &target, + kAutoGenerateReturnID, kAnyTransactionID, + &event); + AEDisposeDesc (&target); + if (err != noErr) + { + g_warning ("Could not create logout AppleEvent: %d", err); + return FALSE; + } + + err = AESend (&event, &reply, kAENoReply, kAENormalPriority, + kAEDefaultTimeout, NULL, NULL); + AEDisposeDesc (&event); + if (err == noErr) + AEDisposeDesc (&reply); + + return err == noErr; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient-private.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient-private.h --- gmpc-0.18.0/src/smclient/eggsmclient-private.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient-private.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,53 @@ +/* eggsmclient-private.h + * Copyright (C) 2007 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __EGG_SM_CLIENT_PRIVATE_H__ +#define __EGG_SM_CLIENT_PRIVATE_H__ + +#include +#include "eggsmclient.h" + +G_BEGIN_DECLS + +GKeyFile *egg_sm_client_save_state (EggSMClient *client); +void egg_sm_client_quit_requested (EggSMClient *client); +void egg_sm_client_quit_cancelled (EggSMClient *client); +void egg_sm_client_quit (EggSMClient *client); + +#if defined (GDK_WINDOWING_X11) +# ifdef EGG_SM_CLIENT_BACKEND_XSMP +GType egg_sm_client_xsmp_get_type (void); +EggSMClient *egg_sm_client_xsmp_new (void); +# endif +# ifdef EGG_SM_CLIENT_BACKEND_DBUS +GType egg_sm_client_dbus_get_type (void); +EggSMClient *egg_sm_client_dbus_new (void); +# endif +#elif defined (GDK_WINDOWING_WIN32) +GType egg_sm_client_win32_get_type (void); +EggSMClient *egg_sm_client_win32_new (void); +#elif defined (GDK_WINDOWING_QUARTZ) +GType egg_sm_client_osx_get_type (void); +EggSMClient *egg_sm_client_osx_new (void); +#endif + +G_END_DECLS + + +#endif /* __EGG_SM_CLIENT_PRIVATE_H__ */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient-win32.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient-win32.c --- gmpc-0.18.0/src/smclient/eggsmclient-win32.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient-win32.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,353 @@ +/* + * Copyright (C) 2007 Novell, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* EggSMClientWin32 + * + * For details on the Windows XP logout process, see: + * http://msdn.microsoft.com/en-us/library/aa376876.aspx. + * + * Vista adds some new APIs which EggSMClient does not make use of; see + * http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx + * + * When shutting down, Windows sends every top-level window a + * WM_QUERYENDSESSION event, which the application must respond to + * synchronously, saying whether or not it will quit. To avoid main + * loop re-entrancy problems (and to avoid having to muck about too + * much with the guts of the gdk-win32 main loop), we watch for this + * event in a separate thread, which then signals the main thread and + * waits for the main thread to handle the event. Since we don't want + * to require g_thread_init() to be called, we do this all using + * Windows-specific thread methods. + * + * After the application handles the WM_QUERYENDSESSION event, + * Windows then sends it a WM_ENDSESSION event with a TRUE or FALSE + * parameter indicating whether the session is or is not actually + * going to end now. We handle this from the other thread as well. + * + * As mentioned above, Vista introduces several additional new APIs + * that don't fit into the (current) EggSMClient API. Windows also has + * an entirely separate shutdown-notification scheme for non-GUI apps, + * which we also don't handle here. + */ + +#include "config.h" + +#include "eggsmclient-private.h" +#include + +#define WIN32_LEAN_AND_MEAN +#define UNICODE +#include +#include + +#define EGG_TYPE_SM_CLIENT_WIN32 (egg_sm_client_win32_get_type ()) +#define EGG_SM_CLIENT_WIN32(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32)) +#define EGG_SM_CLIENT_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) +#define EGG_IS_SM_CLIENT_WIN32(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_WIN32)) +#define EGG_IS_SM_CLIENT_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_WIN32)) +#define EGG_SM_CLIENT_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) + +typedef struct _EggSMClientWin32 EggSMClientWin32; +typedef struct _EggSMClientWin32Class EggSMClientWin32Class; + +struct _EggSMClientWin32 { + EggSMClient parent; + + HANDLE message_event, response_event; + + volatile GSourceFunc event; + volatile gboolean will_quit; +}; + +struct _EggSMClientWin32Class +{ + EggSMClientClass parent_class; + +}; + +static void sm_client_win32_startup (EggSMClient *client, + const char *client_id); +static void sm_client_win32_will_quit (EggSMClient *client, + gboolean will_quit); +static gboolean sm_client_win32_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation); + +static GSource *g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, + gpointer user_data); +static gboolean got_message (gpointer user_data); +static void sm_client_thread (gpointer data); + +G_DEFINE_TYPE (EggSMClientWin32, egg_sm_client_win32, EGG_TYPE_SM_CLIENT) + +static void +egg_sm_client_win32_init (EggSMClientWin32 *win32) +{ + ; +} + +static void +egg_sm_client_win32_class_init (EggSMClientWin32Class *klass) +{ + EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); + + sm_client_class->startup = sm_client_win32_startup; + sm_client_class->will_quit = sm_client_win32_will_quit; + sm_client_class->end_session = sm_client_win32_end_session; +} + +EggSMClient * +egg_sm_client_win32_new (void) +{ + return g_object_new (EGG_TYPE_SM_CLIENT_WIN32, NULL); +} + +static void +sm_client_win32_startup (EggSMClient *client, + const char *client_id) +{ + EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; + + win32->message_event = CreateEvent (NULL, FALSE, FALSE, NULL); + win32->response_event = CreateEvent (NULL, FALSE, FALSE, NULL); + g_win32_handle_source_add (win32->message_event, got_message, win32); + _beginthread (sm_client_thread, 0, client); +} + +static void +sm_client_win32_will_quit (EggSMClient *client, + gboolean will_quit) +{ + EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; + + win32->will_quit = will_quit; + SetEvent (win32->response_event); +} + +static gboolean +sm_client_win32_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation) +{ + UINT uFlags = EWX_LOGOFF; + + switch (style) + { + case EGG_SM_CLIENT_END_SESSION_DEFAULT: + case EGG_SM_CLIENT_LOGOUT: + uFlags = EWX_LOGOFF; + break; + case EGG_SM_CLIENT_REBOOT: + uFlags = EWX_REBOOT; + break; + case EGG_SM_CLIENT_SHUTDOWN: + uFlags = EWX_POWEROFF; + break; + } + + /* There's no way to make ExitWindowsEx() show a logout dialog, so + * we ignore @request_confirmation. + */ + +#ifdef SHTDN_REASON_FLAG_PLANNED + ExitWindowsEx (uFlags, SHTDN_REASON_FLAG_PLANNED); +#else + ExitWindowsEx (uFlags, 0); +#endif + + return TRUE; +} + + +/* callbacks from logout-listener thread */ + +static gboolean +emit_quit_requested (gpointer smclient) +{ + gdk_threads_enter (); + egg_sm_client_quit_requested (smclient); + gdk_threads_leave (); + + return FALSE; +} + +static gboolean +emit_quit (gpointer smclient) +{ + EggSMClientWin32 *win32 = smclient; + + gdk_threads_enter (); + egg_sm_client_quit (smclient); + gdk_threads_leave (); + + SetEvent (win32->response_event); + return FALSE; +} + +static gboolean +emit_quit_cancelled (gpointer smclient) +{ + EggSMClientWin32 *win32 = smclient; + + gdk_threads_enter (); + egg_sm_client_quit_cancelled (smclient); + gdk_threads_leave (); + + SetEvent (win32->response_event); + return FALSE; +} + +static gboolean +got_message (gpointer smclient) +{ + EggSMClientWin32 *win32 = smclient; + + win32->event (win32); + return TRUE; +} + +/* Windows HANDLE GSource */ + +typedef struct { + GSource source; + GPollFD pollfd; +} GWin32HandleSource; + +static gboolean +g_win32_handle_source_prepare (GSource *source, gint *timeout) +{ + *timeout = -1; + return FALSE; +} + +static gboolean +g_win32_handle_source_check (GSource *source) +{ + GWin32HandleSource *hsource = (GWin32HandleSource *)source; + + return hsource->pollfd.revents; +} + +static gboolean +g_win32_handle_source_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) +{ + return (*callback) (user_data); +} + +static void +g_win32_handle_source_finalize (GSource *source) +{ + ; +} + +GSourceFuncs g_win32_handle_source_funcs = { + g_win32_handle_source_prepare, + g_win32_handle_source_check, + g_win32_handle_source_dispatch, + g_win32_handle_source_finalize +}; + +static GSource * +g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, gpointer user_data) +{ + GWin32HandleSource *hsource; + GSource *source; + + source = g_source_new (&g_win32_handle_source_funcs, sizeof (GWin32HandleSource)); + hsource = (GWin32HandleSource *)source; + hsource->pollfd.fd = (int)handle; + hsource->pollfd.events = G_IO_IN; + hsource->pollfd.revents = 0; + g_source_add_poll (source, &hsource->pollfd); + + g_source_set_callback (source, callback, user_data, NULL); + g_source_attach (source, NULL); + return source; +} + +/* logout-listener thread */ + +LRESULT CALLBACK +sm_client_win32_window_procedure (HWND hwnd, + UINT message, + WPARAM wParam, + LPARAM lParam) +{ + EggSMClientWin32 *win32 = + (EggSMClientWin32 *)GetWindowLongPtr (hwnd, GWLP_USERDATA); + + switch (message) + { + case WM_QUERYENDSESSION: + win32->event = emit_quit_requested; + SetEvent (win32->message_event); + + WaitForSingleObject (win32->response_event, INFINITE); + return win32->will_quit; + + case WM_ENDSESSION: + if (wParam) + { + /* The session is ending */ + win32->event = emit_quit; + } + else + { + /* Nope, the session *isn't* ending */ + win32->event = emit_quit_cancelled; + } + + SetEvent (win32->message_event); + WaitForSingleObject (win32->response_event, INFINITE); + + return 0; + + default: + return DefWindowProc (hwnd, message, wParam, lParam); + } +} + +static void +sm_client_thread (gpointer smclient) +{ + HINSTANCE instance; + WNDCLASSEXW wcl; + ATOM klass; + HWND window; + MSG msg; + + instance = GetModuleHandle (NULL); + + memset (&wcl, 0, sizeof (WNDCLASSEX)); + wcl.cbSize = sizeof (WNDCLASSEX); + wcl.lpfnWndProc = sm_client_win32_window_procedure; + wcl.hInstance = instance; + wcl.lpszClassName = L"EggSmClientWindow"; + klass = RegisterClassEx (&wcl); + + window = CreateWindowEx (0, MAKEINTRESOURCE (klass), + L"EggSmClientWindow", 0, + 10, 10, 50, 50, GetDesktopWindow (), + NULL, instance, NULL); + SetWindowLongPtr (window, GWLP_USERDATA, (LONG_PTR)smclient); + + /* main loop */ + while (GetMessage (&msg, NULL, 0, 0)) + DispatchMessage (&msg); +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/smclient/eggsmclient-xsmp.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/smclient/eggsmclient-xsmp.c --- gmpc-0.18.0/src/smclient/eggsmclient-xsmp.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/smclient/eggsmclient-xsmp.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,1370 @@ +/* + * Copyright (C) 2007 Novell, Inc. + * + * Inspired by various other pieces of code including GsmClient (C) + * 2001 Havoc Pennington, GnomeClient (C) 1998 Carsten Schaar, and twm + * session code (C) 1998 The Open Group. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include "eggsmclient.h" +#include "eggsmclient-private.h" + +#include "eggdesktopfile.h" + +#include +#include +#include +#include +#include +#include + +#include + +#define EGG_TYPE_SM_CLIENT_XSMP (egg_sm_client_xsmp_get_type ()) +#define EGG_SM_CLIENT_XSMP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMP)) +#define EGG_SM_CLIENT_XSMP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)) +#define EGG_IS_SM_CLIENT_XSMP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_XSMP)) +#define EGG_IS_SM_CLIENT_XSMP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_XSMP)) +#define EGG_SM_CLIENT_XSMP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_XSMP, EggSMClientXSMPClass)) + +typedef struct _EggSMClientXSMP EggSMClientXSMP; +typedef struct _EggSMClientXSMPClass EggSMClientXSMPClass; + +/* These mostly correspond to the similarly-named states in section + * 9.1 of the XSMP spec. Some of the states there aren't represented + * here, because we don't need them. SHUTDOWN_CANCELLED is slightly + * different from the spec; we use it when the client is IDLE after a + * ShutdownCancelled message, but the application is still interacting + * and doesn't know the shutdown has been cancelled yet. + */ +typedef enum +{ + XSMP_STATE_IDLE, + XSMP_STATE_SAVE_YOURSELF, + XSMP_STATE_INTERACT_REQUEST, + XSMP_STATE_INTERACT, + XSMP_STATE_SAVE_YOURSELF_DONE, + XSMP_STATE_SHUTDOWN_CANCELLED, + XSMP_STATE_CONNECTION_CLOSED +} EggSMClientXSMPState; + +static const char *state_names[] = { + "idle", + "save-yourself", + "interact-request", + "interact", + "save-yourself-done", + "shutdown-cancelled", + "connection-closed" +}; + +#define EGG_SM_CLIENT_XSMP_STATE(xsmp) (state_names[(xsmp)->state]) + +struct _EggSMClientXSMP +{ + EggSMClient parent; + + SmcConn connection; + char *client_id; + + EggSMClientXSMPState state; + char **restart_command; + gboolean set_restart_command; + int restart_style; + + guint idle; + + /* Current SaveYourself state */ + guint expecting_initial_save_yourself : 1; + guint need_save_state : 1; + guint need_quit_requested : 1; + guint interact_errors : 1; + guint shutting_down : 1; + + /* Todo list */ + guint waiting_to_set_initial_properties : 1; + guint waiting_to_emit_quit : 1; + guint waiting_to_emit_quit_cancelled : 1; + guint waiting_to_save_myself : 1; + +}; + +struct _EggSMClientXSMPClass +{ + EggSMClientClass parent_class; + +}; + +static void sm_client_xsmp_startup (EggSMClient *client, + const char *client_id); +static void sm_client_xsmp_set_restart_command (EggSMClient *client, + int argc, + const char **argv); +static void sm_client_xsmp_will_quit (EggSMClient *client, + gboolean will_quit); +static gboolean sm_client_xsmp_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation); + +static void xsmp_save_yourself (SmcConn smc_conn, + SmPointer client_data, + int save_style, + Bool shutdown, + int interact_style, + Bool fast); +static void xsmp_die (SmcConn smc_conn, + SmPointer client_data); +static void xsmp_save_complete (SmcConn smc_conn, + SmPointer client_data); +static void xsmp_shutdown_cancelled (SmcConn smc_conn, + SmPointer client_data); +static void xsmp_interact (SmcConn smc_conn, + SmPointer client_data); + +static SmProp *array_prop (const char *name, + ...); +static SmProp *ptrarray_prop (const char *name, + GPtrArray *values); +static SmProp *string_prop (const char *name, + const char *value); +static SmProp *card8_prop (const char *name, + unsigned char value); + +static void set_properties (EggSMClientXSMP *xsmp, ...); +static void delete_properties (EggSMClientXSMP *xsmp, ...); + +static GPtrArray *generate_command (char **restart_command, + const char *client_id, + const char *state_file); + +static void save_state (EggSMClientXSMP *xsmp); +static void do_save_yourself (EggSMClientXSMP *xsmp); +static void update_pending_events (EggSMClientXSMP *xsmp); + +static void ice_init (void); +static gboolean process_ice_messages (IceConn ice_conn); +static void smc_error_handler (SmcConn smc_conn, + Bool swap, + int offending_minor_opcode, + unsigned long offending_sequence, + int error_class, + int severity, + SmPointer values); + +G_DEFINE_TYPE (EggSMClientXSMP, egg_sm_client_xsmp, EGG_TYPE_SM_CLIENT) + +static void +egg_sm_client_xsmp_init (EggSMClientXSMP *xsmp) +{ + xsmp->state = XSMP_STATE_CONNECTION_CLOSED; + xsmp->connection = NULL; + xsmp->restart_style = SmRestartIfRunning; +} + +static void +egg_sm_client_xsmp_class_init (EggSMClientXSMPClass *klass) +{ + EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); + + sm_client_class->startup = sm_client_xsmp_startup; + sm_client_class->set_restart_command = sm_client_xsmp_set_restart_command; + sm_client_class->will_quit = sm_client_xsmp_will_quit; + sm_client_class->end_session = sm_client_xsmp_end_session; +} + +EggSMClient * +egg_sm_client_xsmp_new (void) +{ + if (!g_getenv ("SESSION_MANAGER")) + return NULL; + + return g_object_new (EGG_TYPE_SM_CLIENT_XSMP, NULL); +} + +static gboolean +sm_client_xsmp_set_initial_properties (gpointer user_data) +{ + EggSMClientXSMP *xsmp = user_data; + EggDesktopFile *desktop_file; + GPtrArray *clone, *restart; + char pid_str[64]; + + if (xsmp->idle) + { + g_source_remove (xsmp->idle); + xsmp->idle = 0; + } + xsmp->waiting_to_set_initial_properties = FALSE; + + if (egg_sm_client_get_mode () == EGG_SM_CLIENT_MODE_NO_RESTART) + xsmp->restart_style = SmRestartNever; + + /* Parse info out of desktop file */ + desktop_file = egg_get_desktop_file (); + if (desktop_file) + { + GError *err = NULL; + char *cmdline, **argv; + int argc; + + if (xsmp->restart_style == SmRestartIfRunning) + { + if (egg_desktop_file_get_boolean (desktop_file, + "X-GNOME-AutoRestart", NULL)) + xsmp->restart_style = SmRestartImmediately; + } + + if (!xsmp->set_restart_command) + { + cmdline = egg_desktop_file_parse_exec (desktop_file, NULL, &err); + if (cmdline && g_shell_parse_argv (cmdline, &argc, &argv, &err)) + { + egg_sm_client_set_restart_command (EGG_SM_CLIENT (xsmp), + argc, (const char **)argv); + g_strfreev (argv); + } + else + { + g_warning ("Could not parse Exec line in desktop file: %s", + err->message); + g_error_free (err); + } + g_free (cmdline); + } + } + + if (!xsmp->set_restart_command) + xsmp->restart_command = g_strsplit (g_get_prgname (), " ", -1); + + clone = generate_command (xsmp->restart_command, NULL, NULL); + restart = generate_command (xsmp->restart_command, xsmp->client_id, NULL); + + g_debug ("Setting initial properties"); + + /* Program, CloneCommand, RestartCommand, and UserID are required. + * ProcessID isn't required, but the SM may be able to do something + * useful with it. + */ + g_snprintf (pid_str, sizeof (pid_str), "%lu", (gulong) getpid ()); + set_properties (xsmp, + string_prop (SmProgram, g_get_prgname ()), + ptrarray_prop (SmCloneCommand, clone), + ptrarray_prop (SmRestartCommand, restart), + string_prop (SmUserID, g_get_user_name ()), + string_prop (SmProcessID, pid_str), + card8_prop (SmRestartStyleHint, xsmp->restart_style), + NULL); + g_ptr_array_free (clone, TRUE); + g_ptr_array_free (restart, TRUE); + + if (desktop_file) + { + set_properties (xsmp, + string_prop ("_GSM_DesktopFile", egg_desktop_file_get_source (desktop_file)), + NULL); + } + + update_pending_events (xsmp); + return FALSE; +} + +/* This gets called from two different places: xsmp_die() (when the + * server asks us to disconnect) and process_ice_messages() (when the + * server disconnects unexpectedly). + */ +static void +sm_client_xsmp_disconnect (EggSMClientXSMP *xsmp) +{ + SmcConn connection; + + if (!xsmp->connection) + return; + + g_debug ("Disconnecting"); + + connection = xsmp->connection; + xsmp->connection = NULL; + SmcCloseConnection (connection, 0, NULL); + xsmp->state = XSMP_STATE_CONNECTION_CLOSED; + + xsmp->waiting_to_save_myself = FALSE; + update_pending_events (xsmp); +} + +static void +sm_client_xsmp_startup (EggSMClient *client, + const char *client_id) +{ + EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; + SmcCallbacks callbacks; + char *ret_client_id; + char error_string_ret[256]; + + xsmp->client_id = g_strdup (client_id); + + ice_init (); + SmcSetErrorHandler (smc_error_handler); + + callbacks.save_yourself.callback = xsmp_save_yourself; + callbacks.die.callback = xsmp_die; + callbacks.save_complete.callback = xsmp_save_complete; + callbacks.shutdown_cancelled.callback = xsmp_shutdown_cancelled; + + callbacks.save_yourself.client_data = xsmp; + callbacks.die.client_data = xsmp; + callbacks.save_complete.client_data = xsmp; + callbacks.shutdown_cancelled.client_data = xsmp; + + client_id = NULL; + error_string_ret[0] = '\0'; + xsmp->connection = + SmcOpenConnection (NULL, xsmp, SmProtoMajor, SmProtoMinor, + SmcSaveYourselfProcMask | SmcDieProcMask | + SmcSaveCompleteProcMask | + SmcShutdownCancelledProcMask, + &callbacks, + xsmp->client_id, &ret_client_id, + sizeof (error_string_ret), error_string_ret); + + if (!xsmp->connection) + { + g_warning ("Failed to connect to the session manager: %s\n", + error_string_ret[0] ? + error_string_ret : "no error message given"); + xsmp->state = XSMP_STATE_CONNECTION_CLOSED; + return; + } + + /* We expect a pointless initial SaveYourself if either (a) we + * didn't have an initial client ID, or (b) we DID have an initial + * client ID, but the server rejected it and gave us a new one. + */ + if (!xsmp->client_id || + (ret_client_id && strcmp (xsmp->client_id, ret_client_id) != 0)) + xsmp->expecting_initial_save_yourself = TRUE; + + if (ret_client_id) + { + g_free (xsmp->client_id); + xsmp->client_id = g_strdup (ret_client_id); + free (ret_client_id); + + gdk_threads_enter (); + gdk_set_sm_client_id (xsmp->client_id); + gdk_threads_leave (); + + g_debug ("Got client ID \"%s\"", xsmp->client_id); + } + + xsmp->state = XSMP_STATE_IDLE; + + /* Do not set the initial properties until we reach the main loop, + * so that the application has a chance to call + * egg_set_desktop_file(). (This may also help the session manager + * have a better idea of when the application is fully up and + * running.) + */ + xsmp->waiting_to_set_initial_properties = TRUE; + xsmp->idle = g_idle_add (sm_client_xsmp_set_initial_properties, client); +} + +static void +sm_client_xsmp_set_restart_command (EggSMClient *client, + int argc, + const char **argv) +{ + EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; + int i; + + g_strfreev (xsmp->restart_command); + + xsmp->restart_command = g_new (char *, argc + 1); + for (i = 0; i < argc; i++) + xsmp->restart_command[i] = g_strdup (argv[i]); + xsmp->restart_command[i] = NULL; + + xsmp->set_restart_command = TRUE; +} + +static void +sm_client_xsmp_will_quit (EggSMClient *client, + gboolean will_quit) +{ + EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; + + if (xsmp->state == XSMP_STATE_CONNECTION_CLOSED) + { + /* The session manager has already exited! Schedule a quit + * signal. + */ + xsmp->waiting_to_emit_quit = TRUE; + update_pending_events (xsmp); + return; + } + else if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) + { + /* We received a ShutdownCancelled message while the application + * was interacting; Schedule a quit_cancelled signal. + */ + xsmp->waiting_to_emit_quit_cancelled = TRUE; + update_pending_events (xsmp); + return; + } + + g_return_if_fail (xsmp->state == XSMP_STATE_INTERACT); + + g_debug ("Sending InteractDone(%s)", will_quit ? "False" : "True"); + SmcInteractDone (xsmp->connection, !will_quit); + + if (will_quit && xsmp->need_save_state) + save_state (xsmp); + + g_debug ("Sending SaveYourselfDone(%s)", will_quit ? "True" : "False"); + SmcSaveYourselfDone (xsmp->connection, will_quit); + xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; +} + +static gboolean +sm_client_xsmp_end_session (EggSMClient *client, + EggSMClientEndStyle style, + gboolean request_confirmation) +{ + EggSMClientXSMP *xsmp = (EggSMClientXSMP *)client; + int save_type; + + /* To end the session via XSMP, we have to send a + * SaveYourselfRequest. We aren't allowed to do that if anything + * else is going on, but we don't want to expose this fact to the + * application. So we do our best to patch things up here... + * + * In the worst case, this method might block for some length of + * time in process_ice_messages, but the only time that code path is + * honestly likely to get hit is if the application tries to end the + * session as the very first thing it does, in which case it + * probably won't actually block anyway. It's not worth gunking up + * the API to try to deal nicely with the other 0.01% of cases where + * this happens. + */ + + while (xsmp->state != XSMP_STATE_IDLE || + xsmp->expecting_initial_save_yourself) + { + /* If we're already shutting down, we don't need to do anything. */ + if (xsmp->shutting_down) + return TRUE; + + switch (xsmp->state) + { + case XSMP_STATE_CONNECTION_CLOSED: + return FALSE; + + case XSMP_STATE_SAVE_YOURSELF: + /* Trying to log out from the save_state callback? Whatever. + * Abort the save_state. + */ + SmcSaveYourselfDone (xsmp->connection, FALSE); + xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; + break; + + case XSMP_STATE_INTERACT_REQUEST: + case XSMP_STATE_INTERACT: + case XSMP_STATE_SHUTDOWN_CANCELLED: + /* Already in a shutdown-related state, just ignore + * the new shutdown request... + */ + return TRUE; + + case XSMP_STATE_IDLE: + if (xsmp->waiting_to_set_initial_properties) + sm_client_xsmp_set_initial_properties (xsmp); + + if (!xsmp->expecting_initial_save_yourself) + break; + /* else fall through */ + + case XSMP_STATE_SAVE_YOURSELF_DONE: + /* We need to wait for some response from the server.*/ + process_ice_messages (SmcGetIceConnection (xsmp->connection)); + break; + + default: + /* Hm... shouldn't happen */ + return FALSE; + } + } + + /* xfce4-session will do the wrong thing if we pass SmSaveGlobal and + * the user chooses to save the session. But gnome-session will do + * the wrong thing if we pass SmSaveBoth and the user chooses NOT to + * save the session... Sigh. + */ + if (!strcmp (SmcVendor (xsmp->connection), "xfce4-session")) + save_type = SmSaveBoth; + else + save_type = SmSaveGlobal; + + g_debug ("Sending SaveYourselfRequest(SmSaveGlobal, Shutdown, SmInteractStyleAny, %sFast)", request_confirmation ? "!" : ""); + SmcRequestSaveYourself (xsmp->connection, + save_type, + True, /* shutdown */ + SmInteractStyleAny, + !request_confirmation, /* fast */ + True /* global */); + return TRUE; +} + +static gboolean +idle_do_pending_events (gpointer data) +{ + EggSMClientXSMP *xsmp = data; + EggSMClient *client = data; + + gdk_threads_enter (); + + xsmp->idle = 0; + + if (xsmp->waiting_to_emit_quit) + { + xsmp->waiting_to_emit_quit = FALSE; + egg_sm_client_quit (client); + goto out; + } + + if (xsmp->waiting_to_emit_quit_cancelled) + { + xsmp->waiting_to_emit_quit_cancelled = FALSE; + egg_sm_client_quit_cancelled (client); + xsmp->state = XSMP_STATE_IDLE; + } + + if (xsmp->waiting_to_save_myself) + { + xsmp->waiting_to_save_myself = FALSE; + do_save_yourself (xsmp); + } + + out: + gdk_threads_leave (); + return FALSE; +} + +static void +update_pending_events (EggSMClientXSMP *xsmp) +{ + gboolean want_idle = + xsmp->waiting_to_emit_quit || + xsmp->waiting_to_emit_quit_cancelled || + xsmp->waiting_to_save_myself; + + if (want_idle) + { + if (xsmp->idle == 0) + xsmp->idle = g_idle_add (idle_do_pending_events, xsmp); + } + else + { + if (xsmp->idle != 0) + g_source_remove (xsmp->idle); + xsmp->idle = 0; + } +} + +static void +fix_broken_state (EggSMClientXSMP *xsmp, const char *message, + gboolean send_interact_done, + gboolean send_save_yourself_done) +{ + g_warning ("Received XSMP %s message in state %s: client or server error", + message, EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + /* Forget any pending SaveYourself plans we had */ + xsmp->waiting_to_save_myself = FALSE; + update_pending_events (xsmp); + + if (send_interact_done) + SmcInteractDone (xsmp->connection, False); + if (send_save_yourself_done) + SmcSaveYourselfDone (xsmp->connection, True); + + xsmp->state = send_save_yourself_done ? XSMP_STATE_SAVE_YOURSELF_DONE : XSMP_STATE_IDLE; +} + +/* SM callbacks */ + +static void +xsmp_save_yourself (SmcConn smc_conn, + SmPointer client_data, + int save_type, + Bool shutdown, + int interact_style, + Bool fast) +{ + EggSMClientXSMP *xsmp = client_data; + gboolean wants_quit_requested; + + g_debug ("Received SaveYourself(%s, %s, %s, %s) in state %s", + save_type == SmSaveLocal ? "SmSaveLocal" : + save_type == SmSaveGlobal ? "SmSaveGlobal" : "SmSaveBoth", + shutdown ? "Shutdown" : "!Shutdown", + interact_style == SmInteractStyleAny ? "SmInteractStyleAny" : + interact_style == SmInteractStyleErrors ? "SmInteractStyleErrors" : + "SmInteractStyleNone", fast ? "Fast" : "!Fast", + EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + if (xsmp->state != XSMP_STATE_IDLE && + xsmp->state != XSMP_STATE_SHUTDOWN_CANCELLED) + { + fix_broken_state (xsmp, "SaveYourself", FALSE, TRUE); + return; + } + + if (xsmp->waiting_to_set_initial_properties) + sm_client_xsmp_set_initial_properties (xsmp); + + /* If this is the initial SaveYourself, ignore it; we've already set + * properties and there's no reason to actually save state too. + */ + if (xsmp->expecting_initial_save_yourself) + { + xsmp->expecting_initial_save_yourself = FALSE; + + if (save_type == SmSaveLocal && + interact_style == SmInteractStyleNone && + !shutdown && !fast) + { + g_debug ("Sending SaveYourselfDone(True) for initial SaveYourself"); + SmcSaveYourselfDone (xsmp->connection, True); + /* As explained in the comment at the end of + * do_save_yourself(), SAVE_YOURSELF_DONE is the correct + * state here, not IDLE. + */ + xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; + return; + } + else + g_warning ("First SaveYourself was not the expected one!"); + } + + /* Even ignoring the "fast" flag completely, there are still 18 + * different combinations of save_type, shutdown and interact_style. + * We interpret them as follows: + * + * Type Shutdown Interact Interpretation + * G F A/E/N do nothing (1) + * G T N do nothing (1)* + * G T A/E quit_requested (2) + * L/B F A/E/N save_state (3) + * L/B T N save_state (3)* + * L/B T A/E quit_requested, then save_state (4) + * + * 1. Do nothing, because the SM asked us to do something + * uninteresting (save open files, but then don't quit + * afterward) or rude (save open files without asking the user + * for confirmation). + * + * 2. Request interaction and then emit ::quit_requested. This + * perhaps isn't quite correct for the SmInteractStyleErrors + * case, but we don't care. + * + * 3. Emit ::save_state. The SmSaveBoth SaveYourselfs in these + * rows essentially get demoted to SmSaveLocal, because their + * Global halves correspond to "do nothing". + * + * 4. Request interaction, emit ::quit_requested, and then emit + * ::save_state after interacting. This is the SmSaveBoth + * equivalent of #2, but we also promote SmSaveLocal shutdown + * SaveYourselfs to SmSaveBoth here, because we want to give + * the user a chance to save open files before quitting. + * + * (* It would be nice if we could do something useful when the + * session manager sends a SaveYourself with shutdown True and + * SmInteractStyleNone. But we can't, so we just pretend it didn't + * even tell us it was shutting down. The docs for ::quit mention + * that it might not always be preceded by ::quit_requested.) + */ + + /* As an optimization, we don't actually request interaction and + * emit ::quit_requested if the application isn't listening to the + * signal. + */ + wants_quit_requested = g_signal_has_handler_pending (xsmp, g_signal_lookup ("quit_requested", EGG_TYPE_SM_CLIENT), 0, FALSE); + + xsmp->need_save_state = (save_type != SmSaveGlobal); + xsmp->need_quit_requested = (shutdown && wants_quit_requested && + interact_style != SmInteractStyleNone); + xsmp->interact_errors = (interact_style == SmInteractStyleErrors); + + xsmp->shutting_down = shutdown; + + do_save_yourself (xsmp); +} + +static void +do_save_yourself (EggSMClientXSMP *xsmp) +{ + if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) + { + /* The SM cancelled a previous SaveYourself, but we haven't yet + * had a chance to tell the application, so we can't start + * processing this SaveYourself yet. + */ + xsmp->waiting_to_save_myself = TRUE; + update_pending_events (xsmp); + return; + } + + if (xsmp->need_quit_requested) + { + xsmp->state = XSMP_STATE_INTERACT_REQUEST; + + g_debug ("Sending InteractRequest(%s)", + xsmp->interact_errors ? "Error" : "Normal"); + SmcInteractRequest (xsmp->connection, + xsmp->interact_errors ? SmDialogError : SmDialogNormal, + xsmp_interact, + xsmp); + return; + } + + if (xsmp->need_save_state) + { + save_state (xsmp); + + /* Though unlikely, the client could have been disconnected + * while the application was saving its state. + */ + if (!xsmp->connection) + return; + } + + g_debug ("Sending SaveYourselfDone(True)"); + SmcSaveYourselfDone (xsmp->connection, True); + + /* The client state diagram in the XSMP spec says that after a + * non-shutdown SaveYourself, we go directly back to "idle". But + * everything else in both the XSMP spec and the libSM docs + * disagrees. + */ + xsmp->state = XSMP_STATE_SAVE_YOURSELF_DONE; +} + +static void +save_state (EggSMClientXSMP *xsmp) +{ + GKeyFile *state_file; + char *state_file_path, *data; + EggDesktopFile *desktop_file; + GPtrArray *restart; + int offset, fd; + + /* We set xsmp->state before emitting save_state, but our caller is + * responsible for setting it back afterward. + */ + xsmp->state = XSMP_STATE_SAVE_YOURSELF; + + state_file = egg_sm_client_save_state ((EggSMClient *)xsmp); + if (!state_file) + { + restart = generate_command (xsmp->restart_command, xsmp->client_id, NULL); + set_properties (xsmp, + ptrarray_prop (SmRestartCommand, restart), + NULL); + g_ptr_array_free (restart, TRUE); + delete_properties (xsmp, SmDiscardCommand, NULL); + return; + } + + desktop_file = egg_get_desktop_file (); + if (desktop_file) + { + GKeyFile *merged_file; + char *desktop_file_path; + + merged_file = g_key_file_new (); + desktop_file_path = + g_filename_from_uri (egg_desktop_file_get_source (desktop_file), + NULL, NULL); + if (desktop_file_path && + g_key_file_load_from_file (merged_file, desktop_file_path, + G_KEY_FILE_KEEP_COMMENTS | + G_KEY_FILE_KEEP_TRANSLATIONS, NULL)) + { + guint g, k, i; + char **groups, **keys, *value, *exec; + + groups = g_key_file_get_groups (state_file, NULL); + for (g = 0; groups[g]; g++) + { + keys = g_key_file_get_keys (state_file, groups[g], NULL, NULL); + for (k = 0; keys[k]; k++) + { + value = g_key_file_get_value (state_file, groups[g], + keys[k], NULL); + if (value) + { + g_key_file_set_value (merged_file, groups[g], + keys[k], value); + g_free (value); + } + } + g_strfreev (keys); + } + g_strfreev (groups); + + g_key_file_free (state_file); + state_file = merged_file; + + /* Update Exec key using "--sm-client-state-file %k" */ + restart = generate_command (xsmp->restart_command, + NULL, "%k"); + for (i = 0; i < restart->len; i++) + restart->pdata[i] = g_shell_quote (restart->pdata[i]); + g_ptr_array_add (restart, NULL); + exec = g_strjoinv (" ", (char **)restart->pdata); + g_strfreev ((char **)restart->pdata); + g_ptr_array_free (restart, FALSE); + + g_key_file_set_string (state_file, EGG_DESKTOP_FILE_GROUP, + EGG_DESKTOP_FILE_KEY_EXEC, + exec); + g_free (exec); + } + else + desktop_file = NULL; + + g_free (desktop_file_path); + } + + /* Now write state_file to disk. (We can't use mktemp(), because + * that requires the filename to end with "XXXXXX", and we want + * it to end with ".desktop".) + */ + + data = g_key_file_to_data (state_file, NULL, NULL); + g_key_file_free (state_file); + + offset = 0; + while (1) + { + state_file_path = g_strdup_printf ("%s%csession-state%c%s-%ld.%s", + g_get_user_config_dir (), + G_DIR_SEPARATOR, G_DIR_SEPARATOR, + g_get_prgname (), + (long)time (NULL) + offset, + desktop_file ? "desktop" : "state"); + + fd = open (state_file_path, O_WRONLY | O_CREAT | O_EXCL, 0644); + if (fd == -1) + { + if (errno == EEXIST) + { + offset++; + g_free (state_file_path); + continue; + } + else if (errno == ENOTDIR || errno == ENOENT) + { + char *sep = strrchr (state_file_path, G_DIR_SEPARATOR); + + *sep = '\0'; + if (g_mkdir_with_parents (state_file_path, 0755) != 0) + { + g_warning ("Could not create directory '%s'", + state_file_path); + g_free (state_file_path); + state_file_path = NULL; + break; + } + + continue; + } + + g_warning ("Could not create file '%s': %s", + state_file_path, g_strerror (errno)); + g_free (state_file_path); + state_file_path = NULL; + break; + } + + close (fd); + g_file_set_contents (state_file_path, data, -1, NULL); + break; + } + g_free (data); + + restart = generate_command (xsmp->restart_command, xsmp->client_id, + state_file_path); + set_properties (xsmp, + ptrarray_prop (SmRestartCommand, restart), + NULL); + g_ptr_array_free (restart, TRUE); + + if (state_file_path) + { + set_properties (xsmp, + array_prop (SmDiscardCommand, + "/bin/rm", "-rf", state_file_path, + NULL), + NULL); + g_free (state_file_path); + } +} + +static void +xsmp_interact (SmcConn smc_conn, + SmPointer client_data) +{ + EggSMClientXSMP *xsmp = client_data; + EggSMClient *client = client_data; + + g_debug ("Received Interact message in state %s", + EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + if (xsmp->state != XSMP_STATE_INTERACT_REQUEST) + { + fix_broken_state (xsmp, "Interact", TRUE, TRUE); + return; + } + + xsmp->state = XSMP_STATE_INTERACT; + egg_sm_client_quit_requested (client); +} + +static void +xsmp_die (SmcConn smc_conn, + SmPointer client_data) +{ + EggSMClientXSMP *xsmp = client_data; + EggSMClient *client = client_data; + + g_debug ("Received Die message in state %s", + EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + sm_client_xsmp_disconnect (xsmp); + egg_sm_client_quit (client); +} + +static void +xsmp_save_complete (SmcConn smc_conn, + SmPointer client_data) +{ + EggSMClientXSMP *xsmp = client_data; + + g_debug ("Received SaveComplete message in state %s", + EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + if (xsmp->state == XSMP_STATE_SAVE_YOURSELF_DONE) + xsmp->state = XSMP_STATE_IDLE; + else + fix_broken_state (xsmp, "SaveComplete", FALSE, FALSE); +} + +static void +xsmp_shutdown_cancelled (SmcConn smc_conn, + SmPointer client_data) +{ + EggSMClientXSMP *xsmp = client_data; + EggSMClient *client = client_data; + + g_debug ("Received ShutdownCancelled message in state %s", + EGG_SM_CLIENT_XSMP_STATE (xsmp)); + + xsmp->shutting_down = FALSE; + + if (xsmp->state == XSMP_STATE_SAVE_YOURSELF_DONE) + { + /* We've finished interacting and now the SM has agreed to + * cancel the shutdown. + */ + xsmp->state = XSMP_STATE_IDLE; + egg_sm_client_quit_cancelled (client); + } + else if (xsmp->state == XSMP_STATE_SHUTDOWN_CANCELLED) + { + /* Hm... ok, so we got a shutdown SaveYourself, which got + * cancelled, but the application was still interacting, so we + * didn't tell it yet, and then *another* SaveYourself arrived, + * which we must still be waiting to tell the app about, except + * that now that SaveYourself has been cancelled too! Dizzy yet? + */ + xsmp->waiting_to_save_myself = FALSE; + update_pending_events (xsmp); + } + else + { + g_debug ("Sending SaveYourselfDone(False)"); + SmcSaveYourselfDone (xsmp->connection, False); + + if (xsmp->state == XSMP_STATE_INTERACT) + { + /* The application is currently interacting, so we can't + * tell it about the cancellation yet; we will wait until + * after it calls egg_sm_client_will_quit(). + */ + xsmp->state = XSMP_STATE_SHUTDOWN_CANCELLED; + } + else + { + /* The shutdown was cancelled before the application got a + * chance to interact. + */ + xsmp->state = XSMP_STATE_IDLE; + } + } +} + +/* Utilities */ + +/* Create a restart/clone/Exec command based on @restart_command. + * If @client_id is non-%NULL, add "--sm-client-id @client_id". + * If @state_file is non-%NULL, add "--sm-client-state-file @state_file". + * + * None of the input strings are g_strdup()ed; the caller must keep + * them around until it is done with the returned GPtrArray, and must + * then free the array, but not its contents. + */ +static GPtrArray * +generate_command (char **restart_command, const char *client_id, + const char *state_file) +{ + GPtrArray *cmd; + int i; + + cmd = g_ptr_array_new (); + g_ptr_array_add (cmd, restart_command[0]); + + if (client_id) + { + g_ptr_array_add (cmd, "--sm-client-id"); + g_ptr_array_add (cmd, (char *)client_id); + } + + if (state_file) + { + g_ptr_array_add (cmd, "--sm-client-state-file"); + g_ptr_array_add (cmd, (char *)state_file); + } + + for (i = 1; restart_command[i]; i++) + g_ptr_array_add (cmd, restart_command[i]); + + return cmd; +} + +/* Takes a NULL-terminated list of SmProp * values, created by + * array_prop, ptrarray_prop, string_prop, card8_prop, sets them, and + * frees them. + */ +static void +set_properties (EggSMClientXSMP *xsmp, ...) +{ + GPtrArray *props; + SmProp *prop; + va_list ap; + guint i; + + props = g_ptr_array_new (); + + va_start (ap, xsmp); + while ((prop = va_arg (ap, SmProp *))) + g_ptr_array_add (props, prop); + va_end (ap); + + if (xsmp->connection) + { + SmcSetProperties (xsmp->connection, props->len, + (SmProp **)props->pdata); + } + + for (i = 0; i < props->len; i++) + { + prop = props->pdata[i]; + g_free (prop->vals); + g_free (prop); + } + g_ptr_array_free (props, TRUE); +} + +/* Takes a NULL-terminated list of property names and deletes them. */ +static void +delete_properties (EggSMClientXSMP *xsmp, ...) +{ + GPtrArray *props; + char *prop; + va_list ap; + + if (!xsmp->connection) + return; + + props = g_ptr_array_new (); + + va_start (ap, xsmp); + while ((prop = va_arg (ap, char *))) + g_ptr_array_add (props, prop); + va_end (ap); + + SmcDeleteProperties (xsmp->connection, props->len, + (char **)props->pdata); + + g_ptr_array_free (props, TRUE); +} + +/* Takes an array of strings and creates a LISTofARRAY8 property. The + * strings are neither dupped nor freed; they need to remain valid + * until you're done with the SmProp. + */ +static SmProp * +array_prop (const char *name, ...) +{ + SmProp *prop; + SmPropValue pv; + GArray *vals; + char *value; + va_list ap; + + prop = g_new (SmProp, 1); + prop->name = (char *)name; + prop->type = SmLISTofARRAY8; + + vals = g_array_new (FALSE, FALSE, sizeof (SmPropValue)); + + va_start (ap, name); + while ((value = va_arg (ap, char *))) + { + pv.length = strlen (value); + pv.value = value; + g_array_append_val (vals, pv); + } + + prop->num_vals = vals->len; + prop->vals = (SmPropValue *)vals->data; + + g_array_free (vals, FALSE); + + return prop; +} + +/* Takes a GPtrArray of strings and creates a LISTofARRAY8 property. + * The array contents are neither dupped nor freed; they need to + * remain valid until you're done with the SmProp. + */ +static SmProp * +ptrarray_prop (const char *name, GPtrArray *values) +{ + SmProp *prop; + SmPropValue pv; + GArray *vals; + guint i; + + prop = g_new (SmProp, 1); + prop->name = (char *)name; + prop->type = SmLISTofARRAY8; + + vals = g_array_new (FALSE, FALSE, sizeof (SmPropValue)); + + for (i = 0; i < values->len; i++) + { + pv.length = strlen (values->pdata[i]); + pv.value = values->pdata[i]; + g_array_append_val (vals, pv); + } + + prop->num_vals = vals->len; + prop->vals = (SmPropValue *)vals->data; + + g_array_free (vals, FALSE); + + return prop; +} + +/* Takes a string and creates an ARRAY8 property. The string is + * neither dupped nor freed; it needs to remain valid until you're + * done with the SmProp. + */ +static SmProp * +string_prop (const char *name, const char *value) +{ + SmProp *prop; + + prop = g_new (SmProp, 1); + prop->name = (char *)name; + prop->type = SmARRAY8; + + prop->num_vals = 1; + prop->vals = g_new (SmPropValue, 1); + + prop->vals[0].length = strlen (value); + prop->vals[0].value = (char *)value; + + return prop; +} + +/* Takes a char and creates a CARD8 property. */ +static SmProp * +card8_prop (const char *name, unsigned char value) +{ + SmProp *prop; + char *card8val; + + /* To avoid having to allocate and free prop->vals[0], we cheat and + * make vals a 2-element-long array and then use the second element + * to store value. + */ + + prop = g_new (SmProp, 1); + prop->name = (char *)name; + prop->type = SmCARD8; + + prop->num_vals = 1; + prop->vals = g_new (SmPropValue, 2); + card8val = (char *)(&prop->vals[1]); + card8val[0] = value; + + prop->vals[0].length = 1; + prop->vals[0].value = card8val; + + return prop; +} + +/* ICE code. This makes no effort to play nice with anyone else trying + * to use libICE. Fortunately, no one uses libICE for anything other + * than SM. (DCOP uses ICE, but it has its own private copy of + * libICE.) + * + * When this moves to gtk, it will need to be cleverer, to avoid + * tripping over old apps that use GnomeClient or that use libSM + * directly. + */ + +#include +#include + +static void ice_error_handler (IceConn ice_conn, + Bool swap, + int offending_minor_opcode, + unsigned long offending_sequence, + int error_class, + int severity, + IcePointer values); +static void ice_io_error_handler (IceConn ice_conn); +static void ice_connection_watch (IceConn ice_conn, + IcePointer client_data, + Bool opening, + IcePointer *watch_data); + +static void +ice_init (void) +{ + IceSetIOErrorHandler (ice_io_error_handler); + IceSetErrorHandler (ice_error_handler); + IceAddConnectionWatch (ice_connection_watch, NULL); +} + +static gboolean +process_ice_messages (IceConn ice_conn) +{ + IceProcessMessagesStatus status; + + gdk_threads_enter (); + status = IceProcessMessages (ice_conn, NULL, NULL); + gdk_threads_leave (); + + switch (status) + { + case IceProcessMessagesSuccess: + return TRUE; + + case IceProcessMessagesIOError: + sm_client_xsmp_disconnect (IceGetConnectionContext (ice_conn)); + return FALSE; + + case IceProcessMessagesConnectionClosed: + return FALSE; + + default: + g_assert_not_reached (); + } +} + +static gboolean +ice_iochannel_watch (GIOChannel *channel, + GIOCondition condition, + gpointer client_data) +{ + return process_ice_messages (client_data); +} + +static void +ice_connection_watch (IceConn ice_conn, + IcePointer client_data, + Bool opening, + IcePointer *watch_data) +{ + guint watch_id; + + if (opening) + { + GIOChannel *channel; + int fd = IceConnectionNumber (ice_conn); + + fcntl (fd, F_SETFD, fcntl (fd, F_GETFD, 0) | FD_CLOEXEC); + channel = g_io_channel_unix_new (fd); + watch_id = g_io_add_watch (channel, G_IO_IN | G_IO_ERR, + ice_iochannel_watch, ice_conn); + g_io_channel_unref (channel); + + *watch_data = GUINT_TO_POINTER (watch_id); + } + else + { + watch_id = GPOINTER_TO_UINT (*watch_data); + g_source_remove (watch_id); + } +} + +static void +ice_error_handler (IceConn ice_conn, + Bool swap, + int offending_minor_opcode, + unsigned long offending_sequence, + int error_class, + int severity, + IcePointer values) +{ + /* Do nothing */ +} + +static void +ice_io_error_handler (IceConn ice_conn) +{ + /* Do nothing */ +} + +static void +smc_error_handler (SmcConn smc_conn, + Bool swap, + int offending_minor_opcode, + unsigned long offending_sequence, + int error_class, + int severity, + SmPointer values) +{ + /* Do nothing */ +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/sm.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/sm.h --- gmpc-0.18.0/src/sm.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/sm.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Modified and borrowed from Bill Wilson (GKrellM) - * This projects' homepage is: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#ifndef __SM_H_ -#define __SM_H_ -#ifdef ENABLE_SM - - -void smc_connect(gint argc, gchar **argv); - - - - - -#endif -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/tray-icon2.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/tray-icon2.c --- gmpc-0.18.0/src/tray-icon2.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/tray-icon2.c 2009-09-21 11:15:59.000000000 +0100 @@ -24,23 +24,21 @@ #include "main.h" #include "playlist3.h" #include "vala/gmpc-progress.h" -#include "gob/gmpc-metaimage.h" +#include "gmpc-metaimage.h" #include "misc.h" /* name of config field */ #define TRAY_ICON2_ID "tray-icon2" -#ifdef EGGTRAYICON -#include "egg/eggtrayicon.h" -GtkWidget *tray_icon2_gsi = NULL; -#else GtkStatusIcon *tray_icon2_gsi = NULL; -#endif static gchar *current_song_checksum = NULL; static void tray_icon2_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata); +static void tray_icon2_connection_changed(MpdObj *mi, int connect,void *user_data); +static void tray_icon2_create_tooltip_real(int position); +static gboolean tray_icon2_tooltip_destroy(void); /** * Tooltip */ @@ -71,14 +69,10 @@ gboolean tray_icon2_get_available(void) { if(tray_icon2_gsi) { -#ifdef EGGTRAYICON - return GTK_WIDGET_REALIZED(tray_icon2_gsi); -#else if(gtk_status_icon_is_embedded(tray_icon2_gsi) && gtk_status_icon_get_visible(tray_icon2_gsi)) { return TRUE; } -#endif } return FALSE; } @@ -92,6 +86,17 @@ /** * Right mouse press on tray icon */ + +static void tray_icon2_seek_event(GtkWidget * pb, guint seek_time, gpointer user_data) +{ + int state = cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "tooltip-timeout", 5); + mpd_player_seek(connection, (int)seek_time); + if(tray_icon2_tooltip_timeout) + { + g_source_remove(tray_icon2_tooltip_timeout); + } + tray_icon2_tooltip_timeout = g_timeout_add_seconds(state*2, (GSourceFunc)tray_icon2_tooltip_destroy, NULL); +} static void tray_icon2_populate_menu(GtkStatusIcon *gsi,guint button, guint activate_time, gpointer user_data) { GtkWidget *item; @@ -149,13 +154,8 @@ gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(main_quit), NULL); gtk_widget_show_all(menu); -#ifdef EGGTRAYICON - gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, button, activate_time); -#else gtk_menu_popup(GTK_MENU(menu), NULL, NULL, gtk_status_icon_position_menu, gsi, button, activate_time); -#endif } -#ifndef EGGTRAYICON static void tray_icon2_embedded_changed(GtkStatusIcon *icon,GParamSpec *arg1, gpointer data) { if(!gtk_status_icon_is_embedded(icon)) @@ -164,7 +164,6 @@ create_playlist3(); } } -#endif /** * Initialize the tray icon */ @@ -174,16 +173,6 @@ { play_song(); } -#ifdef EGGTRAYICON - else if(event->button == 1) - { - tray_icon2_activate(NULL, NULL); - } - else if(event->button == 3) - { - tray_icon2_populate_menu(NULL, event->button, event->time, NULL); - } -#endif else { return FALSE; @@ -195,9 +184,11 @@ static int tray_icon2_button_scroll_event(gpointer tray, GdkEventScroll *event, gpointer data) { if(event->direction == GDK_SCROLL_UP) { - volume_up(); + if(mpd_server_check_command_allowed(connection, "volume") && mpd_status_get_volume(connection) >=0) + volume_up(); }else if (event->direction == GDK_SCROLL_DOWN) { - volume_down(); + if(mpd_server_check_command_allowed(connection, "volume") && mpd_status_get_volume(connection) >=0) + volume_down(); }else if (event->direction == GDK_SCROLL_LEFT) { prev_song(); }else if (event->direction == GDK_SCROLL_RIGHT) { @@ -205,31 +196,48 @@ } return TRUE; } - -#ifdef EGGTRAYICON -static int tray_icon2_button_enter_notify_event(GtkWidget *tray, GdkEventCrossing *event, gpointer data) +/* hack to delay tooltip showup on tray-icon*/ +GTimeVal current = {0,0}; +static gboolean tray_icon2_tooltip_query(GtkStatusIcon *icon, + gint x, gint y, + gboolean keyboard_mode, + GtkTooltip *tooltip, + gpointer user_data) { + if(!keyboard_mode) + { + if(tray_icon2_tooltip == NULL){ + GTimeVal now; + if(current.tv_sec == 0) { + g_get_current_time(¤t); + return FALSE; + } - tray_icon2_create_tooltip(); + g_get_current_time(&now); + if((now.tv_sec - current.tv_sec ) > 5) { + current.tv_sec = 0; + return FALSE; + } + if(current.tv_sec < now.tv_sec) + { + current.tv_sec = 0; + tray_icon2_create_tooltip_real(TI2_AT_TOOLTIP); + return TRUE; + } + } + } return FALSE; } -#endif + static void tray_icon2_init(void) { if(cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "enable", TRUE)) { -#ifdef EGGTRAYICON - tray_icon2_gsi = (GtkWidget *)egg_tray_icon_new("gmpc"); - gtk_container_add(GTK_CONTAINER(tray_icon2_gsi), gtk_image_new_from_icon_name("gmpc-tray", GTK_ICON_SIZE_MENU)); - gtk_widget_show_all(tray_icon2_gsi); - gtk_widget_add_events(tray_icon2_gsi, GDK_SCROLL_MASK); - g_signal_connect(G_OBJECT(tray_icon2_gsi), "button-press-event", G_CALLBACK(tray_icon2_button_press_event), NULL); - g_signal_connect(G_OBJECT(tray_icon2_gsi), "scroll-event", G_CALLBACK(tray_icon2_button_scroll_event), NULL); - - g_signal_connect(G_OBJECT(tray_icon2_gsi), "enter-notify-event", G_CALLBACK(tray_icon2_button_enter_notify_event), NULL); -#else tray_icon2_gsi = gtk_status_icon_new_from_icon_name ("gmpc-tray-disconnected"); +#if GTK_CHECK_VERSION(2,15,0) + gtk_status_icon_set_has_tooltip(GTK_STATUS_ICON(tray_icon2_gsi), TRUE); +#endif /* connect the (sparse) signals */ g_signal_connect(G_OBJECT(tray_icon2_gsi), "popup-menu", G_CALLBACK(tray_icon2_populate_menu), NULL); @@ -239,8 +247,11 @@ { g_signal_connect(G_OBJECT(tray_icon2_gsi), "button-press-event", G_CALLBACK(tray_icon2_button_press_event), NULL); g_signal_connect(G_OBJECT(tray_icon2_gsi), "scroll-event", G_CALLBACK(tray_icon2_button_scroll_event), NULL); + + g_signal_connect(G_OBJECT(tray_icon2_gsi), "query-tooltip", G_CALLBACK(tray_icon2_tooltip_query), NULL); } -#endif + /* Make sure the icons are up2date */ + tray_icon2_connection_changed(connection, mpd_check_connected(connection), NULL); } } /** @@ -250,11 +261,7 @@ { if(tray_icon2_gsi) { -#ifdef EGGTRAYICON - gtk_widget_destroy(tray_icon2_gsi); -#else g_object_unref(tray_icon2_gsi); -#endif tray_icon2_gsi = NULL; } /* free the currnet song checksum */ @@ -281,18 +288,11 @@ tray_icon2_init(); tray_icon2_status_changed(connection, MPD_CST_SONGID, NULL); } else { -#ifndef EGGTRAYICON gtk_status_icon_set_visible(GTK_STATUS_ICON(tray_icon2_gsi), TRUE); -#endif } } else { if(tray_icon2_gsi) { -#ifdef EGGTRAYICON - gtk_widget_destroy(tray_icon2_gsi); - tray_icon2_gsi = NULL; -#else gtk_status_icon_set_visible(GTK_STATUS_ICON(tray_icon2_gsi), FALSE); -#endif } } } @@ -320,7 +320,7 @@ static gboolean tray_icon2_tooltip_button_press_event(GtkWidget *box, GdkEventButton *event, GtkWidget *vbox) { - if(event->button == 3 && !has_buttons) + if((event == NULL || event->button == 3) && !has_buttons) { GtkWidget *hbox,*button; int state = cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "tooltip-timeout", 5); @@ -377,7 +377,7 @@ } -void tray_icon2_create_tooltip(void) +static void tray_icon2_create_tooltip_real(int position) { int x=0,y=0,monitor; GdkScreen *screen; @@ -414,10 +414,16 @@ return; } } - tray_icon2_tooltip_destroy(); + if(tray_icon2_tooltip_timeout) + { + g_source_remove(tray_icon2_tooltip_timeout); + tray_icon2_tooltip_timeout = 0; + } + tray_icon2_tooltip_pb = NULL; + gtk_widget_destroy(tray_icon2_tooltip); + tray_icon2_tooltip = NULL; + //tray_icon2_tooltip_destroy(); } - if(cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "show-tooltip", 1) == 0) - return; /* If gmpc is fullscreen, don't show the tooltip */ if(pl3_window_is_fullscreen()) return; @@ -459,26 +465,33 @@ * Re-use the gmpc-metaimage widget */ - coverimg = gmpc_metaimage_new_size(META_ALBUM_ART,80); - gmpc_metaimage_set_squared(GMPC_METAIMAGE(coverimg), TRUE); - gmpc_metaimage_set_connection(GMPC_METAIMAGE(coverimg), connection); - gmpc_metaimage_set_no_cover_icon(GMPC_METAIMAGE(coverimg),(char *)"gmpc"); - /** - * Force an update if mpd is playing - */ - state = mpd_player_get_state(connection); - if(state == MPD_PLAYER_PLAY || state == MPD_PLAYER_PAUSE) { - gmpc_metaimage_update_cover(GMPC_METAIMAGE(coverimg), connection, MPD_CST_SONGID,NULL); - } else { - gmpc_metaimage_set_cover_na(GMPC_METAIMAGE(coverimg)); - } - /** - * Pack the widget in a eventbox so we can set background color - */ - event = gtk_event_box_new(); - gtk_widget_set_size_request(event, 86,86); - gtk_widget_modify_bg(GTK_WIDGET(event), GTK_STATE_NORMAL, &(pl3_win->style->bg[GTK_STATE_SELECTED])); - gtk_container_add(GTK_CONTAINER(event), coverimg); + coverimg = gmpc_metaimage_new_size(META_ALBUM_ART,80); + gmpc_metaimage_set_squared(GMPC_METAIMAGE(coverimg), TRUE); + gmpc_metaimage_set_connection(GMPC_METAIMAGE(coverimg), connection); + gmpc_metaimage_set_no_cover_icon(GMPC_METAIMAGE(coverimg),(char *)"gmpc"); + /** + * Force an update if mpd is playing + */ + state = mpd_player_get_state(connection); + if(state == MPD_PLAYER_PLAY || state == MPD_PLAYER_PAUSE) { + gmpc_metaimage_update_cover(GMPC_METAIMAGE(coverimg), connection, MPD_CST_SONGID,NULL); + } else { + gmpc_metaimage_set_cover_na(GMPC_METAIMAGE(coverimg)); + } + + if(mpd_check_connected(connection) && mpd_player_get_consume(connection) && mpd_playlist_get_playlist_length(connection) < 100 ) + { + gchar *temp = g_strdup_printf("%i", mpd_playlist_get_playlist_length(connection)); + gmpc_metaimage_set_image_text(GMPC_METAIMAGE(coverimg), temp); + g_free(temp); + } + /** + * Pack the widget in a eventbox so we can set background color + */ + event = gtk_event_box_new(); + gtk_widget_set_size_request(event, 86,86); + gtk_widget_modify_bg(GTK_WIDGET(event), GTK_STATE_NORMAL, &(pl3_win->style->bg[GTK_STATE_SELECTED])); + gtk_container_add(GTK_CONTAINER(event), coverimg); gtk_box_pack_start(GTK_BOX(hbox), event, FALSE,TRUE,0); /** * 2 @@ -490,24 +503,28 @@ */ event = gtk_event_box_new(); vbox = gtk_vbox_new(FALSE, 0); - g_signal_connect(G_OBJECT(hbox), "button-press-event", G_CALLBACK(tray_icon2_tooltip_button_press_event), vbox); - gtk_widget_modify_bg(GTK_WIDGET(event), GTK_STATE_NORMAL, &(pl3_win->style->light[GTK_STATE_NORMAL])); gtk_container_set_border_width(GTK_CONTAINER(vbox),3); gtk_container_add(GTK_CONTAINER(event), vbox); gtk_box_pack_start(GTK_BOX(hbox), event, TRUE,TRUE,0); + + if(!has_buttons){ + g_signal_connect(G_OBJECT(hbox), "button-press-event", G_CALLBACK(tray_icon2_tooltip_button_press_event), vbox); + } + /** * If there is a song, show show song info */ if(song) { - int size_offset = cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "size-offset", 1024); + int i; + char buffer[256]; + int size_offset = cfg_get_single_value_as_int_with_default(config, TRAY_ICON2_ID, "size-offset", 1024); size_offset = (size_offset < 100)?1024:size_offset; /** Artist label */ if(song->title || song->file || song->name) { - char buffer[256]; gchar *test = g_strdup_printf("[%%title%%|%%shortfile%%][ (%%name%%)]", 14*size_offset); mpd_song_markup_escaped(buffer, 256,test,song); q_free(test); @@ -519,7 +536,6 @@ } if(song->artist) { - char buffer[256]; gchar *test = g_strdup_printf("%%artist%%", 10*size_offset); label = gtk_label_new(""); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); @@ -532,7 +548,6 @@ } if(song->album) { - char buffer[256]; gchar *test = g_strdup_printf("%%album%%[ (%%year%%)]", 8*size_offset); label = gtk_label_new(""); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); @@ -549,9 +564,30 @@ mpd_status_get_total_song_time(connection), mpd_status_get_elapsed_song_time(connection)); + + g_signal_connect(G_OBJECT(tray_icon2_tooltip_pb), "seek-event", G_CALLBACK(tray_icon2_seek_event), NULL); + gtk_widget_modify_bg(GTK_WIDGET(tray_icon2_tooltip_pb), GTK_STATE_NORMAL, &(pl3_win->style->light[GTK_STATE_NORMAL])); g_object_set_data_full(G_OBJECT(tray_icon2_tooltip), "song", mpd_songDup(song),(GDestroyNotify)mpd_freeSong); gtk_box_pack_start(GTK_BOX(vbox), tray_icon2_tooltip_pb, TRUE,FALSE,0); + + i = mpd_player_get_next_song_id(connection); + if(i > 0){ + mpd_Song *next_psong = mpd_playlist_get_song(connection, i); + if(next_psong) + { + gchar *test = g_strdup_printf("%s: [[%%title%% - &[%%artist%%]]|%%shortfile%%]", + 7*size_offset,_("Next")); + label = gtk_label_new(""); + gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); + mpd_song_markup_escaped(buffer, 256,test,next_psong); + q_free(test); + gtk_misc_set_alignment(GTK_MISC(label), 0,0.5); + gtk_label_set_markup(GTK_LABEL(label), buffer); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE,FALSE,0); + mpd_freeSong(next_psong); + } + } } else { gchar *value = g_markup_printf_escaped("%s", _("Gnome Music Player Client")); label = gtk_label_new(""); @@ -563,31 +599,13 @@ /** * Position the popup */ - state = cfg_get_single_value_as_int_with_default(config,TRAY_ICON2_ID, "tooltip-position", TI2_AT_TOOLTIP); - if(state == TI2_AT_TOOLTIP && tray_icon2_get_available()) + if(position == TI2_AT_TOOLTIP && tray_icon2_get_available()) { GdkRectangle rect, rect2; GtkOrientation orientation; -#ifdef EGGTRAYICON - GdkWindow *w = NULL; - gtk_widget_realize(tray_icon2_gsi); -#if GTK_CHECK_VERSION(2,14,0) - w = gtk_widget_get_window(tray_icon2_gsi); -#else - w = GTK_WIDGET(tray_icon2_gsi)->window; -#endif - screen = gtk_widget_get_screen(tray_icon2_gsi); - orientation = egg_tray_icon_get_orientation((EggTrayIcon *)tray_icon2_gsi); - rect.width = tray_icon2_gsi->allocation.width; - rect.height = tray_icon2_gsi->allocation.height; - if(w) - { - gdk_window_get_origin(w, &(rect.x), &(rect.y)); -#else if(gtk_status_icon_get_geometry(tray_icon2_gsi, &screen, &rect, &orientation)) { -#endif monitor = gdk_screen_get_monitor_at_point(screen, rect.x, rect.y); gdk_screen_get_monitor_geometry(screen, monitor, &rect2); /* Get Y */ @@ -617,7 +635,7 @@ } gtk_window_move(GTK_WINDOW(tray_icon2_tooltip), rect2.x+x,rect2.y+y); } else - if (state == TI2_AT_UPPER_LEFT) + if (position == TI2_AT_UPPER_LEFT) { GdkRectangle rect2; screen =gtk_widget_get_screen(pl3_win); @@ -625,7 +643,7 @@ monitor = gdk_screen_get_monitor_at_window(screen, pl3_win->window); gdk_screen_get_monitor_geometry(screen, monitor, &rect2); gtk_window_move(GTK_WINDOW(tray_icon2_tooltip), rect2.x+5+x_offset,rect2.y+5+y_offset); - } else if (state == TI2_AT_UPPER_RIGHT) { + } else if (position == TI2_AT_UPPER_RIGHT) { GdkRectangle rect2; screen =gtk_widget_get_screen(pl3_win); @@ -636,7 +654,7 @@ /** X is upper right - width */ x = rect2.x+rect2.width-5-300; gtk_window_move(GTK_WINDOW(tray_icon2_tooltip), x+x_offset,y+y_offset); - } else if (state == TI2_AT_LOWER_LEFT) + } else if (position == TI2_AT_LOWER_LEFT) { GdkRectangle rect2; screen =gtk_widget_get_screen(pl3_win); @@ -665,12 +683,22 @@ gtk_widget_show_all(tray_icon2_tooltip); - /** + if(has_buttons){ + has_buttons = FALSE; + tray_icon2_tooltip_button_press_event(hbox,NULL, vbox); + } + /** * Destroy it after 5 seconds */ tray_icon2_tooltip_timeout = g_timeout_add_seconds(tooltip_timeout, (GSourceFunc)tray_icon2_tooltip_destroy, NULL); } +void tray_icon2_create_tooltip(void) +{ + int state = cfg_get_single_value_as_int_with_default(config,TRAY_ICON2_ID, "tooltip-position", TI2_AT_TOOLTIP); + tray_icon2_create_tooltip_real(state); +} + static void tray_icon2_status_changed(MpdObj *mi, ChangedStatusType what, void *userdata) { char buffer[256]; @@ -702,11 +730,7 @@ if(tray_icon2_gsi) { mpd_song_markup(buffer, 256,"[%name%: ][%title%|%shortfile%][ - %artist%]",song); -#ifdef EGGTRAYICON - gtk_widget_set_tooltip_text(tray_icon2_gsi, buffer); -#else - gtk_status_icon_set_tooltip(tray_icon2_gsi,buffer); -#endif + //gtk_status_icon_set_tooltip(tray_icon2_gsi,buffer); } } @@ -729,39 +753,24 @@ int state = mpd_player_get_state(connection); if(state == MPD_PLAYER_PLAY){ mpd_song_markup(buffer, 256,"[%name%: ][%title%|%shortfile%][ - %artist%]",song); -#ifdef EGGTRAYICON - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_bin_get_child(GTK_BIN(tray_icon2_gsi))), "gmpc-tray-play", GTK_ICON_SIZE_MENU); - gtk_widget_set_tooltip_text(tray_icon2_gsi, buffer); -#else gtk_status_icon_set_from_icon_name(tray_icon2_gsi, "gmpc-tray-play"); - gtk_status_icon_set_tooltip(tray_icon2_gsi,buffer); -#endif + //gtk_status_icon_set_tooltip(tray_icon2_gsi,buffer); if(has_buttons) { gtk_button_set_image(GTK_BUTTON(play_button), gtk_image_new_from_stock(GTK_STOCK_MEDIA_PAUSE, GTK_ICON_SIZE_BUTTON)); } } else if(state == MPD_PLAYER_PAUSE){ -#ifdef EGGTRAYICON - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_bin_get_child(GTK_BIN(tray_icon2_gsi))), "gmpc-tray-pause", GTK_ICON_SIZE_MENU); - gtk_widget_set_tooltip_text(tray_icon2_gsi, _("Gnome Music Player Client")); -#else gtk_status_icon_set_from_icon_name(tray_icon2_gsi, "gmpc-tray-pause"); - gtk_status_icon_set_tooltip(tray_icon2_gsi,_("Gnome Music Player Client")); -#endif + //gtk_status_icon_set_tooltip(tray_icon2_gsi,_("Gnome Music Player Client")); if(has_buttons) { gtk_button_set_image(GTK_BUTTON(play_button), gtk_image_new_from_stock(GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_BUTTON)); } } else { -#ifdef EGGTRAYICON - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_bin_get_child(GTK_BIN(tray_icon2_gsi))), "gmpc-tray", GTK_ICON_SIZE_MENU); - gtk_widget_set_tooltip_text(tray_icon2_gsi, _("Gnome Music Player Client")); -#else gtk_status_icon_set_from_icon_name(tray_icon2_gsi, "gmpc-tray"); - gtk_status_icon_set_tooltip(tray_icon2_gsi,_("Gnome Music Player Client")); -#endif + //gtk_status_icon_set_tooltip(tray_icon2_gsi,_("Gnome Music Player Client")); if(has_buttons) { gtk_button_set_image(GTK_BUTTON(play_button), gtk_image_new_from_stock(GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_BUTTON)); @@ -780,11 +789,11 @@ if(connect) { tray_icon2_status_changed(mi, MPD_CST_STATE,NULL); } else { -#ifdef EGGTRAYICON - gtk_image_set_from_icon_name(GTK_IMAGE(gtk_bin_get_child(GTK_BIN(tray_icon2_gsi))), "gmpc-tray-disconnected", GTK_ICON_SIZE_MENU); -#else + /* Set the disconnect image, and reset the GtkTooltip */ gtk_status_icon_set_from_icon_name(tray_icon2_gsi, "gmpc-tray-disconnected"); -#endif + /* Destroy notification */ + if(tray_icon2_tooltip) + tray_icon2_tooltip_destroy(); } } @@ -871,6 +880,7 @@ gtk_combo_box_set_active(GTK_COMBO_BOX(gtk_builder_get_object(tray_icon2_preferences_xml, "pm-combo")), cfg_get_single_value_as_int_with_default(config, "Default","min-error-level", ERROR_INFO)); } + gmpcPrefPlugin tray_icon2_preferences = { tray_icon2_preferences_construct, tray_icon2_preferences_destroy diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/TreeSearchWidget.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/TreeSearchWidget.c --- gmpc-0.18.0/src/TreeSearchWidget.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/TreeSearchWidget.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,319 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include -#include -#include -#include "main.h" -#include "TreeSearchWidget.h" -static void treesearch_class_init (TreeSearchClass *klass); -static void treesearch_init (TreeSearch *ts); -static void treesearch_close(GtkButton *button, TreeSearch *ts); -static void treesearch_entry_changed(GtkEntry *entry, TreeSearch *ts); -enum { - RESULT_ACTIVATE, - LAST_SIGNAL -}; - -static gint treesearch_signals[LAST_SIGNAL] = { 0 }; - -GType treesearch_get_type (void) -{ - static GType ts_type = 0; - - if (!ts_type) - { - static const GTypeInfo ts_info = - { - - sizeof (TreeSearchClass), - NULL, - NULL, - (GClassInitFunc) treesearch_class_init, - NULL, - NULL, - sizeof (TreeSearch), - 0, - (GInstanceInitFunc) treesearch_init, - }; - - ts_type = g_type_register_static(GTK_TYPE_VBOX, "TreeSearch", &ts_info, 0); - } - - return ts_type; -} - - -static void treesearch_class_init (TreeSearchClass *class) -{ - GtkObjectClass *object_class; - - object_class = (GtkObjectClass*) class; - - - treesearch_signals[RESULT_ACTIVATE] = g_signal_new ("result-activate", - G_TYPE_FROM_CLASS(class), - G_SIGNAL_RUN_FIRST, - 0, - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0,0); - - - class->treesearch = NULL; -} -void treesearch_close(GtkButton *button, TreeSearch *ts) -{ - gtk_widget_hide(GTK_WIDGET(ts)); - gtk_widget_grab_focus(GTK_WIDGET(ts->treeview)); -} - -void treesearch_start(TreeSearch *ts) -{ - gtk_widget_show(GTK_WIDGET(ts)); - gtk_widget_grab_focus(ts->entry); - treesearch_entry_changed(GTK_ENTRY(ts->entry), ts); -} - -static int treesearch_search_from_iter_forward(TreeSearch *ts,GtkTreeIter *iter) { - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(ts->treeview)); - const char *text = gtk_entry_get_text(GTK_ENTRY(ts->entry)); - GError *error = NULL; - GRegex *reg = g_regex_new(text, G_REGEX_CASELESS, 0, &error); - if(error){ - debug_printf(DEBUG_ERROR, "Failed to create search: %s\n", error->message); - g_error_free(error); - if(reg) g_regex_unref(reg); - return FALSE; - } - - do{ - char *title; - GtkTreeIter child; - gtk_tree_model_get(model, iter,ts->search_row, &title, -1); - if(title && g_regex_match(reg, title, 0,NULL)) - { - q_free(title); - g_regex_unref(reg); - return TRUE; - } - else if(gtk_tree_model_iter_children(model,&child, iter)) - { - - if(treesearch_search_from_iter_forward(ts, &child)) - { - *iter = child; - g_regex_unref(reg); - q_free(title); - return TRUE; - } - - } - q_free(title); - } while(gtk_tree_model_iter_next(model, iter)); - g_regex_unref(reg); - return FALSE; -} -static void treesearch_search_next(GtkButton *but,TreeSearch *ts){ - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(ts->treeview)); - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ts->treeview)); - int has_next = 0; - - if (gtk_tree_selection_count_selected_rows (selection) == 1) - { - GList *list = NULL; - GtkTreeIter iter; - list = gtk_tree_selection_get_selected_rows (selection, &model); - if(gtk_tree_model_get_iter (model, &iter,(GtkTreePath *) list->data)) - { - if(gtk_tree_model_iter_next(model, &iter)) - { - if(treesearch_search_from_iter_forward(ts, &iter)) - { - GtkTreePath *path = gtk_tree_model_get_path(model, &iter); - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_iter(selection, &iter); - gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(ts->treeview), path,NULL,TRUE,0.5,0.5); - gtk_tree_view_set_cursor(GTK_TREE_VIEW(ts->treeview), path, NULL,0); - gtk_tree_path_free(path); - if(gtk_tree_model_iter_next(model, &iter)) - { - if(treesearch_search_from_iter_forward(ts,&iter)) { - has_next = TRUE; - } - } - } - } - } - g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); - g_list_free (list); - } - if(!has_next) - { - gtk_widget_set_sensitive(ts->but_down, FALSE); - } - if(but) - { - gtk_widget_grab_focus(GTK_WIDGET(but)); - - } -} - -static void treesearch_entry_changed(GtkEntry *entry, TreeSearch *ts) -{ - GtkTreeIter iter; - GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(ts->treeview)); - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ts->treeview)); - const gchar *text = gtk_entry_get_text(entry); - - - gtk_widget_set_sensitive(ts->but_down, FALSE); - - if(g_utf8_strlen(text,-1) == 0) - { - gtk_tree_selection_unselect_all(selection); - return; - } - if (gtk_tree_selection_count_selected_rows (selection) == 1) - { - - GList *list = NULL; - list = gtk_tree_selection_get_selected_rows (selection, &model); - gtk_tree_model_get_iter (model, &iter,(GtkTreePath *) list->data); - g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); - g_list_free (list); - } - else{ - if(!gtk_tree_model_get_iter_first(model, &iter)) - { - return; - } - } - if(treesearch_search_from_iter_forward(ts,&iter)) - { - GtkTreePath *path = gtk_tree_model_get_path(model, &iter); - gtk_tree_selection_unselect_all(selection); - gtk_tree_selection_select_iter(selection, &iter); - gtk_tree_view_scroll_to_cell(GTK_TREE_VIEW(ts->treeview), path,NULL,TRUE,0.5,0.5); - gtk_tree_view_set_cursor(GTK_TREE_VIEW(ts->treeview), path, NULL,0); - gtk_tree_path_free(path); - - if(gtk_tree_model_iter_next(model, &iter)) - { - if(treesearch_search_from_iter_forward(ts,&iter)) { - gtk_widget_set_sensitive(ts->but_down, TRUE); - } - } - - } - else{ - gtk_tree_selection_unselect_all(selection); - } -} -static void treesearch_entry_activate(GtkEntry *entry, TreeSearch *ts) -{ - GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(ts->treeview)); - if (gtk_tree_selection_count_selected_rows (selection) == 1) - { - g_signal_emit(ts, treesearch_signals[RESULT_ACTIVATE],0,0); - } - treesearch_close(NULL,ts); -} -static int treesearch_entry_key_press(GtkWidget *entry, GdkEventKey *event, TreeSearch *ts) -{ - if((event->keyval == GDK_KP_Enter || event->keyval == GDK_Return || event->keyval == GDK_space)&& event->state&GDK_CONTROL_MASK) - { - treesearch_entry_activate(NULL,ts); - return TRUE; - } - - if(event->keyval == GDK_Down || event->keyval == GDK_Return || event->keyval == GDK_KP_Enter) - { - treesearch_search_next(NULL,ts); - return TRUE; - } - if(event->keyval == GDK_Escape) - { - treesearch_close(NULL,ts); - return TRUE; - } - if((event->keyval == GDK_KP_Enter || event->keyval == GDK_Return)) - { - treesearch_close(NULL,ts); - return TRUE; - } - - return FALSE; -} - -static void treesearch_init (TreeSearch *ts) -{ - GtkWidget *label; - GtkWidget *vbox = NULL; - vbox = gtk_hbox_new(FALSE, 6); - gtk_container_add(GTK_CONTAINER(ts), vbox); - label = gtk_label_new(_("Find:")); - gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, TRUE,0); - - ts->entry = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(vbox), ts->entry, FALSE, TRUE,0); - g_signal_connect(G_OBJECT(ts->entry), "changed", G_CALLBACK(treesearch_entry_changed), ts); - g_signal_connect(G_OBJECT(ts->entry), "key-press-event", G_CALLBACK(treesearch_entry_key_press), ts); - - ts->but_down = gtk_button_new_from_stock(GTK_STOCK_GO_DOWN); - gtk_box_pack_start(GTK_BOX(vbox), ts->but_down, FALSE, TRUE,0); - gtk_widget_set_sensitive(ts->but_down, FALSE); - g_signal_connect(G_OBJECT(ts->but_down), "clicked", G_CALLBACK(treesearch_search_next), ts); - ts->but_close = gtk_button_new_from_stock(GTK_STOCK_CLOSE); - gtk_box_pack_end(GTK_BOX(vbox), ts->but_close, FALSE, TRUE,0); - - g_signal_connect(G_OBJECT(ts->but_close), "clicked", G_CALLBACK(treesearch_close), ts); - - - gtk_widget_show_all(vbox); - gtk_widget_set_no_show_all(GTK_WIDGET(ts), TRUE); -} -static void treesearch_set_treeview(TreeSearch *ts, GtkTreeView *view) -{ - ts->treeview =view; -} -GtkWidget *treesearch_get_treeview(TreeSearch *ts) -{ - return GTK_WIDGET(ts->treeview); -} -static void treesearch_set_search_row(TreeSearch *ts,int search_row) -{ - ts->search_row = search_row; -} -GtkWidget* treesearch_new (GtkTreeView *view, int search_row) -{ - GtkWidget *widget = NULL; - if(!view) { - g_warning("view != NULL failed\n"); - return NULL; - } - if(search_row < 0){ - g_warning("search_row >= 0 failed\n"); - return NULL; - } - widget = GTK_WIDGET ( g_object_new (treesearch_get_type (),NULL)); - treesearch_set_treeview(TREESEARCH(widget), view); - treesearch_set_search_row(TREESEARCH(widget),search_row); - return widget; -} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/TreeSearchWidget.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/TreeSearchWidget.h --- gmpc-0.18.0/src/TreeSearchWidget.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/TreeSearchWidget.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,73 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#ifndef __TREESEARCH_H__ -#define __TREESEARCH_H__ - - -#include -#include - - -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -#define TYPE_TREESEARCH (treesearch_get_type ()) -#define TREESEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TREESEARCH, TreeSearch)) -#define TREESEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TREESEARCH, TreeSearchClass)) -#define IS_TREESEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TREESEARCH)) -#define IS_TREESEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TREESEARCH)) -#define TREESEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TREESEARCH, TreeSearchClass)) - - - - - - - typedef struct _TreeSearch TreeSearch; - typedef struct _TreeSearchClass TreeSearchClass; - - struct _TreeSearch - { - GtkVBox parent; - GtkWidget *entry; - GtkWidget *but_down; - GtkWidget *but_close; - GtkTreeView *treeview; - gint search_row; - - }; - - struct _TreeSearchClass - { - GtkVBoxClass parent_class; - - void (* treesearch) (TreeSearch *ts); - }; - - GType treesearch_get_type (void); - GtkWidget* treesearch_new (GtkTreeView *view, int search_row); - void treesearch_start (TreeSearch *ts); - GtkWidget *treesearch_get_treeview(TreeSearch *ts); -#ifdef __cplusplus -} -#endif /* __cplusplus */ - -#endif /* __TREESEARCH_H__ */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/url_fetcher.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/url_fetcher.c --- gmpc-0.18.0/src/url_fetcher.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/url_fetcher.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,365 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include -#include -#include -#include -#include "main.h" -#include "playlist3.h" -#include "gmpc_easy_download.h" - -#ifdef SPIFF -#include -#endif -/** in gmpc */ -void pl3_option_menu_activate(); - -/*** - * Parse PLS files: - */ -static void url_parse_pls_file(const char *data, int size) -{ - int i = 0; - int songs = 0; - gchar **tokens = g_regex_split_simple("\n", data, G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_ANY); // g_strsplit(data, "\n", -1); - if (tokens) { - for (i = 0; tokens[i]; i++) { - /* Check for File */ - if (!strncmp(tokens[i], "File", 4)) { - int del = 0; - /* split the string, look for delimiter = */ - for (del = 3; tokens[i][del] != '\0' && tokens[i][del] != '='; del++) ; - /** if delimiter is found, and the url behind it starts with http:// add it*/ - if (tokens[i][del] == '=' && strncmp(&tokens[i][del + 1], "http://", 7) == 0) { - printf("Adding '%s'\n", &tokens[i][del + 1]); - mpd_playlist_add(connection, &tokens[i][del + 1]); - songs++; - } - } - } - g_strfreev(tokens); - } - if (songs) { - char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); - pl3_push_statusbar_message(string); - q_free(string); - } -} - -/*** - * Parse EXTM3U Files: - */ -static void url_parse_extm3u_file(const char *data, int size) -{ - int i = 0; - int songs = 0; - gchar **tokens = g_regex_split_simple("(\r\n|\n|\r)", data, G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_ANY); // g_strsplit(data, "\n", -1); - if (tokens) { - for (i = 0; tokens[i]; i++) { - /* Check for File */ - if (!strncmp(tokens[i], "http://", 7)) { - printf("Adding '%s'\n", tokens[i]); - mpd_playlist_add(connection, tokens[i]); - songs++; - } - } - g_strfreev(tokens); - } - if (songs) { - char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); - pl3_push_statusbar_message(string); - q_free(string); - } -} -/*** - * parse spiff file - */ -static void url_parse_spiff_file(const char *data, int size) -{ -#ifdef SPIFF - int songs= 0; - const gchar *tempdir = g_get_tmp_dir(); - gchar *filename = g_build_filename(tempdir, "gmpc-temp-spiff-file",NULL); - if(filename) - { - GError *error = NULL; - int has_http = FALSE, has_file = FALSE; - char **handlers = mpd_server_get_url_handlers(connection); - int i = 0; - for (i = 0; handlers && handlers[i]; i++) { - if (strcmp(handlers[i], "http://") == 0) { - has_http = TRUE; - } else if (strcmp(handlers[i], "file://") == 0) { - has_file = TRUE; - } - } - if (handlers) - g_strfreev(handlers); - - g_file_set_contents(filename, data,(gssize)size, &error); - if(!error) - { - struct spiff_track *strack; - struct spiff_mvalue *sloc; - struct spiff_list *slist = spiff_parse(filename); - if (slist != NULL) - { - SPIFF_LIST_FOREACH_TRACK(slist, strack) { - SPIFF_TRACK_FOREACH_LOCATION(strack, sloc) { - char *scheme = g_uri_parse_scheme(sloc->value); - if(scheme) - { - debug_printf(DEBUG_INFO, "Trying to add url: %s", sloc->value); - if(strcmp(scheme, "http") == 0 && has_http) - { - mpd_playlist_add(connection, sloc->value); - songs++; - } - else if(strcmp(scheme, "file") == 0 && has_file) - { - mpd_playlist_add(connection, sloc->value); - songs++; - } - g_free(scheme); - } - else{ - debug_printf(DEBUG_ERROR, "Failed to parse scheme: %s",sloc->value); - } - } - } - spiff_free(slist); - } - g_unlink(filename); - } - else - { - debug_printf(DEBUG_ERROR, "Error message: %s", error->message); - g_error_free(error); - } - - g_free(filename); - } - if (songs) { - char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); - pl3_push_statusbar_message(string); - q_free(string); - } - - -#else - debug_printf(DEBUG_ERROR, "Spiff not supported, install libspiff"); -#endif -} - -/** - * Check url for correctness - */ -static gboolean url_validate_url(const gchar * text) -{ - /** test if text has a length */ - if (!text || text[0] == '\0') - return FALSE; - /* you need at least 8 chars to form http:// */ - if (strlen(text) < 8) - return FALSE; - /* must start with http */ - if (strncmp(text, "http://", 7)) - return FALSE; - - return TRUE; -} - -/** - * Handle user input - */ -static void url_entry_changed(GtkEntry * entry, GtkWidget * add_button) -{ - const gchar *text = gtk_entry_get_text(entry); - gtk_widget_set_sensitive(add_button, url_validate_url(text)); -} - -static int url_check_binary(const char *data, const int size) -{ -/* int i=0;*/ - int binary = FALSE; - /* - for(i=0;i < size;i++) { - if((unsigned int)data[i] > 127) binary = TRUE; - } - */ - binary = !g_utf8_validate(data, size, NULL); - if (binary) - printf("Binary data found\n"); - return binary; -} - -static void parse_data(const char *data, guint size, const char *text) -{ - if (url_check_binary(data, size)) { - debug_printf(DEBUG_INFO, "Adding url\n", text); - mpd_playlist_add(connection, (char *)text); - pl3_push_statusbar_message(_("Added 1 stream")); - } - else if (!strncasecmp(data, " 0) { - gdouble prog = (length / (double)total); - gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progress), (prog > 1)?1:prog); - printf("%f\n", prog); - } else { - gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progress)); - } - } - if (length > 12 * 1024) { - printf("Cancel to much data to handle, assume binary\n"); - parse_data(data, (guint) length, uri); - gmpc_easy_async_cancel(handle); - if (user_data) - gtk_dialog_response(GTK_DIALOG(gtk_widget_get_toplevel(GTK_WIDGET(user_data))), GTK_RESPONSE_CANCEL); - printf("done\n"); - } - } else { - GtkWidget *dialog = user_data; - /* add failed urls anyway */ - mpd_playlist_add(connection, uri); - if (user_data) - gtk_dialog_response(GTK_DIALOG(gtk_widget_get_toplevel(dialog)), GTK_RESPONSE_CANCEL); - } -} - -void url_start(void) -{ - /** - * Setup the Dialog - */ - GtkWidget *vbox = NULL, *label = NULL, *entry = NULL, *ali = NULL, *progress = NULL; - GtkWidget *pl3_win = playlist3_get_window(); - GtkWidget *add_button = NULL; - GtkWidget *dialog = gtk_dialog_new_with_buttons("Open URL", NULL, - GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, - NULL); - - gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); - gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(pl3_win)); - /* Add buttons */ - gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); /** CANCEL BUTTON */ - add_button = gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_ADD, GTK_RESPONSE_OK); /** ADD BUTTON */ - - /* set default state */ - gtk_widget_set_sensitive(add_button, FALSE); - /** - * Setup widgets in dialog - */ - vbox = gtk_vbox_new(FALSE, 6); - gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), vbox); - - /* set hig margins */ - gtk_container_set_border_width(GTK_CONTAINER(vbox), 9); - gtk_container_set_border_width(GTK_CONTAINER(dialog), 3); - /** - * Setup the label - */ - label = gtk_label_new(_("Enter an url")); - ali = gtk_alignment_new(0, 0.5, 0, 0); - gtk_container_add(GTK_CONTAINER(ali), label); - gtk_box_pack_start(GTK_BOX(vbox), ali, FALSE, TRUE, 0); - /** - * Setup the entry box - */ - entry = gtk_entry_new(); - gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, TRUE, 0); - g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(url_entry_changed), add_button); -/* if(url) - gtk_entry_set_text(GTK_ENTRY(entry), url); - */ - progress = gtk_progress_bar_new(); - gtk_box_pack_start(GTK_BOX(vbox), progress, FALSE, TRUE, 0); - - gtk_widget_show_all(dialog); - gtk_widget_hide(progress); - - while (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { - GEADAsyncHandler *handler; - const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); - /* In any case, don't download more then 2 kbyte */ - gtk_widget_show(progress); - gtk_widget_set_sensitive(dialog, FALSE); - handler = gmpc_easy_async_downloader(text, url_fetcher_download_callback, progress); - } - - gtk_widget_destroy(dialog); -} - -void url_start_real(const gchar * url) -{ - gmpc_easy_async_downloader(url, url_fetcher_download_callback, NULL); -} - -/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/url-fetcher.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/url-fetcher.c --- gmpc-0.18.0/src/url-fetcher.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/url-fetcher.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,504 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include "main.h" +#include "playlist3.h" +#include "gmpc_easy_download.h" + + #ifdef XSPF +#include +#endif + +#ifdef SPIFF +#include +#endif + +#define MAX_PLAYLIST_SIZE 12*1024 +/*** + * Parse PLS files: + */ +static void url_parse_pls_file(const char *data, int size) +{ + int i = 0; + int songs = 0; + gchar **tokens = g_regex_split_simple("\n", data, G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_ANY); // g_strsplit(data, "\n", -1); + if (tokens) { + for (i = 0; tokens[i]; i++) { + /* Check for File */ + if (!strncmp(tokens[i], "File", 4)) { + int del = 0; + /* split the string, look for delimiter = */ + for (del = 3; tokens[i][del] != '\0' && tokens[i][del] != '='; del++) ; + /** if delimiter is found, and the url behind it starts with http:// add it*/ + if (tokens[i][del] == '=' && strncmp(&tokens[i][del + 1], "http://", 7) == 0) { + mpd_playlist_add(connection, &tokens[i][del + 1]); + songs++; + } + } + } + g_strfreev(tokens); + } + if (songs) { + char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); + pl3_push_statusbar_message(string); + q_free(string); + } +} + +/*** + * Parse EXTM3U Files: + */ +static void url_parse_extm3u_file(const char *data, int size) +{ + int i = 0; + int songs = 0; + gchar **tokens = g_regex_split_simple("(\r\n|\n|\r)", data, G_REGEX_MULTILINE, G_REGEX_MATCH_NEWLINE_ANY); // g_strsplit(data, "\n", -1); + if (tokens) { + for (i = 0; tokens[i]; i++) { + /* Check for File */ + if (!strncmp(tokens[i], "http://", 7)) { + mpd_playlist_add(connection, tokens[i]); + songs++; + } + } + g_strfreev(tokens); + } + if (songs) { + char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); + pl3_push_statusbar_message(string); + q_free(string); + } +} + + #ifdef XSPF +/*** + * parse xspf file + */ + static void url_parse_xspf_file(const char *data, int size,const char *uri) + { + int songs= 0; + int has_http = FALSE, has_file = FALSE; + struct xspf_track *strack; + struct xspf_mvalue *sloc; + struct xspf_list *slist; + char **handlers = mpd_server_get_url_handlers(connection); + int i = 0; + for (i = 0; handlers && handlers[i]; i++) { + if (strcmp(handlers[i], "http://") == 0) { + has_http = TRUE; + } else if (strcmp(handlers[i], "file://") == 0) { + has_file = TRUE; + } + } + if (handlers) + g_strfreev(handlers); + + slist = xspf_parse_memory(data,(int)size,uri); + if (slist != NULL) + { + XSPF_LIST_FOREACH_TRACK(slist, strack) { + XSPF_TRACK_FOREACH_LOCATION(strack, sloc) { + char *scheme = g_uri_parse_scheme(sloc->value); + if(scheme) + { + debug_printf(DEBUG_INFO, "Trying to add url: %s", sloc->value); + if(strcmp(scheme, "http") == 0 && has_http) + { + mpd_playlist_add(connection, sloc->value); + songs++; + } + else if(strcmp(scheme, "file") == 0 && has_file) + { + mpd_playlist_add(connection, sloc->value); + songs++; + } + g_free(scheme); + } + else{ + debug_printf(DEBUG_ERROR, "Failed to parse scheme: %s",sloc->value); + } + } + } + xspf_free(slist); + } + if (songs) { + char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); + pl3_push_statusbar_message(string); + q_free(string); + } + + +} +#else +#ifdef SPIFF +/*** + * parse spiff file + */ +static void url_parse_spiff_file(const char *data, int size, const gchar *uri) +{ + int songs= 0; + const gchar *tempdir = g_get_tmp_dir(); + gchar *filename = g_build_filename(tempdir, "gmpc-temp-spiff-file",NULL); + if(filename) + { + GError *error = NULL; + int has_http = FALSE, has_file = FALSE; + char **handlers = mpd_server_get_url_handlers(connection); + int i = 0; + for (i = 0; handlers && handlers[i]; i++) { + if (strcmp(handlers[i], "http://") == 0) { + has_http = TRUE; + } else if (strcmp(handlers[i], "file://") == 0) { + has_file = TRUE; + } + } + if (handlers) + g_strfreev(handlers); + + g_file_set_contents(filename, data,(gssize)size, &error); + if(!error) + { + struct spiff_track *strack; + struct spiff_mvalue *sloc; + struct spiff_list *slist = spiff_parse(filename); + if (slist != NULL) + { + SPIFF_LIST_FOREACH_TRACK(slist, strack) { + SPIFF_TRACK_FOREACH_LOCATION(strack, sloc) { + char *scheme = g_uri_parse_scheme(sloc->value); + if(scheme) + { + debug_printf(DEBUG_INFO, "Trying to add url: %s", sloc->value); + if(strcmp(scheme, "http") == 0 && has_http) + { + mpd_playlist_add(connection, sloc->value); + songs++; + } + else if(strcmp(scheme, "file") == 0 && has_file) + { + mpd_playlist_add(connection, sloc->value); + songs++; + } + g_free(scheme); + } + else{ + debug_printf(DEBUG_ERROR, "Failed to parse scheme: %s",sloc->value); + } + } + } + spiff_free(slist); + } + g_unlink(filename); + } + else + { + debug_printf(DEBUG_ERROR, "Error message: %s", error->message); + g_error_free(error); + } + + g_free(filename); + } + if (songs) { + char *string = g_strdup_printf(_("Added %i %s"), songs, ngettext("stream", "streams", songs)); + pl3_push_statusbar_message(string); + q_free(string); + } + + +} +#endif +#endif +/** + * Check url for correctness + */ +static gboolean url_validate_url(const gchar * text) +{ + int i; + gchar *scheme; + gchar **handlers = NULL; + /** test if text has a length */ + if (!text || text[0] == '\0') + return FALSE; + /* Get the scheme of the url */ + scheme = g_uri_parse_scheme(text); + /* If no scheme, then it is not valid */ + if(scheme == NULL){ + return FALSE; + } + handlers = mpd_server_get_url_handlers(connection); + /* iterate all entries and find matching handler */ + for(i=0;handlers && handlers[i]; i++) + { + if(strncasecmp(handlers[i], scheme, strlen(scheme)) == 0) + { + /* If we found a match, the url is valid */ + g_free(scheme); + if(handlers) g_strfreev(handlers); + return TRUE; + } + } + g_free(scheme); + if(handlers) g_strfreev(handlers); + return FALSE; +} + +/** + * Handle user input + */ +static void url_entry_changed(GtkEntry * entry, GtkWidget * add_button) +{ + const gchar *text = gtk_entry_get_text(entry); + gtk_widget_set_sensitive(add_button, url_validate_url(text)); +} + +static int url_check_binary(const char *data, const int size) +{ + int binary = FALSE; + binary = !g_utf8_validate(data, size, NULL); + if (binary) + printf("Binary data found\n"); + return binary; +} + +static void parse_data(const char *data, guint size, const char *text) +{ + if (url_check_binary(data, size)) { + debug_printf(DEBUG_INFO, "Adding url\n", text); + mpd_playlist_add(connection, (char *)text); + pl3_push_statusbar_message(_("Added 1 stream")); + } + else if (!strncasecmp(data, " 0) { + gdouble prog = (length / (double)total); + gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(progress), (prog > 1)?1:prog); + printf("%f\n", prog); + } else { + gtk_progress_bar_pulse(GTK_PROGRESS_BAR(progress)); + } + } + if (length > MAX_PLAYLIST_SIZE) { + printf("Cancel to much data. Try to parse\n"); + parse_data(data, (guint) length, uri); + gmpc_easy_async_cancel(handle); + if (user_data) + gtk_dialog_response(GTK_DIALOG(gtk_widget_get_toplevel(GTK_WIDGET(user_data))), GTK_RESPONSE_CANCEL); + printf("done\n"); + } + } else { + GtkWidget *dialog = user_data; + /* add failed urls anyway */ + mpd_playlist_add(connection, uri); + if (user_data) + gtk_dialog_response(GTK_DIALOG(gtk_widget_get_toplevel(dialog)), GTK_RESPONSE_CANCEL); + } +} + +/**************************************** + * Parsing uri + */ + +static int parse_uri(const char *uri, gpointer data) +{ + gchar *scheme; + /* Check NULL */ + if(uri == NULL) return FALSE; + /* Check local path */ + scheme = g_uri_parse_scheme(uri); + + if(scheme == NULL) { + /* local uri */ + if(g_file_test(uri, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_REGULAR)) + { + FILE *fp = g_fopen(uri, "r"); + if(fp) + { + char buffer[MAX_PLAYLIST_SIZE]; + ssize_t t = fread(buffer,1, MAX_PLAYLIST_SIZE-1,fp); + /* Make sure it is NULL terminated */ + buffer[t] = '\0'; + parse_data(buffer, (guint)t, uri); + + fclose(fp); + /* indicates it should stop */ + return TRUE; + } + }else{ + gchar *temp = g_strdup_printf("%s: '%s'", _("Failed to open local file"), uri); + playlist3_message_show(pl3_messages, temp, ERROR_WARNING); + g_free(temp); + return TRUE; + } + }else + { + /* remote uri */ + if(url_validate_url(uri)) + { + if(strcasecmp(scheme, "http") == 0){ + gmpc_easy_async_downloader(uri, url_fetcher_download_callback, data); + }else{ + mpd_playlist_add(connection, (char *)uri); + /* indicates it should stop */ + return TRUE; + } + }else{ + gchar *temp = g_strdup_printf("%s: '%s'", _("Uri scheme not supported"), scheme); + playlist3_message_show(pl3_messages, temp,ERROR_WARNING); + g_free(temp); + if(scheme) + g_free(scheme); + return TRUE; + } + + } + if(scheme) + g_free(scheme); + /* Dialog needs to be kept running */ + return FALSE; +} + +void url_start(void) +{ + gboolean stop_loop = FALSE; + /** + * Setup the Dialog + */ + GtkWidget *vbox = NULL, *label = NULL, *entry = NULL, *ali = NULL, *progress = NULL; + GtkWidget *pl3_win = playlist3_get_window(); + GtkWidget *add_button = NULL; + GtkWidget *dialog = gtk_dialog_new_with_buttons("Open URL", NULL, + GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, + NULL); + + gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); + gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(pl3_win)); + /* Add buttons */ + gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); /** CANCEL BUTTON */ + add_button = gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_ADD, GTK_RESPONSE_OK); /** ADD BUTTON */ + + /* set default state */ + gtk_widget_set_sensitive(add_button, FALSE); + /** + * Setup widgets in dialog + */ + vbox = gtk_vbox_new(FALSE, 6); + gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), vbox); + + /* set hig margins */ + gtk_container_set_border_width(GTK_CONTAINER(vbox), 9); + gtk_container_set_border_width(GTK_CONTAINER(dialog), 3); + /** + * Setup the label + */ + label = gtk_label_new(_("Enter an url")); + ali = gtk_alignment_new(0, 0.5, 0, 0); + gtk_container_add(GTK_CONTAINER(ali), label); + gtk_box_pack_start(GTK_BOX(vbox), ali, FALSE, TRUE, 0); + /** + * Setup the entry box + */ + entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(vbox), entry, FALSE, TRUE, 0); + g_signal_connect(G_OBJECT(entry), "changed", G_CALLBACK(url_entry_changed), add_button); + + progress = gtk_progress_bar_new(); + gtk_box_pack_start(GTK_BOX(vbox), progress, FALSE, TRUE, 0); + + gtk_widget_show_all(dialog); + gtk_widget_hide(progress); + + while ( !stop_loop && gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) { + const gchar *text = gtk_entry_get_text(GTK_ENTRY(entry)); + + gtk_widget_show(progress); + gtk_widget_set_sensitive(dialog, FALSE); + stop_loop = parse_uri(text, progress); + } + + gtk_widget_destroy(dialog); +} + +void url_start_real(const gchar * url) +{ + parse_uri(url, NULL); +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/config.vapi /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/config.vapi --- gmpc-0.18.0/src/vala/config.vapi 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/config.vapi 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,9 @@ +[CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")] +namespace Config { +public const string VERSION; +public const string PACKAGE_VERSION; +public const string PACKAGE_STRING; +public const string PACKAGE_DATADIR; +public const string LIB_DIR; +public const string GETTEXT_PACKAGE; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-connection.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-connection.c --- gmpc-0.18.0/src/vala/gmpc-connection.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-connection.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,111 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include + + +#define GMPC_TYPE_CONNECTION (gmpc_connection_get_type ()) +#define GMPC_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_CONNECTION, GmpcConnection)) +#define GMPC_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_CONNECTION, GmpcConnectionClass)) +#define GMPC_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_CONNECTION)) +#define GMPC_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_CONNECTION)) +#define GMPC_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_CONNECTION, GmpcConnectionClass)) + +typedef struct _GmpcConnection GmpcConnection; +typedef struct _GmpcConnectionClass GmpcConnectionClass; +typedef struct _GmpcConnectionPrivate GmpcConnectionPrivate; + +struct _GmpcConnection { + GObject parent_instance; + GmpcConnectionPrivate * priv; +}; + +struct _GmpcConnectionClass { + GObjectClass parent_class; +}; + + +static gpointer gmpc_connection_parent_class = NULL; + +GType gmpc_connection_get_type (void); +enum { + GMPC_CONNECTION_DUMMY_PROPERTY +}; +GmpcConnection* gmpc_connection_new (void); +GmpcConnection* gmpc_connection_construct (GType object_type); + + +static void g_cclosure_user_marshal_VOID__POINTER_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data); + +GmpcConnection* gmpc_connection_construct (GType object_type) { + GmpcConnection * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcConnection* gmpc_connection_new (void) { + return gmpc_connection_construct (GMPC_TYPE_CONNECTION); +} + + +static void gmpc_connection_class_init (GmpcConnectionClass * klass) { + gmpc_connection_parent_class = g_type_class_peek_parent (klass); + g_signal_new ("connection_changed", GMPC_TYPE_CONNECTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__POINTER_INT, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT); + g_signal_new ("status_changed", GMPC_TYPE_CONNECTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__POINTER_INT, G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_INT); +} + + +static void gmpc_connection_instance_init (GmpcConnection * self) { +} + + +GType gmpc_connection_get_type (void) { + static GType gmpc_connection_type_id = 0; + if (gmpc_connection_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcConnectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_connection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcConnection), 0, (GInstanceInitFunc) gmpc_connection_instance_init, NULL }; + gmpc_connection_type_id = g_type_register_static (G_TYPE_OBJECT, "GmpcConnection", &g_define_type_info, 0); + } + return gmpc_connection_type_id; +} + + + +static void g_cclosure_user_marshal_VOID__POINTER_INT (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) { + typedef void (*GMarshalFunc_VOID__POINTER_INT) (gpointer data1, gpointer arg_1, gint arg_2, gpointer data2); + register GMarshalFunc_VOID__POINTER_INT callback; + register GCClosure * cc; + register gpointer data1, data2; + cc = (GCClosure *) closure; + g_return_if_fail (n_param_values == 3); + if (G_CCLOSURE_SWAP_DATA (closure)) { + data1 = closure->data; + data2 = param_values->data[0].v_pointer; + } else { + data1 = param_values->data[0].v_pointer; + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__POINTER_INT) (marshal_data ? marshal_data : cc->callback); + callback (data1, g_value_get_pointer (param_values + 1), g_value_get_int (param_values + 2), data2); +} + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-connection.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-connection.h --- gmpc-0.18.0/src/vala/gmpc-connection.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-connection.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,39 @@ + +#ifndef __GMPC_CONNECTION_H__ +#define __GMPC_CONNECTION_H__ + +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_TYPE_CONNECTION (gmpc_connection_get_type ()) +#define GMPC_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_CONNECTION, GmpcConnection)) +#define GMPC_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_CONNECTION, GmpcConnectionClass)) +#define GMPC_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_CONNECTION)) +#define GMPC_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_CONNECTION)) +#define GMPC_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_CONNECTION, GmpcConnectionClass)) + +typedef struct _GmpcConnection GmpcConnection; +typedef struct _GmpcConnectionClass GmpcConnectionClass; +typedef struct _GmpcConnectionPrivate GmpcConnectionPrivate; + +struct _GmpcConnection { + GObject parent_instance; + GmpcConnectionPrivate * priv; +}; + +struct _GmpcConnectionClass { + GObjectClass parent_class; +}; + + +GType gmpc_connection_get_type (void); +GmpcConnection* gmpc_connection_new (void); +GmpcConnection* gmpc_connection_construct (GType object_type); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-connection.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-connection.vala --- gmpc-0.18.0/src/vala/gmpc-connection.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-connection.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,30 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using MPD; + +namespace Gmpc{ + public class Connection : GLib.Object{ + public signal void connection_changed (MPD.Server mi, int connect); + + public signal void status_changed (MPD.Server mi,int what); + } + +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-easy-command.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-easy-command.c --- gmpc-0.18.0/src/vala/gmpc-easy-command.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc-easy-command.c 2009-09-21 11:15:59.000000000 +0100 @@ -17,93 +17,190 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "gmpc-easy-command.h" +#include +#include +#include #include -#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include -#include +#define GMPC_EASY_TYPE_COMMAND (gmpc_easy_command_get_type ()) +#define GMPC_EASY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommand)) +#define GMPC_EASY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommandClass)) +#define GMPC_EASY_IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_EASY_TYPE_COMMAND)) +#define GMPC_EASY_IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_EASY_TYPE_COMMAND)) +#define GMPC_EASY_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommandClass)) + +typedef struct _GmpcEasyCommand GmpcEasyCommand; +typedef struct _GmpcEasyCommandClass GmpcEasyCommandClass; +typedef struct _GmpcEasyCommandPrivate GmpcEasyCommandPrivate; + +/** + * This plugin implements the Easy Command system. + * Easy command gives you a small command box, allowing you to quickly execute commands without having to use the mouse. + * It is inspired by f.e. gnome-do. + * + * Entries can be dynamicly added using by calling the add_entry command. + */ +struct _GmpcEasyCommand { + GmpcPluginBase parent_instance; + GmpcEasyCommandPrivate * priv; +}; +struct _GmpcEasyCommandClass { + GmpcPluginBaseClass parent_class; +}; -static glong string_get_length (const char* self); -static char* string_substring (const char* self, glong offset, glong len); struct _GmpcEasyCommandPrivate { GtkEntryCompletion* completion; GtkListStore* store; guint signals; GtkWindow* window; + gint* version; + gint version_length1; + gint version_size; }; +/** + * This function is called when the user entered a line matching this entry. + * param data the user data passed. + * param param a string with the extra parameters passed to the command + */ +typedef void (*GmpcEasyCommandCallback) (void* data, const char* param, void* user_data); + +static gpointer gmpc_easy_command_parent_class = NULL; + +GType gmpc_easy_command_get_type (void); #define GMPC_EASY_COMMAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommandPrivate)) enum { GMPC_EASY_COMMAND_DUMMY_PROPERTY }; -static gboolean gmpc_easy_command_completion_function (GmpcEasyCommand* self, GtkEntryCompletion* comp, const char* key, const GtkTreeIter* iter); +#define GMPC_EASY_COMMAND_use_transition TRUE +#define GMPC_EASY_COMMAND_some_unique_name VERSION +static const char* gmpc_easy_command_real_get_name (GmpcPluginBase* base); +static gint* gmpc_easy_command_real_get_version (GmpcPluginBase* base, int* result_length1); +static gboolean gmpc_easy_command_real_get_enabled (GmpcPluginBase* base); +static void gmpc_easy_command_real_set_enabled (GmpcPluginBase* base, gboolean state); +static gboolean gmpc_easy_command_completion_function (GmpcEasyCommand* self, GtkEntryCompletion* comp, const char* key, GtkTreeIter* iter); +guint gmpc_easy_command_add_entry (GmpcEasyCommand* self, const char* name, const char* pattern, const char* hint, GmpcEasyCommandCallback* callback, void* userdata); static void gmpc_easy_command_activate (GmpcEasyCommand* self, GtkEntry* entry); static gboolean gmpc_easy_command_key_press_event (GmpcEasyCommand* self, GtkEntry* widget, const GdkEventKey* event); static gboolean gmpc_easy_command_popup_expose_handler (GmpcEasyCommand* self, GtkWindow* widget, const GdkEventExpose* event); static gboolean _gmpc_easy_command_popup_expose_handler_gtk_widget_expose_event (GtkWindow* _sender, const GdkEventExpose* event, gpointer self); static void _gmpc_easy_command_activate_gtk_entry_activate (GtkEntry* _sender, gpointer self); static gboolean _gmpc_easy_command_key_press_event_gtk_widget_key_press_event (GtkEntry* _sender, const GdkEventKey* event, gpointer self); -static gboolean _gmpc_easy_command_completion_function_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const char* key, const GtkTreeIter* iter, gpointer self); +static gboolean gmpc_easy_command_focus_out_event (GmpcEasyCommand* self, GtkEntry* entry, const GdkEventFocus* event); +static gboolean _gmpc_easy_command_focus_out_event_gtk_widget_focus_out_event (GtkEntry* _sender, const GdkEventFocus* event, gpointer self); +void gmpc_easy_command_popup (GmpcEasyCommand* self); +void gmpc_easy_command_help_window_destroy (GtkDialog* window, gint response); +static void _gmpc_easy_command_help_window_destroy_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); +void gmpc_easy_command_help_window (void* data, const char* param); +GmpcEasyCommand* gmpc_easy_command_new (void); +GmpcEasyCommand* gmpc_easy_command_construct (GType object_type); +static gboolean _gmpc_easy_command_completion_function_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const char* key, GtkTreeIter* iter, gpointer self); static GObject * gmpc_easy_command_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static gpointer gmpc_easy_command_parent_class = NULL; static void gmpc_easy_command_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); static gint _vala_array_length (gpointer array); -static glong string_get_length (const char* self) { - g_return_val_if_fail (self != NULL, 0L); - return g_utf8_strlen (self, -1); +/** + * Required plugin implementation + */ +static const char* gmpc_easy_command_real_get_name (GmpcPluginBase* base) { + GmpcEasyCommand * self; + const char* result; + self = (GmpcEasyCommand*) base; + result = _ ("Gmpc Easy Command"); + return result; } -static char* string_substring (const char* self, glong offset, glong len) { - glong string_length; - const char* start; - g_return_val_if_fail (self != NULL, NULL); - string_length = g_utf8_strlen (self, -1); - if (offset < 0) { - offset = string_length + offset; - g_return_val_if_fail (offset >= 0, NULL); +static gint* gmpc_easy_command_real_get_version (GmpcPluginBase* base, int* result_length1) { + GmpcEasyCommand * self; + gint* result; + gint* _tmp0_; + self = (GmpcEasyCommand*) base; + _tmp0_ = NULL; + result = (_tmp0_ = self->priv->version, *result_length1 = self->priv->version_length1, _tmp0_); + return result; +} + + +/** + * Get set enabled + */ +static gboolean gmpc_easy_command_real_get_enabled (GmpcPluginBase* base) { + GmpcEasyCommand * self; + gboolean result; + self = (GmpcEasyCommand*) base; + result = (gboolean) cfg_get_single_value_as_int_with_default (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "enabled", 1); + return result; +} + + +static void gmpc_easy_command_real_set_enabled (GmpcPluginBase* base, gboolean state) { + GmpcEasyCommand * self; + gboolean _tmp0_; + self = (GmpcEasyCommand*) base; + _tmp0_ = FALSE; + if (!state) { + _tmp0_ = self->priv->window != NULL; } else { - g_return_val_if_fail (offset <= string_length, NULL); + _tmp0_ = FALSE; } - if (len < 0) { - len = string_length - offset; + /* if disabling and popup is open, close it */ + if (_tmp0_) { + GtkWindow* _tmp1_; + gtk_object_destroy ((GtkObject*) self->priv->window); + _tmp1_ = NULL; + self->priv->window = (_tmp1_ = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp1_); } - g_return_val_if_fail ((offset + len) <= string_length, NULL); - start = g_utf8_offset_to_pointer (self, offset); - return g_strndup (start, ((gchar*) g_utf8_offset_to_pointer (start, len)) - ((gchar*) start)); + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "enabled", (gint) state); } -static gboolean gmpc_easy_command_completion_function (GmpcEasyCommand* self, GtkEntryCompletion* comp, const char* key, const GtkTreeIter* iter) { +/************************************************ + * private + */ +static gboolean gmpc_easy_command_completion_function (GmpcEasyCommand* self, GtkEntryCompletion* comp, const char* key, GtkTreeIter* iter) { + gboolean result; char* value; - GtkTreeModel* _tmp0; + GtkTreeModel* _tmp0_; GtkTreeModel* model; - gboolean _tmp2; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (comp != NULL, FALSE); g_return_val_if_fail (key != NULL, FALSE); value = NULL; - _tmp0 = NULL; - model = (_tmp0 = gtk_entry_completion_get_model (comp), (_tmp0 == NULL) ? NULL : g_object_ref (_tmp0)); + _tmp0_ = NULL; + model = (_tmp0_ = gtk_entry_completion_get_model (comp), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); gtk_tree_model_get (model, &(*iter), 1, &value, -1); if (value != NULL) { char* a; - gboolean _tmp1; a = g_strdup_printf ("^%s.*", key); - return (_tmp1 = g_regex_match_simple (a, value, G_REGEX_CASELESS, 0), a = (g_free (a), NULL), value = (g_free (value), NULL), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp1); - } - return (_tmp2 = FALSE, value = (g_free (value), NULL), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp2); + result = g_regex_match_simple (a, value, G_REGEX_CASELESS, 0); + a = (g_free (a), NULL); + value = (g_free (value), NULL); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + result = FALSE; + value = (g_free (value), NULL); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; } @@ -118,6 +215,7 @@ * return an unique id for the entry. */ guint gmpc_easy_command_add_entry (GmpcEasyCommand* self, const char* name, const char* pattern, const char* hint, GmpcEasyCommandCallback* callback, void* userdata) { + guint result; GtkTreeIter iter = {0}; g_return_val_if_fail (self != NULL, 0U); g_return_val_if_fail (name != NULL, 0U); @@ -126,180 +224,229 @@ self->priv->signals++; gtk_list_store_append (self->priv->store, &iter); gtk_list_store_set (self->priv->store, &iter, 0, self->priv->signals, 1, name, 2, pattern, 3, callback, 4, userdata, 5, hint, -1, -1); - return self->priv->signals; + result = self->priv->signals; + return result; +} + + +static glong string_get_length (const char* self) { + glong result; + g_return_val_if_fail (self != NULL, 0L); + result = g_utf8_strlen (self, -1); + return result; +} + + +static char* string_strip (const char* self) { + char* result; + char* _result_; + g_return_val_if_fail (self != NULL, NULL); + _result_ = g_strdup (self); + g_strstrip (_result_); + result = _result_; + return result; +} + + +static char* string_substring (const char* self, glong offset, glong len) { + char* result; + glong string_length; + const char* start; + g_return_val_if_fail (self != NULL, NULL); + string_length = g_utf8_strlen (self, -1); + if (offset < 0) { + offset = string_length + offset; + g_return_val_if_fail (offset >= 0, NULL); + } else { + g_return_val_if_fail (offset <= string_length, NULL); + } + if (len < 0) { + len = string_length - offset; + } + g_return_val_if_fail ((offset + len) <= string_length, NULL); + start = g_utf8_offset_to_pointer (self, offset); + result = g_strndup (start, ((gchar*) g_utf8_offset_to_pointer (start, len)) - ((gchar*) start)); + return result; } static void gmpc_easy_command_activate (GmpcEasyCommand* self, GtkEntry* entry) { GtkTreeModel* model; - const char* _tmp0; + const char* _tmp0_; char* value_unsplit; GtkTreeIter iter = {0}; - GtkWindow* _tmp19; + GtkWindow* _tmp21_; g_return_if_fail (self != NULL); g_return_if_fail (entry != NULL); model = (GtkTreeModel*) self->priv->store; - _tmp0 = NULL; - value_unsplit = (_tmp0 = gtk_entry_get_text (entry), (_tmp0 == NULL) ? NULL : g_strdup (_tmp0)); + _tmp0_ = NULL; + value_unsplit = (_tmp0_ = gtk_entry_get_text (entry), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); if (string_get_length (value_unsplit) == 0) { - GtkWindow* _tmp1; + GtkWindow* _tmp1_; gtk_object_destroy ((GtkObject*) self->priv->window); - _tmp1 = NULL; - self->priv->window = (_tmp1 = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp1); + _tmp1_ = NULL; + self->priv->window = (_tmp1_ = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp1_); value_unsplit = (g_free (value_unsplit), NULL); return; } { - char** _tmp2; + char** _tmp2_; char** value_collection; int value_collection_length1; int value_it; - _tmp2 = NULL; - value_collection = _tmp2 = g_strsplit (value_unsplit, ";", 0); - value_collection_length1 = _vala_array_length (_tmp2); - for (value_it = 0; value_it < _vala_array_length (_tmp2); value_it = value_it + 1) { - const char* _tmp18; + _tmp2_ = NULL; + value_collection = _tmp2_ = g_strsplit (value_unsplit, ";", 0); + value_collection_length1 = _vala_array_length (_tmp2_); + for (value_it = 0; value_it < _vala_array_length (_tmp2_); value_it = value_it + 1) { + const char* _tmp20_; char* value; - _tmp18 = NULL; - value = (_tmp18 = value_collection[value_it], (_tmp18 == NULL) ? NULL : g_strdup (_tmp18)); + _tmp20_ = NULL; + value = (_tmp20_ = value_collection[value_it], (_tmp20_ == NULL) ? NULL : g_strdup (_tmp20_)); { gboolean found; found = FALSE; /* ToDo: Make this nicer... maybe some fancy parsing */ if (gtk_tree_model_get_iter_first (model, &iter)) { - gboolean _tmp3; - _tmp3 = FALSE; - do { - char* name; - char* pattern; - char* test; - GmpcEasyCommandCallback _tmp5; - void* callback_target; - GmpcEasyCommandCallback callback; - void* data; - char* _tmp6; - if (_tmp3) { - gboolean _tmp4; - _tmp4 = FALSE; - if (gtk_tree_model_iter_next (model, &iter)) { - _tmp4 = !found; - } else { - _tmp4 = FALSE; - } - if (!_tmp4) { - break; - } - } - _tmp3 = TRUE; - name = NULL; - pattern = NULL; - test = NULL; - callback = (_tmp5 = NULL, callback_target = NULL, _tmp5); - data = NULL; - gtk_tree_model_get (model, &iter, 1, &name, 2, &pattern, 3, &callback, 4, &data, -1); - _tmp6 = NULL; - test = (_tmp6 = g_strdup_printf ("%s[ ]*%s$", name, pattern), test = (g_free (test), NULL), _tmp6); - if (g_regex_match_simple (test, g_strstrip (value), G_REGEX_CASELESS, 0)) { - char* param; - const char* _tmp9; - char* param_str; - param = NULL; - fprintf (stdout, "matched: %s to %s\n", test, g_strstrip (value)); - if (string_get_length (value) > string_get_length (name)) { - char* _tmp7; - _tmp7 = NULL; - param = (_tmp7 = string_substring (value, string_get_length (name), (glong) (-1)), param = (g_free (param), NULL), _tmp7); - } else { - char* _tmp8; - _tmp8 = NULL; - param = (_tmp8 = g_strdup (""), param = (g_free (param), NULL), _tmp8); - } - _tmp9 = NULL; - param_str = (_tmp9 = g_strstrip (param), (_tmp9 == NULL) ? NULL : g_strdup (_tmp9)); - callback (data, param_str, callback_target); - found = TRUE; - param = (g_free (param), NULL); - param_str = (g_free (param_str), NULL); - } - name = (g_free (name), NULL); - pattern = (g_free (pattern), NULL); - test = (g_free (test), NULL); - } while (TRUE); - } - /* If now exact match is found, use the partial matching that is - * also used by the completion popup. - * First, partial, match is taken. - */ - if (!found) { - if (gtk_tree_model_get_iter_first (model, &iter)) { - gboolean _tmp10; - _tmp10 = FALSE; - do { + { + gboolean _tmp3_; + _tmp3_ = TRUE; + while (TRUE) { char* name; char* pattern; char* test; - GmpcEasyCommandCallback _tmp12; + GmpcEasyCommandCallback _tmp5_; void* callback_target; GmpcEasyCommandCallback callback; void* data; - char* _tmp13; - if (_tmp10) { - gboolean _tmp11; - _tmp11 = FALSE; + char* _tmp6_; + char* _tmp7_; + gboolean _tmp8_; + if (!_tmp3_) { + gboolean _tmp4_; + _tmp4_ = FALSE; if (gtk_tree_model_iter_next (model, &iter)) { - _tmp11 = !found; + _tmp4_ = !found; } else { - _tmp11 = FALSE; + _tmp4_ = FALSE; } - if (!_tmp11) { + if (!_tmp4_) { break; } } - _tmp10 = TRUE; + _tmp3_ = FALSE; name = NULL; pattern = NULL; test = NULL; - callback = (_tmp12 = NULL, callback_target = NULL, _tmp12); + callback_target = NULL; + callback = (_tmp5_ = NULL, callback_target = NULL, _tmp5_); data = NULL; gtk_tree_model_get (model, &iter, 1, &name, 2, &pattern, 3, &callback, 4, &data, -1); - _tmp13 = NULL; - test = (_tmp13 = g_strdup_printf ("^%s.*", g_strstrip (value)), test = (g_free (test), NULL), _tmp13); - if (g_regex_match_simple (test, name, G_REGEX_CASELESS, 0)) { + _tmp6_ = NULL; + test = (_tmp6_ = g_strdup_printf ("%s[ ]*%s$", name, pattern), test = (g_free (test), NULL), _tmp6_); + _tmp7_ = NULL; + if ((_tmp8_ = g_regex_match_simple (test, _tmp7_ = string_strip (value), G_REGEX_CASELESS, 0), _tmp7_ = (g_free (_tmp7_), NULL), _tmp8_)) { char* param; - const char* _tmp16; char* param_str; param = NULL; - fprintf (stdout, "matched: %s to %s\n", test, name); if (string_get_length (value) > string_get_length (name)) { - char* _tmp14; - _tmp14 = NULL; - param = (_tmp14 = string_substring (value, string_get_length (name), (glong) (-1)), param = (g_free (param), NULL), _tmp14); + char* _tmp9_; + _tmp9_ = NULL; + param = (_tmp9_ = string_substring (value, string_get_length (name), (glong) (-1)), param = (g_free (param), NULL), _tmp9_); } else { - char* _tmp15; - _tmp15 = NULL; - param = (_tmp15 = g_strdup (""), param = (g_free (param), NULL), _tmp15); + char* _tmp10_; + _tmp10_ = NULL; + param = (_tmp10_ = g_strdup (""), param = (g_free (param), NULL), _tmp10_); } - _tmp16 = NULL; - param_str = (_tmp16 = g_strstrip (param), (_tmp16 == NULL) ? NULL : g_strdup (_tmp16)); + param_str = string_strip (param); callback (data, param_str, callback_target); found = TRUE; param = (g_free (param), NULL); param_str = (g_free (param_str), NULL); - } else { - fprintf (stdout, "!matched: %s to %s\n", test, name); } name = (g_free (name), NULL); pattern = (g_free (pattern), NULL); test = (g_free (test), NULL); - } while (TRUE); + } + } + } + /* If now exact match is found, use the partial matching that is + * also used by the completion popup. + * First, partial, match is taken. + */ + if (!found) { + if (gtk_tree_model_get_iter_first (model, &iter)) { + { + gboolean _tmp11_; + _tmp11_ = TRUE; + while (TRUE) { + char* name; + char* pattern; + char* test; + GmpcEasyCommandCallback _tmp13_; + void* callback_target; + GmpcEasyCommandCallback callback; + void* data; + char* _tmp15_; + char* _tmp14_; + if (!_tmp11_) { + gboolean _tmp12_; + _tmp12_ = FALSE; + if (gtk_tree_model_iter_next (model, &iter)) { + _tmp12_ = !found; + } else { + _tmp12_ = FALSE; + } + if (!_tmp12_) { + break; + } + } + _tmp11_ = FALSE; + name = NULL; + pattern = NULL; + test = NULL; + callback_target = NULL; + callback = (_tmp13_ = NULL, callback_target = NULL, _tmp13_); + data = NULL; + gtk_tree_model_get (model, &iter, 1, &name, 2, &pattern, 3, &callback, 4, &data, -1); + _tmp15_ = NULL; + _tmp14_ = NULL; + test = (_tmp15_ = g_strdup_printf ("^%s.*", _tmp14_ = string_strip (value)), test = (g_free (test), NULL), _tmp15_); + _tmp14_ = (g_free (_tmp14_), NULL); + if (g_regex_match_simple (test, name, G_REGEX_CASELESS, 0)) { + char* param; + char* param_str; + param = NULL; + if (string_get_length (value) > string_get_length (name)) { + char* _tmp16_; + _tmp16_ = NULL; + param = (_tmp16_ = string_substring (value, string_get_length (name), (glong) (-1)), param = (g_free (param), NULL), _tmp16_); + } else { + char* _tmp17_; + _tmp17_ = NULL; + param = (_tmp17_ = g_strdup (""), param = (g_free (param), NULL), _tmp17_); + } + param_str = string_strip (param); + callback (data, param_str, callback_target); + found = TRUE; + param = (g_free (param), NULL); + param_str = (g_free (param_str), NULL); + } + name = (g_free (name), NULL); + pattern = (g_free (pattern), NULL); + test = (g_free (test), NULL); + } + } } } /* If we still cannot match it, give a message */ if (!found) { - char* _tmp17; - _tmp17 = NULL; - playlist3_show_error_message (_tmp17 = g_strdup_printf ("Unknown command: '%s'", g_strstrip (value)), ERROR_INFO); - _tmp17 = (g_free (_tmp17), NULL); + char* _tmp19_; + char* _tmp18_; + _tmp19_ = NULL; + _tmp18_ = NULL; + playlist3_show_error_message (_tmp19_ = g_strdup_printf ("Unknown command: '%s'", _tmp18_ = string_strip (value)), ERROR_INFO); + _tmp19_ = (g_free (_tmp19_), NULL); + _tmp18_ = (g_free (_tmp18_), NULL); } value = (g_free (value), NULL); } @@ -307,38 +454,42 @@ value_collection = (_vala_array_free (value_collection, value_collection_length1, (GDestroyNotify) g_free), NULL); } gtk_object_destroy ((GtkObject*) self->priv->window); - _tmp19 = NULL; - self->priv->window = (_tmp19 = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp19); + _tmp21_ = NULL; + self->priv->window = (_tmp21_ = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp21_); value_unsplit = (g_free (value_unsplit), NULL); } static gboolean gmpc_easy_command_key_press_event (GmpcEasyCommand* self, GtkEntry* widget, const GdkEventKey* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (widget != NULL, FALSE); /* Escape */ if ((*event).keyval == 0xff1b) { - GtkWindow* _tmp0; + GtkWindow* _tmp0_; gtk_object_destroy ((GtkObject*) self->priv->window); - _tmp0 = NULL; - self->priv->window = (_tmp0 = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp0); - return TRUE; - } else { - if ((*event).keyval == 0xff09) { - gtk_editable_set_position ((GTK_EDITABLE (widget)), -1); - return TRUE; - } + _tmp0_ = NULL; + self->priv->window = (_tmp0_ = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp0_); + result = TRUE; + return result; + } + /* Tab key */ + if ((*event).keyval == 0xff09) { + gtk_editable_set_position (GTK_EDITABLE (widget), -1); + result = TRUE; + return result; } - return FALSE; + result = FALSE; + return result; } static gboolean gmpc_easy_command_popup_expose_handler (GmpcEasyCommand* self, GtkWindow* widget, const GdkEventExpose* event) { + gboolean result; cairo_t* ctx; gint width; gint height; cairo_pattern_t* pattern; - gboolean _tmp0; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (widget != NULL, FALSE); ctx = gdk_cairo_create ((GdkDrawable*) ((GtkWidget*) widget)->window); @@ -364,7 +515,10 @@ cairo_rectangle (ctx, 0.0, 0.0, (double) width, (double) height); cairo_set_source_rgba (ctx, 0.0, 0.0, 0.0, 1.0); cairo_stroke (ctx); - return (_tmp0 = FALSE, (ctx == NULL) ? NULL : (ctx = (cairo_destroy (ctx), NULL)), (pattern == NULL) ? NULL : (pattern = (cairo_pattern_destroy (pattern), NULL)), _tmp0); + result = FALSE; + (ctx == NULL) ? NULL : (ctx = (cairo_destroy (ctx), NULL)); + (pattern == NULL) ? NULL : (pattern = (cairo_pattern_destroy (pattern), NULL)); + return result; } @@ -383,6 +537,11 @@ } +static gboolean _gmpc_easy_command_focus_out_event_gtk_widget_focus_out_event (GtkEntry* _sender, const GdkEventFocus* event, gpointer self) { + return gmpc_easy_command_focus_out_event (self, _sender, event); +} + + /** * Tell gmpc-easy-command to popup. * @param self The GmpcEasyCommand object to popup @@ -391,11 +550,15 @@ */ void gmpc_easy_command_popup (GmpcEasyCommand* self) { g_return_if_fail (self != NULL); + /* if not enabled, don't popup */ + if (!gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + return; + } if (self->priv->window == NULL) { - GtkWindow* _tmp0; + GtkWindow* _tmp0_; GtkEntry* entry; - _tmp0 = NULL; - self->priv->window = (_tmp0 = g_object_ref_sink ((GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL)), (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp0); + _tmp0_ = NULL; + self->priv->window = (_tmp0_ = g_object_ref_sink ((GtkWindow*) gtk_window_new (GTK_WINDOW_TOPLEVEL)), (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp0_); entry = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()); /* Setup window */ gtk_window_set_role (self->priv->window, "easy command"); @@ -408,14 +571,14 @@ gtk_container_add ((GtkContainer*) self->priv->window, (GtkWidget*) entry); /* Composite */ if (gtk_widget_is_composited ((GtkWidget*) self->priv->window)) { - GdkScreen* _tmp1; + GdkScreen* _tmp1_; GdkScreen* screen; - GdkColormap* _tmp2; + GdkColormap* _tmp2_; GdkColormap* colormap; - _tmp1 = NULL; - screen = (_tmp1 = gtk_window_get_screen (self->priv->window), (_tmp1 == NULL) ? NULL : g_object_ref (_tmp1)); - _tmp2 = NULL; - colormap = (_tmp2 = gdk_screen_get_rgba_colormap (screen), (_tmp2 == NULL) ? NULL : g_object_ref (_tmp2)); + _tmp1_ = NULL; + screen = (_tmp1_ = gtk_window_get_screen (self->priv->window), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + colormap = (_tmp2_ = gdk_screen_get_rgba_colormap (screen), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); gtk_widget_set_colormap ((GtkWidget*) self->priv->window, colormap); (screen == NULL) ? NULL : (screen = (g_object_unref (screen), NULL)); (colormap == NULL) ? NULL : (colormap = (g_object_unref (colormap), NULL)); @@ -430,6 +593,7 @@ gtk_entry_set_completion (entry, self->priv->completion); g_signal_connect_object (entry, "activate", (GCallback) _gmpc_easy_command_activate_gtk_entry_activate, self, 0); g_signal_connect_object ((GtkWidget*) entry, "key-press-event", (GCallback) _gmpc_easy_command_key_press_event_gtk_widget_key_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) entry, "focus-out-event", (GCallback) _gmpc_easy_command_focus_out_event_gtk_widget_focus_out_event, self, 0); gtk_widget_show_all ((GtkWidget*) self->priv->window); gtk_window_present (self->priv->window); gtk_widget_grab_focus ((GtkWidget*) entry); @@ -440,9 +604,120 @@ } +static gboolean gmpc_easy_command_focus_out_event (GmpcEasyCommand* self, GtkEntry* entry, const GdkEventFocus* event) { + gboolean result; + GtkWindow* _tmp0_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (entry != NULL, FALSE); + gtk_object_destroy ((GtkObject*) self->priv->window); + _tmp0_ = NULL; + self->priv->window = (_tmp0_ = NULL, (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)), _tmp0_); + result = FALSE; + return result; +} + + +void gmpc_easy_command_help_window_destroy (GtkDialog* window, gint response) { + g_return_if_fail (window != NULL); + gtk_object_destroy ((GtkObject*) window); +} + + +static void _gmpc_easy_command_help_window_destroy_gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { + gmpc_easy_command_help_window_destroy (_sender, response_id); +} + + +void gmpc_easy_command_help_window (void* data, const char* param) { + GmpcEasyCommand* _tmp0_; + GmpcEasyCommand* ec; + GtkDialog* window; + GtkTreeView* tree; + GtkTreeModelSort* _tmp1_; + GtkScrolledWindow* sw; + GtkCellRendererText* renderer; + GtkTreeViewColumn* column; + GtkCellRendererText* _tmp2_; + GtkTreeViewColumn* _tmp3_; + GtkLabel* label; + _tmp0_ = NULL; + ec = (_tmp0_ = (GmpcEasyCommand*) data, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + /* Create window */ + window = g_object_ref_sink ((GtkDialog*) gtk_dialog_new_with_buttons (_ ("Easy Command help"), NULL, 0, "gtk-close", GTK_RESPONSE_OK, NULL, NULL)); + /* set window size */ + gtk_window_set_default_size ((GtkWindow*) window, 600, 400); + /* Treeview with commands */ + tree = g_object_ref_sink ((GtkTreeView*) gtk_tree_view_new ()); + /** + * Don't sort the original model, but added a Sortable "wrapper" model + * Set this wrapper as tree backend + */ + _tmp1_ = NULL; + gtk_tree_view_set_model (tree, (GtkTreeModel*) (_tmp1_ = (GtkTreeModelSort*) gtk_tree_model_sort_new_with_model ((GtkTreeModel*) ec->priv->store))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + /* Setting up tree view, rules-hint for alternating row-color, search_column for search as you type */ + gtk_tree_view_set_rules_hint (tree, TRUE); + gtk_tree_view_set_search_column (tree, 1); + /* scrolled window to add it in */ + sw = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)); + /* setup scrolled window */ + gtk_container_set_border_width ((GtkContainer*) sw, (guint) 8); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + /* add sw */ + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) tree); + /* Add columns + Command column */ + renderer = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()); + column = g_object_ref_sink (gtk_tree_view_column_new ()); + gtk_tree_view_append_column (tree, column); + gtk_tree_view_column_set_title (column, _ ("Command")); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) renderer, FALSE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) renderer, "text", 1); + gtk_tree_view_column_set_sort_column_id (column, 1); + /* Usage column */ + _tmp2_ = NULL; + renderer = (_tmp2_ = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()), (renderer == NULL) ? NULL : (renderer = (g_object_unref (renderer), NULL)), _tmp2_); + _tmp3_ = NULL; + column = (_tmp3_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp3_); + gtk_tree_view_append_column (tree, column); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) renderer, FALSE); + gtk_tree_view_column_set_title (column, _ ("Usage")); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) renderer, "text", 5); + gtk_tree_view_column_set_sort_column_id (column, 5); + /* Label with explenation */ + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_markup (label, _ ("The following commands can be used in the easy command window.\nThe easy command window can be opened by pressing ctrl-space")); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_misc_set_padding ((GtkMisc*) label, 8, 6); + /* Add scrolled windows (containing tree) to dialog */ + gtk_box_pack_start ((GtkBox*) window->vbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + /* Add scrolled windows (containing tree) to dialog */ + gtk_box_pack_start ((GtkBox*) window->vbox, (GtkWidget*) sw, TRUE, TRUE, (guint) 0); + /* show all */ + gtk_widget_show_all ((GtkWidget*) window); + /* delete event */ + g_signal_connect (window, "response", (GCallback) _gmpc_easy_command_help_window_destroy_gtk_dialog_response, NULL); + (ec == NULL) ? NULL : (ec = (g_object_unref (ec), NULL)); + (window == NULL) ? NULL : (window = (g_object_unref (window), NULL)); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)); + (renderer == NULL) ? NULL : (renderer = (g_object_unref (renderer), NULL)); + (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); +} + + +/** + * This plugin implements the Easy Command system. + * Easy command gives you a small command box, allowing you to quickly execute commands without having to use the mouse. + * It is inspired by f.e. gnome-do. + * + * Entries can be dynamicly added using by calling the add_entry command. + */ GmpcEasyCommand* gmpc_easy_command_construct (GType object_type) { GmpcEasyCommand * self; - self = g_object_newv (object_type, 0, NULL); + self = (GmpcEasyCommand*) gmpc_plugin_base_construct (object_type); return self; } @@ -452,11 +727,12 @@ } -static gboolean _gmpc_easy_command_completion_function_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const char* key, const GtkTreeIter* iter, gpointer self) { +static gboolean _gmpc_easy_command_completion_function_gtk_entry_completion_match_func (GtkEntryCompletion* completion, const char* key, GtkTreeIter* iter, gpointer self) { return gmpc_easy_command_completion_function (self, completion, key, iter); } +/* Construction of the plugin */ static GObject * gmpc_easy_command_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { GObject * obj; GmpcEasyCommandClass * klass; @@ -467,23 +743,26 @@ obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = GMPC_EASY_COMMAND (obj); { - GtkListStore* _tmp0; - GtkEntryCompletion* _tmp1; + GtkListStore* _tmp1_; + GtkEntryCompletion* _tmp2_; GtkCellRendererText* renderer; - _tmp0 = NULL; - self->priv->store = (_tmp0 = gtk_list_store_new (6, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_STRING, NULL), (self->priv->store == NULL) ? NULL : (self->priv->store = (g_object_unref (self->priv->store), NULL)), _tmp0); - _tmp1 = NULL; - self->priv->completion = (_tmp1 = gtk_entry_completion_new (), (self->priv->completion == NULL) ? NULL : (self->priv->completion = (g_object_unref (self->priv->completion), NULL)), _tmp1); + /* Mark the plugin as an internal dummy */ + ((GmpcPluginBase*) self)->plugin_type = 8 + 4; + _tmp1_ = NULL; + self->priv->store = (_tmp1_ = gtk_list_store_new (6, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER, G_TYPE_STRING, NULL), (self->priv->store == NULL) ? NULL : (self->priv->store = (g_object_unref (self->priv->store), NULL)), _tmp1_); + _tmp2_ = NULL; + self->priv->completion = (_tmp2_ = gtk_entry_completion_new (), (self->priv->completion == NULL) ? NULL : (self->priv->completion = (g_object_unref (self->priv->completion), NULL)), _tmp2_); gtk_entry_completion_set_model (self->priv->completion, (GtkTreeModel*) self->priv->store); gtk_entry_completion_set_text_column (self->priv->completion, 1); gtk_entry_completion_set_inline_completion (self->priv->completion, TRUE); gtk_entry_completion_set_inline_selection (self->priv->completion, TRUE); gtk_entry_completion_set_popup_completion (self->priv->completion, TRUE); - gtk_entry_completion_set_match_func (self->priv->completion, _gmpc_easy_command_completion_function_gtk_entry_completion_match_func, self, NULL); + gtk_entry_completion_set_match_func (self->priv->completion, _gmpc_easy_command_completion_function_gtk_entry_completion_match_func, g_object_ref (self), g_object_unref); renderer = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()); gtk_cell_layout_pack_end ((GtkCellLayout*) self->priv->completion, (GtkCellRenderer*) renderer, FALSE); gtk_cell_layout_add_attribute ((GtkCellLayout*) self->priv->completion, (GtkCellRenderer*) renderer, "text", 5); g_object_set ((GObject*) renderer, "foreground", "grey", NULL, NULL); + gmpc_easy_command_add_entry (self, _ ("Help"), "", _ ("Get a list of available commands"), (GmpcEasyCommandCallback*) gmpc_easy_command_help_window, self); (renderer == NULL) ? NULL : (renderer = (g_object_unref (renderer), NULL)); } return obj; @@ -493,17 +772,25 @@ static void gmpc_easy_command_class_init (GmpcEasyCommandClass * klass) { gmpc_easy_command_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (GmpcEasyCommandPrivate)); + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_easy_command_real_get_name; + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_easy_command_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_enabled = gmpc_easy_command_real_get_enabled; + GMPC_PLUGIN_BASE_CLASS (klass)->set_enabled = gmpc_easy_command_real_set_enabled; G_OBJECT_CLASS (klass)->constructor = gmpc_easy_command_constructor; G_OBJECT_CLASS (klass)->finalize = gmpc_easy_command_finalize; } static void gmpc_easy_command_instance_init (GmpcEasyCommand * self) { + gint* _tmp0_; self->priv = GMPC_EASY_COMMAND_GET_PRIVATE (self); self->priv->completion = NULL; self->priv->store = NULL; self->priv->signals = (guint) 0; self->priv->window = NULL; + self->priv->version = (_tmp0_ = g_new0 (gint, 3), _tmp0_[0] = 0, _tmp0_[1] = 0, _tmp0_[2] = 1, _tmp0_); + self->priv->version_length1 = 3; + _tmp0_ = NULL; } @@ -513,6 +800,7 @@ (self->priv->completion == NULL) ? NULL : (self->priv->completion = (g_object_unref (self->priv->completion), NULL)); (self->priv->store == NULL) ? NULL : (self->priv->store = (g_object_unref (self->priv->store), NULL)); (self->priv->window == NULL) ? NULL : (self->priv->window = (g_object_unref (self->priv->window), NULL)); + self->priv->version = (g_free (self->priv->version), NULL); G_OBJECT_CLASS (gmpc_easy_command_parent_class)->finalize (obj); } @@ -521,13 +809,13 @@ static GType gmpc_easy_command_type_id = 0; if (gmpc_easy_command_type_id == 0) { static const GTypeInfo g_define_type_info = { sizeof (GmpcEasyCommandClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_easy_command_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcEasyCommand), 0, (GInstanceInitFunc) gmpc_easy_command_instance_init, NULL }; - gmpc_easy_command_type_id = g_type_register_static (G_TYPE_OBJECT, "GmpcEasyCommand", &g_define_type_info, 0); + gmpc_easy_command_type_id = g_type_register_static (GMPC_PLUGIN_TYPE_BASE, "GmpcEasyCommand", &g_define_type_info, 0); } return gmpc_easy_command_type_id; } -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { @@ -536,6 +824,11 @@ } } } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); g_free (array); } diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-easy-command.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-easy-command.h --- gmpc-0.18.0/src/vala/gmpc-easy-command.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc-easy-command.h 2009-09-21 11:15:59.000000000 +0100 @@ -1,29 +1,12 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ #ifndef __GMPC_EASY_COMMAND_H__ #define __GMPC_EASY_COMMAND_H__ #include -#include +#include #include #include +#include G_BEGIN_DECLS @@ -38,23 +21,37 @@ typedef struct _GmpcEasyCommand GmpcEasyCommand; typedef struct _GmpcEasyCommandClass GmpcEasyCommandClass; typedef struct _GmpcEasyCommandPrivate GmpcEasyCommandPrivate; -typedef void (*GmpcEasyCommandCallback) (void* data, const char* param, void* user_data); +/** + * This plugin implements the Easy Command system. + * Easy command gives you a small command box, allowing you to quickly execute commands without having to use the mouse. + * It is inspired by f.e. gnome-do. + * + * Entries can be dynamicly added using by calling the add_entry command. + */ struct _GmpcEasyCommand { - GObject parent_instance; + GmpcPluginBase parent_instance; GmpcEasyCommandPrivate * priv; }; struct _GmpcEasyCommandClass { - GObjectClass parent_class; + GmpcPluginBaseClass parent_class; }; +/** + * This function is called when the user entered a line matching this entry. + * param data the user data passed. + * param param a string with the extra parameters passed to the command + */ +typedef void (*GmpcEasyCommandCallback) (void* data, const char* param, void* user_data); +GType gmpc_easy_command_get_type (void); guint gmpc_easy_command_add_entry (GmpcEasyCommand* self, const char* name, const char* pattern, const char* hint, GmpcEasyCommandCallback* callback, void* userdata); void gmpc_easy_command_popup (GmpcEasyCommand* self); -GmpcEasyCommand* gmpc_easy_command_construct (GType object_type); +void gmpc_easy_command_help_window_destroy (GtkDialog* window, gint response); +void gmpc_easy_command_help_window (void* data, const char* param); GmpcEasyCommand* gmpc_easy_command_new (void); -GType gmpc_easy_command_get_type (void); +GmpcEasyCommand* gmpc_easy_command_construct (GType object_type); G_END_DECLS diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-easy-command.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-easy-command.vala --- gmpc-0.18.0/src/vala/gmpc-easy-command.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-easy-command.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,389 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +using Config; +using GLib; +using Gtk; +using Gdk; +using Cairo; +using MPD; +using Gmpc; + +/** + * This plugin implements the Easy Command system. + * Easy command gives you a small command box, allowing you to quickly execute commands without having to use the mouse. + * It is inspired by f.e. gnome-do. + * + * Entries can be dynamicly added using by calling the add_entry command. + */ +public class Gmpc.Easy.Command: Gmpc.Plugin.Base { + private const bool use_transition = Gmpc.use_transition; + /* hack to make gettext happy */ + private const string some_unique_name = Config.VERSION; + private Gtk.EntryCompletion completion = null; + private Gtk.ListStore store = null; + private uint signals = 0; + private Gtk.Window window = null; + + /*** + * plugin setup + */ + private int[] version = {0,0,1}; + + + /** + * Required plugin implementation + */ + public override weak string get_name() + { + return _("Gmpc Easy Command"); + } + public override weak int[] get_version() + { + return this.version; + } + /** + * Get set enabled + */ + public override bool get_enabled() { + return (bool)config.get_int_with_default(this.get_name(), "enabled", 1); + } + public override void set_enabled(bool state) { + /* if disabling and popup is open, close it */ + if(!state && this.window != null) { + this.window.destroy(); + this.window = null; + } + config.set_int(this.get_name(), "enabled", (int)state); + } + + /************************************************ + * private + */ + private bool completion_function(Gtk.EntryCompletion comp, string key, Gtk.TreeIter iter) { + string value; + var model = comp.model; + + model.get(iter, 1, out value); + if (value != null) { + string a = "^%s.*".printf(key); + return GLib.Regex.match_simple(a, value, GLib.RegexCompileFlags.CASELESS, 0); + } + + return false; + } + /* Construction of the plugin */ + construct { + /* Mark the plugin as an internal dummy */ + this.plugin_type = 8+4; + + this.store = + new Gtk.ListStore(6, typeof(uint), typeof(string), typeof(string), typeof(void *), typeof(void *), + typeof(string)); + this.completion = new Gtk.EntryCompletion(); + this.completion.model = this.store; + this.completion.text_column = 1; + this.completion.inline_completion = true; + this.completion.inline_selection = true; + this.completion.popup_completion = true; + + this.completion.set_match_func(completion_function); + + var renderer = new Gtk.CellRendererText(); + this.completion.pack_end(renderer, false); + this.completion.add_attribute(renderer, "text", 5); + renderer.set("foreground", "grey", null); + + this.add_entry(_("Help"), "", _("Get a list of available commands"), (Callback *)help_window,this); + } + + /** + * This function is called when the user entered a line matching this entry. + * param data the user data passed. + * param param a string with the extra parameters passed to the command + */ + public delegate void Callback(void *data, string param); + + /** + * Add a match entry to the Easy command object. + * param self the GmpcEasyCommand object. + * param name the name of the command. This is the "prefix" that needs to be matched. + * param pattern the pattern where the parameters need to match. + * param callback a GmpcEasyCommandCallback that returns when a entry is matched. + * param userdata a pointer that is passed to callback. + * + * return an unique id for the entry. + */ + public uint add_entry(string name, string pattern, string hint, Callback * callback, void *userdata) { + Gtk.TreeIter iter; + this.signals++; + this.store.append(out iter); + this.store.set(iter, 0, this.signals, 1, name, 2, pattern, 3, callback, 4, userdata, 5, hint, -1); + return this.signals; + } + + private void activate(Gtk.Entry entry) { + weak Gtk.TreeModel model = this.store; + string value_unsplit = entry.get_text(); + Gtk.TreeIter iter; + if (value_unsplit.length == 0) { + this.window.destroy(); + this.window = null; + return; + } + foreach(string value in value_unsplit.split(";")) { + bool found = false; + /* ToDo: Make this nicer... maybe some fancy parsing */ + if (model.get_iter_first(out iter)) { + do { + string name, pattern, test; + Callback callback = null; + void *data; + model.get(iter, 1, out name, 2, out pattern, 3, out callback, 4, out data); + + test = "%s[ ]*%s$".printf(name, pattern); + if (GLib.Regex.match_simple(test, value.strip(), GLib.RegexCompileFlags.CASELESS, 0)) { + string param; + if (value.length > name.length) + param = value.substring(name.length, -1); + else + param = ""; + var param_str = param.strip(); + callback(data, param_str); + found = true; + } + } while (model.iter_next(ref iter) && !found); + } + /* If now exact match is found, use the partial matching that is + * also used by the completion popup. + * First, partial, match is taken. + */ + if(!found) { + if (model.get_iter_first(out iter)) { + do { + string name, pattern, test; + Callback callback = null; + void *data; + model.get(iter, 1, out name, 2, out pattern, 3, out callback, 4, out data); + + test = "^%s.*".printf(value.strip()); + if (GLib.Regex.match_simple(test, name,GLib.RegexCompileFlags.CASELESS, 0)) { + string param; + if (value.length > name.length) + param = value.substring(name.length, -1); + else + param = ""; + var param_str = param.strip(); + callback(data, param_str); + found = true; + } + } while (model.iter_next(ref iter) && !found); + } + } + /* If we still cannot match it, give a message */ + if (!found) + Gmpc.Messages.show("Unknown command: '%s'".printf(value.strip()), Gmpc.Messages.Level.INFO); + } + + window.destroy(); + window = null; + } + private bool key_press_event(Gtk.Entry widget, Gdk.EventKey event) { + /* Escape */ + if (event.keyval == 0xff1b) { + this.window.destroy(); + this.window = null; + return true; + } + /* Tab key */ + if (event.keyval == 0xff09) { + ((Gtk.Editable) widget).set_position(-1); + return true; + } + return false; + } + + private bool popup_expose_handler(Gtk.Window widget, Gdk.EventExpose event) { + var ctx = Gdk.cairo_create(widget.window); + int width = widget.allocation.width; + int height = widget.allocation.height; + + if (widget.is_composited()) { + ctx.set_operator(Cairo.Operator.SOURCE); + ctx.set_source_rgba(1.0, 1.0, 1.0, 0.0); + } else { + ctx.set_source_rgb(1.0, 1.0, 1.0); + } + + ctx.paint(); + /* */ + + ctx.rectangle(1.0, 1.0, width - 2, height - 2); + var pattern = new Cairo.Pattern.linear(0.0, 0.0, 0.0, height); + + pattern.add_color_stop_rgba(0.0, 0.0, 0.0, 0.2, 0.5); + pattern.add_color_stop_rgba(0.5, 0.0, 0.0, 0.0, 1.0); + pattern.add_color_stop_rgba(1.0, 0.0, 0.0, 0.2, 0.5); + ctx.set_source(pattern); + ctx.fill_preserve(); + ctx.set_source_rgba(1.0, 1.0, 1.0, 1.0); + ctx.stroke(); + + ctx.rectangle(0.0, 0.0, width, height); + ctx.set_source_rgba(0.0, 0.0, 0.0, 1.0); + ctx.stroke(); + + return false; + } + + /** + * Tell gmpc-easy-command to popup. + * @param self The GmpcEasyCommand object to popup + * + * This function will popup GmpcEasyCommand, or if allready open, preset it to the user. + */ + public void + popup() { + /* if not enabled, don't popup */ + if(!this.get_enabled()) return; + + if (this.window == null) { + this.window = new Gtk.Window(Gtk.WindowType.TOPLEVEL); + var entry = new Gtk.Entry(); + + /* Setup window */ + window.role = "easy command"; + window.type_hint = Gdk.WindowTypeHint.DIALOG; + window.decorated = false; + window.modal = true; + window.set_keep_above(true); + + window.border_width = 24; + entry.width_chars = 50; + + window.add(entry); + + /* Composite */ + if (window.is_composited()) { + var screen = window.get_screen(); + var colormap = screen.get_rgba_colormap(); + window.set_colormap(colormap); + } + window.app_paintable = true; + window.expose_event += popup_expose_handler; + + if (!Gmpc.Playlist.is_hidden()) { + window.set_transient_for(Gmpc.Playlist.get_window()); + window.position = Gtk.WindowPosition.CENTER_ON_PARENT; + } + + /* setup entry */ + entry.set_completion(this.completion); + entry.activate += this.activate; + entry.key_press_event += this.key_press_event; + + entry.focus_out_event += this.focus_out_event; + + window.show_all(); + window.present(); + entry.grab_focus(); + } else { + this.window.present(); + } + } + private bool + focus_out_event(Gtk.Entry entry, Gdk.EventFocus event) + { + this.window.destroy(); + this.window = null; + return false; + } + public static void + help_window_destroy(Gtk.Dialog window,int response) + { + window.destroy(); + } + public static void + help_window(void *data, string? param) + { + Gmpc.Easy.Command ec = (Gmpc.Easy.Command *)data; + /* Create window */ + var window = new Gtk.Dialog.with_buttons(_("Easy Command help"), null, 0, "gtk-close", Gtk.ResponseType.OK,null); + + /* set window size */ + window.set_default_size(600,400); + + /* Treeview with commands */ + var tree = new Gtk.TreeView(); + + /** + * Don't sort the original model, but added a Sortable "wrapper" model + * Set this wrapper as tree backend + */ + tree.model = new Gtk.TreeModelSort.with_model(ec.store); + /* Setting up tree view, rules-hint for alternating row-color, search_column for search as you type */ + tree.rules_hint = true; + tree.search_column = 1; + /* scrolled window to add it in */ + var sw = new Gtk.ScrolledWindow(null, null); + + /* setup scrolled window */ + sw.border_width = 8; + sw.shadow_type = Gtk.ShadowType.ETCHED_IN; + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + + /* add sw */ + sw.add(tree); + /* Add columns */ + /* Command column */ + var renderer = new Gtk.CellRendererText(); + var column = new Gtk.TreeViewColumn (); + tree.append_column(column); + column.set_title(_("Command")); + column.pack_start(renderer, false); + column.add_attribute(renderer, "text", 1); + column.set_sort_column_id(1); + /* Usage column */ + renderer = new Gtk.CellRendererText(); + column = new Gtk.TreeViewColumn (); + tree.append_column(column); + column.pack_start(renderer, false); + column.set_title(_("Usage")); + column.add_attribute(renderer, "text", 5); + column.set_sort_column_id(5); + + /* Label with explenation */ + var label = new Gtk.Label(""); + label.set_markup(_("The following commands can be used in the easy command window.\nThe easy command window can be opened by pressing ctrl-space")); + label.set_alignment(0.0f, 0.5f); + label.set_padding(8,6); + /* Add scrolled windows (containing tree) to dialog */ + window.vbox.pack_start(label, false, false, 0); + + /* Add scrolled windows (containing tree) to dialog */ + window.vbox.pack_start(sw, true, true, 0); + + /* show all */ + window.show_all(); + + /* delete event */ + window.response += help_window_destroy; + } +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-favorites.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-favorites.c --- gmpc-0.18.0/src/vala/gmpc-favorites.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-favorites.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,580 @@ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_FAVORITES_TYPE_LIST (gmpc_favorites_list_get_type ()) +#define GMPC_FAVORITES_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesList)) +#define GMPC_FAVORITES_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesListClass)) +#define GMPC_FAVORITES_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_FAVORITES_TYPE_LIST)) +#define GMPC_FAVORITES_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_FAVORITES_TYPE_LIST)) +#define GMPC_FAVORITES_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesListClass)) + +typedef struct _GmpcFavoritesList GmpcFavoritesList; +typedef struct _GmpcFavoritesListClass GmpcFavoritesListClass; +typedef struct _GmpcFavoritesListPrivate GmpcFavoritesListPrivate; + +#define GMPC_FAVORITES_TYPE_BUTTON (gmpc_favorites_button_get_type ()) +#define GMPC_FAVORITES_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButton)) +#define GMPC_FAVORITES_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass)) +#define GMPC_FAVORITES_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_FAVORITES_TYPE_BUTTON)) +#define GMPC_FAVORITES_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_FAVORITES_TYPE_BUTTON)) +#define GMPC_FAVORITES_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass)) + +typedef struct _GmpcFavoritesButton GmpcFavoritesButton; +typedef struct _GmpcFavoritesButtonClass GmpcFavoritesButtonClass; +typedef struct _GmpcFavoritesButtonPrivate GmpcFavoritesButtonPrivate; + +/** + * This class is created, and stays active until the last GmpcFavoritesButton gets removed + * POSSIBLE ISSUE: setting favorites list back to NULL seems to fail. It is no issue as + * I know atleast one will be active. + */ +struct _GmpcFavoritesList { + GObject parent_instance; + GmpcFavoritesListPrivate * priv; +}; + +struct _GmpcFavoritesListClass { + GObjectClass parent_class; +}; + +struct _GmpcFavoritesListPrivate { + MpdData* list; +}; + +/** + * The actual favorite button + */ +struct _GmpcFavoritesButton { + GtkEventBox parent_instance; + GmpcFavoritesButtonPrivate * priv; +}; + +struct _GmpcFavoritesButtonClass { + GtkEventBoxClass parent_class; +}; + +struct _GmpcFavoritesButtonPrivate { + mpd_Song* song; + GtkImage* image; + gboolean fstate; + GdkPixbuf* pb; +}; + + +extern GmpcFavoritesList* favorites; +GmpcFavoritesList* favorites = NULL; +static gpointer gmpc_favorites_list_parent_class = NULL; +static gpointer gmpc_favorites_button_parent_class = NULL; + +#define some_unique_name_fav VERSION +#define use_transition_fav TRUE +GType gmpc_favorites_list_get_type (void); +#define GMPC_FAVORITES_LIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesListPrivate)) +enum { + GMPC_FAVORITES_LIST_DUMMY_PROPERTY +}; +static void gmpc_favorites_list_con_changed (GmpcFavoritesList* self, GmpcConnection* conn, MpdObj* server, gint connect); +static void gmpc_favorites_list_status_changed (GmpcFavoritesList* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what); +gboolean gmpc_favorites_list_is_favorite (GmpcFavoritesList* self, const char* path); +void gmpc_favorites_list_set_favorite (GmpcFavoritesList* self, const char* path, gboolean favorite); +GmpcFavoritesList* gmpc_favorites_list_new (void); +GmpcFavoritesList* gmpc_favorites_list_construct (GType object_type); +static void _gmpc_favorites_list_con_changed_gmpc_connection_connection_changed (GmpcConnection* _sender, MpdObj* server, gint connect, gpointer self); +static void _gmpc_favorites_list_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self); +static GObject * gmpc_favorites_list_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_favorites_list_finalize (GObject* obj); +GType gmpc_favorites_button_get_type (void); +#define GMPC_FAVORITES_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonPrivate)) +enum { + GMPC_FAVORITES_BUTTON_DUMMY_PROPERTY +}; +static gboolean gmpc_favorites_button_button_press_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventButton* event); +static gboolean gmpc_favorites_button_enter_notify_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventCrossing* motion); +static void gmpc_favorites_button_update (GmpcFavoritesButton* self, GmpcFavoritesList* list); +static gboolean gmpc_favorites_button_leave_notify_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventCrossing* motion); +void gmpc_favorites_button_set_song (GmpcFavoritesButton* self, const mpd_Song* song); +GmpcFavoritesButton* gmpc_favorites_button_new (void); +GmpcFavoritesButton* gmpc_favorites_button_construct (GType object_type); +static void _gmpc_favorites_button_update_gmpc_favorites_list_updated (GmpcFavoritesList* _sender, gpointer self); +static gboolean _gmpc_favorites_button_button_press_event_callback_gtk_widget_button_press_event (GmpcFavoritesButton* _sender, const GdkEventButton* event, gpointer self); +static gboolean _gmpc_favorites_button_enter_notify_event_callback_gtk_widget_enter_notify_event (GmpcFavoritesButton* _sender, const GdkEventCrossing* event, gpointer self); +static gboolean _gmpc_favorites_button_leave_notify_event_callback_gtk_widget_leave_notify_event (GmpcFavoritesButton* _sender, const GdkEventCrossing* event, gpointer self); +static GObject * gmpc_favorites_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_favorites_button_finalize (GObject* obj); +static int _vala_strcmp0 (const char * str1, const char * str2); + + + +/** + * If disconnected from mpd, clear the list. + * On connect fill + */ +static void gmpc_favorites_list_con_changed (GmpcFavoritesList* self, GmpcConnection* conn, MpdObj* server, gint connect) { + g_return_if_fail (self != NULL); + g_return_if_fail (conn != NULL); + g_return_if_fail (server != NULL); + if (connect == 1) { + MpdData* _tmp0_; + _tmp0_ = NULL; + self->priv->list = (_tmp0_ = mpd_database_get_playlist_content (server, _ ("Favorites")), (self->priv->list == NULL) ? NULL : (self->priv->list = (mpd_data_free (self->priv->list), NULL)), _tmp0_); + g_signal_emit_by_name (self, "updated"); + } else { + MpdData* _tmp1_; + _tmp1_ = NULL; + self->priv->list = (_tmp1_ = NULL, (self->priv->list == NULL) ? NULL : (self->priv->list = (mpd_data_free (self->priv->list), NULL)), _tmp1_); + } +} + + +/** + * If playlist changed update the list + */ +static void gmpc_favorites_list_status_changed (GmpcFavoritesList* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what) { + g_return_if_fail (self != NULL); + g_return_if_fail (conn != NULL); + g_return_if_fail (server != NULL); + if ((what & MPD_CST_STORED_PLAYLIST) == MPD_CST_STORED_PLAYLIST) { + MpdData* _tmp0_; + _tmp0_ = NULL; + self->priv->list = (_tmp0_ = mpd_database_get_playlist_content (server, _ ("Favorites")), (self->priv->list == NULL) ? NULL : (self->priv->list = (mpd_data_free (self->priv->list), NULL)), _tmp0_); + g_signal_emit_by_name (self, "updated"); + } +} + + +/** + * Check if the song (specified by path) is favored + */ +gboolean gmpc_favorites_list_is_favorite (GmpcFavoritesList* self, const char* path) { + gboolean result; + const MpdData* iter; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (path != NULL, FALSE); + iter = mpd_data_get_first (self->priv->list); + while (TRUE) { + if (!(iter != NULL)) { + break; + } + if (iter->type == MPD_DATA_TYPE_SONG) { + if (_vala_strcmp0 (iter->song->file, path) == 0) { + result = TRUE; + return result; + } + } + iter = mpd_data_get_next_real (iter, FALSE); + } + result = FALSE; + return result; +} + + +/** + * Favor, or unfavor a song + */ +void gmpc_favorites_list_set_favorite (GmpcFavoritesList* self, const char* path, gboolean favorite) { + gboolean current; + g_return_if_fail (self != NULL); + g_return_if_fail (path != NULL); + current = gmpc_favorites_list_is_favorite (self, path); + /* Do nothing if state does not change */ + if (current != favorite) { + if (favorite) { + /* Add it */ + mpd_database_playlist_list_add (connection, _ ("Favorites"), path); + } else { + const MpdData* iter; + /* Remove it + To be able to remove it we have to first lookup the position + This needs libmpd 0.18.1 */ + iter = mpd_data_get_first (self->priv->list); + while (TRUE) { + if (!(iter != NULL)) { + break; + } + if (iter->type == MPD_DATA_TYPE_SONG) { + if (_vala_strcmp0 (iter->song->file, path) == 0) { + mpd_database_playlist_list_delete (connection, _ ("Favorites"), iter->song->pos); + return; + } + } + iter = mpd_data_get_next_real (iter, FALSE); + } + } + } +} + + +/** + * This class is created, and stays active until the last GmpcFavoritesButton gets removed + * POSSIBLE ISSUE: setting favorites list back to NULL seems to fail. It is no issue as + * I know atleast one will be active. + */ +GmpcFavoritesList* gmpc_favorites_list_construct (GType object_type) { + GmpcFavoritesList * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcFavoritesList* gmpc_favorites_list_new (void) { + return gmpc_favorites_list_construct (GMPC_FAVORITES_TYPE_LIST); +} + + +static void _gmpc_favorites_list_con_changed_gmpc_connection_connection_changed (GmpcConnection* _sender, MpdObj* server, gint connect, gpointer self) { + gmpc_favorites_list_con_changed (self, _sender, server, connect); +} + + +static void _gmpc_favorites_list_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self) { + gmpc_favorites_list_status_changed (self, _sender, server, what); +} + + +static GObject * gmpc_favorites_list_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcFavoritesListClass * klass; + GObjectClass * parent_class; + GmpcFavoritesList * self; + klass = GMPC_FAVORITES_LIST_CLASS (g_type_class_peek (GMPC_FAVORITES_TYPE_LIST)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_FAVORITES_LIST (obj); + { + g_signal_connect_object (gmpcconn, "connection-changed", (GCallback) _gmpc_favorites_list_con_changed_gmpc_connection_connection_changed, self, 0); + g_signal_connect_object (gmpcconn, "status-changed", (GCallback) _gmpc_favorites_list_status_changed_gmpc_connection_status_changed, self, 0); + } + return obj; +} + + +static void gmpc_favorites_list_class_init (GmpcFavoritesListClass * klass) { + gmpc_favorites_list_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcFavoritesListPrivate)); + G_OBJECT_CLASS (klass)->constructor = gmpc_favorites_list_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_favorites_list_finalize; + g_signal_new ("updated", GMPC_FAVORITES_TYPE_LIST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); +} + + +static void gmpc_favorites_list_instance_init (GmpcFavoritesList * self) { + self->priv = GMPC_FAVORITES_LIST_GET_PRIVATE (self); + self->priv->list = NULL; +} + + +static void gmpc_favorites_list_finalize (GObject* obj) { + GmpcFavoritesList * self; + self = GMPC_FAVORITES_LIST (obj); + (self->priv->list == NULL) ? NULL : (self->priv->list = (mpd_data_free (self->priv->list), NULL)); + G_OBJECT_CLASS (gmpc_favorites_list_parent_class)->finalize (obj); +} + + +GType gmpc_favorites_list_get_type (void) { + static GType gmpc_favorites_list_type_id = 0; + if (gmpc_favorites_list_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcFavoritesListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_favorites_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcFavoritesList), 0, (GInstanceInitFunc) gmpc_favorites_list_instance_init, NULL }; + gmpc_favorites_list_type_id = g_type_register_static (G_TYPE_OBJECT, "GmpcFavoritesList", &g_define_type_info, 0); + } + return gmpc_favorites_list_type_id; +} + + +static gboolean gmpc_favorites_button_button_press_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventButton* event) { + gboolean result; + gboolean _tmp0_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (button != NULL, FALSE); + _tmp0_ = FALSE; + if ((*event).button == 1) { + _tmp0_ = self->priv->song != NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + gmpc_favorites_list_set_favorite (favorites, self->priv->song->file, !self->priv->fstate); + self->priv->fstate = !self->priv->fstate; + } + result = FALSE; + return result; +} + + +/* on mouse over, do some pre-highlighting */ +static gboolean gmpc_favorites_button_enter_notify_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventCrossing* motion) { + gboolean result; + GdkPixbuf* pb2; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (button != NULL, FALSE); + pb2 = gdk_pixbuf_copy (self->priv->pb); + if (self->priv->fstate) { + colorshift_pixbuf (pb2, self->priv->pb, 10); + } else { + colorshift_pixbuf (pb2, self->priv->pb, -50); + } + gtk_image_set_from_pixbuf (self->priv->image, pb2); + result = FALSE; + (pb2 == NULL) ? NULL : (pb2 = (g_object_unref (pb2), NULL)); + return result; +} + + +/* Reset default highlighting */ +static gboolean gmpc_favorites_button_leave_notify_event_callback (GmpcFavoritesButton* self, GmpcFavoritesButton* button, const GdkEventCrossing* motion) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (button != NULL, FALSE); + gmpc_favorites_button_update (self, favorites); + result = FALSE; + return result; +} + + +/* Update the icon according to state */ +static void gmpc_favorites_button_update (GmpcFavoritesButton* self, GmpcFavoritesList* list) { + GdkPixbuf* pb2; + g_return_if_fail (self != NULL); + g_return_if_fail (list != NULL); + if (self->priv->song != NULL) { + self->priv->fstate = gmpc_favorites_list_is_favorite (favorites, self->priv->song->file); + } else { + /* Hide the widget and do nothing */ + gtk_widget_hide ((GtkWidget*) self); + return; + } + /* Copy the pixbuf */ + pb2 = gdk_pixbuf_copy (self->priv->pb); + /* Depending on the state colorshift the pixbuf */ + if (self->priv->fstate) { + colorshift_pixbuf (pb2, self->priv->pb, 30); + } else { + colorshift_pixbuf (pb2, self->priv->pb, -80); + } + gtk_image_set_from_pixbuf (self->priv->image, pb2); + gtk_widget_show ((GtkWidget*) self->priv->image); + gtk_widget_show ((GtkWidget*) self); + (pb2 == NULL) ? NULL : (pb2 = (g_object_unref (pb2), NULL)); +} + + +/********************************************************************** + * Public api + ******************************************************************** + Set the song the button should watch. or NULL to watch non */ +void gmpc_favorites_button_set_song (GmpcFavoritesButton* self, const mpd_Song* song) { + gboolean _tmp0_; + gboolean _tmp1_; + gboolean _tmp2_; + mpd_Song* _tmp4_; + const mpd_Song* _tmp3_; + g_return_if_fail (self != NULL); + _tmp0_ = FALSE; + if (self->priv->song == NULL) { + _tmp0_ = song == NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + return; + } + _tmp1_ = FALSE; + _tmp2_ = FALSE; + if (self->priv->song != NULL) { + _tmp2_ = song != NULL; + } else { + _tmp2_ = FALSE; + } + if (_tmp2_) { + _tmp1_ = _vala_strcmp0 (self->priv->song->file, song->file) == 0; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + return; + } + _tmp4_ = NULL; + _tmp3_ = NULL; + self->priv->song = (_tmp4_ = (_tmp3_ = song, (_tmp3_ == NULL) ? NULL : mpd_songDup (_tmp3_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp4_); + gmpc_favorites_button_update (self, favorites); +} + + +/** + * The actual favorite button + */ +GmpcFavoritesButton* gmpc_favorites_button_construct (GType object_type) { + GmpcFavoritesButton * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcFavoritesButton* gmpc_favorites_button_new (void) { + return gmpc_favorites_button_construct (GMPC_FAVORITES_TYPE_BUTTON); +} + + +static void _gmpc_favorites_button_update_gmpc_favorites_list_updated (GmpcFavoritesList* _sender, gpointer self) { + gmpc_favorites_button_update (self, _sender); +} + + +static gboolean _gmpc_favorites_button_button_press_event_callback_gtk_widget_button_press_event (GmpcFavoritesButton* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_favorites_button_button_press_event_callback (self, _sender, event); +} + + +static gboolean _gmpc_favorites_button_enter_notify_event_callback_gtk_widget_enter_notify_event (GmpcFavoritesButton* _sender, const GdkEventCrossing* event, gpointer self) { + return gmpc_favorites_button_enter_notify_event_callback (self, _sender, event); +} + + +static gboolean _gmpc_favorites_button_leave_notify_event_callback_gtk_widget_leave_notify_event (GmpcFavoritesButton* _sender, const GdkEventCrossing* event, gpointer self) { + return gmpc_favorites_button_leave_notify_event_callback (self, _sender, event); +} + + +/** + * Creation of the object + */ +static GObject * gmpc_favorites_button_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcFavoritesButtonClass * klass; + GObjectClass * parent_class; + GmpcFavoritesButton * self; + GError * _inner_error_; + klass = GMPC_FAVORITES_BUTTON_CLASS (g_type_class_peek (GMPC_FAVORITES_TYPE_BUTTON)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_FAVORITES_BUTTON (obj); + _inner_error_ = NULL; + { + GtkIconTheme* _tmp0_; + GtkIconTheme* it; + GtkImage* _tmp5_; + gtk_widget_set_no_show_all ((GtkWidget*) self, TRUE); + gtk_event_box_set_visible_window ((GtkEventBox*) self, FALSE); + _tmp0_ = NULL; + it = (_tmp0_ = gtk_icon_theme_get_default (), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + { + GdkPixbuf* _tmp1_; + GdkPixbuf* _tmp3_; + GdkPixbuf* _tmp2_; + _tmp1_ = gtk_icon_theme_load_icon (it, "emblem-favorite", 24, 0, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch0_g_error; + goto __finally0; + } + _tmp3_ = NULL; + _tmp2_ = NULL; + self->priv->pb = (_tmp3_ = (_tmp2_ = _tmp1_, (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)), (self->priv->pb == NULL) ? NULL : (self->priv->pb = (g_object_unref (self->priv->pb), NULL)), _tmp3_); + } + goto __finally0; + __catch0_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + fprintf (stdout, "error: %s\n", e->message); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally0: + if (_inner_error_ != NULL) { + (it == NULL) ? NULL : (it = (g_object_unref (it), NULL)); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + } + if (favorites == NULL) { + GmpcFavoritesList* _tmp4_; + _tmp4_ = NULL; + favorites = (_tmp4_ = gmpc_favorites_list_new (), (favorites == NULL) ? NULL : (favorites = (g_object_unref (favorites), NULL)), _tmp4_); + } else { + g_object_ref ((GObject*) favorites); + } + g_signal_connect_object (favorites, "updated", (GCallback) _gmpc_favorites_button_update_gmpc_favorites_list_updated, self, 0); + _tmp5_ = NULL; + self->priv->image = (_tmp5_ = g_object_ref_sink ((GtkImage*) gtk_image_new ()), (self->priv->image == NULL) ? NULL : (self->priv->image = (g_object_unref (self->priv->image), NULL)), _tmp5_); + gmpc_favorites_button_update (self, favorites); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->image); + g_signal_connect_object ((GtkWidget*) self, "button-press-event", (GCallback) _gmpc_favorites_button_button_press_event_callback_gtk_widget_button_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) self, "enter-notify-event", (GCallback) _gmpc_favorites_button_enter_notify_event_callback_gtk_widget_enter_notify_event, self, 0); + g_signal_connect_object ((GtkWidget*) self, "leave-notify-event", (GCallback) _gmpc_favorites_button_leave_notify_event_callback_gtk_widget_leave_notify_event, self, 0); + (it == NULL) ? NULL : (it = (g_object_unref (it), NULL)); + } + return obj; +} + + +static void gmpc_favorites_button_class_init (GmpcFavoritesButtonClass * klass) { + gmpc_favorites_button_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcFavoritesButtonPrivate)); + G_OBJECT_CLASS (klass)->constructor = gmpc_favorites_button_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_favorites_button_finalize; +} + + +static void gmpc_favorites_button_instance_init (GmpcFavoritesButton * self) { + self->priv = GMPC_FAVORITES_BUTTON_GET_PRIVATE (self); + self->priv->fstate = FALSE; + self->priv->pb = NULL; +} + + +static void gmpc_favorites_button_finalize (GObject* obj) { + GmpcFavoritesButton * self; + self = GMPC_FAVORITES_BUTTON (obj); + { + if (favorites != NULL) { + g_object_unref ((GObject*) favorites); + } + } + (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); + (self->priv->image == NULL) ? NULL : (self->priv->image = (g_object_unref (self->priv->image), NULL)); + (self->priv->pb == NULL) ? NULL : (self->priv->pb = (g_object_unref (self->priv->pb), NULL)); + G_OBJECT_CLASS (gmpc_favorites_button_parent_class)->finalize (obj); +} + + +GType gmpc_favorites_button_get_type (void) { + static GType gmpc_favorites_button_type_id = 0; + if (gmpc_favorites_button_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcFavoritesButtonClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_favorites_button_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcFavoritesButton), 0, (GInstanceInitFunc) gmpc_favorites_button_instance_init, NULL }; + gmpc_favorites_button_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "GmpcFavoritesButton", &g_define_type_info, 0); + } + return gmpc_favorites_button_type_id; +} + + +static int _vala_strcmp0 (const char * str1, const char * str2) { + if (str1 == NULL) { + return -(str1 != str2); + } + if (str2 == NULL) { + return str1 != str2; + } + return strcmp (str1, str2); +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-favorites.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-favorites.h --- gmpc-0.18.0/src/vala/gmpc-favorites.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-favorites.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,45 @@ + +#ifndef __GMPC_FAVORITES_H__ +#define __GMPC_FAVORITES_H__ + +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_FAVORITES_TYPE_BUTTON (gmpc_favorites_button_get_type ()) +#define GMPC_FAVORITES_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButton)) +#define GMPC_FAVORITES_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass)) +#define GMPC_FAVORITES_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_FAVORITES_TYPE_BUTTON)) +#define GMPC_FAVORITES_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_FAVORITES_TYPE_BUTTON)) +#define GMPC_FAVORITES_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass)) + +typedef struct _GmpcFavoritesButton GmpcFavoritesButton; +typedef struct _GmpcFavoritesButtonClass GmpcFavoritesButtonClass; +typedef struct _GmpcFavoritesButtonPrivate GmpcFavoritesButtonPrivate; + +/** + * The actual favorite button + */ +struct _GmpcFavoritesButton { + GtkEventBox parent_instance; + GmpcFavoritesButtonPrivate * priv; +}; + +struct _GmpcFavoritesButtonClass { + GtkEventBoxClass parent_class; +}; + + +GType gmpc_favorites_button_get_type (void); +void gmpc_favorites_button_set_song (GmpcFavoritesButton* self, const mpd_Song* song); +GmpcFavoritesButton* gmpc_favorites_button_new (void); +GmpcFavoritesButton* gmpc_favorites_button_construct (GType object_type); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-favorites.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-favorites.vala --- gmpc-0.18.0/src/vala/gmpc-favorites.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-favorites.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,248 @@ + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +using Config; +using GLib; +using Gtk; +using Gdk; +using MPD; + +/* trick to get config.h included */ +static const string some_unique_name_fav = Config.VERSION; +private const bool use_transition_fav = Gmpc.use_transition; +static Gmpc.Favorites.List favorites = null; + +namespace Gmpc.Favorites{ + /** + * This class is created, and stays active until the last GmpcFavoritesButton gets removed + * POSSIBLE ISSUE: setting favorites list back to NULL seems to fail. It is no issue as + * I know atleast one will be active. + */ + private class List : GLib.Object { + private MPD.Data.Item? list = null; + construct { + gmpcconn.connection_changed += con_changed; + gmpcconn.status_changed += status_changed; + } + + /** + * If disconnected from mpd, clear the list. + * On connect fill + */ + private + void + con_changed(Gmpc.Connection conn, MPD.Server server, int connect) + { + if(connect == 1){ + list = MPD.Database.get_playlist_content(server, _("Favorites")); + this.updated(); + }else{ + list = null; + } + } + /** + * If playlist changed update the list + */ + private + void + status_changed(Gmpc.Connection conn, MPD.Server server, MPD.Status.Changed what) + { + if((what&MPD.Status.Changed.STORED_PLAYLIST) == MPD.Status.Changed.STORED_PLAYLIST) + { + list = MPD.Database.get_playlist_content(server, _("Favorites")); + this.updated(); + } + } + /**************************************************************************************** + * "Public" api. + ****************************************************************************************/ + /** + * Signal for the widget using the list to see if it needs to recheck status + */ + signal void updated(); + + /** + * Check if the song (specified by path) is favored + */ + public + bool + is_favorite(string path) + { + weak MPD.Data.Item iter = this.list.get_first(); + while(iter != null) + { + if(iter.type == MPD.Data.Type.SONG) + { + if(iter.song.file == path){ + return true; + } + } + iter = iter.next(false); + } + return false; + } + /** + * Favor, or unfavor a song + */ + public + void + set_favorite(string path, bool favorite) + { + bool current = this.is_favorite(path); + /* Do nothing if state does not change */ + if(current != favorite) + { + if(favorite){ + /* Add it */ + MPD.Database.playlist_list_add(server, _("Favorites"), path); + }else{ + /* Remove it */ + /* To be able to remove it we have to first lookup the position */ + /* This needs libmpd 0.18.1 */ + weak MPD.Data.Item iter = this.list.get_first(); + while(iter != null) + { + if(iter.type == MPD.Data.Type.SONG) + { + if(iter.song.file == path){ + MPD.Database.playlist_list_delete(server, _("Favorites"), iter.song.pos); + return; + } + } + iter = iter.next(false); + } + } + } + } + } + /** + * The actual favorite button + */ + public class Button : Gtk.EventBox { + /* the song the button show show the state for */ + private MPD.Song? song; + /* The image displaying the state */ + private Gtk.Image image; + /* The current state */ + private bool fstate = false; + /* The pixbuf holding the unmodified image */ + private Gdk.Pixbuf pb = null; + + /** + * Creation of the object + */ + construct { + this.no_show_all = true; + this.visible_window = false; + var it = Gtk.IconTheme.get_default(); + try { + pb = it.load_icon("emblem-favorite",24, 0); + }catch(Error e) { + stdout.printf("error: %s\n", e.message); + } + if(favorites == null){ + favorites = new List(); + } else { + favorites.ref(); + } + favorites.updated += update; + this.image = new Gtk.Image(); + this.update(favorites); + this.add(this.image); + this.button_press_event += button_press_event_callback; + this.enter_notify_event += enter_notify_event_callback; + this.leave_notify_event += leave_notify_event_callback; + + } + ~Button() { + if(favorites != null) + favorites.unref(); + } + private + bool + button_press_event_callback(Gmpc.Favorites.Button button,Gdk.EventButton event) + { + if(event.button == 1 && this.song != null) { + favorites.set_favorite(this.song.file, !this.fstate); + this.fstate = !this.fstate; + } + return false; + } + + /* on mouse over, do some pre-highlighting */ + private + bool + enter_notify_event_callback(Gmpc.Favorites.Button button, Gdk.EventCrossing motion) + { + var pb2 = pb.copy(); + if(this.fstate){ + Gmpc.Misc.colorshift_pixbuf(pb2, pb, 10); + }else{ + Gmpc.Misc.colorshift_pixbuf(pb2, pb,-50); + } + this.image.set_from_pixbuf(pb2); + return false; + } + /* Reset default highlighting */ + private + bool + leave_notify_event_callback(Gmpc.Favorites.Button button, Gdk.EventCrossing motion) + { + this.update(favorites); + return false; + } + /* Update the icon according to state */ + private + void + update(Gmpc.Favorites.List list) + { + if(this.song != null){ + this.fstate = favorites.is_favorite(this.song.file); + }else{ + /* Hide the widget and do nothing */ + this.hide(); + return; + } + /* Copy the pixbuf */ + var pb2 = pb.copy(); + /* Depending on the state colorshift the pixbuf */ + if(this.fstate) { + Gmpc.Misc.colorshift_pixbuf(pb2, pb, 30); + }else{ + Gmpc.Misc.colorshift_pixbuf(pb2, pb, -80); + } + this.image.set_from_pixbuf(pb2); + this.image.show(); + this.show(); + } + /********************************************************************** + * Public api + *********************************************************************/ + /* Set the song the button should watch. or NULL to watch non */ + public + void + set_song(MPD.Song? song) + { + if(this.song == null && song == null ) return; + if(this.song != null && song != null && this.song.file == song.file) return; + this.song = song; + this.update(favorites); + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_image.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_image.c --- gmpc-0.18.0/src/vala/gmpc_image.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_image.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,326 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "gmpc_image.h" -#include -#include -#include -#include -#include -#include -#include - - - - -struct _GmpcImagePrivate { - GdkPixbuf* cover; - gboolean cover_border; - GdkPixbuf* temp; - gboolean temp_border; - double fade; - guint fade_timeout; -}; - -#define GMPC_IMAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_IMAGE, GmpcImagePrivate)) -enum { - GMPC_IMAGE_DUMMY_PROPERTY -}; -static gboolean gmpc_image_on_expose (GmpcImage* self, GmpcImage* img, GdkEventExpose* event); -static gboolean gmpc_image_timeout_test (GmpcImage* self); -static gboolean _gmpc_image_timeout_test_gsource_func (gpointer self); -static gboolean _gmpc_image_on_expose_gtk_widget_expose_event (GmpcImage* _sender, GdkEventExpose* event, gpointer self); -static GObject * gmpc_image_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static gpointer gmpc_image_parent_class = NULL; -static void gmpc_image_dispose (GObject * obj); - - - -static gboolean gmpc_image_on_expose (GmpcImage* self, GmpcImage* img, GdkEventExpose* event) { - cairo_t* ctx; - gint width; - gint height; - gint x; - gint y; - gint ww; - gint wh; - gboolean _tmp0; - g_return_val_if_fail (GMPC_IS_IMAGE (self), FALSE); - g_return_val_if_fail (GMPC_IS_IMAGE (img), FALSE); - ctx = gdk_cairo_create (GDK_DRAWABLE (GTK_WIDGET (img)->window)); - width = 0; - height = 0; - x = GTK_WIDGET (img)->allocation.x; - y = GTK_WIDGET (img)->allocation.y; - ww = GTK_WIDGET (img)->allocation.width; - wh = GTK_WIDGET (img)->allocation.height; - cairo_set_antialias (ctx, CAIRO_ANTIALIAS_NONE); - cairo_rectangle (ctx, ((double) ((*event).area.x)), ((double) ((*event).area.y)), ((double) ((*event).area.width)), ((double) ((*event).area.height))); - cairo_clip (ctx); - cairo_save (ctx); - cairo_set_line_width (ctx, 1.0); - cairo_set_tolerance (ctx, 0.0); - if (self->priv->cover != NULL) { - double x_start; - double y_start; - double fade2; - width = gdk_pixbuf_get_width (self->priv->cover); - height = gdk_pixbuf_get_height (self->priv->cover); - x_start = x + ceil ((ww - width) / 2.0); - y_start = y + ceil ((wh - height) / 2.0); - cairo_set_line_join (ctx, CAIRO_LINE_JOIN_ROUND); - if (width > ww || height > wh) { - fprintf (stdout, "Image won't fit %i-%i %i-%i\n", width, ww, height, wh); - } - /* Make the path*/ - cairo_new_path (ctx); - cairo_rectangle (ctx, x_start, y_start, ((double) (width - 1)), ((double) (height - 1))); - fade2 = ((self->priv->fade <= 0) ? 1 : self->priv->fade); - gdk_cairo_set_source_pixbuf (ctx, self->priv->cover, x_start, y_start); - /* - if (cover_border) - ctx.clip_preserve(); - else - ctx.clip(); - */ - cairo_paint_with_alpha (ctx, fade2); - if (self->priv->cover_border) { - cairo_set_source_rgba (ctx, ((double) (0)), ((double) (0)), ((double) (0)), fade2); - cairo_stroke (ctx); - } - } - /*ctx.reset_clip(); - ctx.restore(); - */ - if (self->priv->temp != NULL) { - double x_start; - double y_start; - double fade2; - cairo_new_path (ctx); - width = gdk_pixbuf_get_width (self->priv->temp); - height = gdk_pixbuf_get_height (self->priv->temp); - x_start = x + ceil ((ww - width) / 2.0); - y_start = y + ceil ((wh - height) / 2.0); - cairo_set_line_join (ctx, CAIRO_LINE_JOIN_ROUND); - if (width > ww || height > wh) { - fprintf (stdout, "Image won't fit %i-%i %i-%i\n", width, ww, height, wh); - } - cairo_rectangle (ctx, x_start, y_start, ((double) (width - 1)), ((double) (height - 1))); - gdk_cairo_set_source_pixbuf (ctx, self->priv->temp, x_start, y_start); - /* - if (temp_border) - ctx.clip_preserve(); - else - ctx.clip(); - */ - fade2 = ((self->priv->fade <= 0) ? 1 : self->priv->fade); - cairo_paint_with_alpha (ctx, 1 - fade2); - if (self->priv->temp_border) { - cairo_set_source_rgba (ctx, ((double) (0)), ((double) (0)), ((double) (0)), 1 - fade2); - cairo_stroke (ctx); - } - } - /*ctx.reset_clip();*/ - return (_tmp0 = TRUE, (ctx == NULL ? NULL : (ctx = (cairo_destroy (ctx), NULL))), _tmp0); -} - - -static gboolean gmpc_image_timeout_test (GmpcImage* self) { - g_return_val_if_fail (GMPC_IS_IMAGE (self), FALSE); - self->priv->fade = self->priv->fade - (0.10); - if (self->priv->fade <= 0.0) { - GdkPixbuf* _tmp1; - GdkPixbuf* _tmp0; - GdkPixbuf* _tmp2; - self->priv->fade = ((double) (0)); - _tmp1 = NULL; - _tmp0 = NULL; - self->priv->cover = (_tmp1 = (_tmp0 = self->priv->temp, (_tmp0 == NULL ? NULL : g_object_ref (_tmp0))), (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))), _tmp1); - self->priv->cover_border = self->priv->temp_border; - _tmp2 = NULL; - self->priv->temp = (_tmp2 = NULL, (self->priv->temp == NULL ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL))), _tmp2); - gtk_widget_queue_draw (GTK_WIDGET (self)); - self->priv->fade_timeout = ((guint) (0)); - return FALSE; - } - gtk_widget_queue_draw (GTK_WIDGET (self)); - return TRUE; -} - - -static gboolean _gmpc_image_timeout_test_gsource_func (gpointer self) { - return gmpc_image_timeout_test (self); -} - - -/** - * Set a new pixbuf to be displayed next. - * param self a GmpcImage to set the pixbuf on. - * param bug the new GdkPixbuf to display. - * param border flag that indicates if a border should be drawn. - * - * Queues the pixbuf buf to be drawn next. If a pixbuf is allready shown, it will fade out and buf - * will fade in. - */ -void gmpc_image_set_pixbuf (GmpcImage* self, GdkPixbuf* buf, gboolean border) { - GdkPixbuf* _tmp5; - GdkPixbuf* _tmp7; - GdkPixbuf* _tmp6; - g_return_if_fail (GMPC_IS_IMAGE (self)); - g_return_if_fail (GDK_IS_PIXBUF (buf)); - if (self->priv->temp == NULL && self->priv->cover == NULL) { - GdkPixbuf* _tmp0; - GdkPixbuf* _tmp2; - GdkPixbuf* _tmp1; - self->priv->cover_border = border; - _tmp0 = NULL; - self->priv->cover = (_tmp0 = NULL, (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))), _tmp0); - _tmp2 = NULL; - _tmp1 = NULL; - self->priv->cover = (_tmp2 = (_tmp1 = buf, (_tmp1 == NULL ? NULL : g_object_ref (_tmp1))), (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))), _tmp2); - gtk_widget_queue_draw (GTK_WIDGET (self)); - return; - } - self->priv->fade = 1.0 - self->priv->fade; - if (self->priv->temp != NULL) { - GdkPixbuf* _tmp4; - GdkPixbuf* _tmp3; - _tmp4 = NULL; - _tmp3 = NULL; - self->priv->cover = (_tmp4 = (_tmp3 = self->priv->temp, (_tmp3 == NULL ? NULL : g_object_ref (_tmp3))), (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))), _tmp4); - } - _tmp5 = NULL; - self->priv->temp = (_tmp5 = NULL, (self->priv->temp == NULL ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL))), _tmp5); - _tmp7 = NULL; - _tmp6 = NULL; - self->priv->temp = (_tmp7 = (_tmp6 = buf, (_tmp6 == NULL ? NULL : g_object_ref (_tmp6))), (self->priv->temp == NULL ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL))), _tmp7); - self->priv->temp_border = border; - gtk_widget_queue_draw (GTK_WIDGET (self)); - if (self->priv->fade_timeout > 0) { - g_source_remove (self->priv->fade_timeout); - } - self->priv->fade_timeout = g_timeout_add (((guint) (50)), _gmpc_image_timeout_test_gsource_func, self); -} - - -/** - * Clears the image. - * param self a GmpcImage to clear - * - * Clears the image. Next set_pixbuf won't cause a fade. - */ -void gmpc_image_clear_pixbuf (GmpcImage* self) { - GdkPixbuf* _tmp0; - GdkPixbuf* _tmp1; - g_return_if_fail (GMPC_IS_IMAGE (self)); - self->priv->fade = 0.0; - _tmp0 = NULL; - self->priv->temp = (_tmp0 = NULL, (self->priv->temp == NULL ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL))), _tmp0); - if (self->priv->fade_timeout > 0) { - g_source_remove (self->priv->fade_timeout); - self->priv->fade_timeout = ((guint) (0)); - } - _tmp1 = NULL; - self->priv->cover = (_tmp1 = NULL, (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))), _tmp1); - self->priv->cover_border = FALSE; - gtk_widget_queue_draw (GTK_WIDGET (self)); -} - - -/** - * Widget that shows a pixbuf by nicely fadeing in and out. - * Draws a nice border. - */ -GmpcImage* gmpc_image_new (void) { - GmpcImage * self; - self = g_object_newv (GMPC_TYPE_IMAGE, 0, NULL); - return self; -} - - -static gboolean _gmpc_image_on_expose_gtk_widget_expose_event (GmpcImage* _sender, GdkEventExpose* event, gpointer self) { - return gmpc_image_on_expose (self, _sender, event); -} - - -static GObject * gmpc_image_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { - GObject * obj; - GmpcImageClass * klass; - GObjectClass * parent_class; - GmpcImage * self; - klass = GMPC_IMAGE_CLASS (g_type_class_peek (GMPC_TYPE_IMAGE)); - parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); - obj = parent_class->constructor (type, n_construct_properties, construct_properties); - self = GMPC_IMAGE (obj); - { - gboolean _tmp0; - g_object_set (GTK_WIDGET (self), "app-paintable", TRUE, NULL); - gtk_event_box_set_visible_window (GTK_EVENT_BOX (self), FALSE); - g_signal_connect_object (GTK_WIDGET (self), "expose-event", ((GCallback) (_gmpc_image_on_expose_gtk_widget_expose_event)), self, 0); - } - return obj; -} - - -static void gmpc_image_class_init (GmpcImageClass * klass) { - gmpc_image_parent_class = g_type_class_peek_parent (klass); - g_type_class_add_private (klass, sizeof (GmpcImagePrivate)); - G_OBJECT_CLASS (klass)->constructor = gmpc_image_constructor; - G_OBJECT_CLASS (klass)->dispose = gmpc_image_dispose; -} - - -static void gmpc_image_instance_init (GmpcImage * self) { - self->priv = GMPC_IMAGE_GET_PRIVATE (self); - self->priv->cover = NULL; - self->priv->cover_border = TRUE; - self->priv->temp = NULL; - self->priv->temp_border = TRUE; - self->priv->fade = 0.0; - self->priv->fade_timeout = ((guint) (0)); -} - - -static void gmpc_image_dispose (GObject * obj) { - GmpcImage * self; - self = GMPC_IMAGE (obj); - { - if (self->priv->fade_timeout > 0) { - g_source_remove (self->priv->fade_timeout); - self->priv->fade_timeout = ((guint) (0)); - } - } - (self->priv->cover == NULL ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL))); - (self->priv->temp == NULL ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL))); - G_OBJECT_CLASS (gmpc_image_parent_class)->dispose (obj); -} - - -GType gmpc_image_get_type (void) { - static GType gmpc_image_type_id = 0; - if (G_UNLIKELY (gmpc_image_type_id == 0)) { - static const GTypeInfo g_define_type_info = { sizeof (GmpcImageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_image_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcImage), 0, (GInstanceInitFunc) gmpc_image_instance_init }; - gmpc_image_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "GmpcImage", &g_define_type_info, 0); - } - return gmpc_image_type_id; -} - - - - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-image.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-image.c --- gmpc-0.18.0/src/vala/gmpc-image.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-image.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,491 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_TYPE_IMAGE (gmpc_image_get_type ()) +#define GMPC_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_IMAGE, GmpcImage)) +#define GMPC_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_IMAGE, GmpcImageClass)) +#define GMPC_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_IMAGE)) +#define GMPC_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_IMAGE)) +#define GMPC_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_IMAGE, GmpcImageClass)) + +typedef struct _GmpcImage GmpcImage; +typedef struct _GmpcImageClass GmpcImageClass; +typedef struct _GmpcImagePrivate GmpcImagePrivate; + +struct _GmpcImage { + GtkEventBox parent_instance; + GmpcImagePrivate * priv; +}; + +struct _GmpcImageClass { + GtkEventBoxClass parent_class; +}; + +struct _GmpcImagePrivate { + GdkPixbuf* cover; + gboolean cover_border; + GdkPixbuf* temp; + gboolean temp_border; + double fade; + guint fade_timeout; + char* _text; + PangoFontDescription* fd; +}; + + +static gpointer gmpc_image_parent_class = NULL; + +#define use_transition TRUE +GType gmpc_image_get_type (void); +#define GMPC_IMAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_IMAGE, GmpcImagePrivate)) +enum { + GMPC_IMAGE_DUMMY_PROPERTY, + GMPC_IMAGE_TEXT +}; +const char* gmpc_image_get_text (GmpcImage* self); +static gboolean gmpc_image_on_expose (GmpcImage* self, GmpcImage* img, const GdkEventExpose* event); +static gboolean gmpc_image_timeout_test (GmpcImage* self); +static gboolean _gmpc_image_timeout_test_gsource_func (gpointer self); +void gmpc_image_set_pixbuf (GmpcImage* self, GdkPixbuf* buf, gboolean border); +void gmpc_image_clear_pixbuf (GmpcImage* self); +GmpcImage* gmpc_image_new (void); +GmpcImage* gmpc_image_construct (GType object_type); +void gmpc_image_set_text (GmpcImage* self, const char* value); +static gboolean _gmpc_image_on_expose_gtk_widget_expose_event (GmpcImage* _sender, const GdkEventExpose* event, gpointer self); +static GObject * gmpc_image_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_image_finalize (GObject* obj); +static void gmpc_image_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void gmpc_image_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); + + + +static glong string_get_length (const char* self) { + glong result; + g_return_val_if_fail (self != NULL, 0L); + result = g_utf8_strlen (self, -1); + return result; +} + + +static gboolean gmpc_image_on_expose (GmpcImage* self, GmpcImage* img, const GdkEventExpose* event) { + gboolean result; + cairo_t* ctx; + gint width; + gint height; + gint x; + gint y; + gint ww; + gint wh; + gboolean _tmp2_; + gboolean _tmp3_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (img != NULL, FALSE); + ctx = gdk_cairo_create ((GdkDrawable*) ((GtkWidget*) img)->window); + width = 0; + height = 0; + x = ((GtkWidget*) img)->allocation.x; + y = ((GtkWidget*) img)->allocation.y; + ww = ((GtkWidget*) img)->allocation.width; + wh = ((GtkWidget*) img)->allocation.height; + cairo_set_antialias (ctx, CAIRO_ANTIALIAS_NONE); + cairo_rectangle (ctx, (double) (*event).area.x, (double) (*event).area.y, (double) (*event).area.width, (double) (*event).area.height); + cairo_clip (ctx); + cairo_save (ctx); + cairo_set_line_width (ctx, 1.0); + cairo_set_tolerance (ctx, 0.0); + if (self->priv->cover != NULL) { + double x_start; + double y_start; + double _tmp0_; + double fade2; + width = gdk_pixbuf_get_width (self->priv->cover); + height = gdk_pixbuf_get_height (self->priv->cover); + x_start = x + ceil ((ww - width) / 2.0); + y_start = y + ceil ((wh - height) / 2.0); + cairo_set_line_join (ctx, CAIRO_LINE_JOIN_ROUND); + /* Make the path*/ + cairo_new_path (ctx); + cairo_rectangle (ctx, x_start, y_start, (double) (width - 1), (double) (height - 1)); + _tmp0_ = 0.0; + if (self->priv->fade <= 0) { + _tmp0_ = (double) 1; + } else { + _tmp0_ = self->priv->fade; + } + fade2 = _tmp0_; + gdk_cairo_set_source_pixbuf (ctx, self->priv->cover, x_start, y_start); + /* + if (cover_border) + ctx.clip_preserve(); + else + ctx.clip(); + */ + cairo_paint_with_alpha (ctx, fade2); + if (self->priv->cover_border) { + cairo_set_source_rgba (ctx, (double) 0, (double) 0, (double) 0, fade2); + cairo_stroke (ctx); + } else { + cairo_new_path (ctx); + } + } + /*ctx.reset_clip(); + ctx.restore(); + */ + if (self->priv->temp != NULL) { + double x_start; + double y_start; + double _tmp1_; + double fade2; + cairo_new_path (ctx); + width = gdk_pixbuf_get_width (self->priv->temp); + height = gdk_pixbuf_get_height (self->priv->temp); + x_start = x + ceil ((ww - width) / 2.0); + y_start = y + ceil ((wh - height) / 2.0); + cairo_set_line_join (ctx, CAIRO_LINE_JOIN_ROUND); + cairo_rectangle (ctx, x_start, y_start, (double) (width - 1), (double) (height - 1)); + gdk_cairo_set_source_pixbuf (ctx, self->priv->temp, x_start, y_start); + _tmp1_ = 0.0; + if (self->priv->fade <= 0) { + _tmp1_ = (double) 1; + } else { + _tmp1_ = self->priv->fade; + } + /* + if (temp_border) + ctx.clip_preserve(); + else + ctx.clip(); + */ + fade2 = _tmp1_; + cairo_paint_with_alpha (ctx, 1 - fade2); + if (self->priv->temp_border) { + cairo_set_source_rgba (ctx, (double) 0, (double) 0, (double) 0, 1 - fade2); + cairo_stroke (ctx); + } else { + cairo_new_path (ctx); + } + } + _tmp2_ = FALSE; + _tmp3_ = FALSE; + if (self->priv->cover != NULL) { + _tmp3_ = self->priv->_text != NULL; + } else { + _tmp3_ = FALSE; + } + if (_tmp3_) { + _tmp2_ = string_get_length (self->priv->_text) > 0; + } else { + _tmp2_ = FALSE; + } + /*ctx.reset_clip();*/ + if (_tmp2_) { + PangoLayout* layout; + gint tw; + gint th; + gint size; + layout = pango_cairo_create_layout (ctx); + tw = 0; + th = 0; + cairo_set_antialias (ctx, CAIRO_ANTIALIAS_DEFAULT); + size = gdk_pixbuf_get_width (self->priv->cover) / ((gint) string_get_length (self->priv->_text)); + pango_font_description_set_absolute_size (self->priv->fd, (double) (size * 1024)); + pango_layout_set_font_description (layout, self->priv->fd); + pango_layout_set_text (layout, self->priv->_text, -1); + pango_layout_get_pixel_size (layout, &tw, &th); + cairo_move_to (ctx, x + ((ww - tw) / 2.0), y + ((wh - th) / 2.0)); + pango_cairo_layout_path (ctx, layout); + cairo_set_source_rgba (ctx, (double) 0, (double) 0, (double) 0, (double) 1); + cairo_stroke_preserve (ctx); + cairo_set_source_rgba (ctx, (double) 1, (double) 1, (double) 1, (double) 1); + cairo_fill (ctx); + (layout == NULL) ? NULL : (layout = (g_object_unref (layout), NULL)); + } + result = FALSE; + (ctx == NULL) ? NULL : (ctx = (cairo_destroy (ctx), NULL)); + return result; +} + + +static gboolean gmpc_image_timeout_test (GmpcImage* self) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + self->priv->fade = self->priv->fade - 0.10; + if (self->priv->fade <= 0.0) { + GdkPixbuf* _tmp1_; + GdkPixbuf* _tmp0_; + GdkPixbuf* _tmp2_; + self->priv->fade = (double) 0; + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->cover = (_tmp1_ = (_tmp0_ = self->priv->temp, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)), (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)), _tmp1_); + self->priv->cover_border = self->priv->temp_border; + _tmp2_ = NULL; + self->priv->temp = (_tmp2_ = NULL, (self->priv->temp == NULL) ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL)), _tmp2_); + gtk_widget_queue_draw ((GtkWidget*) self); + self->priv->fade_timeout = (guint) 0; + result = FALSE; + return result; + } + gtk_widget_queue_draw ((GtkWidget*) self); + result = TRUE; + return result; +} + + +static gboolean _gmpc_image_timeout_test_gsource_func (gpointer self) { + return gmpc_image_timeout_test (self); +} + + +/** + * Set a new pixbuf to be displayed next. + * param self a GmpcImage to set the pixbuf on. + * param bug the new GdkPixbuf to display. + * param border flag that indicates if a border should be drawn. + * + * Queues the pixbuf buf to be drawn next. If a pixbuf is allready shown, it will fade out and buf + * will fade in. + */ +void gmpc_image_set_pixbuf (GmpcImage* self, GdkPixbuf* buf, gboolean border) { + gboolean _tmp0_; + GdkPixbuf* _tmp6_; + GdkPixbuf* _tmp8_; + GdkPixbuf* _tmp7_; + g_return_if_fail (self != NULL); + g_return_if_fail (buf != NULL); + _tmp0_ = FALSE; + if (self->priv->temp == NULL) { + _tmp0_ = self->priv->cover == NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + GdkPixbuf* _tmp1_; + GdkPixbuf* _tmp3_; + GdkPixbuf* _tmp2_; + self->priv->cover_border = border; + _tmp1_ = NULL; + self->priv->cover = (_tmp1_ = NULL, (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)), _tmp1_); + _tmp3_ = NULL; + _tmp2_ = NULL; + self->priv->cover = (_tmp3_ = (_tmp2_ = buf, (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)), (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)), _tmp3_); + gtk_widget_queue_draw ((GtkWidget*) self); + return; + } + self->priv->fade = 1.0 - self->priv->fade; + if (self->priv->temp != NULL) { + GdkPixbuf* _tmp5_; + GdkPixbuf* _tmp4_; + _tmp5_ = NULL; + _tmp4_ = NULL; + self->priv->cover = (_tmp5_ = (_tmp4_ = self->priv->temp, (_tmp4_ == NULL) ? NULL : g_object_ref (_tmp4_)), (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)), _tmp5_); + } + _tmp6_ = NULL; + self->priv->temp = (_tmp6_ = NULL, (self->priv->temp == NULL) ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL)), _tmp6_); + _tmp8_ = NULL; + _tmp7_ = NULL; + self->priv->temp = (_tmp8_ = (_tmp7_ = buf, (_tmp7_ == NULL) ? NULL : g_object_ref (_tmp7_)), (self->priv->temp == NULL) ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL)), _tmp8_); + self->priv->temp_border = border; + gtk_widget_queue_draw ((GtkWidget*) self); + if (self->priv->fade_timeout > 0) { + g_source_remove (self->priv->fade_timeout); + } + self->priv->fade_timeout = g_timeout_add ((guint) 50, _gmpc_image_timeout_test_gsource_func, self); +} + + +/** + * Clears the image. + * param self a GmpcImage to clear + * + * Clears the image. Next set_pixbuf won't cause a fade. + */ +void gmpc_image_clear_pixbuf (GmpcImage* self) { + GdkPixbuf* _tmp0_; + GdkPixbuf* _tmp1_; + g_return_if_fail (self != NULL); + self->priv->fade = 0.0; + _tmp0_ = NULL; + self->priv->temp = (_tmp0_ = NULL, (self->priv->temp == NULL) ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL)), _tmp0_); + if (self->priv->fade_timeout > 0) { + g_source_remove (self->priv->fade_timeout); + self->priv->fade_timeout = (guint) 0; + } + _tmp1_ = NULL; + self->priv->cover = (_tmp1_ = NULL, (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)), _tmp1_); + self->priv->cover_border = FALSE; + gtk_widget_queue_draw ((GtkWidget*) self); +} + + +GmpcImage* gmpc_image_construct (GType object_type) { + GmpcImage * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcImage* gmpc_image_new (void) { + return gmpc_image_construct (GMPC_TYPE_IMAGE); +} + + +const char* gmpc_image_get_text (GmpcImage* self) { + const char* result; + g_return_val_if_fail (self != NULL, NULL); + result = self->priv->_text; + return result; +} + + +void gmpc_image_set_text (GmpcImage* self, const char* value) { + char* _tmp1_; + const char* _tmp0_; + g_return_if_fail (self != NULL); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->_text = (_tmp1_ = (_tmp0_ = value, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), self->priv->_text = (g_free (self->priv->_text), NULL), _tmp1_); + g_object_notify ((GObject *) self, "text"); +} + + +static gboolean _gmpc_image_on_expose_gtk_widget_expose_event (GmpcImage* _sender, const GdkEventExpose* event, gpointer self) { + return gmpc_image_on_expose (self, _sender, event); +} + + +static GObject * gmpc_image_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcImageClass * klass; + GObjectClass * parent_class; + GmpcImage * self; + klass = GMPC_IMAGE_CLASS (g_type_class_peek (GMPC_TYPE_IMAGE)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_IMAGE (obj); + { + PangoFontDescription* _tmp0_; + g_object_set ((GtkWidget*) self, "app-paintable", TRUE, NULL); + gtk_event_box_set_visible_window ((GtkEventBox*) self, FALSE); + g_signal_connect_object ((GtkWidget*) self, "expose-event", (GCallback) _gmpc_image_on_expose_gtk_widget_expose_event, self, 0); + _tmp0_ = NULL; + self->priv->fd = (_tmp0_ = pango_font_description_new (), (self->priv->fd == NULL) ? NULL : (self->priv->fd = (pango_font_description_free (self->priv->fd), NULL)), _tmp0_); + /*from_string("sans mono"); */ + pango_font_description_set_family (self->priv->fd, "sans mono"); + } + return obj; +} + + +static void gmpc_image_class_init (GmpcImageClass * klass) { + gmpc_image_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcImagePrivate)); + G_OBJECT_CLASS (klass)->get_property = gmpc_image_get_property; + G_OBJECT_CLASS (klass)->set_property = gmpc_image_set_property; + G_OBJECT_CLASS (klass)->constructor = gmpc_image_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_image_finalize; + g_object_class_install_property (G_OBJECT_CLASS (klass), GMPC_IMAGE_TEXT, g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); +} + + +static void gmpc_image_instance_init (GmpcImage * self) { + self->priv = GMPC_IMAGE_GET_PRIVATE (self); + self->priv->cover = NULL; + self->priv->cover_border = TRUE; + self->priv->temp = NULL; + self->priv->temp_border = TRUE; + self->priv->fade = 0.0; + self->priv->fade_timeout = (guint) 0; + self->priv->fd = NULL; +} + + +static void gmpc_image_finalize (GObject* obj) { + GmpcImage * self; + self = GMPC_IMAGE (obj); + { + if (self->priv->fade_timeout > 0) { + g_source_remove (self->priv->fade_timeout); + self->priv->fade_timeout = (guint) 0; + } + } + (self->priv->cover == NULL) ? NULL : (self->priv->cover = (g_object_unref (self->priv->cover), NULL)); + (self->priv->temp == NULL) ? NULL : (self->priv->temp = (g_object_unref (self->priv->temp), NULL)); + self->priv->_text = (g_free (self->priv->_text), NULL); + (self->priv->fd == NULL) ? NULL : (self->priv->fd = (pango_font_description_free (self->priv->fd), NULL)); + G_OBJECT_CLASS (gmpc_image_parent_class)->finalize (obj); +} + + +GType gmpc_image_get_type (void) { + static GType gmpc_image_type_id = 0; + if (gmpc_image_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcImageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_image_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcImage), 0, (GInstanceInitFunc) gmpc_image_instance_init, NULL }; + gmpc_image_type_id = g_type_register_static (GTK_TYPE_EVENT_BOX, "GmpcImage", &g_define_type_info, 0); + } + return gmpc_image_type_id; +} + + +static void gmpc_image_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + GmpcImage * self; + gpointer boxed; + self = GMPC_IMAGE (object); + switch (property_id) { + case GMPC_IMAGE_TEXT: + g_value_set_string (value, gmpc_image_get_text (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void gmpc_image_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + GmpcImage * self; + self = GMPC_IMAGE (object); + switch (property_id) { + case GMPC_IMAGE_TEXT: + gmpc_image_set_text (self, g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_image.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_image.h --- gmpc-0.18.0/src/vala/gmpc_image.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_image.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#ifndef __GMPC_IMAGE_H__ -#define __GMPC_IMAGE_H__ - -#include -#include -#include -#include - -G_BEGIN_DECLS - - -#define GMPC_TYPE_IMAGE (gmpc_image_get_type ()) -#define GMPC_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_IMAGE, GmpcImage)) -#define GMPC_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_IMAGE, GmpcImageClass)) -#define GMPC_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_IMAGE)) -#define GMPC_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_IMAGE)) -#define GMPC_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_IMAGE, GmpcImageClass)) - -typedef struct _GmpcImage GmpcImage; -typedef struct _GmpcImageClass GmpcImageClass; -typedef struct _GmpcImagePrivate GmpcImagePrivate; - -/** - * Widget that shows a pixbuf by nicely fadeing in and out. - * Draws a nice border. - */ -struct _GmpcImage { - GtkEventBox parent_instance; - GmpcImagePrivate * priv; -}; - -struct _GmpcImageClass { - GtkEventBoxClass parent_class; -}; - - -void gmpc_image_set_pixbuf (GmpcImage* self, GdkPixbuf* buf, gboolean border); -void gmpc_image_clear_pixbuf (GmpcImage* self); -GmpcImage* gmpc_image_new (void); -GType gmpc_image_get_type (void); - - -G_END_DECLS - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-image.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-image.h --- gmpc-0.18.0/src/vala/gmpc-image.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-image.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,46 @@ + +#ifndef __GMPC_IMAGE_H__ +#define __GMPC_IMAGE_H__ + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_TYPE_IMAGE (gmpc_image_get_type ()) +#define GMPC_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_IMAGE, GmpcImage)) +#define GMPC_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_IMAGE, GmpcImageClass)) +#define GMPC_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_IMAGE)) +#define GMPC_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_IMAGE)) +#define GMPC_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_IMAGE, GmpcImageClass)) + +typedef struct _GmpcImage GmpcImage; +typedef struct _GmpcImageClass GmpcImageClass; +typedef struct _GmpcImagePrivate GmpcImagePrivate; + +struct _GmpcImage { + GtkEventBox parent_instance; + GmpcImagePrivate * priv; +}; + +struct _GmpcImageClass { + GtkEventBoxClass parent_class; +}; + + +GType gmpc_image_get_type (void); +void gmpc_image_set_pixbuf (GmpcImage* self, GdkPixbuf* buf, gboolean border); +void gmpc_image_clear_pixbuf (GmpcImage* self); +GmpcImage* gmpc_image_new (void); +GmpcImage* gmpc_image_construct (GType object_type); +const char* gmpc_image_get_text (GmpcImage* self); +void gmpc_image_set_text (GmpcImage* self, const char* value); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-image.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-image.vala --- gmpc-0.18.0/src/vala/gmpc-image.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-image.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,210 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +/** + * Widget that shows a pixbuf by nicely fadeing in and out. + * Draws a nice border. + */ + +using GLib; +using Gtk; +using Cairo; +using Gmpc; + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.Image:Gtk.EventBox { + + private Gdk.Pixbuf cover = null; + private bool cover_border = true; + private Gdk.Pixbuf temp = null; + private bool temp_border = true; + private double fade = 0.0; + private uint fade_timeout = 0; + public string? text {get; set;} + private Pango.FontDescription fd = null; + ~Image() { + if (fade_timeout > 0) { + GLib.Source.remove(fade_timeout); + fade_timeout = 0; + } + } + construct { + this.app_paintable = true; + this.visible_window = false; + this.expose_event += this.on_expose; + this.fd = new Pango.FontDescription();//from_string("sans mono"); + fd.set_family("sans mono"); + + } + private bool on_expose(Image img, Gdk.EventExpose event) { + var ctx = Gdk.cairo_create(img.window); + int width = 0; + int height = 0; + int x = img.allocation.x; + int y = img.allocation.y; + int ww = img.allocation.width; + int wh = img.allocation.height; + + ctx.set_antialias(Cairo.Antialias.NONE); + ctx.rectangle(event.area.x, event.area.y, event.area.width, event.area.height); + ctx.clip(); + ctx.save(); + + ctx.set_line_width(1.0); + ctx.set_tolerance(0.0); + if (cover != null) { + width = cover.get_width(); + height = cover.get_height(); + var x_start = x+Math.ceil((ww-width)/2.0); + var y_start = y+Math.ceil((wh-height)/2.0); + ctx.set_line_join(LineJoin.ROUND); + // Make the path + ctx.new_path(); + ctx.rectangle(x_start, y_start, width-1, height-1); + + double fade2 = (fade <= 0) ? 1 : fade; + Gdk.cairo_set_source_pixbuf(ctx, cover, x_start, y_start); +/* + if (cover_border) + ctx.clip_preserve(); + else + ctx.clip(); +*/ ctx.paint_with_alpha(fade2); + if (cover_border) { + ctx.set_source_rgba(0, 0, 0, fade2); + ctx.stroke(); + } + else ctx.new_path(); +/* ctx.reset_clip(); + ctx.restore(); +*/ } + + if (temp != null) { + ctx.new_path(); + width = temp.get_width(); + height = temp.get_height(); + var x_start = x+Math.ceil((ww-width)/2.0); + var y_start = y+Math.ceil((wh-height)/2.0); + ctx.set_line_join(LineJoin.ROUND); + ctx.rectangle(x_start,y_start, width-1, height-1); + Gdk.cairo_set_source_pixbuf(ctx, temp, x_start,y_start); +/* + if (temp_border) + ctx.clip_preserve(); + else + ctx.clip(); +*/ + double fade2 = (fade <= 0) ? 1 : fade; + ctx.paint_with_alpha(1 - fade2); + if (temp_border) { + ctx.set_source_rgba(0, 0, 0, 1 - fade2); + ctx.stroke(); + } + else ctx.new_path(); +// ctx.reset_clip(); + } + + if (this.cover != null && this.text != null && this.text.length > 0){ + var layout = Pango.cairo_create_layout(ctx); + int tw, th; + + ctx.set_antialias(Cairo.Antialias.DEFAULT); + int size = (cover.width)/(int)this.text.length; + fd.set_absolute_size(size*1024); + layout.set_font_description(fd); + layout.set_text(this.text,-1); + layout.get_pixel_size(out tw, out th); + + ctx.move_to(x+(ww-tw)/2.0, y+(wh-th)/2.0); + + Pango.cairo_layout_path(ctx,layout); + + ctx.set_source_rgba(0, 0, 0, 1); + ctx.stroke_preserve(); + ctx.set_source_rgba(1, 1, 1, 1); + ctx.fill(); + } + return false; + } + private bool timeout_test() { + fade -= 0.10; + if (fade <= 0.0) { + fade = 0; + this.cover = this.temp; + this.cover_border = this.temp_border; + this.temp = null; + this.queue_draw(); + fade_timeout = 0; + return false; + } + + this.queue_draw(); + return true; + } + /** + * Set a new pixbuf to be displayed next. + * param self a GmpcImage to set the pixbuf on. + * param bug the new GdkPixbuf to display. + * param border flag that indicates if a border should be drawn. + * + * Queues the pixbuf buf to be drawn next. If a pixbuf is allready shown, it will fade out and buf + * will fade in. + */ + public void set_pixbuf(Gdk.Pixbuf buf, bool border) { + if (this.temp == null && this.cover == null) { + this.cover_border = border; + this.cover = null; + this.cover = buf; + this.queue_draw(); + return; + } + fade = 1.0 - fade; + if (this.temp != null) { + this.cover = this.temp; + } + this.temp = null; + this.temp = buf; + this.temp_border = border; + this.queue_draw(); + if (fade_timeout > 0) { + GLib.Source.remove(fade_timeout); + } + fade_timeout = Timeout.add(50, this.timeout_test); + } + /** + * Clears the image. + * param self a GmpcImage to clear + * + * Clears the image. Next set_pixbuf won't cause a fade. + */ + public void clear_pixbuf() { + fade = 0.0; + this.temp = null; + if (fade_timeout > 0) { + GLib.Source.remove(fade_timeout); + fade_timeout = 0; + } + this.cover = null; + this.cover_border = false; + this.queue_draw(); + } +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-liststore-sort.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-liststore-sort.c --- gmpc-0.18.0/src/vala/gmpc-liststore-sort.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-liststore-sort.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,202 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include + + +#define GMPC_LISTSTORE_TYPE_SORT (gmpc_liststore_sort_get_type ()) +#define GMPC_LISTSTORE_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSort)) +#define GMPC_LISTSTORE_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSortClass)) +#define GMPC_LISTSTORE_IS_SORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_LISTSTORE_TYPE_SORT)) +#define GMPC_LISTSTORE_IS_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_LISTSTORE_TYPE_SORT)) +#define GMPC_LISTSTORE_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSortClass)) + +typedef struct _GmpcListstoreSort GmpcListstoreSort; +typedef struct _GmpcListstoreSortClass GmpcListstoreSortClass; +typedef struct _GmpcListstoreSortPrivate GmpcListstoreSortPrivate; + +struct _GmpcListstoreSort { + GtkListStore parent_instance; + GmpcListstoreSortPrivate * priv; +}; + +struct _GmpcListstoreSortClass { + GtkListStoreClass parent_class; +}; + + +static gpointer gmpc_liststore_sort_parent_class = NULL; +static GtkTreeDragSourceIface* gmpc_liststore_sort_gtk_tree_drag_source_parent_iface = NULL; +static GtkTreeDragDestIface* gmpc_liststore_sort_gtk_tree_drag_dest_parent_iface = NULL; + +GType gmpc_liststore_sort_get_type (void); +enum { + GMPC_LISTSTORE_SORT_DUMMY_PROPERTY +}; +#define GMPC_LISTSTORE_SORT_use_transition TRUE +static gboolean gmpc_liststore_sort_real_row_draggable (GtkTreeDragSource* base, const GtkTreePath* path); +static gboolean gmpc_liststore_sort_real_drag_data_get (GtkTreeDragSource* base, const GtkTreePath* path, GtkSelectionData* selection_data); +static gboolean gmpc_liststore_sort_real_drag_data_delete (GtkTreeDragSource* base, const GtkTreePath* path); +static gboolean gmpc_liststore_sort_real_drag_data_received (GtkTreeDragDest* base, const GtkTreePath* dest, GtkSelectionData* selection_data); +GmpcListstoreSort* gmpc_liststore_sort_new (void); +GmpcListstoreSort* gmpc_liststore_sort_construct (GType object_type); + + + +static gboolean gmpc_liststore_sort_real_row_draggable (GtkTreeDragSource* base, const GtkTreePath* path) { + GmpcListstoreSort * self; + gboolean result; + self = (GmpcListstoreSort*) base; + g_return_val_if_fail (path != NULL, FALSE); + result = TRUE; + return result; +} + + +static gboolean gmpc_liststore_sort_real_drag_data_get (GtkTreeDragSource* base, const GtkTreePath* path, GtkSelectionData* selection_data) { + GmpcListstoreSort * self; + gboolean result; + self = (GmpcListstoreSort*) base; + g_return_val_if_fail (path != NULL, FALSE); + g_return_val_if_fail (selection_data != NULL, FALSE); + result = FALSE; + return result; +} + + +static gboolean gmpc_liststore_sort_real_drag_data_delete (GtkTreeDragSource* base, const GtkTreePath* path) { + GmpcListstoreSort * self; + gboolean result; + self = (GmpcListstoreSort*) base; + g_return_val_if_fail (path != NULL, FALSE); + result = TRUE; + return result; +} + + +static gboolean gmpc_liststore_sort_real_drag_data_received (GtkTreeDragDest* base, const GtkTreePath* dest, GtkSelectionData* selection_data) { + GmpcListstoreSort * self; + gboolean result; + GtkTreeModel* model; + GtkTreePath* path; + const GtkTreePath* _tmp7_; + GtkTreePath* _tmp6_; + gboolean _tmp5_; + const GtkTreePath* _tmp4_; + GtkTreeModel* _tmp3_; + GtkTreeModel* _tmp2_; + gboolean _tmp1_; + GtkTreeModel* _tmp0_; + self = (GmpcListstoreSort*) base; + g_return_val_if_fail (dest != NULL, FALSE); + g_return_val_if_fail (selection_data != NULL, FALSE); + model = NULL; + path = NULL; + if (dest == NULL) { + result = FALSE; + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; + } + _tmp7_ = NULL; + _tmp6_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + _tmp0_ = NULL; + if ((_tmp5_ = (_tmp1_ = gtk_tree_get_row_drag_data (selection_data, &_tmp0_, &_tmp4_), model = (_tmp2_ = (_tmp3_ = _tmp0_, (_tmp3_ == NULL) ? NULL : g_object_ref (_tmp3_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp2_), _tmp1_), path = (_tmp6_ = (_tmp7_ = _tmp4_, (_tmp7_ == NULL) ? NULL : gtk_tree_path_copy (_tmp7_)), (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), _tmp6_), _tmp5_)) { + GtkTreeIter dest_iter = {0}; + GtkTreeIter source_iter = {0}; + gboolean dest_v; + gboolean source_v; + dest_v = gtk_tree_model_get_iter (model, &dest_iter, dest); + source_v = gtk_tree_model_get_iter (model, &source_iter, path); + if (source_v) { + if (dest_v) { + gtk_list_store_move_before ((GtkListStore*) self, &source_iter, &dest_iter); + } else { + gtk_list_store_move_before ((GtkListStore*) self, &source_iter, NULL); + } + } + result = TRUE; + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; + } + result = FALSE; + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; +} + + +GmpcListstoreSort* gmpc_liststore_sort_construct (GType object_type) { + GmpcListstoreSort * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcListstoreSort* gmpc_liststore_sort_new (void) { + return gmpc_liststore_sort_construct (GMPC_LISTSTORE_TYPE_SORT); +} + + +static void gmpc_liststore_sort_class_init (GmpcListstoreSortClass * klass) { + gmpc_liststore_sort_parent_class = g_type_class_peek_parent (klass); +} + + +static void gmpc_liststore_sort_gtk_tree_drag_source_interface_init (GtkTreeDragSourceIface * iface) { + gmpc_liststore_sort_gtk_tree_drag_source_parent_iface = g_type_interface_peek_parent (iface); + iface->row_draggable = gmpc_liststore_sort_real_row_draggable; + iface->drag_data_get = gmpc_liststore_sort_real_drag_data_get; + iface->drag_data_delete = gmpc_liststore_sort_real_drag_data_delete; +} + + +static void gmpc_liststore_sort_gtk_tree_drag_dest_interface_init (GtkTreeDragDestIface * iface) { + gmpc_liststore_sort_gtk_tree_drag_dest_parent_iface = g_type_interface_peek_parent (iface); + iface->drag_data_received = gmpc_liststore_sort_real_drag_data_received; +} + + +static void gmpc_liststore_sort_instance_init (GmpcListstoreSort * self) { +} + + +GType gmpc_liststore_sort_get_type (void) { + static GType gmpc_liststore_sort_type_id = 0; + if (gmpc_liststore_sort_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcListstoreSortClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_liststore_sort_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcListstoreSort), 0, (GInstanceInitFunc) gmpc_liststore_sort_instance_init, NULL }; + static const GInterfaceInfo gtk_tree_drag_source_info = { (GInterfaceInitFunc) gmpc_liststore_sort_gtk_tree_drag_source_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gtk_tree_drag_dest_info = { (GInterfaceInitFunc) gmpc_liststore_sort_gtk_tree_drag_dest_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + gmpc_liststore_sort_type_id = g_type_register_static (GTK_TYPE_LIST_STORE, "GmpcListstoreSort", &g_define_type_info, 0); + g_type_add_interface_static (gmpc_liststore_sort_type_id, GTK_TYPE_TREE_DRAG_SOURCE, >k_tree_drag_source_info); + g_type_add_interface_static (gmpc_liststore_sort_type_id, GTK_TYPE_TREE_DRAG_DEST, >k_tree_drag_dest_info); + } + return gmpc_liststore_sort_type_id; +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-liststore-sort.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-liststore-sort.h --- gmpc-0.18.0/src/vala/gmpc-liststore-sort.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-liststore-sort.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,39 @@ + +#ifndef __GMPC_LISTSTORE_SORT_H__ +#define __GMPC_LISTSTORE_SORT_H__ + +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_LISTSTORE_TYPE_SORT (gmpc_liststore_sort_get_type ()) +#define GMPC_LISTSTORE_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSort)) +#define GMPC_LISTSTORE_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSortClass)) +#define GMPC_LISTSTORE_IS_SORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_LISTSTORE_TYPE_SORT)) +#define GMPC_LISTSTORE_IS_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_LISTSTORE_TYPE_SORT)) +#define GMPC_LISTSTORE_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_LISTSTORE_TYPE_SORT, GmpcListstoreSortClass)) + +typedef struct _GmpcListstoreSort GmpcListstoreSort; +typedef struct _GmpcListstoreSortClass GmpcListstoreSortClass; +typedef struct _GmpcListstoreSortPrivate GmpcListstoreSortPrivate; + +struct _GmpcListstoreSort { + GtkListStore parent_instance; + GmpcListstoreSortPrivate * priv; +}; + +struct _GmpcListstoreSortClass { + GtkListStoreClass parent_class; +}; + + +GType gmpc_liststore_sort_get_type (void); +GmpcListstoreSort* gmpc_liststore_sort_new (void); +GmpcListstoreSort* gmpc_liststore_sort_construct (GType object_type); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-liststore-sort.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-liststore-sort.vala --- gmpc-0.18.0/src/vala/gmpc-liststore-sort.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-liststore-sort.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,75 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +/** + * This gob file provides a hack, so rows in a gtk_list_store can be moved, (with gtk_tree_reorderable enabled) + * While the gtk_tree_row_reference stays in tracked. + */ + +using Gtk; + +namespace Gmpc { + public class Liststore.Sort : Gtk.ListStore, Gtk.TreeDragSource ,Gtk.TreeDragDest + { + private const bool use_transition = Gmpc.use_transition; + + private + bool row_draggable (Gtk.TreePath path) + { + return true; + } + private + bool drag_data_get (Gtk.TreePath path, Gtk.SelectionData selection_data) + { + return false; + } + + private + bool drag_data_delete (Gtk.TreePath path) + { + return true; + } + private + bool drag_data_received(Gtk.TreePath dest, Gtk.SelectionData selection_data) + { + Gtk.TreeModel model; + Gtk.TreePath path = null; + + if(dest == null ) + { + return false; + } + if(Gtk.tree_get_row_drag_data(selection_data, out model, out path)) + { + Gtk.TreeIter dest_iter, source_iter; + var dest_v = model.get_iter(out dest_iter, dest); + var source_v = model.get_iter(out source_iter, path); + if(source_v) + { + if(dest_v) + this.move_before(source_iter, dest_iter); + else + this.move_before(source_iter, null); + } + return true; + } + return false; + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_menu_item_rating.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_menu_item_rating.c --- gmpc-0.18.0/src/vala/gmpc_menu_item_rating.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_menu_item_rating.c 2009-09-21 11:15:59.000000000 +0100 @@ -1,63 +1,98 @@ -#include "gmpc_menu_item_rating.h" +#include +#include +#include +#include +#include #include #include -#include -#include -#include #include +#include +#include +#define GMPC_MENU_ITEM_TYPE_RATING (gmpc_menu_item_rating_get_type ()) +#define GMPC_MENU_ITEM_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRating)) +#define GMPC_MENU_ITEM_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRatingClass)) +#define GMPC_MENU_ITEM_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_MENU_ITEM_TYPE_RATING)) +#define GMPC_MENU_ITEM_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_MENU_ITEM_TYPE_RATING)) +#define GMPC_MENU_ITEM_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRatingClass)) + +typedef struct _GmpcMenuItemRating GmpcMenuItemRating; +typedef struct _GmpcMenuItemRatingClass GmpcMenuItemRatingClass; +typedef struct _GmpcMenuItemRatingPrivate GmpcMenuItemRatingPrivate; + +struct _GmpcMenuItemRating { + GtkMenuItem parent_instance; + GmpcMenuItemRatingPrivate * priv; + GtkVBox* hbox; + GmpcRating* rating; +}; + +struct _GmpcMenuItemRatingClass { + GtkMenuItemClass parent_class; +}; +static gpointer gmpc_menu_item_rating_parent_class = NULL; + +#define use_transition TRUE +GType gmpc_menu_item_rating_get_type (void); enum { GMPC_MENU_ITEM_RATING_DUMMY_PROPERTY }; #define GMPC_MENU_ITEM_RATING_some_unique_name VERSION -static gboolean gmpc_menu_item_rating_button_press_event (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata); -static gboolean gmpc_menu_item_rating_button_release_event (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata); -static gpointer gmpc_menu_item_rating_parent_class = NULL; +gint gmpc_menu_item_rating_get_rating (GmpcMenuItemRating* self); +static gboolean gmpc_menu_item_rating_button_press_event_callback (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata); +static gboolean gmpc_menu_item_rating_button_release_event_callback (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata); +GmpcMenuItemRating* gmpc_menu_item_rating_new (MpdObj* server, const mpd_Song* song); +GmpcMenuItemRating* gmpc_menu_item_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); static void gmpc_menu_item_rating_finalize (GObject* obj); gint gmpc_menu_item_rating_get_rating (GmpcMenuItemRating* self) { + gint result; g_return_val_if_fail (self != NULL, 0); - return 0; + result = 0; + return result; } -static gboolean gmpc_menu_item_rating_button_press_event (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata) { +static gboolean gmpc_menu_item_rating_button_press_event_callback (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); - fprintf (stdout, "Button press event\n"); - gmpc_rating_button_press_event (self->rating, self->rating->event, &(*event)); - return TRUE; + gmpc_rating_button_press_event_callback (self->rating, self->rating->event_box, &(*event)); + result = TRUE; + return result; } -static gboolean gmpc_menu_item_rating_button_release_event (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata) { +static gboolean gmpc_menu_item_rating_button_release_event_callback (GmpcMenuItemRating* self, const GdkEventButton* event, void* userdata) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); - return TRUE; + result = TRUE; + return result; } GmpcMenuItemRating* gmpc_menu_item_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song) { GmpcMenuItemRating * self; - GtkVBox* _tmp0; - GmpcRating* _tmp1; - GtkLabel* _tmp2; + GtkVBox* _tmp0_; + GmpcRating* _tmp1_; + GtkLabel* _tmp2_; g_return_val_if_fail (server != NULL, NULL); g_return_val_if_fail (song != NULL, NULL); self = g_object_newv (object_type, 0, NULL); - g_signal_connect_swapped (self, "button-press-event", (GCallback) gmpc_menu_item_rating_button_press_event, self); - g_signal_connect_swapped (self, "button-release-event", (GCallback) gmpc_menu_item_rating_button_release_event, self); - _tmp0 = NULL; - self->hbox = (_tmp0 = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)), (self->hbox == NULL) ? NULL : (self->hbox = (g_object_unref (self->hbox), NULL)), _tmp0); - _tmp1 = NULL; - self->rating = (_tmp1 = g_object_ref_sink (gmpc_rating_new (server, song)), (self->rating == NULL) ? NULL : (self->rating = (g_object_unref (self->rating), NULL)), _tmp1); - _tmp2 = NULL; - gtk_box_pack_start ((GtkBox*) self->hbox, (GtkWidget*) (_tmp2 = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Rating:")))), FALSE, TRUE, (guint) 0); - (_tmp2 == NULL) ? NULL : (_tmp2 = (g_object_unref (_tmp2), NULL)); + g_signal_connect_swapped (self, "button-press-event", (GCallback) gmpc_menu_item_rating_button_press_event_callback, self); + g_signal_connect_swapped (self, "button-release-event", (GCallback) gmpc_menu_item_rating_button_release_event_callback, self); + _tmp0_ = NULL; + self->hbox = (_tmp0_ = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)), (self->hbox == NULL) ? NULL : (self->hbox = (g_object_unref (self->hbox), NULL)), _tmp0_); + _tmp1_ = NULL; + self->rating = (_tmp1_ = g_object_ref_sink (gmpc_rating_new (server, song)), (self->rating == NULL) ? NULL : (self->rating = (g_object_unref (self->rating), NULL)), _tmp1_); + _tmp2_ = NULL; + gtk_box_pack_start ((GtkBox*) self->hbox, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Rating:")))), FALSE, TRUE, (guint) 0); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); gtk_box_pack_start ((GtkBox*) self->hbox, (GtkWidget*) self->rating, FALSE, TRUE, (guint) 0); gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->hbox); gtk_widget_show_all ((GtkWidget*) self); diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_menu_item_rating.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_menu_item_rating.h --- gmpc-0.18.0/src/vala/gmpc_menu_item_rating.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_menu_item_rating.h 2009-09-21 11:15:59.000000000 +0100 @@ -3,11 +3,10 @@ #define __GMPC_MENU_ITEM_RATING_H__ #include -#include #include +#include #include #include -#include "gmpc_rating.h" G_BEGIN_DECLS @@ -23,24 +22,6 @@ typedef struct _GmpcMenuItemRatingClass GmpcMenuItemRatingClass; typedef struct _GmpcMenuItemRatingPrivate GmpcMenuItemRatingPrivate; -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ struct _GmpcMenuItemRating { GtkMenuItem parent_instance; GmpcMenuItemRatingPrivate * priv; @@ -53,10 +34,10 @@ }; +GType gmpc_menu_item_rating_get_type (void); gint gmpc_menu_item_rating_get_rating (GmpcMenuItemRating* self); -GmpcMenuItemRating* gmpc_menu_item_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); GmpcMenuItemRating* gmpc_menu_item_rating_new (MpdObj* server, const mpd_Song* song); -GType gmpc_menu_item_rating_get_type (void); +GmpcMenuItemRating* gmpc_menu_item_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); G_END_DECLS diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_menu_item_rating.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_menu_item_rating.vala --- gmpc-0.18.0/src/vala/gmpc_menu_item_rating.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc_menu_item_rating.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,68 @@ + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using Config; +using Gtk; +using Gdk; +using Cairo; +using MPD; +using Gmpc; +using Gmpc.Rating; + + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.MenuItem.Rating : Gtk.MenuItem +{ + private const string some_unique_name = Config.VERSION; + public Gtk.VBox hbox = null; + public Gmpc.Rating rating = null; + + public int get_rating () + { + return 0; + } + bool button_press_event_callback(Gdk.EventButton event, void *userdata) + { + this.rating.button_press_event_callback(this.rating.event_box, event); + return true; + } + + bool button_release_event_callback(Gdk.EventButton event, void *userdata) + { + return true; + } + + public Rating (MPD.Server server, MPD.Song song) + { + /* this fixes vala bitching */ + GLib.Signal.connect_swapped(this, "button-press-event", (GLib.Callback)button_press_event_callback,this); + GLib.Signal.connect_swapped(this, "button-release-event", (GLib.Callback)button_release_event_callback,this); + + this.hbox = new Gtk.VBox(false,6); + this.rating = new Gmpc.Rating(server,song); + + this.hbox.pack_start(new Gtk.Label(_("Rating:")),false,true,0); + this.hbox.pack_start(this.rating,false,true,0); + this.add(this.hbox); + this.show_all(); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-browser2.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-browser2.c --- gmpc-0.18.0/src/vala/gmpc-metadata-browser2.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-browser2.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,5545 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_WIDGET_TYPE_SIMILAR_SONGS (gmpc_widget_similar_songs_get_type ()) +#define GMPC_WIDGET_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongs)) +#define GMPC_WIDGET_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongsClass)) +#define GMPC_WIDGET_IS_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS)) +#define GMPC_WIDGET_IS_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_SIMILAR_SONGS)) +#define GMPC_WIDGET_SIMILAR_SONGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongsClass)) + +typedef struct _GmpcWidgetSimilarSongs GmpcWidgetSimilarSongs; +typedef struct _GmpcWidgetSimilarSongsClass GmpcWidgetSimilarSongsClass; +typedef struct _GmpcWidgetSimilarSongsPrivate GmpcWidgetSimilarSongsPrivate; + +#define GMPC_WIDGET_TYPE_SIMILAR_ARTIST (gmpc_widget_similar_artist_get_type ()) +#define GMPC_WIDGET_SIMILAR_ARTIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtist)) +#define GMPC_WIDGET_SIMILAR_ARTIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtistClass)) +#define GMPC_WIDGET_IS_SIMILAR_ARTIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST)) +#define GMPC_WIDGET_IS_SIMILAR_ARTIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_SIMILAR_ARTIST)) +#define GMPC_WIDGET_SIMILAR_ARTIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtistClass)) + +typedef struct _GmpcWidgetSimilarArtist GmpcWidgetSimilarArtist; +typedef struct _GmpcWidgetSimilarArtistClass GmpcWidgetSimilarArtistClass; +typedef struct _GmpcWidgetSimilarArtistPrivate GmpcWidgetSimilarArtistPrivate; + +#define GMPC_TYPE_METADATA_BROWSER (gmpc_metadata_browser_get_type ()) +#define GMPC_METADATA_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowser)) +#define GMPC_METADATA_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowserClass)) +#define GMPC_IS_METADATA_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_METADATA_BROWSER)) +#define GMPC_IS_METADATA_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_METADATA_BROWSER)) +#define GMPC_METADATA_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowserClass)) + +typedef struct _GmpcMetadataBrowser GmpcMetadataBrowser; +typedef struct _GmpcMetadataBrowserClass GmpcMetadataBrowserClass; + +#define GMPC_WIDGET_TYPE_MORE (gmpc_widget_more_get_type ()) +#define GMPC_WIDGET_MORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMore)) +#define GMPC_WIDGET_MORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMoreClass)) +#define GMPC_WIDGET_IS_MORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_MORE)) +#define GMPC_WIDGET_IS_MORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_MORE)) +#define GMPC_WIDGET_MORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMoreClass)) + +typedef struct _GmpcWidgetMore GmpcWidgetMore; +typedef struct _GmpcWidgetMoreClass GmpcWidgetMoreClass; +typedef struct _GmpcWidgetMorePrivate GmpcWidgetMorePrivate; + +#define GMPC_TYPE_NOW_PLAYING (gmpc_now_playing_get_type ()) +#define GMPC_NOW_PLAYING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_NOW_PLAYING, GmpcNowPlaying)) +#define GMPC_NOW_PLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_NOW_PLAYING, GmpcNowPlayingClass)) +#define GMPC_IS_NOW_PLAYING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_NOW_PLAYING)) +#define GMPC_IS_NOW_PLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_NOW_PLAYING)) +#define GMPC_NOW_PLAYING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_NOW_PLAYING, GmpcNowPlayingClass)) + +typedef struct _GmpcNowPlaying GmpcNowPlaying; +typedef struct _GmpcNowPlayingClass GmpcNowPlayingClass; +typedef struct _GmpcNowPlayingPrivate GmpcNowPlayingPrivate; +typedef struct _GmpcMetadataBrowserPrivate GmpcMetadataBrowserPrivate; + +#define GMPC_METADATA_BROWSER_TYPE_HITEM (gmpc_metadata_browser_hitem_get_type ()) + +#define GMPC_METADATA_BROWSER_TYPE_HITEM_TYPE (gmpc_metadata_browser_hitem_type_get_type ()) +typedef struct _GmpcMetadataBrowserHitem GmpcMetadataBrowserHitem; + +struct _GmpcWidgetSimilarSongs { + GtkExpander parent_instance; + GmpcWidgetSimilarSongsPrivate * priv; +}; + +struct _GmpcWidgetSimilarSongsClass { + GtkExpanderClass parent_class; +}; + +struct _GmpcWidgetSimilarSongsPrivate { + mpd_Song* song; + gboolean filled; + GtkWidget* pchild; + guint idle_add; + MetaData* copy; + MpdData* item; + GList* current; +}; + +struct _GmpcWidgetSimilarArtist { + GtkTable parent_instance; + GmpcWidgetSimilarArtistPrivate * priv; +}; + +struct _GmpcWidgetSimilarArtistClass { + GtkTableClass parent_class; +}; + +struct _GmpcWidgetSimilarArtistPrivate { + mpd_Song* song; + GmpcMetadataBrowser* browser; +}; + +/** + * The "More" Widget. This collapses it child and adds a more/less button. + * Using the unique_id it stores the state for the next time. + */ +struct _GmpcWidgetMore { + GtkFrame parent_instance; + GmpcWidgetMorePrivate * priv; +}; + +struct _GmpcWidgetMoreClass { + GtkFrameClass parent_class; +}; + +struct _GmpcWidgetMorePrivate { + GtkAlignment* ali; + gint expand_state; + GtkButton* expand_button; + gint max_height; + GtkEventBox* eventbox; + GtkWidget* pchild; + char* unique_id; +}; + +/** + * Now playing uses the MetaDataBrowser plugin to "plot" the view */ +struct _GmpcNowPlaying { + GmpcPluginBase parent_instance; + GmpcNowPlayingPrivate * priv; +}; + +struct _GmpcNowPlayingClass { + GmpcPluginBaseClass parent_class; +}; + +struct _GmpcNowPlayingPrivate { + GtkTreeRowReference* np_ref; + GmpcMetadataBrowser* browser; + GtkScrolledWindow* paned; + GtkEventBox* container; + gboolean selected; + char* song_checksum; +}; + +struct _GmpcMetadataBrowser { + GmpcPluginBase parent_instance; + GmpcMetadataBrowserPrivate * priv; +}; + +struct _GmpcMetadataBrowserClass { + GmpcPluginBaseClass parent_class; +}; + +/** + * History + */ +typedef enum { + GMPC_METADATA_BROWSER_HITEM_TYPE_CLEAR, + GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST, + GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM, + GMPC_METADATA_BROWSER_HITEM_TYPE_SONG +} GmpcMetadataBrowserHitemType; + +struct _GmpcMetadataBrowserHitem { + GmpcMetadataBrowserHitemType type; + mpd_Song* song; +}; + +struct _GmpcMetadataBrowserPrivate { + gint block_update; + GtkTreeRowReference* rref; + GtkPaned* paned; + GtkBox* browser_box; + GtkTreeView* tree_artist; + GmpcMpdDataModel* model_artist; + GtkTreeModelFilter* model_filter_artist; + GtkEntry* artist_filter_entry; + GtkTreeView* tree_album; + GmpcMpdDataModel* model_albums; + GtkTreeModelFilter* model_filter_album; + GtkEntry* album_filter_entry; + GtkTreeView* tree_songs; + GmpcMpdDataModel* model_songs; + GtkScrolledWindow* metadata_sw; + GtkEventBox* metadata_box; + guint update_timeout; + gboolean selected; + GList* history; + GList* current; +}; + + +static gpointer gmpc_widget_similar_songs_parent_class = NULL; +static gpointer gmpc_widget_similar_artist_parent_class = NULL; +static gpointer gmpc_widget_more_parent_class = NULL; +static gpointer gmpc_now_playing_parent_class = NULL; +static GmpcPluginBrowserIfaceIface* gmpc_now_playing_gmpc_plugin_browser_iface_parent_iface = NULL; +static gpointer gmpc_metadata_browser_parent_class = NULL; +static GmpcPluginBrowserIfaceIface* gmpc_metadata_browser_gmpc_plugin_browser_iface_parent_iface = NULL; +static GmpcPluginPreferencesIfaceIface* gmpc_metadata_browser_gmpc_plugin_preferences_iface_parent_iface = NULL; + +#define use_transition_mb TRUE +#define some_unique_name_mb VERSION +GType gmpc_widget_similar_songs_get_type (void); +#define GMPC_WIDGET_SIMILAR_SONGS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongsPrivate)) +enum { + GMPC_WIDGET_SIMILAR_SONGS_DUMMY_PROPERTY +}; +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_new (const mpd_Song* song); +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_construct (GType object_type, const mpd_Song* song); +static void _g_list_free_gtk_tree_path_free (GList* self); +static void gmpc_widget_similar_songs_add_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item); +static void gmpc_widget_similar_songs_play_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item); +static void gmpc_widget_similar_songs_replace_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item); +static void gmpc_widget_similar_songs_tree_row_activated (GmpcWidgetSimilarSongs* self, GmpcMpdDataTreeview* tree, const GtkTreePath* path, GtkTreeViewColumn* column); +static void _gmpc_widget_similar_songs_play_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_widget_similar_songs_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_widget_similar_songs_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gboolean gmpc_widget_similar_songs_tree_right_menu (GmpcWidgetSimilarSongs* self, GmpcMpdDataTreeview* tree, const GdkEventButton* event); +static gboolean _gmpc_widget_similar_songs_tree_right_menu_gtk_widget_button_release_event (GmpcMpdDataTreeview* _sender, const GdkEventButton* event, gpointer self); +static void _gmpc_widget_similar_songs_tree_row_activated_gtk_tree_view_row_activated (GmpcMpdDataTreeview* _sender, const GtkTreePath* path, GtkTreeViewColumn* column, gpointer self); +static gboolean gmpc_widget_similar_songs_update_sim_song (GmpcWidgetSimilarSongs* self); +static gboolean _gmpc_widget_similar_songs_update_sim_song_gsource_func (gpointer self); +static void gmpc_widget_similar_songs_metadata_changed (GmpcWidgetSimilarSongs* self, GmpcMetaWatcher* gmw2, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met); +static void _gmpc_widget_similar_songs_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self); +static void gmpc_widget_similar_songs_update (GmpcWidgetSimilarSongs* self); +static void gmpc_widget_similar_songs_real_activate (GtkExpander* base); +static void gmpc_widget_similar_songs_finalize (GObject* obj); +GType gmpc_widget_similar_artist_get_type (void); +GType gmpc_metadata_browser_get_type (void); +#define GMPC_WIDGET_SIMILAR_ARTIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtistPrivate)) +enum { + GMPC_WIDGET_SIMILAR_ARTIST_DUMMY_PROPERTY +}; +GtkWidget* gmpc_widget_similar_artist_new_artist_button (GmpcWidgetSimilarArtist* self, const char* artist, gboolean in_db); +static void _g_list_free_g_object_unref (GList* self); +static void gmpc_widget_similar_artist_metadata_changed (GmpcWidgetSimilarArtist* self, GmpcMetaWatcher* gmw2, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met); +void gmpc_metadata_browser_set_artist (GmpcMetadataBrowser* self, const char* artist); +static void gmpc_widget_similar_artist_artist_button_clicked (GmpcWidgetSimilarArtist* self, GtkButton* button); +static gboolean _misc_header_expose_event_gtk_widget_expose_event (GtkWidget* _sender, const GdkEventExpose* event, gpointer self); +static void _gmpc_widget_similar_artist_artist_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_widget_similar_artist_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self); +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_new (GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song); +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_construct (GType object_type, GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song); +static void gmpc_widget_similar_artist_finalize (GObject* obj); +GType gmpc_widget_more_get_type (void); +#define GMPC_WIDGET_MORE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMorePrivate)) +enum { + GMPC_WIDGET_MORE_DUMMY_PROPERTY +}; +static void gmpc_widget_more_expand (GmpcWidgetMore* self, GtkButton* but); +static void gmpc_widget_more_size_changed (GmpcWidgetMore* self, GtkWidget* child, const GdkRectangle* alloc); +static void gmpc_widget_more_bg_style_changed (GmpcWidgetMore* self, GtkWidget* frame, GtkStyle* style); +static void _gmpc_widget_more_bg_style_changed_gtk_widget_style_set (GmpcWidgetMore* _sender, GtkStyle* previous_style, gpointer self); +static void _gmpc_widget_more_expand_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_widget_more_size_changed_gtk_widget_size_allocate (GtkWidget* _sender, const GdkRectangle* allocation, gpointer self); +GmpcWidgetMore* gmpc_widget_more_new (const char* unique_id, const char* markup, GtkWidget* child); +GmpcWidgetMore* gmpc_widget_more_construct (GType object_type, const char* unique_id, const char* markup, GtkWidget* child); +static void gmpc_widget_more_finalize (GObject* obj); +GType gmpc_now_playing_get_type (void); +#define GMPC_NOW_PLAYING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_NOW_PLAYING, GmpcNowPlayingPrivate)) +enum { + GMPC_NOW_PLAYING_DUMMY_PROPERTY +}; +static gint* gmpc_now_playing_real_get_version (GmpcPluginBase* base, int* result_length1); +static const char* gmpc_now_playing_real_get_name (GmpcPluginBase* base); +static void gmpc_now_playing_real_save_yourself (GmpcPluginBase* base); +static void gmpc_now_playing_update (GmpcNowPlaying* self); +static void gmpc_now_playing_status_changed (GmpcNowPlaying* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what); +static void gmpc_now_playing_real_browser_add (GmpcPluginBrowserIface* base, GtkWidget* category_tree); +static void gmpc_now_playing_browser_init (GmpcNowPlaying* self); +static void gmpc_now_playing_real_browser_selected (GmpcPluginBrowserIface* base, GtkContainer* container); +static void gmpc_now_playing_real_browser_unselected (GmpcPluginBrowserIface* base, GtkContainer* container); +static void gmpc_now_playing_browser_bg_style_changed (GmpcNowPlaying* self, GtkScrolledWindow* bg, GtkStyle* style); +static gboolean gmpc_now_playing_browser_key_release_event (GmpcNowPlaying* self, const GdkEventKey* event); +static void _gmpc_now_playing_browser_bg_style_changed_gtk_widget_style_set (GtkScrolledWindow* _sender, GtkStyle* previous_style, gpointer self); +static gboolean _gmpc_now_playing_browser_key_release_event_gtk_widget_key_release_event (GtkScrolledWindow* _sender, const GdkEventKey* event, gpointer self); +GtkWidget* gmpc_metadata_browser_metadata_box_show_song (GmpcMetadataBrowser* self, const mpd_Song* song, gboolean show_controls); +static void gmpc_now_playing_select_now_playing_browser (GmpcNowPlaying* self, GtkImageMenuItem* item); +static void _gmpc_now_playing_select_now_playing_browser_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gint gmpc_now_playing_real_browser_add_go_menu (GmpcPluginBrowserIface* base, GtkMenu* menu); +GmpcNowPlaying* gmpc_now_playing_new (void); +GmpcNowPlaying* gmpc_now_playing_construct (GType object_type); +static void _gmpc_now_playing_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self); +GmpcMetadataBrowser* gmpc_metadata_browser_new (void); +GmpcMetadataBrowser* gmpc_metadata_browser_construct (GType object_type); +static GObject * gmpc_now_playing_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_now_playing_finalize (GObject* obj); +static GType gmpc_metadata_browser_hitem_get_type (void); +static GType gmpc_metadata_browser_hitem_type_get_type (void); +static GmpcMetadataBrowserHitem* gmpc_metadata_browser_hitem_dup (const GmpcMetadataBrowserHitem* self); +static void gmpc_metadata_browser_hitem_free (GmpcMetadataBrowserHitem* self); +static void gmpc_metadata_browser_hitem_copy (const GmpcMetadataBrowserHitem* self, GmpcMetadataBrowserHitem* dest); +static void gmpc_metadata_browser_hitem_destroy (GmpcMetadataBrowserHitem* self); +#define GMPC_METADATA_BROWSER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowserPrivate)) +enum { + GMPC_METADATA_BROWSER_DUMMY_PROPERTY +}; +static void _g_list_free_gmpc_metadata_browser_hitem_free (GList* self); +static gint* gmpc_metadata_browser_real_get_version (GmpcPluginBase* base, int* result_length1); +static const char* gmpc_metadata_browser_real_get_name (GmpcPluginBase* base); +static void gmpc_metadata_browser_real_save_yourself (GmpcPluginBase* base); +void gmpc_metadata_browser_select_browser (GmpcMetadataBrowser* self, GtkTreeView* tree); +static void gmpc_metadata_browser_select_metadata_browser (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void _gmpc_metadata_browser_select_metadata_browser_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gint gmpc_metadata_browser_real_browser_add_go_menu (GmpcPluginBrowserIface* base, GtkMenu* menu); +static void gmpc_metadata_browser_browser_bg_style_changed (GmpcMetadataBrowser* self, GtkScrolledWindow* bg, GtkStyle* style); +static gboolean gmpc_metadata_browser_browser_button_press_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event); +static void gmpc_metadata_browser_browser_artist_entry_changed (GmpcMetadataBrowser* self, GtkEntry* entry); +static char* gmpc_metadata_browser_browser_get_selected_artist (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_artist_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void gmpc_metadata_browser_artist_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void _gmpc_metadata_browser_artist_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_metadata_browser_artist_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gboolean gmpc_metadata_browser_artist_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event); +static gboolean gmpc_metadata_browser_visible_func_artist (GmpcMetadataBrowser* self, GtkTreeModel* model, GtkTreeIter* iter); +static gboolean gmpc_metadata_browser_browser_artist_key_press_event (GmpcMetadataBrowser* self, GtkTreeView* widget, const GdkEventKey* event); +static char* gmpc_metadata_browser_browser_get_selected_album (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_album_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void gmpc_metadata_browser_album_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void _gmpc_metadata_browser_album_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_metadata_browser_album_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gboolean gmpc_metadata_browser_album_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event); +static gboolean gmpc_metadata_browser_visible_func_album (GmpcMetadataBrowser* self, GtkTreeModel* model, GtkTreeIter* iter); +static gboolean gmpc_metadata_browser_browser_album_key_press_event (GmpcMetadataBrowser* self, GtkTreeView* widget, const GdkEventKey* event); +static void gmpc_metadata_browser_browser_album_entry_changed (GmpcMetadataBrowser* self, GtkEntry* entry); +static mpd_Song* gmpc_metadata_browser_browser_get_selected_song (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_song_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void gmpc_metadata_browser_song_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void _gmpc_metadata_browser_song_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_metadata_browser_song_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gboolean gmpc_metadata_browser_song_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event); +static void gmpc_metadata_browser_history_previous (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_history_next (GmpcMetadataBrowser* self); +static gboolean gmpc_metadata_browser_browser_button_release_event (GmpcMetadataBrowser* self, GtkWidget* widget, const GdkEventButton* event); +static void _gmpc_metadata_browser_browser_artist_entry_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self); +static gboolean _gmpc_metadata_browser_visible_func_artist_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self); +static gboolean _gmpc_metadata_browser_browser_button_press_event_gtk_widget_button_press_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self); +static gboolean _gmpc_metadata_browser_artist_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self); +static gboolean _gmpc_metadata_browser_browser_artist_key_press_event_gtk_widget_key_press_event (GtkTreeView* _sender, const GdkEventKey* event, gpointer self); +static void gmpc_metadata_browser_browser_artist_changed (GmpcMetadataBrowser* self, GtkTreeSelection* sel); +static void _gmpc_metadata_browser_browser_artist_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self); +static void _gmpc_metadata_browser_browser_album_entry_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self); +static gboolean _gmpc_metadata_browser_visible_func_album_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self); +static gboolean _gmpc_metadata_browser_album_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self); +static gboolean _gmpc_metadata_browser_browser_album_key_press_event_gtk_widget_key_press_event (GtkTreeView* _sender, const GdkEventKey* event, gpointer self); +static void gmpc_metadata_browser_browser_album_changed (GmpcMetadataBrowser* self, GtkTreeSelection* album_sel); +static void _gmpc_metadata_browser_browser_album_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self); +static gboolean _gmpc_metadata_browser_song_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self); +static void gmpc_metadata_browser_browser_songs_changed (GmpcMetadataBrowser* self, GtkTreeSelection* song_sel); +static void _gmpc_metadata_browser_browser_songs_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self); +static void _gmpc_metadata_browser_browser_bg_style_changed_gtk_widget_style_set (GtkScrolledWindow* _sender, GtkStyle* previous_style, gpointer self); +static gboolean _gmpc_metadata_browser_browser_button_release_event_gtk_widget_button_release_event (GtkWidget* _sender, const GdkEventButton* event, gpointer self); +static void gmpc_metadata_browser_reload_browsers (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_browser_init (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_metadata_box_clear (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_metadata_box_update (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_play_song (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_add_song (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_replace_song (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_add_selected_song (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_replace_selected_song (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_add_entry (GmpcMetadataBrowser* self, GtkTable* table, const char* entry_label, const char* value, GtkWidget* extra, gint* i); +static void gmpc_metadata_browser_artist_button_clicked (GmpcMetadataBrowser* self, GtkButton* button); +static void gmpc_metadata_browser_album_button_clicked (GmpcMetadataBrowser* self, GtkButton* button); +static GtkHBox* gmpc_metadata_browser_history_buttons (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_metadata_find_query (GmpcMetadataBrowser* self, GtkButton* button); +static void _gmpc_metadata_browser_metadata_find_query_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_artist_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_album_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void gmpc_metadata_browser_metadata_button_open_file_browser_path (GmpcMetadataBrowser* self, GtkButton* button); +static void _gmpc_metadata_browser_metadata_button_open_file_browser_path_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_play_song_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_add_song_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_replace_song_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void gmpc_metadata_browser_album_song_tree_row_activated (GmpcMetadataBrowser* self, GtkTreeView* tree, const GtkTreePath* path, GtkTreeViewColumn* column); +static void gmpc_metadata_browser_album_song_browser_play_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void gmpc_metadata_browser_album_song_browser_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void gmpc_metadata_browser_album_song_browser_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item); +static void _gmpc_metadata_browser_album_song_browser_play_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_metadata_browser_album_song_browser_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static void _gmpc_metadata_browser_album_song_browser_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gboolean gmpc_metadata_browser_album_song_tree_button_press_event (GmpcMetadataBrowser* self, GmpcMpdDataTreeview* tree, const GdkEventButton* event); +static void _gmpc_metadata_browser_add_selected_song_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_replace_selected_song_gtk_button_clicked (GtkButton* _sender, gpointer self); +static gboolean _gmpc_metadata_browser_album_song_tree_button_press_event_gtk_widget_button_release_event (GmpcMpdDataTreeview* _sender, const GdkEventButton* event, gpointer self); +static void _gmpc_metadata_browser_album_song_tree_row_activated_gtk_tree_view_row_activated (GmpcMpdDataTreeview* _sender, const GtkTreePath* path, GtkTreeViewColumn* column, gpointer self); +static void gmpc_metadata_browser_metadata_box_show_album (GmpcMetadataBrowser* self, const char* artist, const char* album); +static void gmpc_metadata_browser_metadata_box_show_artist (GmpcMetadataBrowser* self, const char* artist); +static gboolean gmpc_metadata_browser_metadata_box_update_real (GmpcMetadataBrowser* self); +static gboolean _gmpc_metadata_browser_metadata_box_update_real_gsource_func (gpointer self); +static void gmpc_metadata_browser_history_add (GmpcMetadataBrowser* self, const GmpcMetadataBrowserHitem* hi); +static void gmpc_metadata_browser_real_browser_add (GmpcPluginBrowserIface* base, GtkWidget* category_tree); +static void gmpc_metadata_browser_real_browser_selected (GmpcPluginBrowserIface* base, GtkContainer* container); +static void gmpc_metadata_browser_real_browser_unselected (GmpcPluginBrowserIface* base, GtkContainer* container); +static void gmpc_metadata_browser_history_clear (GmpcMetadataBrowser* self); +static void gmpc_metadata_browser_con_changed (GmpcMetadataBrowser* self, GmpcConnection* conn, MpdObj* server, gint connect); +static void gmpc_metadata_browser_show_hitem (GmpcMetadataBrowser* self, const GmpcMetadataBrowserHitem* hi); +static void gmpc_metadata_browser_status_changed (GmpcMetadataBrowser* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what); +void gmpc_metadata_browser_set_album (GmpcMetadataBrowser* self, const char* artist, const char* album); +void gmpc_metadata_browser_set_song (GmpcMetadataBrowser* self, const mpd_Song* song); +static void gmpc_metadata_browser_history_show_list_clicked (GmpcMetadataBrowser* self, GtkMenuItem* item); +static void _gmpc_metadata_browser_history_show_list_clicked_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static void gmpc_metadata_browser_history_show_list (GmpcMetadataBrowser* self); +static void _gmpc_metadata_browser_history_next_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_history_show_list_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_metadata_browser_history_previous_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _lambda0_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda0__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda1_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda1__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda2_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda2__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda3_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda3__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda4_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda4__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda5_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda5__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void _lambda6_ (GtkToggleButton* source, GmpcMetadataBrowser* self); +static void __lambda6__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self); +static void gmpc_metadata_browser_real_preferences_pane_construct (GmpcPluginPreferencesIface* base, GtkContainer* container); +static void gmpc_metadata_browser_real_preferences_pane_destroy (GmpcPluginPreferencesIface* base, GtkContainer* container); +static void _gmpc_metadata_browser_con_changed_gmpc_connection_connection_changed (GmpcConnection* _sender, MpdObj* server, gint connect, gpointer self); +static void _gmpc_metadata_browser_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self); +static GObject * gmpc_metadata_browser_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_metadata_browser_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); +static int _vala_strcmp0 (const char * str1, const char * str2); + +static const gint GMPC_NOW_PLAYING_version[] = {0, 0, 0}; +static const gint GMPC_METADATA_BROWSER_version[] = {0, 0, 0}; + + +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_construct (GType object_type, const mpd_Song* song) { + GmpcWidgetSimilarSongs * self; + mpd_Song* _tmp1_; + const mpd_Song* _tmp0_; + GtkLabel* label; + char* _tmp2_; + g_return_val_if_fail (song != NULL, NULL); + self = g_object_newv (object_type, 0, NULL); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->song = (_tmp1_ = (_tmp0_ = song, (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1_); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Similar songs"))); + _tmp2_ = NULL; + gtk_label_set_markup (label, _tmp2_ = g_strdup_printf ("%s", _ ("Similar songs"))); + _tmp2_ = (g_free (_tmp2_), NULL); + gtk_expander_set_label_widget ((GtkExpander*) self, (GtkWidget*) label); + gtk_widget_show ((GtkWidget*) label); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + return self; +} + + +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_new (const mpd_Song* song) { + return gmpc_widget_similar_songs_construct (GMPC_WIDGET_TYPE_SIMILAR_SONGS, song); +} + + +static void _g_list_free_gtk_tree_path_free (GList* self) { + g_list_foreach (self, (GFunc) gtk_tree_path_free, NULL); + g_list_free (self); +} + + +static void gmpc_widget_similar_songs_add_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item) { + GtkTreeView* _tmp0_; + GtkTreeView* tree; + GtkTreeSelection* _tmp1_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp5_; + GtkTreeModel* _tmp4_; + GList* _tmp3_; + GtkTreeModel* _tmp2_; + GList* list; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (self->priv->pchild), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + sel = (_tmp1_ = gtk_tree_view_get_selection (tree), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + model = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + list = (_tmp3_ = gtk_tree_selection_get_selected_rows (sel, &_tmp2_), model = (_tmp4_ = (_tmp5_ = _tmp2_, (_tmp5_ == NULL) ? NULL : g_object_ref (_tmp5_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp4_), _tmp3_); + { + GList* path_collection; + GList* path_it; + path_collection = list; + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { + const GtkTreePath* _tmp6_; + GtkTreePath* path; + _tmp6_ = NULL; + path = (_tmp6_ = (const GtkTreePath*) path_it->data, (_tmp6_ == NULL) ? NULL : gtk_tree_path_copy (_tmp6_)); + { + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + mpd_playlist_queue_add (connection, song->file); + } + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } + } + } + mpd_playlist_queue_commit (connection); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); +} + + +static void gmpc_widget_similar_songs_play_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item) { + GtkTreeView* _tmp0_; + GtkTreeView* tree; + GtkTreeSelection* _tmp1_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp5_; + GtkTreeModel* _tmp4_; + GList* _tmp3_; + GtkTreeModel* _tmp2_; + GList* list; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (self->priv->pchild), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + sel = (_tmp1_ = gtk_tree_view_get_selection (tree), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + model = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + list = (_tmp3_ = gtk_tree_selection_get_selected_rows (sel, &_tmp2_), model = (_tmp4_ = (_tmp5_ = _tmp2_, (_tmp5_ == NULL) ? NULL : g_object_ref (_tmp5_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp4_), _tmp3_); + if (list != NULL) { + const GtkTreePath* _tmp6_; + GtkTreePath* path; + _tmp6_ = NULL; + path = (_tmp6_ = (const GtkTreePath*) list->data, (_tmp6_ == NULL) ? NULL : gtk_tree_path_copy (_tmp6_)); + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + play_path (song->file); + } + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); +} + + +static void gmpc_widget_similar_songs_replace_clicked (GmpcWidgetSimilarSongs* self, GtkImageMenuItem* item) { + gboolean found; + GtkTreeView* _tmp0_; + GtkTreeView* tree; + GtkTreeSelection* _tmp1_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp5_; + GtkTreeModel* _tmp4_; + GList* _tmp3_; + GtkTreeModel* _tmp2_; + GList* list; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + found = FALSE; + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (self->priv->pchild), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + sel = (_tmp1_ = gtk_tree_view_get_selection (tree), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + model = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + list = (_tmp3_ = gtk_tree_selection_get_selected_rows (sel, &_tmp2_), model = (_tmp4_ = (_tmp5_ = _tmp2_, (_tmp5_ == NULL) ? NULL : g_object_ref (_tmp5_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp4_), _tmp3_); + { + GList* path_collection; + GList* path_it; + path_collection = list; + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { + const GtkTreePath* _tmp6_; + GtkTreePath* path; + _tmp6_ = NULL; + path = (_tmp6_ = (const GtkTreePath*) path_it->data, (_tmp6_ == NULL) ? NULL : gtk_tree_path_copy (_tmp6_)); + { + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + mpd_playlist_queue_add (connection, song->file); + found = TRUE; + } + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } + } + } + if (found) { + mpd_playlist_clear (connection); + mpd_playlist_queue_commit (connection); + mpd_player_play (connection); + } + gmpc_widget_similar_songs_play_clicked (self, item); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); +} + + +static void gmpc_widget_similar_songs_tree_row_activated (GmpcWidgetSimilarSongs* self, GmpcMpdDataTreeview* tree, const GtkTreePath* path, GtkTreeViewColumn* column) { + GtkTreeModel* _tmp0_; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (tree != NULL); + g_return_if_fail (path != NULL); + g_return_if_fail (column != NULL); + _tmp0_ = NULL; + model = (_tmp0_ = gtk_tree_view_get_model ((GtkTreeView*) tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + play_path (song->file); + } + } + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); +} + + +static void _gmpc_widget_similar_songs_play_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_widget_similar_songs_play_clicked (self, _sender); +} + + +static void _gmpc_widget_similar_songs_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_widget_similar_songs_add_clicked (self, _sender); +} + + +static void _gmpc_widget_similar_songs_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_widget_similar_songs_replace_clicked (self, _sender); +} + + +static gboolean gmpc_widget_similar_songs_tree_right_menu (GmpcWidgetSimilarSongs* self, GmpcMpdDataTreeview* tree, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + if ((*event).button == 3) { + GtkMenu* menu; + GtkImageMenuItem* item; + GtkImageMenuItem* _tmp0_; + GtkImageMenuItem* _tmp1_; + GtkImage* _tmp2_; + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-media-play", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_widget_similar_songs_play_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp0_ = NULL; + item = (_tmp0_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL)), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp0_); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_widget_similar_songs_add_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp1_ = NULL; + item = (_tmp1_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("_Replace"))), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp1_); + _tmp2_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU)))); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_widget_similar_songs_replace_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); + gtk_widget_show_all ((GtkWidget*) menu); + result = TRUE; + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + result = FALSE; + return result; +} + + +static gboolean _gmpc_widget_similar_songs_tree_right_menu_gtk_widget_button_release_event (GmpcMpdDataTreeview* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_widget_similar_songs_tree_right_menu (self, _sender, event); +} + + +static void _gmpc_widget_similar_songs_tree_row_activated_gtk_tree_view_row_activated (GmpcMpdDataTreeview* _sender, const GtkTreePath* path, GtkTreeViewColumn* column, gpointer self) { + gmpc_widget_similar_songs_tree_row_activated (self, _sender, path, column); +} + + +static gboolean gmpc_widget_similar_songs_update_sim_song (GmpcWidgetSimilarSongs* self) { + gboolean result; + MetaData* _tmp13_; + g_return_val_if_fail (self != NULL, FALSE); + if (self->priv->current == NULL) { + GtkWidget* _tmp0_; + self->priv->current = meta_data_get_text_list (self->priv->copy); + _tmp0_ = NULL; + self->priv->pchild = (_tmp0_ = (GtkWidget*) g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp0_); + gtk_container_add ((GtkContainer*) self, self->priv->pchild); + gtk_widget_show_all ((GtkWidget*) self); + } + gtk_progress_bar_pulse (GTK_PROGRESS_BAR (self->priv->pchild)); + if (self->priv->current != NULL) { + const char* _tmp1_; + char* entry; + _tmp1_ = NULL; + entry = (_tmp1_ = (const char*) self->priv->current->data, (_tmp1_ == NULL) ? NULL : g_strdup (_tmp1_)); + if (entry != NULL) { + char** _tmp3_; + gint split_size; + gint split_length1; + char** _tmp2_; + char** split; + _tmp3_ = NULL; + _tmp2_ = NULL; + split = (_tmp3_ = _tmp2_ = g_strsplit (entry, "::", 2), split_length1 = _vala_array_length (_tmp2_), split_size = split_length1, _tmp3_); + if (split_length1 == 2) { + char** _tmp5_; + gint art_split_size; + gint art_split_length1; + char** _tmp4_; + char** art_split; + MpdData* data; + mpd_database_search_start (connection, FALSE); + _tmp5_ = NULL; + _tmp4_ = NULL; + art_split = (_tmp5_ = _tmp4_ = g_strsplit (split[0], " ", 0), art_split_length1 = _vala_array_length (_tmp4_), art_split_size = art_split_length1, _tmp5_); + { + char** artist_collection; + int artist_collection_length1; + int artist_it; + artist_collection = art_split; + artist_collection_length1 = art_split_length1; + for (artist_it = 0; artist_it < art_split_length1; artist_it = artist_it + 1) { + const char* _tmp6_; + char* artist; + _tmp6_ = NULL; + artist = (_tmp6_ = artist_collection[artist_it], (_tmp6_ == NULL) ? NULL : g_strdup (_tmp6_)); + { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + artist = (g_free (artist), NULL); + } + } + } + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_TITLE, split[1]); + data = mpd_database_search_commit (connection); + if (data != NULL) { + MpdData* _tmp7_; + _tmp7_ = NULL; + self->priv->item = mpd_data_concatenate (self->priv->item, (_tmp7_ = data, data = NULL, _tmp7_)); + } + art_split = (_vala_array_free (art_split, art_split_length1, (GDestroyNotify) g_free), NULL); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + split = (_vala_array_free (split, split_length1, (GDestroyNotify) g_free), NULL); + } + self->priv->current = self->priv->current->next; + if (self->priv->current != NULL) { + result = TRUE; + entry = (g_free (entry), NULL); + return result; + } + entry = (g_free (entry), NULL); + } + gtk_object_destroy ((GtkObject*) self->priv->pchild); + if (self->priv->item != NULL) { + GmpcMpdDataModel* model; + MpdData* _tmp8_; + GmpcMpdDataTreeview* tree; + GtkWidget* _tmp10_; + GtkWidget* _tmp9_; + model = gmpc_mpddata_model_new (); + _tmp8_ = NULL; + gmpc_mpddata_model_set_mpd_data (model, (_tmp8_ = self->priv->item, self->priv->item = NULL, _tmp8_)); + tree = g_object_ref_sink (gmpc_mpddata_treeview_new ("similar-song", TRUE, (GtkTreeModel*) model)); + gmpc_mpddata_treeview_enable_click_fix (tree); + g_signal_connect_object ((GtkWidget*) tree, "button-release-event", (GCallback) _gmpc_widget_similar_songs_tree_right_menu_gtk_widget_button_release_event, self, 0); + g_signal_connect_object ((GtkTreeView*) tree, "row-activated", (GCallback) _gmpc_widget_similar_songs_tree_row_activated_gtk_tree_view_row_activated, self, 0); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) tree); + _tmp10_ = NULL; + _tmp9_ = NULL; + self->priv->pchild = (_tmp10_ = (_tmp9_ = (GtkWidget*) tree, (_tmp9_ == NULL) ? NULL : g_object_ref (_tmp9_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp10_); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + } else { + GtkLabel* label; + GtkWidget* _tmp12_; + GtkWidget* _tmp11_; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Unavailable"))); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) label); + _tmp12_ = NULL; + _tmp11_ = NULL; + self->priv->pchild = (_tmp12_ = (_tmp11_ = (GtkWidget*) label, (_tmp11_ == NULL) ? NULL : g_object_ref (_tmp11_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp12_); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } + _tmp13_ = NULL; + self->priv->copy = (_tmp13_ = NULL, (self->priv->copy == NULL) ? NULL : (self->priv->copy = (meta_data_free (self->priv->copy), NULL)), _tmp13_); + self->priv->idle_add = (guint) 0; + gtk_widget_show_all ((GtkWidget*) self); + result = FALSE; + return result; +} + + +static gboolean _gmpc_widget_similar_songs_update_sim_song_gsource_func (gpointer self) { + return gmpc_widget_similar_songs_update_sim_song (self); +} + + +static void gmpc_widget_similar_songs_metadata_changed (GmpcWidgetSimilarSongs* self, GmpcMetaWatcher* gmw2, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met) { + g_return_if_fail (self != NULL); + g_return_if_fail (gmw2 != NULL); + g_return_if_fail (song != NULL); + if (g_utf8_collate (self->priv->song->artist, song->artist) != 0) { + return; + } + if (type != META_SONG_SIMILAR) { + return; + } + if (self->priv->pchild != NULL) { + gtk_object_destroy ((GtkObject*) self->priv->pchild); + } + if (_result_ == META_DATA_FETCHING) { + GtkLabel* label; + GtkWidget* _tmp1_; + GtkWidget* _tmp0_; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Fetching .. "))); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) label); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->pchild = (_tmp1_ = (_tmp0_ = (GtkWidget*) label, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp1_); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } else { + if (_result_ == META_DATA_UNAVAILABLE) { + GtkLabel* label; + GtkWidget* _tmp3_; + GtkWidget* _tmp2_; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Unavailable"))); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) label); + _tmp3_ = NULL; + _tmp2_ = NULL; + self->priv->pchild = (_tmp3_ = (_tmp2_ = (GtkWidget*) label, (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp3_); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } else { + if (meta_data_is_text_list (met)) { + MetaData* _tmp4_; + _tmp4_ = NULL; + self->priv->copy = (_tmp4_ = meta_data_dup_steal (met), (self->priv->copy == NULL) ? NULL : (self->priv->copy = (meta_data_free (self->priv->copy), NULL)), _tmp4_); + self->priv->idle_add = g_idle_add (_gmpc_widget_similar_songs_update_sim_song_gsource_func, self); + return; + } else { + GtkLabel* label; + GtkWidget* _tmp6_; + GtkWidget* _tmp5_; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Unavailable"))); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) label); + _tmp6_ = NULL; + _tmp5_ = NULL; + self->priv->pchild = (_tmp6_ = (_tmp5_ = (GtkWidget*) label, (_tmp5_ == NULL) ? NULL : g_object_ref (_tmp5_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp6_); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } + } + } + gtk_widget_show_all ((GtkWidget*) self); +} + + +static void _gmpc_widget_similar_songs_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self) { + gmpc_widget_similar_songs_metadata_changed (self, _sender, song, type, _result_, met); +} + + +static void gmpc_widget_similar_songs_update (GmpcWidgetSimilarSongs* self) { + MetaData* item; + MetaData* _tmp2_; + MetaDataResult _tmp1_; + MetaData* _tmp0_; + MetaDataResult gm_result; + g_return_if_fail (self != NULL); + item = NULL; + g_signal_connect_object (gmw, "data-changed", (GCallback) _gmpc_widget_similar_songs_metadata_changed_gmpc_meta_watcher_data_changed, self, 0); + _tmp2_ = NULL; + _tmp0_ = NULL; + gm_result = (_tmp1_ = gmpc_meta_watcher_get_meta_path (gmw, self->priv->song, META_SONG_SIMILAR, &_tmp0_), item = (_tmp2_ = _tmp0_, (item == NULL) ? NULL : (item = (meta_data_free (item), NULL)), _tmp2_), _tmp1_); + gmpc_widget_similar_songs_metadata_changed (self, gmw, self->priv->song, META_SONG_SIMILAR, gm_result, item); + (item == NULL) ? NULL : (item = (meta_data_free (item), NULL)); +} + + +static void gmpc_widget_similar_songs_real_activate (GtkExpander* base) { + GmpcWidgetSimilarSongs * self; + self = (GmpcWidgetSimilarSongs*) base; + if (!gtk_expander_get_expanded ((GtkExpander*) self)) { + gtk_expander_set_expanded ((GtkExpander*) self, TRUE); + if (!self->priv->filled) { + gmpc_widget_similar_songs_update (self); + self->priv->filled = TRUE; + } + } else { + gtk_expander_set_expanded ((GtkExpander*) self, FALSE); + } +} + + +static void gmpc_widget_similar_songs_class_init (GmpcWidgetSimilarSongsClass * klass) { + gmpc_widget_similar_songs_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcWidgetSimilarSongsPrivate)); + GTK_EXPANDER_CLASS (klass)->activate = gmpc_widget_similar_songs_real_activate; + G_OBJECT_CLASS (klass)->finalize = gmpc_widget_similar_songs_finalize; +} + + +static void gmpc_widget_similar_songs_instance_init (GmpcWidgetSimilarSongs * self) { + self->priv = GMPC_WIDGET_SIMILAR_SONGS_GET_PRIVATE (self); + self->priv->song = NULL; + self->priv->filled = FALSE; + self->priv->pchild = NULL; + self->priv->idle_add = (guint) 0; + self->priv->copy = NULL; + self->priv->item = NULL; + self->priv->current = NULL; +} + + +static void gmpc_widget_similar_songs_finalize (GObject* obj) { + GmpcWidgetSimilarSongs * self; + self = GMPC_WIDGET_SIMILAR_SONGS (obj); + { + if (self->priv->idle_add > 0) { + g_source_remove (self->priv->idle_add); + self->priv->idle_add = (guint) 0; + } + } + (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); + (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)); + (self->priv->copy == NULL) ? NULL : (self->priv->copy = (meta_data_free (self->priv->copy), NULL)); + (self->priv->item == NULL) ? NULL : (self->priv->item = (mpd_data_free (self->priv->item), NULL)); + G_OBJECT_CLASS (gmpc_widget_similar_songs_parent_class)->finalize (obj); +} + + +GType gmpc_widget_similar_songs_get_type (void) { + static GType gmpc_widget_similar_songs_type_id = 0; + if (gmpc_widget_similar_songs_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcWidgetSimilarSongsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_widget_similar_songs_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcWidgetSimilarSongs), 0, (GInstanceInitFunc) gmpc_widget_similar_songs_instance_init, NULL }; + gmpc_widget_similar_songs_type_id = g_type_register_static (GTK_TYPE_EXPANDER, "GmpcWidgetSimilarSongs", &g_define_type_info, 0); + } + return gmpc_widget_similar_songs_type_id; +} + + +static void _g_list_free_g_object_unref (GList* self) { + g_list_foreach (self, (GFunc) g_object_unref, NULL); + g_list_free (self); +} + + +/** + * Handle signals from the metadata object. + */ +static void gmpc_widget_similar_artist_metadata_changed (GmpcWidgetSimilarArtist* self, GmpcMetaWatcher* gmw2, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met) { + GList* child_list; + gboolean _tmp1_; + gboolean _tmp2_; + g_return_if_fail (self != NULL); + g_return_if_fail (gmw2 != NULL); + g_return_if_fail (song != NULL); + /* only listen to the same artist and the same type */ + if (type != META_ARTIST_SIMILAR) { + return; + } + if (g_utf8_collate (self->priv->song->artist, song->artist) != 0) { + return; + } + /* clear widgets */ + child_list = gtk_container_get_children ((GtkContainer*) self); + { + GList* child_collection; + GList* child_it; + child_collection = child_list; + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { + GtkWidget* _tmp0_; + GtkWidget* child; + _tmp0_ = NULL; + child = (_tmp0_ = (GtkWidget*) child_it->data, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + { + gtk_object_destroy ((GtkObject*) child); + (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); + } + } + } + _tmp1_ = FALSE; + _tmp2_ = FALSE; + if (_result_ == META_DATA_UNAVAILABLE) { + _tmp2_ = TRUE; + } else { + _tmp2_ = meta_data_is_empty (met); + } + if (_tmp2_) { + _tmp1_ = TRUE; + } else { + _tmp1_ = !meta_data_is_text_list (met); + } + /* if unavailable set that in a label*/ + if (_tmp1_) { + GtkLabel* label; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Unavailable"))); + gtk_table_attach ((GtkTable*) self, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) 0, (guint) 1, GTK_SHRINK, GTK_SHRINK, (guint) 0, (guint) 0); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } else { + if (_result_ == META_DATA_FETCHING) { + GtkLabel* label; + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Fetching"))); + gtk_table_attach ((GtkTable*) self, (GtkWidget*) label, (guint) 0, (guint) 1, (guint) 0, (guint) 1, GTK_SHRINK, GTK_SHRINK, (guint) 0, (guint) 0); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + } else { + GList* in_db_list; + GList* list; + gint items; + gint i; + guint llength; + gint columns; + /* Set result */ + in_db_list = NULL; + list = g_list_copy (meta_data_get_text_list (met)); + list = g_list_sort (list, (GCompareFunc) g_utf8_collate); + items = 30; + i = 0; + if (list != NULL) { + GList* liter; + MpdData* data; + gint q; + liter = NULL; + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ARTIST); + data = mpd_database_search_commit (connection); + q = 0; + if (data != NULL) { + const MpdData* iter; + char* artist; + data = misc_sort_mpddata_by_album_disc_track (data); + iter = mpd_data_get_first (data); + liter = g_list_first (list); + artist = g_strdup (""); + if (g_utf8_validate (iter->tag, -1, NULL) == FALSE) { + g_error ("gmpc-metadata-browser2.vala:355: Failed to validate"); + } + if (iter->tag != NULL) { + char* _tmp3_; + _tmp3_ = NULL; + artist = (_tmp3_ = g_utf8_casefold (iter->tag, -1), artist = (g_free (artist), NULL), _tmp3_); + } + { + gboolean _tmp4_; + _tmp4_ = TRUE; + while (TRUE) { + char* _tmp7_; + gint _tmp8_; + gint res; + if (!_tmp4_) { + gboolean _tmp5_; + gboolean _tmp6_; + _tmp5_ = FALSE; + _tmp6_ = FALSE; + if (iter != NULL) { + _tmp6_ = liter != NULL; + } else { + _tmp6_ = FALSE; + } + if (_tmp6_) { + _tmp5_ = i < items; + } else { + _tmp5_ = FALSE; + } + if (!_tmp5_) { + break; + } + } + _tmp4_ = FALSE; + _tmp7_ = NULL; + res = (_tmp8_ = g_utf8_collate (_tmp7_ = g_utf8_casefold ((const char*) liter->data, -1), artist), _tmp7_ = (g_free (_tmp7_), NULL), _tmp8_); + q++; + if (res == 0) { + const char* _tmp9_; + char* d; + in_db_list = g_list_prepend (in_db_list, gmpc_widget_similar_artist_new_artist_button (self, iter->tag, TRUE)); + i++; + _tmp9_ = NULL; + d = (_tmp9_ = (const char*) liter->data, (_tmp9_ == NULL) ? NULL : g_strdup (_tmp9_)); + liter = liter->next; + list = g_list_remove (list, d); + /*liter = null;*/ + iter = mpd_data_get_next_real (iter, FALSE); + if (iter != NULL) { + char* _tmp10_; + _tmp10_ = NULL; + artist = (_tmp10_ = g_utf8_casefold (iter->tag, -1), artist = (g_free (artist), NULL), _tmp10_); + } + d = (g_free (d), NULL); + } else { + if (res > 0) { + /*list.remove(liter.data);*/ + iter = mpd_data_get_next_real (iter, FALSE); + if (iter != NULL) { + char* _tmp11_; + _tmp11_ = NULL; + artist = (_tmp11_ = g_utf8_casefold (iter->tag, -1), artist = (g_free (artist), NULL), _tmp11_); + } + } else { + liter = liter->next; + } + } + } + } + artist = (g_free (artist), NULL); + } + liter = g_list_first (list); + while (TRUE) { + gboolean _tmp12_; + const char* _tmp13_; + char* artist; + _tmp12_ = FALSE; + if (liter != NULL) { + _tmp12_ = i < items; + } else { + _tmp12_ = FALSE; + } + if (!_tmp12_) { + break; + } + _tmp13_ = NULL; + artist = (_tmp13_ = (const char*) liter->data, (_tmp13_ == NULL) ? NULL : g_strdup (_tmp13_)); + in_db_list = g_list_prepend (in_db_list, gmpc_widget_similar_artist_new_artist_button (self, artist, FALSE)); + i++; + liter = liter->next; + artist = (g_free (artist), NULL); + } + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + in_db_list = g_list_reverse (in_db_list); + i = 0; + gtk_widget_hide ((GtkWidget*) self); + llength = g_list_length (in_db_list); + columns = 3; + gtk_table_resize ((GtkTable*) self, (llength / columns) + 1, (guint) columns); + { + GList* item_collection; + GList* item_it; + item_collection = in_db_list; + for (item_it = item_collection; item_it != NULL; item_it = item_it->next) { + GtkWidget* _tmp14_; + GtkWidget* item; + _tmp14_ = NULL; + item = (_tmp14_ = (GtkWidget*) item_it->data, (_tmp14_ == NULL) ? NULL : g_object_ref (_tmp14_)); + { + gtk_table_attach ((GtkTable*) self, item, (guint) (i % columns), (guint) ((i % columns) + 1), (guint) (i / columns), (guint) ((i / columns) + 1), GTK_EXPAND | GTK_FILL, GTK_SHRINK, (guint) 0, (guint) 0); + i++; + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + } + } + } + (in_db_list == NULL) ? NULL : (in_db_list = (_g_list_free_g_object_unref (in_db_list), NULL)); + (list == NULL) ? NULL : (list = (g_list_free (list), NULL)); + } + } + gtk_widget_show_all ((GtkWidget*) self); + (child_list == NULL) ? NULL : (child_list = (g_list_free (child_list), NULL)); +} + + +static void gmpc_widget_similar_artist_artist_button_clicked (GmpcWidgetSimilarArtist* self, GtkButton* button) { + const char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + artist = (const char*) g_object_get_data ((GObject*) button, "artist"); + gmpc_metadata_browser_set_artist (self->priv->browser, artist); +} + + +static gboolean _misc_header_expose_event_gtk_widget_expose_event (GtkWidget* _sender, const GdkEventExpose* event, gpointer self) { + return misc_header_expose_event (_sender, event); +} + + +static void _gmpc_widget_similar_artist_artist_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_widget_similar_artist_artist_button_clicked (self, _sender); +} + + +GtkWidget* gmpc_widget_similar_artist_new_artist_button (GmpcWidgetSimilarArtist* self, const char* artist, gboolean in_db) { + GtkWidget* result; + GtkHBox* hbox; + GtkEventBox* event; + GmpcMetaImage* image; + mpd_Song* song; + char* _tmp1_; + const char* _tmp0_; + GtkLabel* label; + g_return_val_if_fail (self != NULL, NULL); + g_return_val_if_fail (artist != NULL, NULL); + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + gtk_container_set_border_width ((GtkContainer*) hbox, (guint) 4); + /* + var event = new Gtk.Frame(null); + */ + event = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()); + g_object_set ((GtkWidget*) event, "app-paintable", TRUE, NULL); + gtk_event_box_set_visible_window (event, TRUE); + g_signal_connect ((GtkWidget*) event, "expose-event", (GCallback) _misc_header_expose_event_gtk_widget_expose_event, NULL); + gtk_widget_set_size_request ((GtkWidget*) event, 200, 60); + image = g_object_ref_sink (gmpc_metaimage_new_size (META_ARTIST_ART, 48)); + song = mpd_newSong (); + _tmp1_ = NULL; + _tmp0_ = NULL; + song->artist = (_tmp1_ = (_tmp0_ = artist, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), song->artist = (g_free (song->artist), NULL), _tmp1_); + gmpc_metaimage_set_squared (image, TRUE); + gmpc_metaimage_update_cover_from_song_delayed (image, song); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) image, FALSE, FALSE, (guint) 0); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (artist)); + gtk_widget_set_tooltip_text ((GtkWidget*) label, artist); + gtk_label_set_selectable (label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) label, TRUE, TRUE, (guint) 0); + if (in_db) { + GtkButton* find; + GtkImage* _tmp2_; + find = g_object_ref_sink ((GtkButton*) gtk_button_new ()); + _tmp2_ = NULL; + gtk_container_add ((GtkContainer*) find, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-find", GTK_ICON_SIZE_MENU)))); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); + gtk_button_set_relief (find, GTK_RELIEF_NONE); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) find, FALSE, FALSE, (guint) 0); + g_object_set_data_full ((GObject*) find, "artist", (void*) g_strdup_printf ("%s", artist), (GDestroyNotify) g_free); + g_signal_connect_object (find, "clicked", (GCallback) _gmpc_widget_similar_artist_artist_button_clicked_gtk_button_clicked, self, 0); + (find == NULL) ? NULL : (find = (g_object_unref (find), NULL)); + } + gtk_container_add ((GtkContainer*) event, (GtkWidget*) hbox); + result = (GtkWidget*) event; + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (image == NULL) ? NULL : (image = (g_object_unref (image), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + return result; +} + + +static void _gmpc_widget_similar_artist_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self) { + gmpc_widget_similar_artist_metadata_changed (self, _sender, song, type, _result_, met); +} + + +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_construct (GType object_type, GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song) { + GmpcWidgetSimilarArtist * self; + MetaData* item; + GmpcMetadataBrowser* _tmp1_; + GmpcMetadataBrowser* _tmp0_; + mpd_Song* _tmp3_; + const mpd_Song* _tmp2_; + MetaData* _tmp6_; + MetaDataResult _tmp5_; + MetaData* _tmp4_; + MetaDataResult gm_result; + g_return_val_if_fail (browser != NULL, NULL); + g_return_val_if_fail (server != NULL, NULL); + g_return_val_if_fail (song != NULL, NULL); + self = g_object_newv (object_type, 0, NULL); + item = NULL; + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->browser = (_tmp1_ = (_tmp0_ = browser, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)), (self->priv->browser == NULL) ? NULL : (self->priv->browser = (g_object_unref (self->priv->browser), NULL)), _tmp1_); + _tmp3_ = NULL; + _tmp2_ = NULL; + self->priv->song = (_tmp3_ = (_tmp2_ = song, (_tmp2_ == NULL) ? NULL : mpd_songDup (_tmp2_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp3_); + gtk_table_set_homogeneous ((GtkTable*) self, TRUE); + gtk_table_set_row_spacings ((GtkTable*) self, (guint) 6); + gtk_table_set_col_spacings ((GtkTable*) self, (guint) 6); + g_signal_connect_object (gmw, "data-changed", (GCallback) _gmpc_widget_similar_artist_metadata_changed_gmpc_meta_watcher_data_changed, self, 0); + _tmp6_ = NULL; + _tmp4_ = NULL; + gm_result = (_tmp5_ = gmpc_meta_watcher_get_meta_path (gmw, song, META_ARTIST_SIMILAR, &_tmp4_), item = (_tmp6_ = _tmp4_, (item == NULL) ? NULL : (item = (meta_data_free (item), NULL)), _tmp6_), _tmp5_); + if (gm_result == META_DATA_AVAILABLE) { + gmpc_widget_similar_artist_metadata_changed (self, gmw, self->priv->song, META_ARTIST_SIMILAR, gm_result, item); + } + (item == NULL) ? NULL : (item = (meta_data_free (item), NULL)); + return self; +} + + +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_new (GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song) { + return gmpc_widget_similar_artist_construct (GMPC_WIDGET_TYPE_SIMILAR_ARTIST, browser, server, song); +} + + +static void gmpc_widget_similar_artist_class_init (GmpcWidgetSimilarArtistClass * klass) { + gmpc_widget_similar_artist_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcWidgetSimilarArtistPrivate)); + G_OBJECT_CLASS (klass)->finalize = gmpc_widget_similar_artist_finalize; +} + + +static void gmpc_widget_similar_artist_instance_init (GmpcWidgetSimilarArtist * self) { + self->priv = GMPC_WIDGET_SIMILAR_ARTIST_GET_PRIVATE (self); + self->priv->song = NULL; + self->priv->browser = NULL; +} + + +static void gmpc_widget_similar_artist_finalize (GObject* obj) { + GmpcWidgetSimilarArtist * self; + self = GMPC_WIDGET_SIMILAR_ARTIST (obj); + (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); + (self->priv->browser == NULL) ? NULL : (self->priv->browser = (g_object_unref (self->priv->browser), NULL)); + G_OBJECT_CLASS (gmpc_widget_similar_artist_parent_class)->finalize (obj); +} + + +GType gmpc_widget_similar_artist_get_type (void) { + static GType gmpc_widget_similar_artist_type_id = 0; + if (gmpc_widget_similar_artist_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcWidgetSimilarArtistClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_widget_similar_artist_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcWidgetSimilarArtist), 0, (GInstanceInitFunc) gmpc_widget_similar_artist_instance_init, NULL }; + gmpc_widget_similar_artist_type_id = g_type_register_static (GTK_TYPE_TABLE, "GmpcWidgetSimilarArtist", &g_define_type_info, 0); + } + return gmpc_widget_similar_artist_type_id; +} + + +/** + * Expand/collaps the view + */ +static void gmpc_widget_more_expand (GmpcWidgetMore* self, GtkButton* but) { + g_return_if_fail (self != NULL); + g_return_if_fail (but != NULL); + if (self->priv->expand_state == 0) { + GtkImage* _tmp0_; + gtk_button_set_label (but, _ ("(less)")); + _tmp0_ = NULL; + gtk_button_set_image (but, (GtkWidget*) (_tmp0_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_MENU)))); + (_tmp0_ == NULL) ? NULL : (_tmp0_ = (g_object_unref (_tmp0_), NULL)); + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, -1); + self->priv->expand_state = 1; + } else { + GtkImage* _tmp1_; + gtk_button_set_label (but, _ ("(more)")); + _tmp1_ = NULL; + gtk_button_set_image (but, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU)))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, self->priv->max_height); + self->priv->expand_state = 0; + } +} + + +/* if hte size of the child is small enough to fit in the + * small mode don't show the more/less button */ +static void gmpc_widget_more_size_changed (GmpcWidgetMore* self, GtkWidget* child, const GdkRectangle* alloc) { + g_return_if_fail (self != NULL); + g_return_if_fail (child != NULL); + if ((*alloc).height < (self->priv->max_height - 12)) { + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, -1); + gtk_widget_hide ((GtkWidget*) self->priv->expand_button); + } else { + if (self->priv->expand_state == 0) { + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, self->priv->max_height); + } + gtk_widget_show ((GtkWidget*) self->priv->expand_button); + } +} + + +static void gmpc_widget_more_bg_style_changed (GmpcWidgetMore* self, GtkWidget* frame, GtkStyle* style) { + GdkColor _tmp0_ = {0}; + GdkColor _tmp1_ = {0}; + GdkColor _tmp2_ = {0}; + GdkColor _tmp3_ = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (frame != NULL); + gtk_widget_modify_bg (self->priv->pchild, GTK_STATE_NORMAL, (_tmp0_ = gtk_widget_get_style ((GtkWidget*) gtk_widget_get_parent ((GtkWidget*) self))->mid[GTK_STATE_NORMAL], &_tmp0_)); + gtk_widget_modify_base (self->priv->pchild, GTK_STATE_NORMAL, (_tmp1_ = gtk_widget_get_style ((GtkWidget*) gtk_widget_get_parent ((GtkWidget*) self))->mid[GTK_STATE_NORMAL], &_tmp1_)); + gtk_widget_modify_bg ((GtkWidget*) self->priv->eventbox, GTK_STATE_NORMAL, (_tmp2_ = gtk_widget_get_style ((GtkWidget*) gtk_widget_get_parent ((GtkWidget*) self))->dark[GTK_STATE_NORMAL], &_tmp2_)); + gtk_widget_modify_base ((GtkWidget*) self->priv->eventbox, GTK_STATE_NORMAL, (_tmp3_ = gtk_widget_get_style ((GtkWidget*) gtk_widget_get_parent ((GtkWidget*) self))->dark[GTK_STATE_NORMAL], &_tmp3_)); +} + + +static void _gmpc_widget_more_bg_style_changed_gtk_widget_style_set (GmpcWidgetMore* _sender, GtkStyle* previous_style, gpointer self) { + gmpc_widget_more_bg_style_changed (self, _sender, previous_style); +} + + +static void _gmpc_widget_more_expand_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_widget_more_expand (self, _sender); +} + + +static void _gmpc_widget_more_size_changed_gtk_widget_size_allocate (GtkWidget* _sender, const GdkRectangle* allocation, gpointer self) { + gmpc_widget_more_size_changed (self, _sender, allocation); +} + + +/** + * @param unique_id a string used to store/restore state. + * @parem markup a string using following PangoMarkup to show in the label. + * @param child a Gtk.Widget that packs into it as child. + * + * @returns a Gmpc.Widget.More object. + */ +GmpcWidgetMore* gmpc_widget_more_construct (GType object_type, const char* unique_id, const char* markup, GtkWidget* child) { + GmpcWidgetMore * self; + char* _tmp1_; + const char* _tmp0_; + GtkWidget* _tmp3_; + GtkWidget* _tmp2_; + GtkAlignment* _tmp4_; + GtkEventBox* _tmp5_; + GtkHBox* hbox; + GtkLabel* label; + const char* _tmp6_; + GtkButton* _tmp7_; + const char* _tmp8_; + GtkImage* _tmp9_; + g_return_val_if_fail (unique_id != NULL, NULL); + g_return_val_if_fail (markup != NULL, NULL); + g_return_val_if_fail (child != NULL, NULL); + self = g_object_newv (object_type, 0, NULL); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->unique_id = (_tmp1_ = (_tmp0_ = unique_id, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), self->priv->unique_id = (g_free (self->priv->unique_id), NULL), _tmp1_); + gtk_frame_set_shadow_type ((GtkFrame*) self, GTK_SHADOW_NONE); + _tmp3_ = NULL; + _tmp2_ = NULL; + self->priv->pchild = (_tmp3_ = (_tmp2_ = child, (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)), (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)), _tmp3_); + _tmp4_ = NULL; + self->priv->ali = (_tmp4_ = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.f, 0.f, 1.f, 0.f)), (self->priv->ali == NULL) ? NULL : (self->priv->ali = (g_object_unref (self->priv->ali), NULL)), _tmp4_); + gtk_alignment_set_padding (self->priv->ali, (guint) 1, (guint) 1, (guint) 1, (guint) 1); + _tmp5_ = NULL; + self->priv->eventbox = (_tmp5_ = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), (self->priv->eventbox == NULL) ? NULL : (self->priv->eventbox = (g_object_unref (self->priv->eventbox), NULL)), _tmp5_); + gtk_event_box_set_visible_window (self->priv->eventbox, TRUE); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->eventbox); + gtk_container_add ((GtkContainer*) self->priv->eventbox, (GtkWidget*) self->priv->ali); + if (cfg_get_single_value_as_int_with_default (config, "MoreWidget", unique_id, 0) == 1) { + self->priv->expand_state = 1; + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, -1); + } else { + gtk_widget_set_size_request ((GtkWidget*) self->priv->ali, -1, self->priv->max_height); + } + gtk_container_add ((GtkContainer*) self->priv->ali, child); + g_signal_connect_object ((GtkWidget*) self, "style-set", (GCallback) _gmpc_widget_more_bg_style_changed_gtk_widget_style_set, self, 0); + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_selectable (label, TRUE); + gtk_label_set_markup (label, markup); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp6_ = NULL; + if (self->priv->expand_state == 0) { + _tmp6_ = _ ("(more)"); + } else { + _tmp6_ = _ ("(less)"); + } + _tmp7_ = NULL; + self->priv->expand_button = (_tmp7_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label (_tmp6_)), (self->priv->expand_button == NULL) ? NULL : (self->priv->expand_button = (g_object_unref (self->priv->expand_button), NULL)), _tmp7_); + _tmp8_ = NULL; + if (self->priv->expand_state == 0) { + _tmp8_ = "gtk-add"; + } else { + _tmp8_ = "gtk-remove"; + } + _tmp9_ = NULL; + gtk_button_set_image (self->priv->expand_button, (GtkWidget*) (_tmp9_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock (_tmp8_, GTK_ICON_SIZE_MENU)))); + (_tmp9_ == NULL) ? NULL : (_tmp9_ = (g_object_unref (_tmp9_), NULL)); + gtk_button_set_relief (self->priv->expand_button, GTK_RELIEF_NONE); + g_signal_connect_object (self->priv->expand_button, "clicked", (GCallback) _gmpc_widget_more_expand_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) self->priv->expand_button, FALSE, FALSE, (guint) 0); + gtk_frame_set_label_widget ((GtkFrame*) self, (GtkWidget*) hbox); + g_signal_connect_object (child, "size-allocate", (GCallback) _gmpc_widget_more_size_changed_gtk_widget_size_allocate, self, 0); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + return self; +} + + +GmpcWidgetMore* gmpc_widget_more_new (const char* unique_id, const char* markup, GtkWidget* child) { + return gmpc_widget_more_construct (GMPC_WIDGET_TYPE_MORE, unique_id, markup, child); +} + + +static void gmpc_widget_more_class_init (GmpcWidgetMoreClass * klass) { + gmpc_widget_more_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcWidgetMorePrivate)); + G_OBJECT_CLASS (klass)->finalize = gmpc_widget_more_finalize; +} + + +static void gmpc_widget_more_instance_init (GmpcWidgetMore * self) { + self->priv = GMPC_WIDGET_MORE_GET_PRIVATE (self); + self->priv->ali = NULL; + self->priv->expand_state = 0; + self->priv->expand_button = NULL; + self->priv->max_height = 100; + self->priv->eventbox = NULL; + self->priv->pchild = NULL; + self->priv->unique_id = NULL; +} + + +static void gmpc_widget_more_finalize (GObject* obj) { + GmpcWidgetMore * self; + self = GMPC_WIDGET_MORE (obj); + { + if (self->priv->unique_id != NULL) { + cfg_set_single_value_as_int (config, "MoreWidget", self->priv->unique_id, self->priv->expand_state); + } + } + (self->priv->ali == NULL) ? NULL : (self->priv->ali = (g_object_unref (self->priv->ali), NULL)); + (self->priv->expand_button == NULL) ? NULL : (self->priv->expand_button = (g_object_unref (self->priv->expand_button), NULL)); + (self->priv->eventbox == NULL) ? NULL : (self->priv->eventbox = (g_object_unref (self->priv->eventbox), NULL)); + (self->priv->pchild == NULL) ? NULL : (self->priv->pchild = (g_object_unref (self->priv->pchild), NULL)); + self->priv->unique_id = (g_free (self->priv->unique_id), NULL); + G_OBJECT_CLASS (gmpc_widget_more_parent_class)->finalize (obj); +} + + +GType gmpc_widget_more_get_type (void) { + static GType gmpc_widget_more_type_id = 0; + if (gmpc_widget_more_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcWidgetMoreClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_widget_more_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcWidgetMore), 0, (GInstanceInitFunc) gmpc_widget_more_instance_init, NULL }; + gmpc_widget_more_type_id = g_type_register_static (GTK_TYPE_FRAME, "GmpcWidgetMore", &g_define_type_info, 0); + } + return gmpc_widget_more_type_id; +} + + +static gint* gmpc_now_playing_real_get_version (GmpcPluginBase* base, int* result_length1) { + GmpcNowPlaying * self; + gint* result; + gint* _tmp0_; + self = (GmpcNowPlaying*) base; + _tmp0_ = NULL; + result = (_tmp0_ = GMPC_NOW_PLAYING_version, *result_length1 = G_N_ELEMENTS (GMPC_NOW_PLAYING_version), _tmp0_); + return result; +} + + +/* Name */ +static const char* gmpc_now_playing_real_get_name (GmpcPluginBase* base) { + GmpcNowPlaying * self; + const char* result; + self = (GmpcNowPlaying*) base; + result = N_ ("Now Playing"); + return result; +} + + +/* Save our position in the side-bar */ +static void gmpc_now_playing_real_save_yourself (GmpcPluginBase* base) { + GmpcNowPlaying * self; + self = (GmpcNowPlaying*) base; + if (self->priv->paned != NULL) { + GtkScrolledWindow* _tmp0_; + gtk_object_destroy ((GtkObject*) self->priv->paned); + _tmp0_ = NULL; + self->priv->paned = (_tmp0_ = NULL, (self->priv->paned == NULL) ? NULL : (self->priv->paned = (g_object_unref (self->priv->paned), NULL)), _tmp0_); + } + if (self->priv->np_ref != NULL) { + GtkTreePath* path; + path = gtk_tree_row_reference_get_path (self->priv->np_ref); + if (path != NULL) { + gint* _tmp1_; + gint indices_size; + gint indices_length1; + gint* indices; + _tmp1_ = NULL; + indices = (_tmp1_ = gtk_tree_path_get_indices (path), indices_length1 = -1, indices_size = indices_length1, _tmp1_); + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "position", indices[0]); + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } +} + + +static void gmpc_now_playing_status_changed (GmpcNowPlaying* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what) { + gboolean _tmp0_; + gboolean _tmp1_; + gboolean _tmp2_; + g_return_if_fail (self != NULL); + g_return_if_fail (conn != NULL); + g_return_if_fail (server != NULL); + if (self->priv->paned == NULL) { + return; + } + _tmp0_ = FALSE; + _tmp1_ = FALSE; + _tmp2_ = FALSE; + if ((what & MPD_CST_SONGID) == MPD_CST_SONGID) { + _tmp2_ = TRUE; + } else { + _tmp2_ = (what & MPD_CST_PLAYLIST) == MPD_CST_PLAYLIST; + } + if (_tmp2_) { + _tmp1_ = TRUE; + } else { + _tmp1_ = (what & MPD_CST_STATE) == MPD_CST_STATE; + } + if (_tmp1_) { + _tmp0_ = self->priv->selected; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + gmpc_now_playing_update (self); + } +} + + +/** + * Browser Interface bindings + */ +static void gmpc_now_playing_real_browser_add (GmpcPluginBrowserIface* base, GtkWidget* category_tree) { + GmpcNowPlaying * self; + GtkTreeView* _tmp0_; + GtkTreeView* tree; + GtkListStore* _tmp1_; + GtkListStore* store; + GtkTreeModel* _tmp2_; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + GtkTreeRowReference* _tmp4_; + GtkTreePath* _tmp3_; + self = (GmpcNowPlaying*) base; + g_return_if_fail (category_tree != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (category_tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + store = (_tmp1_ = GTK_LIST_STORE (gtk_tree_view_get_model (tree)), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + model = (_tmp2_ = gtk_tree_view_get_model (tree), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + playlist3_insert_browser (&iter, cfg_get_single_value_as_int_with_default (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "position", 0)); + gtk_list_store_set (store, &iter, 0, ((GmpcPluginBase*) self)->id, 1, _ (gmpc_plugin_base_get_name ((GmpcPluginBase*) self)), 3, "media-audiofile", -1); + /* Create a row reference */ + _tmp4_ = NULL; + _tmp3_ = NULL; + self->priv->np_ref = (_tmp4_ = gtk_tree_row_reference_new (model, _tmp3_ = gtk_tree_model_get_path (model, &iter)), (self->priv->np_ref == NULL) ? NULL : (self->priv->np_ref = (gtk_tree_row_reference_free (self->priv->np_ref), NULL)), _tmp4_); + (_tmp3_ == NULL) ? NULL : (_tmp3_ = (gtk_tree_path_free (_tmp3_), NULL)); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (store == NULL) ? NULL : (store = (g_object_unref (store), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); +} + + +static void gmpc_now_playing_real_browser_selected (GmpcPluginBrowserIface* base, GtkContainer* container) { + GmpcNowPlaying * self; + self = (GmpcNowPlaying*) base; + g_return_if_fail (container != NULL); + self->priv->selected = TRUE; + gmpc_now_playing_browser_init (self); + gtk_container_add (container, (GtkWidget*) self->priv->paned); + gmpc_now_playing_update (self); +} + + +static void gmpc_now_playing_real_browser_unselected (GmpcPluginBrowserIface* base, GtkContainer* container) { + GmpcNowPlaying * self; + self = (GmpcNowPlaying*) base; + g_return_if_fail (container != NULL); + self->priv->selected = FALSE; + gtk_container_remove (container, (GtkWidget*) self->priv->paned); +} + + +static void gmpc_now_playing_browser_bg_style_changed (GmpcNowPlaying* self, GtkScrolledWindow* bg, GtkStyle* style) { + GdkColor _tmp0_ = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (bg != NULL); + gtk_widget_modify_bg ((GtkWidget*) self->priv->container, GTK_STATE_NORMAL, (_tmp0_ = gtk_widget_get_style ((GtkWidget*) self->priv->paned)->base[GTK_STATE_NORMAL], &_tmp0_)); +} + + +/* Handle buttons presses, f.e. for scrolling */ +static gboolean gmpc_now_playing_browser_key_release_event (GmpcNowPlaying* self, const GdkEventKey* event) { + gboolean result; + GtkAdjustment* _tmp0_; + GtkAdjustment* adj; + double incr; + g_return_val_if_fail (self != NULL, FALSE); + _tmp0_ = NULL; + adj = (_tmp0_ = gtk_scrolled_window_get_vadjustment (self->priv->paned), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + incr = (double) 20; + g_object_get ((GObject*) adj, "step-increment", &incr, NULL); + if ((*event).keyval == 0xff55) { + /* GDK_Page_Up*/ + gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) - incr); + result = TRUE; + (adj == NULL) ? NULL : (adj = (g_object_unref (adj), NULL)); + return result; + } else { + if ((*event).keyval == 0xff56) { + /* GDK_Page_Down*/ + gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + incr); + result = TRUE; + (adj == NULL) ? NULL : (adj = (g_object_unref (adj), NULL)); + return result; + } + } + result = FALSE; + (adj == NULL) ? NULL : (adj = (g_object_unref (adj), NULL)); + return result; +} + + +static void _gmpc_now_playing_browser_bg_style_changed_gtk_widget_style_set (GtkScrolledWindow* _sender, GtkStyle* previous_style, gpointer self) { + gmpc_now_playing_browser_bg_style_changed (self, _sender, previous_style); +} + + +static gboolean _gmpc_now_playing_browser_key_release_event_gtk_widget_key_release_event (GtkScrolledWindow* _sender, const GdkEventKey* event, gpointer self) { + return gmpc_now_playing_browser_key_release_event (self, event); +} + + +static void gmpc_now_playing_browser_init (GmpcNowPlaying* self) { + g_return_if_fail (self != NULL); + if (self->priv->paned == NULL) { + GtkScrolledWindow* _tmp0_; + GtkEventBox* _tmp1_; + _tmp0_ = NULL; + self->priv->paned = (_tmp0_ = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)), (self->priv->paned == NULL) ? NULL : (self->priv->paned = (g_object_unref (self->priv->paned), NULL)), _tmp0_); + gtk_scrolled_window_set_policy (self->priv->paned, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (self->priv->paned, GTK_SHADOW_NONE); + _tmp1_ = NULL; + self->priv->container = (_tmp1_ = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), (self->priv->container == NULL) ? NULL : (self->priv->container = (g_object_unref (self->priv->container), NULL)), _tmp1_); + gtk_event_box_set_visible_window (self->priv->container, TRUE); + g_signal_connect_object ((GtkWidget*) self->priv->paned, "style-set", (GCallback) _gmpc_now_playing_browser_bg_style_changed_gtk_widget_style_set, self, 0); + gtk_scrolled_window_add_with_viewport (self->priv->paned, (GtkWidget*) self->priv->container); + g_object_set ((GObject*) gtk_scrolled_window_get_vadjustment (self->priv->paned), "step-increment", 20.0, NULL); + /* Bind keys */ + g_signal_connect_object ((GtkWidget*) self->priv->paned, "key-release-event", (GCallback) _gmpc_now_playing_browser_key_release_event_gtk_widget_key_release_event, self, 0); + } +} + + +static void gmpc_now_playing_update (GmpcNowPlaying* self) { + GError * _inner_error_; + const mpd_Song* _tmp0_; + mpd_Song* song; + gboolean _tmp1_; + g_return_if_fail (self != NULL); + _inner_error_ = NULL; + if (self->priv->paned == NULL) { + return; + } + _tmp0_ = NULL; + song = (_tmp0_ = mpd_playlist_get_current_song (connection), (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)); + _tmp1_ = FALSE; + if (song != NULL) { + _tmp1_ = mpd_player_get_state (connection) != MPD_STATUS_STATE_STOP; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + char* checksum; + checksum = mpd_song_checksum (song); + if (_vala_strcmp0 (checksum, self->priv->song_checksum) != 0) { + GList* list; + GtkWidget* view; + char* _tmp4_; + const char* _tmp3_; + /* Clear */ + list = gtk_container_get_children ((GtkContainer*) self->priv->container); + { + GList* child_collection; + GList* child_it; + child_collection = list; + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { + GtkWidget* _tmp2_; + GtkWidget* child; + _tmp2_ = NULL; + child = (_tmp2_ = (GtkWidget*) child_it->data, (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + { + gtk_object_destroy ((GtkObject*) child); + (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); + } + } + } + view = gmpc_metadata_browser_metadata_box_show_song (self->priv->browser, song, FALSE); + gtk_container_add ((GtkContainer*) self->priv->container, view); + _tmp4_ = NULL; + _tmp3_ = NULL; + self->priv->song_checksum = (_tmp4_ = (_tmp3_ = checksum, (_tmp3_ == NULL) ? NULL : g_strdup (_tmp3_)), self->priv->song_checksum = (g_free (self->priv->song_checksum), NULL), _tmp4_); + (list == NULL) ? NULL : (list = (g_list_free (list), NULL)); + (view == NULL) ? NULL : (view = (g_object_unref (view), NULL)); + } + checksum = (g_free (checksum), NULL); + } else { + char* _tmp5_; + GList* list; + GtkIconTheme* _tmp7_; + GtkIconTheme* it; + GtkIconInfo* info; + const char* _tmp8_; + char* path; + GtkImage* image; + GtkHBox* hbox; + GtkLabel* label; + char* _tmp11_; + GtkAlignment* ali; + _tmp5_ = NULL; + self->priv->song_checksum = (_tmp5_ = NULL, self->priv->song_checksum = (g_free (self->priv->song_checksum), NULL), _tmp5_); + /* Clear */ + list = gtk_container_get_children ((GtkContainer*) self->priv->container); + { + GList* child_collection; + GList* child_it; + child_collection = list; + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { + GtkWidget* _tmp6_; + GtkWidget* child; + _tmp6_ = NULL; + child = (_tmp6_ = (GtkWidget*) child_it->data, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)); + { + gtk_object_destroy ((GtkObject*) child); + (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); + } + } + } + _tmp7_ = NULL; + it = (_tmp7_ = gtk_icon_theme_get_default (), (_tmp7_ == NULL) ? NULL : g_object_ref (_tmp7_)); + info = gtk_icon_theme_lookup_icon (it, "gmpc", 150, 0); + _tmp8_ = NULL; + path = (_tmp8_ = gtk_icon_info_get_filename (info), (_tmp8_ == NULL) ? NULL : g_strdup (_tmp8_)); + image = NULL; + if (path != NULL) { + { + GdkPixbuf* pb; + GtkImage* _tmp9_; + pb = gdk_pixbuf_new_from_file_at_scale (path, 150, 150, TRUE, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch0_g_error; + goto __finally0; + } + _tmp9_ = NULL; + image = (_tmp9_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_pixbuf (pb)), (image == NULL) ? NULL : (image = (g_object_unref (image), NULL)), _tmp9_); + (pb == NULL) ? NULL : (pb = (g_object_unref (pb), NULL)); + } + goto __finally0; + __catch0_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally0: + if (_inner_error_ != NULL) { + (list == NULL) ? NULL : (list = (g_list_free (list), NULL)); + (it == NULL) ? NULL : (it = (g_object_unref (it), NULL)); + (info == NULL) ? NULL : (info = (gtk_icon_info_free (info), NULL)); + path = (g_free (path), NULL); + (image == NULL) ? NULL : (image = (g_object_unref (image), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + } + if (image == NULL) { + GtkImage* _tmp10_; + _tmp10_ = NULL; + image = (_tmp10_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("gmpc", GTK_ICON_SIZE_DIALOG)), (image == NULL) ? NULL : (image = (g_object_unref (image), NULL)), _tmp10_); + } + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Gnome Music Player Client"))); + gtk_label_set_selectable (label, TRUE); + _tmp11_ = NULL; + gtk_label_set_markup (label, _tmp11_ = g_strdup_printf ("%s", 28 * PANGO_SCALE, _ ("Gnome Music Player Client"))); + _tmp11_ = (g_free (_tmp11_), NULL); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) image, FALSE, FALSE, (guint) 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.5f, 0.5f, 0.0f, 0.0f)); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) hbox); + gtk_container_add ((GtkContainer*) self->priv->container, (GtkWidget*) ali); + (list == NULL) ? NULL : (list = (g_list_free (list), NULL)); + (it == NULL) ? NULL : (it = (g_object_unref (it), NULL)); + (info == NULL) ? NULL : (info = (gtk_icon_info_free (info), NULL)); + path = (g_free (path), NULL); + (image == NULL) ? NULL : (image = (g_object_unref (image), NULL)); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); + } + gtk_widget_show_all ((GtkWidget*) self->priv->paned); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +/** + * Makes gmpc jump to the now playing browser + */ +static void gmpc_now_playing_select_now_playing_browser (GmpcNowPlaying* self, GtkImageMenuItem* item) { + GtkTreeView* tree; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + GtkTreePath* path; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + tree = playlist3_get_category_tree_view (); + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + path = gtk_tree_row_reference_get_path (self->priv->np_ref); + if (path != NULL) { + gtk_tree_selection_select_path (sel, path); + } + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); +} + + +static void _gmpc_now_playing_select_now_playing_browser_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_now_playing_select_now_playing_browser (self, _sender); +} + + +/** + * Gmpc.Plugin.BrowserIface.add_go_menu + */ +static gint gmpc_now_playing_real_browser_add_go_menu (GmpcPluginBrowserIface* base, GtkMenu* menu) { + GmpcNowPlaying * self; + gint result; + self = (GmpcNowPlaying*) base; + g_return_val_if_fail (menu != NULL, 0); + if (gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + GtkImageMenuItem* item; + GtkImage* _tmp0_; + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("Now Playing"))); + _tmp0_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp0_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("media-audiofile", GTK_ICON_SIZE_MENU)))); + (_tmp0_ == NULL) ? NULL : (_tmp0_ = (g_object_unref (_tmp0_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_now_playing_select_now_playing_browser_gtk_menu_item_activate, self, 0); + gtk_widget_add_accelerator ((GtkWidget*) item, "activate", gtk_menu_get_accel_group (menu), (guint) 0x069, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + result = 1; + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + result = 0; + return result; +} + + +/** + * Now playing uses the MetaDataBrowser plugin to "plot" the view */ +GmpcNowPlaying* gmpc_now_playing_construct (GType object_type) { + GmpcNowPlaying * self; + self = (GmpcNowPlaying*) gmpc_plugin_base_construct (object_type); + return self; +} + + +GmpcNowPlaying* gmpc_now_playing_new (void) { + return gmpc_now_playing_construct (GMPC_TYPE_NOW_PLAYING); +} + + +static void _gmpc_now_playing_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self) { + gmpc_now_playing_status_changed (self, _sender, server, what); +} + + +static GObject * gmpc_now_playing_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcNowPlayingClass * klass; + GObjectClass * parent_class; + GmpcNowPlaying * self; + klass = GMPC_NOW_PLAYING_CLASS (g_type_class_peek (GMPC_TYPE_NOW_PLAYING)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_NOW_PLAYING (obj); + { + GmpcMetadataBrowser* _tmp0_; + /* Set the plugin as an internal one and of type pl_browser */ + ((GmpcPluginBase*) self)->plugin_type = 2 | 8; + /* Track changed status */ + g_signal_connect_object (gmpcconn, "status-changed", (GCallback) _gmpc_now_playing_status_changed_gmpc_connection_status_changed, self, 0); + /* Create a metadata browser plugin, we abuse for the view */ + _tmp0_ = NULL; + self->priv->browser = (_tmp0_ = gmpc_metadata_browser_new (), (self->priv->browser == NULL) ? NULL : (self->priv->browser = (g_object_unref (self->priv->browser), NULL)), _tmp0_); + } + return obj; +} + + +static void gmpc_now_playing_class_init (GmpcNowPlayingClass * klass) { + gmpc_now_playing_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcNowPlayingPrivate)); + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_now_playing_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_now_playing_real_get_name; + GMPC_PLUGIN_BASE_CLASS (klass)->save_yourself = gmpc_now_playing_real_save_yourself; + G_OBJECT_CLASS (klass)->constructor = gmpc_now_playing_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_now_playing_finalize; +} + + +static void gmpc_now_playing_gmpc_plugin_browser_iface_interface_init (GmpcPluginBrowserIfaceIface * iface) { + gmpc_now_playing_gmpc_plugin_browser_iface_parent_iface = g_type_interface_peek_parent (iface); + iface->browser_add = gmpc_now_playing_real_browser_add; + iface->browser_selected = gmpc_now_playing_real_browser_selected; + iface->browser_unselected = gmpc_now_playing_real_browser_unselected; + iface->browser_add_go_menu = gmpc_now_playing_real_browser_add_go_menu; +} + + +static void gmpc_now_playing_instance_init (GmpcNowPlaying * self) { + self->priv = GMPC_NOW_PLAYING_GET_PRIVATE (self); + self->priv->np_ref = NULL; + self->priv->browser = NULL; + self->priv->paned = NULL; + self->priv->container = NULL; + self->priv->selected = FALSE; + self->priv->song_checksum = NULL; +} + + +static void gmpc_now_playing_finalize (GObject* obj) { + GmpcNowPlaying * self; + self = GMPC_NOW_PLAYING (obj); + (self->priv->np_ref == NULL) ? NULL : (self->priv->np_ref = (gtk_tree_row_reference_free (self->priv->np_ref), NULL)); + (self->priv->browser == NULL) ? NULL : (self->priv->browser = (g_object_unref (self->priv->browser), NULL)); + (self->priv->paned == NULL) ? NULL : (self->priv->paned = (g_object_unref (self->priv->paned), NULL)); + (self->priv->container == NULL) ? NULL : (self->priv->container = (g_object_unref (self->priv->container), NULL)); + self->priv->song_checksum = (g_free (self->priv->song_checksum), NULL); + G_OBJECT_CLASS (gmpc_now_playing_parent_class)->finalize (obj); +} + + +GType gmpc_now_playing_get_type (void) { + static GType gmpc_now_playing_type_id = 0; + if (gmpc_now_playing_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcNowPlayingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_now_playing_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcNowPlaying), 0, (GInstanceInitFunc) gmpc_now_playing_instance_init, NULL }; + static const GInterfaceInfo gmpc_plugin_browser_iface_info = { (GInterfaceInitFunc) gmpc_now_playing_gmpc_plugin_browser_iface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + gmpc_now_playing_type_id = g_type_register_static (GMPC_PLUGIN_TYPE_BASE, "GmpcNowPlaying", &g_define_type_info, 0); + g_type_add_interface_static (gmpc_now_playing_type_id, GMPC_PLUGIN_TYPE_BROWSER_IFACE, &gmpc_plugin_browser_iface_info); + } + return gmpc_now_playing_type_id; +} + + + +static GType gmpc_metadata_browser_hitem_type_get_type (void) { + static GType gmpc_metadata_browser_hitem_type_type_id = 0; + if (G_UNLIKELY (gmpc_metadata_browser_hitem_type_type_id == 0)) { + static const GEnumValue values[] = {{GMPC_METADATA_BROWSER_HITEM_TYPE_CLEAR, "GMPC_METADATA_BROWSER_HITEM_TYPE_CLEAR", "clear"}, {GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST, "GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST", "artist"}, {GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM, "GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM", "album"}, {GMPC_METADATA_BROWSER_HITEM_TYPE_SONG, "GMPC_METADATA_BROWSER_HITEM_TYPE_SONG", "song"}, {0, NULL, NULL}}; + gmpc_metadata_browser_hitem_type_type_id = g_enum_register_static ("GmpcMetadataBrowserHitemType", values); + } + return gmpc_metadata_browser_hitem_type_type_id; +} + + +static void _g_list_free_gmpc_metadata_browser_hitem_free (GList* self) { + g_list_foreach (self, (GFunc) gmpc_metadata_browser_hitem_free, NULL); + g_list_free (self); +} + + +static gint* gmpc_metadata_browser_real_get_version (GmpcPluginBase* base, int* result_length1) { + GmpcMetadataBrowser * self; + gint* result; + gint* _tmp0_; + self = (GmpcMetadataBrowser*) base; + _tmp0_ = NULL; + result = (_tmp0_ = GMPC_METADATA_BROWSER_version, *result_length1 = G_N_ELEMENTS (GMPC_METADATA_BROWSER_version), _tmp0_); + return result; +} + + +static const char* gmpc_metadata_browser_real_get_name (GmpcPluginBase* base) { + GmpcMetadataBrowser * self; + const char* result; + self = (GmpcMetadataBrowser*) base; + result = N_ ("Metadata Browser"); + return result; +} + + +static void gmpc_metadata_browser_real_save_yourself (GmpcPluginBase* base) { + GmpcMetadataBrowser * self; + self = (GmpcMetadataBrowser*) base; + if (self->priv->paned != NULL) { + gint pos; + pos = gtk_paned_get_position (self->priv->paned); + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "pane-pos", pos); + } + if (self->priv->model_artist != NULL) { + gmpc_mpddata_model_set_mpd_data (self->priv->model_artist, NULL); + } + if (self->priv->model_albums != NULL) { + gmpc_mpddata_model_set_mpd_data (self->priv->model_albums, NULL); + } + if (self->priv->rref != NULL) { + GtkTreePath* path; + path = gtk_tree_row_reference_get_path (self->priv->rref); + if (path != NULL) { + gint* _tmp0_; + gint indices_size; + gint indices_length1; + gint* indices; + _tmp0_ = NULL; + indices = (_tmp0_ = gtk_tree_path_get_indices (path), indices_length1 = -1, indices_size = indices_length1, _tmp0_); + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "position", indices[0]); + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } +} + + +/** + * Makes gmpc jump to the metadata browser + */ +static void gmpc_metadata_browser_select_metadata_browser (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + gmpc_metadata_browser_select_browser (self, NULL); +} + + +static void _gmpc_metadata_browser_select_metadata_browser_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_select_metadata_browser (self, _sender); +} + + +/** + * Gmpc.Plugin.BrowserIface.add_go_menu + */ +static gint gmpc_metadata_browser_real_browser_add_go_menu (GmpcPluginBrowserIface* base, GtkMenu* menu) { + GmpcMetadataBrowser * self; + gint result; + self = (GmpcMetadataBrowser*) base; + g_return_val_if_fail (menu != NULL, 0); + if (gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + GtkImageMenuItem* item; + GtkImage* _tmp0_; + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ (gmpc_plugin_base_get_name ((GmpcPluginBase*) self)))); + _tmp0_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp0_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_MENU)))); + (_tmp0_ == NULL) ? NULL : (_tmp0_ = (g_object_unref (_tmp0_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_select_metadata_browser_gtk_menu_item_activate, self, 0); + gtk_widget_add_accelerator ((GtkWidget*) item, "activate", gtk_menu_get_accel_group (menu), (guint) 0xffc1, 0, GTK_ACCEL_VISIBLE); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + result = 1; + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + result = 0; + return result; +} + + +/** + * This builds the browser + */ +static void gmpc_metadata_browser_browser_bg_style_changed (GmpcMetadataBrowser* self, GtkScrolledWindow* bg, GtkStyle* style) { + GdkColor _tmp0_ = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (bg != NULL); + gtk_widget_modify_bg ((GtkWidget*) self->priv->metadata_box, GTK_STATE_NORMAL, (_tmp0_ = gtk_widget_get_style ((GtkWidget*) self->priv->metadata_sw)->base[GTK_STATE_NORMAL], &_tmp0_)); +} + + +/* This hack makes clicking a selected row again, unselect it */ +static gboolean gmpc_metadata_browser_browser_button_press_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event) { + gboolean result; + GtkTreePath* path; + GtkTreePath* _tmp2_; + gboolean _tmp1_; + GtkTreePath* _tmp0_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + path = NULL; + if ((*event).button != 1) { + result = FALSE; + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; + } + _tmp2_ = NULL; + _tmp0_ = NULL; + if ((_tmp1_ = gtk_tree_view_get_path_at_pos (tree, (gint) (*event).x, (gint) (*event).y, &_tmp0_, NULL, NULL, NULL), path = (_tmp2_ = _tmp0_, (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), _tmp2_), _tmp1_)) { + if (gtk_tree_selection_path_is_selected (gtk_tree_view_get_selection (tree), path)) { + gtk_tree_selection_unselect_path (gtk_tree_view_get_selection (tree), path); + result = TRUE; + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; + } + } + result = FALSE; + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + return result; +} + + +/** + * Artist tree view functions */ +static void gmpc_metadata_browser_browser_artist_entry_changed (GmpcMetadataBrowser* self, GtkEntry* entry) { + const char* _tmp0_; + char* text; + g_return_if_fail (self != NULL); + g_return_if_fail (entry != NULL); + _tmp0_ = NULL; + text = (_tmp0_ = gtk_entry_get_text (entry), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + if (strlen (text) > 0) { + gtk_widget_show ((GtkWidget*) entry); + } else { + gtk_widget_hide ((GtkWidget*) entry); + gtk_widget_grab_focus ((GtkWidget*) self->priv->tree_artist); + } + gtk_tree_model_filter_refilter (self->priv->model_filter_artist); + text = (g_free (text), NULL); +} + + +static void gmpc_metadata_browser_artist_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + if (artist != NULL) { + MpdData* data; + mpd_database_search_start (connection, TRUE); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + data = mpd_database_search_commit (connection); + data = misc_sort_mpddata_by_album_disc_track (data); + if (data != NULL) { + data = mpd_data_get_first (data); + { + gboolean _tmp0_; + _tmp0_ = TRUE; + while (TRUE) { + if (!_tmp0_) { + if (!(data != NULL)) { + break; + } + } + _tmp0_ = FALSE; + mpd_playlist_queue_add (connection, data->song->file); + data = mpd_data_get_next (data); + } + } + mpd_playlist_queue_commit (connection); + } + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_artist_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + mpd_playlist_clear (connection); + gmpc_metadata_browser_artist_add_clicked (self, item); + mpd_player_play (connection); +} + + +static void _gmpc_metadata_browser_artist_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_artist_add_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_artist_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_artist_replace_clicked (self, _sender); +} + + +/* Handle right mouse click */ +static gboolean gmpc_metadata_browser_artist_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + if ((*event).button == 3) { + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection (tree)) > 0) { + GtkMenu* menu; + GtkImageMenuItem* item; + GtkImageMenuItem* _tmp0_; + GtkImage* _tmp1_; + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_artist_add_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp0_ = NULL; + item = (_tmp0_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("_Replace"))), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp0_); + _tmp1_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU)))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_artist_replace_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); + gtk_widget_show_all ((GtkWidget*) menu); + result = TRUE; + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + } + result = FALSE; + return result; +} + + +static gboolean gmpc_metadata_browser_visible_func_artist (GmpcMetadataBrowser* self, GtkTreeModel* model, GtkTreeIter* iter) { + gboolean result; + const char* _tmp0_; + char* text; + char* str; + gboolean visible; + gboolean _tmp1_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (model != NULL, FALSE); + _tmp0_ = NULL; + text = (_tmp0_ = gtk_entry_get_text (self->priv->artist_filter_entry), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + /* Visible if row is non-empty and first column is "HI" */ + str = NULL; + visible = FALSE; + if (g_utf8_get_char (g_utf8_offset_to_pointer (text, 0)) == '\0') { + result = TRUE; + text = (g_free (text), NULL); + str = (g_free (str), NULL); + return result; + } + gtk_tree_model_get (model, &(*iter), 7, &str, -1, -1); + _tmp1_ = FALSE; + if (str != NULL) { + char* _tmp5_; + char* _tmp4_; + char* _tmp3_; + char* _tmp2_; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + _tmp1_ = strstr (_tmp3_ = g_utf8_normalize (_tmp2_ = g_utf8_casefold (str, -1), -1, G_NORMALIZE_DEFAULT), _tmp5_ = g_utf8_normalize (_tmp4_ = g_utf8_casefold (text, -1), -1, G_NORMALIZE_DEFAULT)) != NULL; + _tmp5_ = (g_free (_tmp5_), NULL); + _tmp4_ = (g_free (_tmp4_), NULL); + _tmp3_ = (g_free (_tmp3_), NULL); + _tmp2_ = (g_free (_tmp2_), NULL); + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + visible = TRUE; + } + result = visible; + text = (g_free (text), NULL); + str = (g_free (str), NULL); + return result; +} + + +static gboolean gmpc_metadata_browser_browser_artist_key_press_event (GmpcMetadataBrowser* self, GtkTreeView* widget, const GdkEventKey* event) { + gboolean result; + gunichar uc; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (widget != NULL, FALSE); + uc = (gunichar) gdk_keyval_to_unicode ((*event).keyval); + if (uc > 0) { + char* outbuf; + gint i; + outbuf = g_strdup (" "); + i = g_unichar_to_utf8 (uc, outbuf); + ((gchar*) outbuf)[i] = '\0'; + gtk_entry_set_text (self->priv->artist_filter_entry, outbuf); + gtk_widget_grab_focus ((GtkWidget*) self->priv->artist_filter_entry); + gtk_editable_set_position ((GtkEditable*) self->priv->artist_filter_entry, 1); + result = TRUE; + outbuf = (g_free (outbuf), NULL); + return result; + } + result = FALSE; + return result; +} + + +static glong string_get_length (const char* self) { + glong result; + g_return_val_if_fail (self != NULL, 0L); + result = g_utf8_strlen (self, -1); + return result; +} + + +/** + * Album tree view + */ +static void gmpc_metadata_browser_album_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + if (artist != NULL) { + char* albumartist; + char* album; + MpdData* data; + albumartist = NULL; + album = gmpc_metadata_browser_browser_get_selected_album (self); + if (album != NULL) { + MpdData* ydata; + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ALBUM_ARTIST); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + ydata = mpd_database_search_commit (connection); + if (ydata != NULL) { + if (string_get_length (ydata->tag) > 0) { + char* _tmp1_; + const char* _tmp0_; + _tmp1_ = NULL; + _tmp0_ = NULL; + albumartist = (_tmp1_ = (_tmp0_ = ydata->tag, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), albumartist = (g_free (albumartist), NULL), _tmp1_); + } + } + (ydata == NULL) ? NULL : (ydata = (mpd_data_free (ydata), NULL)); + } + /* Fill in the first browser */ + mpd_database_search_start (connection, TRUE); + if (albumartist != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM_ARTIST, albumartist); + } else { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + } + if (album != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + } + data = mpd_database_search_commit (connection); + data = misc_sort_mpddata_by_album_disc_track (data); + if (data != NULL) { + { + gboolean _tmp2_; + _tmp2_ = TRUE; + while (TRUE) { + if (!_tmp2_) { + if (!(data != NULL)) { + break; + } + } + _tmp2_ = FALSE; + mpd_playlist_queue_add (connection, data->song->file); + data = mpd_data_get_next (data); + } + } + mpd_playlist_queue_commit (connection); + } + albumartist = (g_free (albumartist), NULL); + album = (g_free (album), NULL); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_album_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + mpd_playlist_clear (connection); + gmpc_metadata_browser_album_add_clicked (self, item); + mpd_player_play (connection); +} + + +static void _gmpc_metadata_browser_album_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_album_add_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_album_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_album_replace_clicked (self, _sender); +} + + +/* Handle right mouse click */ +static gboolean gmpc_metadata_browser_album_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + if ((*event).button == 3) { + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection (tree)) > 0) { + GtkMenu* menu; + GtkImageMenuItem* item; + GtkImageMenuItem* _tmp0_; + GtkImage* _tmp1_; + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_album_add_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp0_ = NULL; + item = (_tmp0_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("_Replace"))), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp0_); + _tmp1_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU)))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_album_replace_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); + gtk_widget_show_all ((GtkWidget*) menu); + result = TRUE; + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + } + result = FALSE; + return result; +} + + +static gboolean gmpc_metadata_browser_visible_func_album (GmpcMetadataBrowser* self, GtkTreeModel* model, GtkTreeIter* iter) { + gboolean result; + const char* _tmp0_; + char* text; + char* str; + gboolean visible; + gboolean _tmp1_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (model != NULL, FALSE); + _tmp0_ = NULL; + text = (_tmp0_ = gtk_entry_get_text (self->priv->album_filter_entry), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + /* Visible if row is non-empty and first column is "HI" */ + str = NULL; + visible = FALSE; + if (g_utf8_get_char (g_utf8_offset_to_pointer (text, 0)) == '\0') { + result = TRUE; + text = (g_free (text), NULL); + str = (g_free (str), NULL); + return result; + } + gtk_tree_model_get (model, &(*iter), 6, &str, -1, -1); + _tmp1_ = FALSE; + if (str != NULL) { + char* _tmp5_; + char* _tmp4_; + char* _tmp3_; + char* _tmp2_; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + _tmp1_ = strstr (_tmp3_ = g_utf8_normalize (_tmp2_ = g_utf8_casefold (str, -1), -1, G_NORMALIZE_DEFAULT), _tmp5_ = g_utf8_normalize (_tmp4_ = g_utf8_casefold (text, -1), -1, G_NORMALIZE_DEFAULT)) != NULL; + _tmp5_ = (g_free (_tmp5_), NULL); + _tmp4_ = (g_free (_tmp4_), NULL); + _tmp3_ = (g_free (_tmp3_), NULL); + _tmp2_ = (g_free (_tmp2_), NULL); + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + visible = TRUE; + } + result = visible; + text = (g_free (text), NULL); + str = (g_free (str), NULL); + return result; +} + + +static gboolean gmpc_metadata_browser_browser_album_key_press_event (GmpcMetadataBrowser* self, GtkTreeView* widget, const GdkEventKey* event) { + gboolean result; + gunichar uc; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (widget != NULL, FALSE); + uc = (gunichar) gdk_keyval_to_unicode ((*event).keyval); + if (uc > 0) { + char* outbuf; + gint i; + outbuf = g_strdup (" "); + i = g_unichar_to_utf8 (uc, outbuf); + ((gchar*) outbuf)[i] = '\0'; + gtk_entry_set_text (self->priv->album_filter_entry, outbuf); + gtk_widget_grab_focus ((GtkWidget*) self->priv->album_filter_entry); + gtk_editable_set_position ((GtkEditable*) self->priv->album_filter_entry, 1); + result = TRUE; + outbuf = (g_free (outbuf), NULL); + return result; + } + result = FALSE; + return result; +} + + +static void gmpc_metadata_browser_browser_album_entry_changed (GmpcMetadataBrowser* self, GtkEntry* entry) { + const char* _tmp0_; + char* text; + g_return_if_fail (self != NULL); + g_return_if_fail (entry != NULL); + _tmp0_ = NULL; + text = (_tmp0_ = gtk_entry_get_text (entry), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + if (strlen (text) > 0) { + gtk_widget_show ((GtkWidget*) entry); + } else { + gtk_widget_hide ((GtkWidget*) entry); + gtk_widget_grab_focus ((GtkWidget*) self->priv->tree_album); + } + gtk_tree_model_filter_refilter (self->priv->model_filter_album); + text = (g_free (text), NULL); +} + + +/** + * Songs + */ +static void gmpc_metadata_browser_song_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + mpd_Song* song; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + song = gmpc_metadata_browser_browser_get_selected_song (self); + if (song != NULL) { + mpd_playlist_add (connection, song->file); + } + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +static void gmpc_metadata_browser_song_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + mpd_playlist_clear (connection); + gmpc_metadata_browser_song_add_clicked (self, item); + mpd_player_play (connection); +} + + +static void _gmpc_metadata_browser_song_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_song_add_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_song_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_song_replace_clicked (self, _sender); +} + + +/* Handle right mouse click */ +static gboolean gmpc_metadata_browser_song_browser_button_release_event (GmpcMetadataBrowser* self, GtkTreeView* tree, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + if ((*event).button == 3) { + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection (tree)) > 0) { + GtkMenu* menu; + GtkImageMenuItem* item; + GtkImageMenuItem* _tmp0_; + GtkImage* _tmp1_; + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_song_add_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp0_ = NULL; + item = (_tmp0_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("_Replace"))), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp0_); + _tmp1_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU)))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_song_replace_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); + gtk_widget_show_all ((GtkWidget*) menu); + result = TRUE; + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + } + result = FALSE; + return result; +} + + +static gboolean gmpc_metadata_browser_browser_button_release_event (GmpcMetadataBrowser* self, GtkWidget* widget, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (widget != NULL, FALSE); + if ((*event).button == 8) { + gmpc_metadata_browser_history_previous (self); + result = TRUE; + return result; + } else { + if ((*event).button == 9) { + gmpc_metadata_browser_history_next (self); + result = TRUE; + return result; + } + } + result = FALSE; + return result; +} + + +static void _gmpc_metadata_browser_browser_artist_entry_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self) { + gmpc_metadata_browser_browser_artist_entry_changed (self, _sender); +} + + +static gboolean _gmpc_metadata_browser_visible_func_artist_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self) { + return gmpc_metadata_browser_visible_func_artist (self, model, iter); +} + + +static gboolean _gmpc_metadata_browser_browser_button_press_event_gtk_widget_button_press_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_browser_button_press_event (self, _sender, event); +} + + +static gboolean _gmpc_metadata_browser_artist_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_artist_browser_button_release_event (self, _sender, event); +} + + +static gboolean _gmpc_metadata_browser_browser_artist_key_press_event_gtk_widget_key_press_event (GtkTreeView* _sender, const GdkEventKey* event, gpointer self) { + return gmpc_metadata_browser_browser_artist_key_press_event (self, _sender, event); +} + + +static void _gmpc_metadata_browser_browser_artist_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) { + gmpc_metadata_browser_browser_artist_changed (self, _sender); +} + + +static void _gmpc_metadata_browser_browser_album_entry_changed_gtk_editable_changed (GtkEntry* _sender, gpointer self) { + gmpc_metadata_browser_browser_album_entry_changed (self, _sender); +} + + +static gboolean _gmpc_metadata_browser_visible_func_album_gtk_tree_model_filter_visible_func (GtkTreeModel* model, GtkTreeIter* iter, gpointer self) { + return gmpc_metadata_browser_visible_func_album (self, model, iter); +} + + +static gboolean _gmpc_metadata_browser_album_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_album_browser_button_release_event (self, _sender, event); +} + + +static gboolean _gmpc_metadata_browser_browser_album_key_press_event_gtk_widget_key_press_event (GtkTreeView* _sender, const GdkEventKey* event, gpointer self) { + return gmpc_metadata_browser_browser_album_key_press_event (self, _sender, event); +} + + +static void _gmpc_metadata_browser_browser_album_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) { + gmpc_metadata_browser_browser_album_changed (self, _sender); +} + + +static gboolean _gmpc_metadata_browser_song_browser_button_release_event_gtk_widget_button_release_event (GtkTreeView* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_song_browser_button_release_event (self, _sender, event); +} + + +static void _gmpc_metadata_browser_browser_songs_changed_gtk_tree_selection_changed (GtkTreeSelection* _sender, gpointer self) { + gmpc_metadata_browser_browser_songs_changed (self, _sender); +} + + +static void _gmpc_metadata_browser_browser_bg_style_changed_gtk_widget_style_set (GtkScrolledWindow* _sender, GtkStyle* previous_style, gpointer self) { + gmpc_metadata_browser_browser_bg_style_changed (self, _sender, previous_style); +} + + +static gboolean _gmpc_metadata_browser_browser_button_release_event_gtk_widget_button_release_event (GtkWidget* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_browser_button_release_event (self, _sender, event); +} + + +static void gmpc_metadata_browser_browser_init (GmpcMetadataBrowser* self) { + g_return_if_fail (self != NULL); + if (self->priv->paned == NULL) { + GtkPaned* _tmp0_; + GtkBox* _tmp1_; + GtkVBox* box; + GtkEntry* _tmp2_; + GtkScrolledWindow* sw; + GmpcMpdDataModel* _tmp3_; + GtkTreeModelFilter* _tmp4_; + GtkTreeView* _tmp5_; + GmpcMpdDataTreeviewTooltip* _tmp6_; + GtkTreeViewColumn* column; + GtkCellRendererPixbuf* prenderer; + GtkCellRendererText* trenderer; + GtkVBox* _tmp7_; + GtkEntry* _tmp8_; + GtkScrolledWindow* _tmp9_; + GmpcMpdDataModel* _tmp10_; + GtkTreeModelFilter* _tmp11_; + GtkTreeView* _tmp12_; + GmpcMpdDataTreeviewTooltip* _tmp13_; + GtkTreeViewColumn* _tmp14_; + GtkCellRendererPixbuf* _tmp15_; + GtkTreeViewColumn* _tmp16_; + GtkCellRendererText* _tmp17_; + GtkTreeViewColumn* _tmp18_; + GtkCellRendererText* _tmp19_; + GtkScrolledWindow* _tmp20_; + GmpcMpdDataModel* _tmp21_; + GtkTreeView* _tmp22_; + GtkTreeViewColumn* _tmp23_; + GtkCellRendererPixbuf* _tmp24_; + GtkCellRendererText* _tmp25_; + GtkTreeViewColumn* _tmp26_; + GtkCellRendererText* _tmp27_; + GtkScrolledWindow* _tmp28_; + GtkEventBox* _tmp29_; + _tmp0_ = NULL; + self->priv->paned = (_tmp0_ = (GtkPaned*) g_object_ref_sink ((GtkHPaned*) gtk_hpaned_new ()), (self->priv->paned == NULL) ? NULL : (self->priv->paned = (g_object_unref (self->priv->paned), NULL)), _tmp0_); + gmpc_paned_size_group_add_paned (paned_size_group, self->priv->paned); + /* Bow with browsers */ + _tmp1_ = NULL; + self->priv->browser_box = (_tmp1_ = (GtkBox*) g_object_ref_sink ((GtkVBox*) gtk_vbox_new (TRUE, 6)), (self->priv->browser_box == NULL) ? NULL : (self->priv->browser_box = (g_object_unref (self->priv->browser_box), NULL)), _tmp1_); + gtk_paned_add1 (self->priv->paned, (GtkWidget*) self->priv->browser_box); + /* Artist list */ + box = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + gtk_box_pack_start (self->priv->browser_box, (GtkWidget*) box, TRUE, TRUE, (guint) 0); + _tmp2_ = NULL; + self->priv->artist_filter_entry = (_tmp2_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), (self->priv->artist_filter_entry == NULL) ? NULL : (self->priv->artist_filter_entry = (g_object_unref (self->priv->artist_filter_entry), NULL)), _tmp2_); + gtk_widget_set_no_show_all ((GtkWidget*) self->priv->artist_filter_entry, TRUE); + g_signal_connect_object ((GtkEditable*) self->priv->artist_filter_entry, "changed", (GCallback) _gmpc_metadata_browser_browser_artist_entry_changed_gtk_editable_changed, self, 0); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) self->priv->artist_filter_entry, FALSE, FALSE, (guint) 0); + sw = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) sw, TRUE, TRUE, (guint) 0); + _tmp3_ = NULL; + self->priv->model_artist = (_tmp3_ = gmpc_mpddata_model_new (), (self->priv->model_artist == NULL) ? NULL : (self->priv->model_artist = (g_object_unref (self->priv->model_artist), NULL)), _tmp3_); + _tmp4_ = NULL; + self->priv->model_filter_artist = (_tmp4_ = (GtkTreeModelFilter*) gtk_tree_model_filter_new ((GtkTreeModel*) self->priv->model_artist, NULL), (self->priv->model_filter_artist == NULL) ? NULL : (self->priv->model_filter_artist = (g_object_unref (self->priv->model_filter_artist), NULL)), _tmp4_); + gtk_tree_model_filter_set_visible_func (self->priv->model_filter_artist, _gmpc_metadata_browser_visible_func_artist_gtk_tree_model_filter_visible_func, g_object_ref (self), g_object_unref); + _tmp5_ = NULL; + self->priv->tree_artist = (_tmp5_ = g_object_ref_sink ((GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) self->priv->model_filter_artist)), (self->priv->tree_artist == NULL) ? NULL : (self->priv->tree_artist = (g_object_unref (self->priv->tree_artist), NULL)), _tmp5_); + _tmp6_ = NULL; + _tmp6_ = g_object_ref_sink (gmpc_mpd_data_treeview_tooltip_new (self->priv->tree_artist, META_ARTIST_ART)); + (_tmp6_ == NULL) ? NULL : (_tmp6_ = (g_object_unref (_tmp6_), NULL)); + g_signal_connect_object ((GtkWidget*) self->priv->tree_artist, "button-press-event", (GCallback) _gmpc_metadata_browser_browser_button_press_event_gtk_widget_button_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tree_artist, "button-release-event", (GCallback) _gmpc_metadata_browser_artist_browser_button_release_event_gtk_widget_button_release_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tree_artist, "key-press-event", (GCallback) _gmpc_metadata_browser_browser_artist_key_press_event_gtk_widget_key_press_event, self, 0); + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) self->priv->tree_artist); + /* setup the columns */ + column = g_object_ref_sink (gtk_tree_view_column_new ()); + prenderer = g_object_ref_sink ((GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ()); + g_object_set ((GObject*) prenderer, "height", self->priv->model_artist->icon_size, NULL); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, FALSE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, "pixbuf", 27); + trenderer = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, TRUE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, "text", 7); + gtk_tree_view_append_column (self->priv->tree_artist, column); + gtk_tree_view_column_set_title (column, _ ("Artist")); + g_signal_connect_object (gtk_tree_view_get_selection (self->priv->tree_artist), "changed", (GCallback) _gmpc_metadata_browser_browser_artist_changed_gtk_tree_selection_changed, self, 0); + gtk_tree_view_set_search_column (self->priv->tree_artist, 7); + /* set fixed height mode */ + gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_FIXED); + gtk_tree_view_set_fixed_height_mode (self->priv->tree_artist, TRUE); + /* Album list */ + _tmp7_ = NULL; + box = (_tmp7_ = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)), (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)), _tmp7_); + gtk_box_pack_start (self->priv->browser_box, (GtkWidget*) box, TRUE, TRUE, (guint) 0); + _tmp8_ = NULL; + self->priv->album_filter_entry = (_tmp8_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), (self->priv->album_filter_entry == NULL) ? NULL : (self->priv->album_filter_entry = (g_object_unref (self->priv->album_filter_entry), NULL)), _tmp8_); + gtk_widget_set_no_show_all ((GtkWidget*) self->priv->album_filter_entry, TRUE); + g_signal_connect_object ((GtkEditable*) self->priv->album_filter_entry, "changed", (GCallback) _gmpc_metadata_browser_browser_album_entry_changed_gtk_editable_changed, self, 0); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) self->priv->album_filter_entry, FALSE, FALSE, (guint) 0); + _tmp9_ = NULL; + sw = (_tmp9_ = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)), (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)), _tmp9_); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) sw, TRUE, TRUE, (guint) 0); + _tmp10_ = NULL; + self->priv->model_albums = (_tmp10_ = gmpc_mpddata_model_new (), (self->priv->model_albums == NULL) ? NULL : (self->priv->model_albums = (g_object_unref (self->priv->model_albums), NULL)), _tmp10_); + _tmp11_ = NULL; + self->priv->model_filter_album = (_tmp11_ = (GtkTreeModelFilter*) gtk_tree_model_filter_new ((GtkTreeModel*) self->priv->model_albums, NULL), (self->priv->model_filter_album == NULL) ? NULL : (self->priv->model_filter_album = (g_object_unref (self->priv->model_filter_album), NULL)), _tmp11_); + gtk_tree_model_filter_set_visible_func (self->priv->model_filter_album, _gmpc_metadata_browser_visible_func_album_gtk_tree_model_filter_visible_func, g_object_ref (self), g_object_unref); + _tmp12_ = NULL; + self->priv->tree_album = (_tmp12_ = g_object_ref_sink ((GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) self->priv->model_filter_album)), (self->priv->tree_album == NULL) ? NULL : (self->priv->tree_album = (g_object_unref (self->priv->tree_album), NULL)), _tmp12_); + _tmp13_ = NULL; + _tmp13_ = g_object_ref_sink (gmpc_mpd_data_treeview_tooltip_new (self->priv->tree_album, META_ALBUM_ART)); + (_tmp13_ == NULL) ? NULL : (_tmp13_ = (g_object_unref (_tmp13_), NULL)); + g_signal_connect_object ((GtkWidget*) self->priv->tree_album, "button-press-event", (GCallback) _gmpc_metadata_browser_browser_button_press_event_gtk_widget_button_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tree_album, "button-release-event", (GCallback) _gmpc_metadata_browser_album_browser_button_release_event_gtk_widget_button_release_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tree_album, "key-press-event", (GCallback) _gmpc_metadata_browser_browser_album_key_press_event_gtk_widget_key_press_event, self, 0); + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) self->priv->tree_album); + /* setup the columns */ + _tmp14_ = NULL; + column = (_tmp14_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp14_); + _tmp15_ = NULL; + prenderer = (_tmp15_ = g_object_ref_sink ((GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ()), (prenderer == NULL) ? NULL : (prenderer = (g_object_unref (prenderer), NULL)), _tmp15_); + g_object_set ((GObject*) prenderer, "height", self->priv->model_albums->icon_size, NULL); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, FALSE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, "pixbuf", 27); + gtk_tree_view_append_column (self->priv->tree_album, column); + _tmp16_ = NULL; + column = (_tmp16_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp16_); + _tmp17_ = NULL; + trenderer = (_tmp17_ = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()), (trenderer == NULL) ? NULL : (trenderer = (g_object_unref (trenderer), NULL)), _tmp17_); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, TRUE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, "text", 14); + gtk_tree_view_append_column (self->priv->tree_album, column); + gtk_tree_view_column_set_title (column, _ ("Year")); + _tmp18_ = NULL; + column = (_tmp18_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp18_); + _tmp19_ = NULL; + trenderer = (_tmp19_ = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()), (trenderer == NULL) ? NULL : (trenderer = (g_object_unref (trenderer), NULL)), _tmp19_); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, TRUE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, "text", 6); + gtk_tree_view_append_column (self->priv->tree_album, column); + gtk_tree_view_set_search_column (self->priv->tree_album, 6); + gtk_tree_view_column_set_title (column, _ ("Album")); + g_signal_connect_object (gtk_tree_view_get_selection (self->priv->tree_album), "changed", (GCallback) _gmpc_metadata_browser_browser_album_changed_gtk_tree_selection_changed, self, 0); + /* Song list */ + _tmp20_ = NULL; + sw = (_tmp20_ = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)), (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)), _tmp20_); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + gtk_box_pack_start (self->priv->browser_box, (GtkWidget*) sw, TRUE, TRUE, (guint) 0); + _tmp21_ = NULL; + self->priv->model_songs = (_tmp21_ = gmpc_mpddata_model_new (), (self->priv->model_songs == NULL) ? NULL : (self->priv->model_songs = (g_object_unref (self->priv->model_songs), NULL)), _tmp21_); + _tmp22_ = NULL; + self->priv->tree_songs = (_tmp22_ = g_object_ref_sink ((GtkTreeView*) gtk_tree_view_new_with_model ((GtkTreeModel*) self->priv->model_songs)), (self->priv->tree_songs == NULL) ? NULL : (self->priv->tree_songs = (g_object_unref (self->priv->tree_songs), NULL)), _tmp22_); + g_signal_connect_object ((GtkWidget*) self->priv->tree_songs, "button-press-event", (GCallback) _gmpc_metadata_browser_browser_button_press_event_gtk_widget_button_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tree_songs, "button-release-event", (GCallback) _gmpc_metadata_browser_song_browser_button_release_event_gtk_widget_button_release_event, self, 0); + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) self->priv->tree_songs); + /* setup the columns */ + _tmp23_ = NULL; + column = (_tmp23_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp23_); + _tmp24_ = NULL; + prenderer = (_tmp24_ = g_object_ref_sink ((GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ()), (prenderer == NULL) ? NULL : (prenderer = (g_object_unref (prenderer), NULL)), _tmp24_); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, FALSE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) prenderer, "icon-name", 23); + _tmp25_ = NULL; + trenderer = (_tmp25_ = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()), (trenderer == NULL) ? NULL : (trenderer = (g_object_unref (trenderer), NULL)), _tmp25_); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, FALSE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, "text", 10); + gtk_tree_view_column_set_title (column, _ ("Track")); + gtk_tree_view_append_column (self->priv->tree_songs, column); + _tmp26_ = NULL; + column = (_tmp26_ = g_object_ref_sink (gtk_tree_view_column_new ()), (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)), _tmp26_); + _tmp27_ = NULL; + trenderer = (_tmp27_ = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()), (trenderer == NULL) ? NULL : (trenderer = (g_object_unref (trenderer), NULL)), _tmp27_); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, TRUE); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) trenderer, "text", 7); + gtk_tree_view_append_column (self->priv->tree_songs, column); + gtk_tree_view_set_search_column (self->priv->tree_songs, 7); + gtk_tree_view_column_set_title (column, _ ("Songs")); + g_signal_connect_object (gtk_tree_view_get_selection (self->priv->tree_songs), "changed", (GCallback) _gmpc_metadata_browser_browser_songs_changed_gtk_tree_selection_changed, self, 0); + /* The right view */ + _tmp28_ = NULL; + self->priv->metadata_sw = (_tmp28_ = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)), (self->priv->metadata_sw == NULL) ? NULL : (self->priv->metadata_sw = (g_object_unref (self->priv->metadata_sw), NULL)), _tmp28_); + gtk_scrolled_window_set_policy (self->priv->metadata_sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + g_signal_connect_object ((GtkWidget*) self->priv->metadata_sw, "style-set", (GCallback) _gmpc_metadata_browser_browser_bg_style_changed_gtk_widget_style_set, self, 0); + _tmp29_ = NULL; + self->priv->metadata_box = (_tmp29_ = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), (self->priv->metadata_box == NULL) ? NULL : (self->priv->metadata_box = (g_object_unref (self->priv->metadata_box), NULL)), _tmp29_); + gtk_event_box_set_visible_window (self->priv->metadata_box, TRUE); + gtk_scrolled_window_add_with_viewport (self->priv->metadata_sw, (GtkWidget*) self->priv->metadata_box); + gtk_paned_add2 (self->priv->paned, (GtkWidget*) self->priv->metadata_sw); + g_signal_connect_object ((GtkWidget*) self->priv->paned, "button-release-event", (GCallback) _gmpc_metadata_browser_browser_button_release_event_gtk_widget_button_release_event, self, 0); + gmpc_metadata_browser_reload_browsers (self); + (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)); + (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)); + (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)); + (prenderer == NULL) ? NULL : (prenderer = (g_object_unref (prenderer), NULL)); + (trenderer == NULL) ? NULL : (trenderer = (g_object_unref (trenderer), NULL)); + } + gtk_widget_show_all ((GtkWidget*) self->priv->paned); +} + + +static void gmpc_metadata_browser_reload_browsers (GmpcMetadataBrowser* self) { + MpdData* data; + MpdData* _tmp0_; + g_return_if_fail (self != NULL); + if (self->priv->paned == NULL) { + return; + } + gmpc_mpddata_model_set_mpd_data (self->priv->model_songs, NULL); + gmpc_mpddata_model_set_mpd_data (self->priv->model_albums, NULL); + gmpc_mpddata_model_set_mpd_data (self->priv->model_artist, NULL); + gtk_entry_set_text (self->priv->artist_filter_entry, ""); + gtk_entry_set_text (self->priv->album_filter_entry, ""); + /* Fill in the first browser */ + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ARTIST); + data = mpd_database_search_commit (connection); + data = misc_sort_mpddata_by_album_disc_track (data); + _tmp0_ = NULL; + gmpc_mpddata_model_set_mpd_data (self->priv->model_artist, (_tmp0_ = data, data = NULL, _tmp0_)); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); +} + + +static char* gmpc_metadata_browser_browser_get_selected_artist (GmpcMetadataBrowser* self) { + char* result; + GtkTreeIter iter = {0}; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeModel* _tmp4_; + GtkTreeModel* _tmp3_; + gboolean _tmp2_; + GtkTreeModel* _tmp1_; + g_return_val_if_fail (self != NULL, NULL); + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (self->priv->tree_artist), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + model = NULL; + /*this.model_artist;*/ + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp1_ = NULL; + if ((_tmp2_ = gtk_tree_selection_get_selected (sel, &_tmp1_, &iter), model = (_tmp3_ = (_tmp4_ = _tmp1_, (_tmp4_ == NULL) ? NULL : g_object_ref (_tmp4_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp3_), _tmp2_)) { + char* artist; + artist = NULL; + gtk_tree_model_get (model, &iter, 7, &artist, -1, -1); + result = artist; + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + result = NULL; + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; +} + + +static char* gmpc_metadata_browser_browser_get_selected_album (GmpcMetadataBrowser* self) { + char* result; + GtkTreeIter iter = {0}; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeModel* _tmp4_; + GtkTreeModel* _tmp3_; + gboolean _tmp2_; + GtkTreeModel* _tmp1_; + g_return_val_if_fail (self != NULL, NULL); + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (self->priv->tree_album), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + model = NULL; + /*this.model_albums;*/ + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp1_ = NULL; + if ((_tmp2_ = gtk_tree_selection_get_selected (sel, &_tmp1_, &iter), model = (_tmp3_ = (_tmp4_ = _tmp1_, (_tmp4_ == NULL) ? NULL : g_object_ref (_tmp4_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp3_), _tmp2_)) { + char* album; + album = NULL; + gtk_tree_model_get (model, &iter, 6, &album, -1, -1); + result = album; + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + result = NULL; + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; +} + + +static mpd_Song* gmpc_metadata_browser_browser_get_selected_song (GmpcMetadataBrowser* self) { + mpd_Song* result; + GtkTreeIter iter = {0}; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + GtkTreeModel* model; + GtkTreeModel* _tmp4_; + GtkTreeModel* _tmp3_; + gboolean _tmp2_; + GtkTreeModel* _tmp1_; + g_return_val_if_fail (self != NULL, NULL); + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (self->priv->tree_songs), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + model = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp1_ = NULL; + if ((_tmp2_ = gtk_tree_selection_get_selected (sel, &_tmp1_, &iter), model = (_tmp3_ = (_tmp4_ = _tmp1_, (_tmp4_ == NULL) ? NULL : g_object_ref (_tmp4_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp3_), _tmp2_)) { + const mpd_Song* songs; + const mpd_Song* _tmp5_; + songs = NULL; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model_songs, &iter, 0, &songs, -1, -1); + _tmp5_ = NULL; + result = (_tmp5_ = songs, (_tmp5_ == NULL) ? NULL : mpd_songDup (_tmp5_)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + result = NULL; + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; +} + + +static void gmpc_metadata_browser_browser_artist_changed (GmpcMetadataBrowser* self, GtkTreeSelection* sel) { + char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (sel != NULL); + gmpc_mpddata_model_set_mpd_data (self->priv->model_albums, NULL); + gmpc_mpddata_model_set_mpd_data (self->priv->model_songs, NULL); + gmpc_metadata_browser_metadata_box_clear (self); + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + if (artist != NULL) { + MpdData* data; + MpdData* list; + const MpdData* iter; + MpdData* _tmp8_; + MpdData* _tmp9_; + MpdData* _tmp10_; + /* Fill in the first browser */ + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ALBUM); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + data = mpd_database_search_commit (connection); + data = misc_sort_mpddata_by_album_disc_track (data); + gmpc_mpddata_model_set_request_artist (self->priv->model_albums, artist); + list = NULL; + iter = mpd_data_get_first (data); + if (iter != NULL) { + { + gboolean _tmp0_; + _tmp0_ = TRUE; + while (TRUE) { + mpd_Song* _tmp1_; + char* _tmp3_; + const char* _tmp2_; + char* _tmp5_; + const char* _tmp4_; + MpdData* ydata; + if (!_tmp0_) { + if (!(iter != NULL)) { + break; + } + } + _tmp0_ = FALSE; + list = mpd_new_data_struct_append (list); + list->type = MPD_DATA_TYPE_SONG; + _tmp1_ = NULL; + list->song = (_tmp1_ = mpd_newSong (), (list->song == NULL) ? NULL : (list->song = (mpd_freeSong (list->song), NULL)), _tmp1_); + _tmp3_ = NULL; + _tmp2_ = NULL; + list->song->artist = (_tmp3_ = (_tmp2_ = artist, (_tmp2_ == NULL) ? NULL : g_strdup (_tmp2_)), list->song->artist = (g_free (list->song->artist), NULL), _tmp3_); + _tmp5_ = NULL; + _tmp4_ = NULL; + list->song->album = (_tmp5_ = (_tmp4_ = iter->tag, (_tmp4_ == NULL) ? NULL : g_strdup (_tmp4_)), list->song->album = (g_free (list->song->album), NULL), _tmp5_); + mpd_database_search_field_start (connection, MPD_TAG_ITEM_DATE); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, iter->tag); + ydata = mpd_database_search_commit (connection); + if (ydata != NULL) { + char* _tmp7_; + const char* _tmp6_; + _tmp7_ = NULL; + _tmp6_ = NULL; + list->song->date = (_tmp7_ = (_tmp6_ = ydata->tag, (_tmp6_ == NULL) ? NULL : g_strdup (_tmp6_)), list->song->date = (g_free (list->song->date), NULL), _tmp7_); + } + iter = mpd_data_get_next_real (iter, FALSE); + (ydata == NULL) ? NULL : (ydata = (mpd_data_free (ydata), NULL)); + } + } + } + list = misc_sort_mpddata_by_album_disc_track (list); + _tmp8_ = NULL; + gmpc_mpddata_model_set_mpd_data (self->priv->model_albums, (_tmp8_ = list, list = NULL, _tmp8_)); + mpd_database_search_start (connection, TRUE); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + _tmp9_ = NULL; + data = (_tmp9_ = mpd_database_search_commit (connection), (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)), _tmp9_); + data = misc_sort_mpddata_by_album_disc_track (data); + _tmp10_ = NULL; + gmpc_mpddata_model_set_mpd_data (self->priv->model_songs, (_tmp10_ = data, data = NULL, _tmp10_)); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + (list == NULL) ? NULL : (list = (mpd_data_free (list), NULL)); + } + gmpc_metadata_browser_metadata_box_update (self); + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_browser_album_changed (GmpcMetadataBrowser* self, GtkTreeSelection* album_sel) { + char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (album_sel != NULL); + gmpc_mpddata_model_set_mpd_data (self->priv->model_songs, NULL); + gmpc_metadata_browser_metadata_box_clear (self); + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + if (artist != NULL) { + char* album; + char* albumartist; + MpdData* data; + MpdData* _tmp2_; + album = gmpc_metadata_browser_browser_get_selected_album (self); + albumartist = NULL; + if (album != NULL) { + MpdData* ydata; + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ALBUM_ARTIST); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + ydata = mpd_database_search_commit (connection); + if (ydata != NULL) { + if (string_get_length (ydata->tag) > 0) { + char* _tmp1_; + const char* _tmp0_; + _tmp1_ = NULL; + _tmp0_ = NULL; + albumartist = (_tmp1_ = (_tmp0_ = ydata->tag, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), albumartist = (g_free (albumartist), NULL), _tmp1_); + } + } + (ydata == NULL) ? NULL : (ydata = (mpd_data_free (ydata), NULL)); + } + /* Fill in the first browser */ + mpd_database_search_start (connection, TRUE); + if (albumartist != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM_ARTIST, albumartist); + } else { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + } + if (album != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + } + data = mpd_database_search_commit (connection); + data = misc_sort_mpddata_by_album_disc_track (data); + _tmp2_ = NULL; + gmpc_mpddata_model_set_mpd_data (self->priv->model_songs, (_tmp2_ = data, data = NULL, _tmp2_)); + album = (g_free (album), NULL); + albumartist = (g_free (albumartist), NULL); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + gmpc_metadata_browser_metadata_box_update (self); + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_browser_songs_changed (GmpcMetadataBrowser* self, GtkTreeSelection* song_sel) { + g_return_if_fail (self != NULL); + g_return_if_fail (song_sel != NULL); + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); +} + + +/** + * Metadata box + */ +static void gmpc_metadata_browser_play_song (GmpcMetadataBrowser* self, GtkButton* button) { + const mpd_Song* _tmp0_; + mpd_Song* song; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + song = (_tmp0_ = (const mpd_Song*) g_object_get_data ((GObject*) button, "song"), (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)); + if (song != NULL) { + play_path (song->file); + } + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +static void gmpc_metadata_browser_add_song (GmpcMetadataBrowser* self, GtkButton* button) { + const mpd_Song* _tmp0_; + mpd_Song* song; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + song = (_tmp0_ = (const mpd_Song*) g_object_get_data ((GObject*) button, "song"), (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)); + if (song != NULL) { + mpd_playlist_add (connection, song->file); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + return; + } + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +static void gmpc_metadata_browser_replace_song (GmpcMetadataBrowser* self, GtkButton* button) { + const mpd_Song* _tmp0_; + mpd_Song* song; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + song = (_tmp0_ = (const mpd_Song*) g_object_get_data ((GObject*) button, "song"), (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)); + if (song != NULL) { + mpd_playlist_clear (connection); + mpd_playlist_add (connection, song->file); + mpd_player_play (connection); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + return; + } + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +static void gmpc_metadata_browser_add_selected_song (GmpcMetadataBrowser* self, GtkButton* button) { + char* artist; + char* album; + mpd_Song* song; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + album = gmpc_metadata_browser_browser_get_selected_album (self); + song = gmpc_metadata_browser_browser_get_selected_song (self); + if (song != NULL) { + mpd_playlist_add (connection, song->file); + artist = (g_free (artist), NULL); + album = (g_free (album), NULL); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + return; + } + if (artist != NULL) { + char* albumartist; + MpdData* data; + /* Hunt albumartist */ + albumartist = NULL; + if (album != NULL) { + MpdData* ydata; + mpd_database_search_field_start (connection, MPD_TAG_ITEM_ALBUM_ARTIST); + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + ydata = mpd_database_search_commit (connection); + if (ydata != NULL) { + if (string_get_length (ydata->tag) > 0) { + char* _tmp1_; + const char* _tmp0_; + _tmp1_ = NULL; + _tmp0_ = NULL; + albumartist = (_tmp1_ = (_tmp0_ = ydata->tag, (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)), albumartist = (g_free (albumartist), NULL), _tmp1_); + } + } + (ydata == NULL) ? NULL : (ydata = (mpd_data_free (ydata), NULL)); + } + mpd_database_search_start (connection, TRUE); + /*server,MPD.Tag.Type.FILENAME);*/ + if (albumartist != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM_ARTIST, albumartist); + } else { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ARTIST, artist); + } + if (album != NULL) { + mpd_database_search_add_constraint (connection, MPD_TAG_ITEM_ALBUM, album); + } + data = mpd_database_search_commit (connection); + if (data != NULL) { + data = misc_sort_mpddata_by_album_disc_track (data); + while (TRUE) { + if (!(data != NULL)) { + break; + } + mpd_playlist_queue_add (connection, data->song->file); + data = mpd_data_get_next (data); + } + mpd_playlist_queue_commit (connection); + } + albumartist = (g_free (albumartist), NULL); + (data == NULL) ? NULL : (data = (mpd_data_free (data), NULL)); + } + artist = (g_free (artist), NULL); + album = (g_free (album), NULL); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); +} + + +static void gmpc_metadata_browser_replace_selected_song (GmpcMetadataBrowser* self, GtkButton* button) { + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + mpd_playlist_clear (connection); + gmpc_metadata_browser_add_selected_song (self, button); + mpd_player_play (connection); +} + + +static void gmpc_metadata_browser_metadata_box_clear (GmpcMetadataBrowser* self) { + GList* list; + g_return_if_fail (self != NULL); + list = gtk_container_get_children ((GtkContainer*) self->priv->metadata_box); + { + GList* child_collection; + GList* child_it; + child_collection = list; + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { + GtkWidget* _tmp0_; + GtkWidget* child; + _tmp0_ = NULL; + child = (_tmp0_ = (GtkWidget*) child_it->data, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + { + gtk_object_destroy ((GtkObject*) child); + (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); + } + } + } + (list == NULL) ? NULL : (list = (g_list_free (list), NULL)); +} + + +/** + * Add a row to a gtk table + * $label: $value + * then increments i + */ +static void gmpc_metadata_browser_add_entry (GmpcMetadataBrowser* self, GtkTable* table, const char* entry_label, const char* value, GtkWidget* extra, gint* i) { + gint j; + gboolean _tmp0_; + GtkLabel* label; + char* _tmp1_; + g_return_if_fail (self != NULL); + g_return_if_fail (table != NULL); + g_return_if_fail (entry_label != NULL); + j = 0; + _tmp0_ = FALSE; + if (value == NULL) { + _tmp0_ = extra == NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + return; + } + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_selectable (label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + _tmp1_ = NULL; + gtk_label_set_markup (label, _tmp1_ = g_markup_printf_escaped ("%s:", entry_label)); + _tmp1_ = (g_free (_tmp1_), NULL); + gtk_table_attach (table, (GtkWidget*) label, (guint) j, (guint) (j + 1), (guint) (*i), (guint) ((*i) + 1), GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + j++; + if (value != NULL) { + GtkLabel* pt_label; + pt_label = g_object_ref_sink ((GtkLabel*) gtk_label_new (value)); + gtk_label_set_selectable (pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.0f); + gtk_label_set_line_wrap (pt_label, TRUE); + gtk_table_attach (table, (GtkWidget*) pt_label, (guint) j, (guint) (j + 1), (guint) (*i), (guint) ((*i) + 1), GTK_EXPAND | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + j++; + (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)); + } + if (extra != NULL) { + gtk_table_attach (table, extra, (guint) j, (guint) (j + 1), (guint) (*i), (guint) ((*i) + 1), GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + j++; + } + (*i)++; + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); +} + + +/* jump buttons */ +static void gmpc_metadata_browser_artist_button_clicked (GmpcMetadataBrowser* self, GtkButton* button) { + const char* _tmp0_; + char* artist; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + artist = (_tmp0_ = (const char*) g_object_get_data ((GObject*) button, "artist"), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + info2_fill_artist_view (artist); + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_album_button_clicked (GmpcMetadataBrowser* self, GtkButton* button) { + const char* _tmp0_; + char* artist; + const char* _tmp1_; + char* album; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + artist = (_tmp0_ = (const char*) g_object_get_data ((GObject*) button, "artist"), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + _tmp1_ = NULL; + album = (_tmp1_ = (const char*) g_object_get_data ((GObject*) button, "album"), (_tmp1_ == NULL) ? NULL : g_strdup (_tmp1_)); + info2_fill_album_view (artist, album); + artist = (g_free (artist), NULL); + album = (g_free (album), NULL); +} + + +static void _gmpc_metadata_browser_metadata_find_query_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_metadata_find_query (self, _sender); +} + + +static void _gmpc_metadata_browser_artist_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_artist_button_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_album_button_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_album_button_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_metadata_button_open_file_browser_path_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_metadata_button_open_file_browser_path (self, _sender); +} + + +static void _gmpc_metadata_browser_play_song_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_play_song (self, _sender); +} + + +static void _gmpc_metadata_browser_add_song_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_add_song (self, _sender); +} + + +static void _gmpc_metadata_browser_replace_song_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_replace_song (self, _sender); +} + + +GtkWidget* gmpc_metadata_browser_metadata_box_show_song (GmpcMetadataBrowser* self, const mpd_Song* song, gboolean show_controls) { + GtkWidget* result; + GtkVBox* vbox; + GtkHBox* box; + GtkLabel* label; + GtkHBox* hbox; + GtkAlignment* ali; + GmpcMetaImage* artist_image; + GtkTable* info_box; + gint i; + GmpcFavoritesButton* fav_button; + GtkAlignment* _tmp8_; + g_return_val_if_fail (self != NULL, NULL); + g_return_val_if_fail (song != NULL, NULL); + vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + gtk_container_set_border_width ((GtkContainer*) vbox, (guint) 8); + box = gmpc_metadata_browser_history_buttons (self); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_selectable (label, TRUE); + if (song->title != NULL) { + char* _tmp0_; + _tmp0_ = NULL; + gtk_label_set_markup (label, _tmp0_ = g_markup_printf_escaped ("%s", song->title)); + _tmp0_ = (g_free (_tmp0_), NULL); + } else { + char* _tmp1_; + _tmp1_ = NULL; + gtk_label_set_markup (label, _tmp1_ = g_markup_printf_escaped ("%s", _ ("Unknown"))); + _tmp1_ = (g_free (_tmp1_), NULL); + } + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) box, FALSE, FALSE, (guint) 0); + /* Artist image */ + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.f, 0.f, 0.f, 0.f)); + artist_image = g_object_ref_sink (gmpc_metaimage_new_size (META_ALBUM_ART, 250)); + gmpc_metaimage_set_squared (artist_image, FALSE); + gmpc_metaimage_update_cover_from_song (artist_image, song); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) artist_image); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) ali, FALSE, FALSE, (guint) 0); + /* Artist information */ + info_box = g_object_ref_sink ((GtkTable*) gtk_table_new ((guint) 4, (guint) 2, FALSE)); + gtk_table_set_row_spacings (info_box, (guint) 3); + gtk_table_set_col_spacings (info_box, (guint) 8); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) info_box, FALSE, FALSE, (guint) 0); + i = 0; + if (song->title != NULL) { + GtkButton* button; + GtkImage* _tmp2_; + /* Button to search for song with same title */ + button = g_object_ref_sink ((GtkButton*) gtk_button_new ()); + _tmp2_ = NULL; + gtk_container_add ((GtkContainer*) button, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-find", GTK_ICON_SIZE_MENU)))); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "query", (void*) g_strdup_printf ("title=(%s)", song->title), (GDestroyNotify) g_free); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_metadata_find_query_gtk_button_clicked, self, 0); + gtk_widget_set_tooltip_text ((GtkWidget*) button, _ ("Search songs with similar title")); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Title"), song->title, (GtkWidget*) button, &i); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + } + /* Artist label */ + if (song->artist != NULL) { + GtkButton* button; + GtkButton* _tmp3_; + GtkImage* _tmp4_; + button = NULL; + _tmp3_ = NULL; + button = (_tmp3_ = g_object_ref_sink ((GtkButton*) gtk_button_new ()), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp3_); + _tmp4_ = NULL; + gtk_container_add ((GtkContainer*) button, (GtkWidget*) (_tmp4_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("media-artist", GTK_ICON_SIZE_MENU)))); + (_tmp4_ == NULL) ? NULL : (_tmp4_ = (g_object_unref (_tmp4_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "artist", (void*) g_strdup_printf ("%s", song->artist), (GDestroyNotify) g_free); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_artist_button_clicked_gtk_button_clicked, self, 0); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Artist"), song->artist, (GtkWidget*) button, &i); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + } + /* AlbumArtist label */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Album artist"), song->albumartist, NULL, &i); + /* Album */ + if (song->album != NULL) { + GtkButton* button; + button = NULL; + if (song->artist != NULL) { + GtkButton* _tmp5_; + GtkImage* _tmp6_; + _tmp5_ = NULL; + button = (_tmp5_ = g_object_ref_sink ((GtkButton*) gtk_button_new ()), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp5_); + _tmp6_ = NULL; + gtk_container_add ((GtkContainer*) button, (GtkWidget*) (_tmp6_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("media-album", GTK_ICON_SIZE_MENU)))); + (_tmp6_ == NULL) ? NULL : (_tmp6_ = (g_object_unref (_tmp6_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "artist", (void*) g_strdup_printf ("%s", song->artist), (GDestroyNotify) g_free); + g_object_set_data_full ((GObject*) button, "album", (void*) g_strdup_printf ("%s", song->album), (GDestroyNotify) g_free); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_album_button_clicked_gtk_button_clicked, self, 0); + } + gmpc_metadata_browser_add_entry (self, info_box, _ ("Album"), song->album, (GtkWidget*) button, &i); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + } + /* track */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Track"), song->track, NULL, &i); + /* date */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Date"), song->date, NULL, &i); + /* performer */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Performer"), song->performer, NULL, &i); + /* disc */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Disc"), song->disc, NULL, &i); + /* Genre */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Genre"), song->genre, NULL, &i); + /* Path */ + if (song->file != NULL) { + GtkButton* dbutton; + GtkImage* _tmp7_; + dbutton = g_object_ref_sink ((GtkButton*) gtk_button_new ()); + gtk_button_set_relief (dbutton, GTK_RELIEF_NONE); + _tmp7_ = NULL; + gtk_container_add ((GtkContainer*) dbutton, (GtkWidget*) (_tmp7_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU)))); + (_tmp7_ == NULL) ? NULL : (_tmp7_ = (g_object_unref (_tmp7_), NULL)); + g_object_set_data_full ((GObject*) dbutton, "path", (void*) g_path_get_dirname (song->file), (GDestroyNotify) g_free); + g_signal_connect_object (dbutton, "clicked", (GCallback) _gmpc_metadata_browser_metadata_button_open_file_browser_path_gtk_button_clicked, self, 0); + gtk_widget_set_tooltip_text ((GtkWidget*) dbutton, _ ("Open path to song in file browser")); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Path"), song->file, (GtkWidget*) dbutton, &i); + (dbutton == NULL) ? NULL : (dbutton = (g_object_unref (dbutton), NULL)); + } + /* Favored button */ + fav_button = g_object_ref_sink (gmpc_favorites_button_new ()); + gmpc_favorites_button_set_song (fav_button, song); + _tmp8_ = NULL; + ali = (_tmp8_ = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.0f, 0.5f, 0.f, 0.f)), (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)), _tmp8_); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) fav_button); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Favored"), NULL, (GtkWidget*) ali, &i); + if (mpd_sticker_supported (connection)) { + GmpcRating* rating_button; + GtkAlignment* _tmp9_; + /* Favored button */ + rating_button = g_object_ref_sink (gmpc_rating_new (connection, song)); + _tmp9_ = NULL; + ali = (_tmp9_ = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.0f, 0.5f, 0.f, 0.f)), (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)), _tmp9_); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) rating_button); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Rating"), NULL, (GtkWidget*) ali, &i); + (rating_button == NULL) ? NULL : (rating_button = (g_object_unref (rating_button), NULL)); + } + /* Comment */ + gmpc_metadata_browser_add_entry (self, info_box, _ ("Comment"), song->comment, NULL, &i); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0); + /* Player controls */ + if (show_controls) { + GtkButton* button; + GtkHBox* _tmp10_; + GtkButton* _tmp11_; + GtkButton* _tmp12_; + GtkImage* _tmp13_; + button = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-media-play")); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "song", mpd_songDup (song), (GDestroyNotify) mpd_freeSong); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_play_song_gtk_button_clicked, self, 0); + _tmp10_ = NULL; + hbox = (_tmp10_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)), _tmp10_); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + _tmp11_ = NULL; + button = (_tmp11_ = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-add")), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp11_); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "song", mpd_songDup (song), (GDestroyNotify) mpd_freeSong); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_add_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + _tmp12_ = NULL; + button = (_tmp12_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_mnemonic (_ ("_Replace"))), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp12_); + _tmp13_ = NULL; + gtk_button_set_image (button, (GtkWidget*) (_tmp13_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_BUTTON)))); + (_tmp13_ == NULL) ? NULL : (_tmp13_ = (g_object_unref (_tmp13_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "song", mpd_songDup (song), (GDestroyNotify) mpd_freeSong); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_replace_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + gtk_table_attach (info_box, (GtkWidget*) hbox, (guint) 0, (guint) 2, (guint) i, (guint) (i + 1), GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + i++; + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + } + /* Lyrics */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-lyrics", 1) == 1) { + GmpcMetaTextView* text_view; + char* _tmp14_; + GmpcWidgetMore* _tmp15_; + GmpcWidgetMore* frame; + text_view = g_object_ref_sink (gmpc_meta_text_view_new (META_SONG_TXT)); + gtk_text_view_set_left_margin ((GtkTextView*) text_view, 8); + _tmp14_ = NULL; + _tmp15_ = NULL; + frame = (_tmp15_ = g_object_ref_sink (gmpc_widget_more_new ("lyrics-view", _tmp14_ = g_markup_printf_escaped ("%s:", _ ("Lyrics")), (GtkWidget*) text_view)), _tmp14_ = (g_free (_tmp14_), NULL), _tmp15_); + gmpc_meta_text_view_query_text_from_song (text_view, song); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) frame, FALSE, FALSE, (guint) 0); + (text_view == NULL) ? NULL : (text_view = (g_object_unref (text_view), NULL)); + (frame == NULL) ? NULL : (frame = (g_object_unref (frame), NULL)); + } + /* Guitar Tab */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-guitar-tabs", 1) == 1) { + GmpcMetaTextView* text_view; + char* _tmp16_; + GmpcWidgetMore* _tmp17_; + GmpcWidgetMore* frame; + text_view = g_object_ref_sink (gmpc_meta_text_view_new (META_SONG_GUITAR_TAB)); + text_view->use_monospace = TRUE; + gtk_text_view_set_left_margin ((GtkTextView*) text_view, 8); + _tmp16_ = NULL; + _tmp17_ = NULL; + frame = (_tmp17_ = g_object_ref_sink (gmpc_widget_more_new ("guitar-tabs-view", _tmp16_ = g_markup_printf_escaped ("%s:", _ ("Guitar Tabs")), (GtkWidget*) text_view)), _tmp16_ = (g_free (_tmp16_), NULL), _tmp17_); + gmpc_meta_text_view_query_text_from_song (text_view, song); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) frame, FALSE, FALSE, (guint) 0); + (text_view == NULL) ? NULL : (text_view = (g_object_unref (text_view), NULL)); + (frame == NULL) ? NULL : (frame = (g_object_unref (frame), NULL)); + } + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-similar-songs", 1) == 1) { + GmpcWidgetSimilarSongs* similar_songs; + similar_songs = g_object_ref_sink (gmpc_widget_similar_songs_new (song)); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) similar_songs, FALSE, FALSE, (guint) 0); + (similar_songs == NULL) ? NULL : (similar_songs = (g_object_unref (similar_songs), NULL)); + } + /* Show web links */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-web-links", 1) == 1) { + GmpcSongLinks* song_links; + song_links = g_object_ref_sink (gmpc_song_links_new (GMPC_SONG_LINKS_TYPE_SONG, song)); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) song_links, FALSE, FALSE, (guint) 0); + (song_links == NULL) ? NULL : (song_links = (g_object_unref (song_links), NULL)); + } + result = (GtkWidget*) vbox; + (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); + (artist_image == NULL) ? NULL : (artist_image = (g_object_unref (artist_image), NULL)); + (info_box == NULL) ? NULL : (info_box = (g_object_unref (info_box), NULL)); + (fav_button == NULL) ? NULL : (fav_button = (g_object_unref (fav_button), NULL)); + return result; +} + + +static void gmpc_metadata_browser_metadata_button_open_file_browser_path (GmpcMetadataBrowser* self, GtkButton* button) { + const char* _tmp0_; + char* path; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + path = (_tmp0_ = (const char*) g_object_get_data ((GObject*) button, "path"), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + if (path != NULL) { + pl3_file_browser_open_path (path); + } + path = (g_free (path), NULL); +} + + +static void gmpc_metadata_browser_metadata_find_query (GmpcMetadataBrowser* self, GtkButton* button) { + const char* _tmp0_; + char* path; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _tmp0_ = NULL; + path = (_tmp0_ = (const char*) g_object_get_data ((GObject*) button, "query"), (_tmp0_ == NULL) ? NULL : g_strdup (_tmp0_)); + if (path != NULL) { + pl3_find2_ec_database (NULL, path); + } + path = (g_free (path), NULL); +} + + +static void gmpc_metadata_browser_album_song_tree_row_activated (GmpcMetadataBrowser* self, GtkTreeView* tree, const GtkTreePath* path, GtkTreeViewColumn* column) { + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp0_; + GtkTreeModel* model; + g_return_if_fail (self != NULL); + g_return_if_fail (tree != NULL); + g_return_if_fail (path != NULL); + g_return_if_fail (column != NULL); + _tmp0_ = NULL; + model = (_tmp0_ = gtk_tree_view_get_model (tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + play_path (song->file); + } + } + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); +} + + +static void gmpc_metadata_browser_album_song_browser_play_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + GtkTreeView* _tmp0_; + GtkTreeView* tree; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (g_object_get_data ((GObject*) item, "tree")), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + if (tree != NULL) { + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp1_; + GtkTreeModel* model; + GtkTreeSelection* _tmp2_; + GtkTreeSelection* sel; + GtkTreeModel* _tmp6_; + GtkTreeModel* _tmp5_; + GList* _tmp4_; + GtkTreeModel* _tmp3_; + GList* list; + _tmp1_ = NULL; + model = (_tmp1_ = gtk_tree_view_get_model (tree), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + sel = (_tmp2_ = gtk_tree_view_get_selection (tree), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + _tmp6_ = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + list = (_tmp4_ = gtk_tree_selection_get_selected_rows (sel, &_tmp3_), model = (_tmp5_ = (_tmp6_ = _tmp3_, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp5_), _tmp4_); + { + GList* path_collection; + GList* path_it; + path_collection = list; + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { + const GtkTreePath* _tmp7_; + GtkTreePath* path; + _tmp7_ = NULL; + path = (_tmp7_ = (const GtkTreePath*) path_it->data, (_tmp7_ == NULL) ? NULL : gtk_tree_path_copy (_tmp7_)); + { + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + play_path (song->file); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + return; + } + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } + } + } + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); + } + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); +} + + +static void gmpc_metadata_browser_album_song_browser_add_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + GtkTreeView* _tmp0_; + GtkTreeView* tree; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (g_object_get_data ((GObject*) item, "tree")), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + if (tree != NULL) { + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp1_; + GtkTreeModel* model; + GtkTreeSelection* _tmp2_; + GtkTreeSelection* sel; + GtkTreeModel* _tmp6_; + GtkTreeModel* _tmp5_; + GList* _tmp4_; + GtkTreeModel* _tmp3_; + GList* list; + _tmp1_ = NULL; + model = (_tmp1_ = gtk_tree_view_get_model (tree), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + sel = (_tmp2_ = gtk_tree_view_get_selection (tree), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + _tmp6_ = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + list = (_tmp4_ = gtk_tree_selection_get_selected_rows (sel, &_tmp3_), model = (_tmp5_ = (_tmp6_ = _tmp3_, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp5_), _tmp4_); + { + GList* path_collection; + GList* path_it; + path_collection = list; + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { + const GtkTreePath* _tmp7_; + GtkTreePath* path; + _tmp7_ = NULL; + path = (_tmp7_ = (const GtkTreePath*) path_it->data, (_tmp7_ == NULL) ? NULL : gtk_tree_path_copy (_tmp7_)); + { + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1, -1); + if (song != NULL) { + mpd_playlist_queue_add (connection, song->file); + } + } + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } + } + } + mpd_playlist_queue_commit (connection); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); + } + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); +} + + +static void gmpc_metadata_browser_album_song_browser_replace_clicked (GmpcMetadataBrowser* self, GtkImageMenuItem* item) { + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + mpd_playlist_clear (connection); + gmpc_metadata_browser_album_song_browser_add_clicked (self, item); + mpd_player_play (connection); +} + + +static void _gmpc_metadata_browser_album_song_browser_play_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_album_song_browser_play_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_album_song_browser_add_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_album_song_browser_add_clicked (self, _sender); +} + + +static void _gmpc_metadata_browser_album_song_browser_replace_clicked_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_album_song_browser_replace_clicked (self, _sender); +} + + +static gboolean gmpc_metadata_browser_album_song_tree_button_press_event (GmpcMetadataBrowser* self, GmpcMpdDataTreeview* tree, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tree != NULL, FALSE); + if ((*event).button == 3) { + GtkMenu* menu; + GtkImageMenuItem* item; + GtkImageMenuItem* _tmp0_; + GtkImage* _tmp1_; + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection ((GtkTreeView*) tree)) == 1) { + GtkImageMenuItem* item; + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-media-play", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_album_song_browser_play_clicked_gtk_menu_item_activate, self, 0); + g_object_set_data ((GObject*) item, "tree", (void*) tree); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + } + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_from_stock ("gtk-add", NULL)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_album_song_browser_add_clicked_gtk_menu_item_activate, self, 0); + g_object_set_data ((GObject*) item, "tree", (void*) tree); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + _tmp0_ = NULL; + item = (_tmp0_ = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_mnemonic (_ ("_Replace"))), (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)), _tmp0_); + _tmp1_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_MENU)))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); + g_object_set_data ((GObject*) item, "tree", (void*) tree); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_album_song_browser_replace_clicked_gtk_menu_item_activate, self, 0); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + if (gtk_tree_selection_count_selected_rows (gtk_tree_view_get_selection ((GtkTreeView*) tree)) == 1) { + GtkTreeModel* model; + GtkTreeModel* _tmp5_; + GtkTreeModel* _tmp4_; + GList* _tmp3_; + GtkTreeModel* _tmp2_; + GList* list; + model = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp2_ = NULL; + list = (_tmp3_ = gtk_tree_selection_get_selected_rows (gtk_tree_view_get_selection ((GtkTreeView*) tree), &_tmp2_), model = (_tmp4_ = (_tmp5_ = _tmp2_, (_tmp5_ == NULL) ? NULL : g_object_ref (_tmp5_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp4_), _tmp3_); + if (list != NULL) { + const GtkTreePath* path; + GtkTreeIter iter = {0}; + const mpd_Song* song; + path = (const GtkTreePath*) list->data; + song = NULL; + if (gtk_tree_model_get_iter (model, &iter, path)) { + gtk_tree_model_get (model, &iter, 0, &song, -1); + submenu_for_song ((GtkWidget*) menu, song); + } + } + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (list == NULL) ? NULL : (list = (_g_list_free_gtk_tree_path_free (list), NULL)); + } + gmpc_mpddata_treeview_right_mouse_intergration (tree, menu); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (*event).button, (*event).time); + gtk_widget_show_all ((GtkWidget*) menu); + result = TRUE; + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; + } + result = FALSE; + return result; +} + + +static void _gmpc_metadata_browser_add_selected_song_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_add_selected_song (self, _sender); +} + + +static void _gmpc_metadata_browser_replace_selected_song_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_replace_selected_song (self, _sender); +} + + +static gboolean _gmpc_metadata_browser_album_song_tree_button_press_event_gtk_widget_button_release_event (GmpcMpdDataTreeview* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_metadata_browser_album_song_tree_button_press_event (self, _sender, event); +} + + +static void _gmpc_metadata_browser_album_song_tree_row_activated_gtk_tree_view_row_activated (GmpcMpdDataTreeview* _sender, const GtkTreePath* path, GtkTreeViewColumn* column, gpointer self) { + gmpc_metadata_browser_album_song_tree_row_activated (self, _sender, path, column); +} + + +static void gmpc_metadata_browser_metadata_box_show_album (GmpcMetadataBrowser* self, const char* artist, const char* album) { + GtkVBox* vbox; + GtkHBox* box; + GtkLabel* label; + const char* _tmp0_; + const char* _tmp1_; + char* _tmp2_; + GtkHBox* hbox; + GtkAlignment* ali; + GmpcMetaImage* artist_image; + mpd_Song* song; + char* _tmp4_; + const char* _tmp3_; + char* _tmp6_; + const char* _tmp5_; + GtkTable* info_box; + gint i; + GmpcStatsLabel* pt_label; + GmpcStatsLabel* _tmp9_; + GmpcStatsLabel* _tmp10_; + GmpcStatsLabel* _tmp11_; + GtkHBox* _tmp12_; + GtkButton* button; + GtkButton* _tmp13_; + GtkImage* _tmp14_; + GtkLabel* _tmp17_; + char* _tmp18_; + GtkScrolledWindow* sw; + GmpcMpdDataTreeview* song_tree; + g_return_if_fail (self != NULL); + g_return_if_fail (artist != NULL); + g_return_if_fail (album != NULL); + vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + gtk_container_set_border_width ((GtkContainer*) vbox, (guint) 8); + box = gmpc_metadata_browser_history_buttons (self); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_selectable (label, TRUE); + _tmp0_ = NULL; + if (artist != NULL) { + _tmp0_ = artist; + } else { + _tmp0_ = _ ("Unknown"); + } + _tmp1_ = NULL; + if (album != NULL) { + _tmp1_ = album; + } else { + _tmp1_ = _ ("Unknown"); + } + _tmp2_ = NULL; + gtk_label_set_markup (label, _tmp2_ = g_markup_printf_escaped ("%s - %s", _tmp0_, _tmp1_)); + _tmp2_ = (g_free (_tmp2_), NULL); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) box, FALSE, FALSE, (guint) 0); + /* Artist image */ + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.f, 0.f, 0.f, 0.f)); + artist_image = g_object_ref_sink (gmpc_metaimage_new_size (META_ALBUM_ART, 250)); + gmpc_metaimage_set_squared (artist_image, FALSE); + song = mpd_newSong (); + _tmp4_ = NULL; + _tmp3_ = NULL; + song->artist = (_tmp4_ = (_tmp3_ = artist, (_tmp3_ == NULL) ? NULL : g_strdup (_tmp3_)), song->artist = (g_free (song->artist), NULL), _tmp4_); + _tmp6_ = NULL; + _tmp5_ = NULL; + song->album = (_tmp6_ = (_tmp5_ = album, (_tmp5_ == NULL) ? NULL : g_strdup (_tmp5_)), song->album = (g_free (song->album), NULL), _tmp6_); + gmpc_metaimage_update_cover_from_song (artist_image, song); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) artist_image); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) ali, FALSE, FALSE, (guint) 0); + /* Artist information */ + info_box = g_object_ref_sink ((GtkTable*) gtk_table_new ((guint) 4, (guint) 2, FALSE)); + gtk_table_set_row_spacings (info_box, (guint) 3); + gtk_table_set_col_spacings (info_box, (guint) 8); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) info_box, FALSE, FALSE, (guint) 0); + i = 0; + /* Artist label */ + if (song->artist != NULL) { + GtkButton* button; + GtkButton* _tmp7_; + GtkImage* _tmp8_; + button = NULL; + _tmp7_ = NULL; + button = (_tmp7_ = g_object_ref_sink ((GtkButton*) gtk_button_new ()), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp7_); + _tmp8_ = NULL; + gtk_container_add ((GtkContainer*) button, (GtkWidget*) (_tmp8_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("media-artist", GTK_ICON_SIZE_MENU)))); + (_tmp8_ == NULL) ? NULL : (_tmp8_ = (g_object_unref (_tmp8_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_object_set_data_full ((GObject*) button, "artist", (void*) g_strdup_printf ("%s", song->artist), (GDestroyNotify) g_free); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_artist_button_clicked_gtk_button_clicked, self, 0); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Artist"), song->artist, (GtkWidget*) button, &i); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + } + /* Genres of songs */ + pt_label = g_object_ref_sink (gmpc_stats_label_new (ALBUM_GENRES_SONGS, song)); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Genres"), NULL, (GtkWidget*) pt_label, &i); + /* Dates of songs */ + _tmp9_ = NULL; + pt_label = (_tmp9_ = g_object_ref_sink (gmpc_stats_label_new (ALBUM_DATES_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp9_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Dates"), NULL, (GtkWidget*) pt_label, &i); + /* Total number of songs */ + _tmp10_ = NULL; + pt_label = (_tmp10_ = g_object_ref_sink (gmpc_stats_label_new (ALBUM_NUM_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp10_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Songs"), NULL, (GtkWidget*) pt_label, &i); + /* Total playtime */ + _tmp11_ = NULL; + pt_label = (_tmp11_ = g_object_ref_sink (gmpc_stats_label_new (ALBUM_PLAYTIME_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp11_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Playtime"), NULL, (GtkWidget*) pt_label, &i); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0); + /* Player controls */ + _tmp12_ = NULL; + hbox = (_tmp12_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)), _tmp12_); + button = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-add")); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_add_selected_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + _tmp13_ = NULL; + button = (_tmp13_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_mnemonic (_ ("_Replace"))), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp13_); + _tmp14_ = NULL; + gtk_button_set_image (button, (GtkWidget*) (_tmp14_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_BUTTON)))); + (_tmp14_ == NULL) ? NULL : (_tmp14_ = (g_object_unref (_tmp14_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_replace_selected_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + gtk_table_attach (info_box, (GtkWidget*) hbox, (guint) 0, (guint) 2, (guint) i, (guint) (i + 1), GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + i++; + /* Album information */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-album-information", 1) == 1) { + GmpcMetaTextView* text_view; + char* _tmp15_; + GmpcWidgetMore* _tmp16_; + GmpcWidgetMore* frame; + text_view = g_object_ref_sink (gmpc_meta_text_view_new (META_ALBUM_TXT)); + gtk_text_view_set_left_margin ((GtkTextView*) text_view, 8); + _tmp15_ = NULL; + _tmp16_ = NULL; + frame = (_tmp16_ = g_object_ref_sink (gmpc_widget_more_new ("album-information-view", _tmp15_ = g_markup_printf_escaped ("%s:", _ ("Album information")), (GtkWidget*) text_view)), _tmp15_ = (g_free (_tmp15_), NULL), _tmp16_); + gmpc_meta_text_view_query_text_from_song (text_view, song); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) frame, FALSE, FALSE, (guint) 0); + (text_view == NULL) ? NULL : (text_view = (g_object_unref (text_view), NULL)); + (frame == NULL) ? NULL : (frame = (g_object_unref (frame), NULL)); + } + /* Song list. Show songs in album */ + _tmp17_ = NULL; + label = (_tmp17_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)), _tmp17_); + gtk_label_set_selectable (label, TRUE); + _tmp18_ = NULL; + gtk_label_set_markup (label, _tmp18_ = g_strdup_printf ("%s", _ ("Songs"))); + _tmp18_ = (g_free (_tmp18_), NULL); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + sw = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + song_tree = g_object_ref_sink (gmpc_mpddata_treeview_new ("album-songs", TRUE, (GtkTreeModel*) self->priv->model_songs)); + gmpc_mpddata_treeview_enable_click_fix (song_tree); + g_signal_connect_object ((GtkWidget*) song_tree, "button-release-event", (GCallback) _gmpc_metadata_browser_album_song_tree_button_press_event_gtk_widget_button_release_event, self, 0); + g_signal_connect_object ((GtkTreeView*) song_tree, "row-activated", (GCallback) _gmpc_metadata_browser_album_song_tree_row_activated_gtk_tree_view_row_activated, self, 0); + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) song_tree); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) sw, FALSE, FALSE, (guint) 0); + /* Show web links */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-web-links", 1) == 1) { + GmpcSongLinks* song_links; + song_links = g_object_ref_sink (gmpc_song_links_new (GMPC_SONG_LINKS_TYPE_ALBUM, song)); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) song_links, FALSE, FALSE, (guint) 0); + (song_links == NULL) ? NULL : (song_links = (g_object_unref (song_links), NULL)); + } + /** + * Add it to the view + */ + gtk_container_add ((GtkContainer*) self->priv->metadata_box, (GtkWidget*) vbox); + gtk_widget_show_all ((GtkWidget*) self->priv->metadata_sw); + (vbox == NULL) ? NULL : (vbox = (g_object_unref (vbox), NULL)); + (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); + (artist_image == NULL) ? NULL : (artist_image = (g_object_unref (artist_image), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + (info_box == NULL) ? NULL : (info_box = (g_object_unref (info_box), NULL)); + (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)); + (song_tree == NULL) ? NULL : (song_tree = (g_object_unref (song_tree), NULL)); +} + + +/** + * This fills the view for artist + * + * | + * < buttonss> + * + * + * + * + * + */ +static void gmpc_metadata_browser_metadata_box_show_artist (GmpcMetadataBrowser* self, const char* artist) { + GtkVBox* vbox; + GtkHBox* box; + GtkLabel* label; + const char* _tmp0_; + char* _tmp1_; + mpd_Song* song; + char* _tmp3_; + const char* _tmp2_; + GtkHBox* hbox; + GtkAlignment* ali; + GmpcMetaImage* artist_image; + GtkTable* info_box; + gint i; + GmpcStatsLabel* pt_label; + GmpcStatsLabel* _tmp4_; + GmpcStatsLabel* _tmp5_; + GmpcStatsLabel* _tmp6_; + GtkHBox* _tmp7_; + GtkButton* button; + GtkButton* _tmp8_; + GtkImage* _tmp9_; + g_return_if_fail (self != NULL); + g_return_if_fail (artist != NULL); + vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + gtk_container_set_border_width ((GtkContainer*) vbox, (guint) 8); + box = gmpc_metadata_browser_history_buttons (self); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); + gtk_label_set_selectable (label, TRUE); + _tmp0_ = NULL; + if (artist != NULL) { + _tmp0_ = artist; + } else { + _tmp0_ = _ ("Unknown"); + } + _tmp1_ = NULL; + gtk_label_set_markup (label, _tmp1_ = g_markup_printf_escaped ("%s", _tmp0_)); + _tmp1_ = (g_free (_tmp1_), NULL); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) box, FALSE, FALSE, (guint) 0); + /* Create an MPD.Song with the info for this type set */ + song = mpd_newSong (); + _tmp3_ = NULL; + _tmp2_ = NULL; + song->artist = (_tmp3_ = (_tmp2_ = artist, (_tmp2_ == NULL) ? NULL : g_strdup (_tmp2_)), song->artist = (g_free (song->artist), NULL), _tmp3_); + /* Artist image */ + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.f, 0.f, 0.f, 0.f)); + artist_image = g_object_ref_sink (gmpc_metaimage_new_size (META_ARTIST_ART, 250)); + gmpc_metaimage_set_squared (artist_image, FALSE); + gmpc_metaimage_update_cover_from_song (artist_image, song); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) artist_image); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) ali, FALSE, FALSE, (guint) 0); + /* Artist information */ + info_box = g_object_ref_sink ((GtkTable*) gtk_table_new ((guint) 4, (guint) 2, FALSE)); + gtk_table_set_row_spacings (info_box, (guint) 3); + gtk_table_set_col_spacings (info_box, (guint) 8); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) info_box, FALSE, FALSE, (guint) 0); + i = 0; + /* Genres of songs */ + pt_label = g_object_ref_sink (gmpc_stats_label_new (ARTIST_GENRES_SONGS, song)); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Genres"), NULL, (GtkWidget*) pt_label, &i); + /* Dates of songs */ + _tmp4_ = NULL; + pt_label = (_tmp4_ = g_object_ref_sink (gmpc_stats_label_new (ARTIST_DATES_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp4_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Dates"), NULL, (GtkWidget*) pt_label, &i); + /* Total number of songs */ + _tmp5_ = NULL; + pt_label = (_tmp5_ = g_object_ref_sink (gmpc_stats_label_new (ARTIST_NUM_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp5_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Songs"), NULL, (GtkWidget*) pt_label, &i); + /* Total playtime */ + _tmp6_ = NULL; + pt_label = (_tmp6_ = g_object_ref_sink (gmpc_stats_label_new (ARTIST_PLAYTIME_SONGS, song)), (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)), _tmp6_); + gtk_label_set_line_wrap ((GtkLabel*) pt_label, TRUE); + gtk_misc_set_alignment ((GtkMisc*) pt_label, 0.0f, 0.5f); + gmpc_metadata_browser_add_entry (self, info_box, _ ("Playtime"), NULL, (GtkWidget*) pt_label, &i); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0); + /* Player controls */ + _tmp7_ = NULL; + hbox = (_tmp7_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)), _tmp7_); + button = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-add")); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_add_selected_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + _tmp8_ = NULL; + button = (_tmp8_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_mnemonic (_ ("_Replace"))), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp8_); + _tmp9_ = NULL; + gtk_button_set_image (button, (GtkWidget*) (_tmp9_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-redo", GTK_ICON_SIZE_BUTTON)))); + (_tmp9_ == NULL) ? NULL : (_tmp9_ = (g_object_unref (_tmp9_), NULL)); + gtk_button_set_relief (button, GTK_RELIEF_NONE); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_metadata_browser_replace_selected_song_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + gtk_table_attach (info_box, (GtkWidget*) hbox, (guint) 0, (guint) 2, (guint) i, (guint) (i + 1), GTK_SHRINK | GTK_FILL, GTK_SHRINK | GTK_FILL, (guint) 0, (guint) 0); + i++; + /* Artist information */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-artist-information", 1) == 1) { + GmpcMetaTextView* text_view; + char* _tmp10_; + GmpcWidgetMore* _tmp11_; + GmpcWidgetMore* frame; + text_view = g_object_ref_sink (gmpc_meta_text_view_new (META_ARTIST_TXT)); + gtk_text_view_set_left_margin ((GtkTextView*) text_view, 8); + _tmp10_ = NULL; + _tmp11_ = NULL; + frame = (_tmp11_ = g_object_ref_sink (gmpc_widget_more_new ("artist-information-view", _tmp10_ = g_markup_printf_escaped ("%s:", _ ("Artist information")), (GtkWidget*) text_view)), _tmp10_ = (g_free (_tmp10_), NULL), _tmp11_); + gmpc_meta_text_view_query_text_from_song (text_view, song); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) frame, FALSE, FALSE, (guint) 0); + (text_view == NULL) ? NULL : (text_view = (g_object_unref (text_view), NULL)); + (frame == NULL) ? NULL : (frame = (g_object_unref (frame), NULL)); + } + /* Show similar artist */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-similar-artist", 1) == 1) { + GtkLabel* _tmp12_; + char* _tmp13_; + GtkAlignment* _tmp14_; + GmpcWidgetSimilarArtist* similar_artist; + _tmp12_ = NULL; + label = (_tmp12_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Similar artist"))), (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)), _tmp12_); + gtk_label_set_selectable (label, TRUE); + _tmp13_ = NULL; + gtk_label_set_markup (label, _tmp13_ = g_strdup_printf ("%s", _ ("Similar artist"))); + _tmp13_ = (g_free (_tmp13_), NULL); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.0f); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp14_ = NULL; + ali = (_tmp14_ = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f)), (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)), _tmp14_); + similar_artist = g_object_ref_sink (gmpc_widget_similar_artist_new (self, connection, song)); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) similar_artist); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) ali, FALSE, FALSE, (guint) 0); + (similar_artist == NULL) ? NULL : (similar_artist = (g_object_unref (similar_artist), NULL)); + } + /* Show web links */ + if (cfg_get_single_value_as_int_with_default (config, "MetaData", "show-web-links", 1) == 1) { + GmpcSongLinks* song_links; + song_links = g_object_ref_sink (gmpc_song_links_new (GMPC_SONG_LINKS_TYPE_ARTIST, song)); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) song_links, FALSE, FALSE, (guint) 0); + (song_links == NULL) ? NULL : (song_links = (g_object_unref (song_links), NULL)); + } + /** + * Add it to the view + */ + gtk_container_add ((GtkContainer*) self->priv->metadata_box, (GtkWidget*) vbox); + gtk_widget_show_all ((GtkWidget*) self->priv->metadata_box); + (vbox == NULL) ? NULL : (vbox = (g_object_unref (vbox), NULL)); + (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); + (artist_image == NULL) ? NULL : (artist_image = (g_object_unref (artist_image), NULL)); + (info_box == NULL) ? NULL : (info_box = (g_object_unref (info_box), NULL)); + (pt_label == NULL) ? NULL : (pt_label = (g_object_unref (pt_label), NULL)); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); +} + + +static gboolean _gmpc_metadata_browser_metadata_box_update_real_gsource_func (gpointer self) { + return gmpc_metadata_browser_metadata_box_update_real (self); +} + + +static void gmpc_metadata_browser_metadata_box_update (GmpcMetadataBrowser* self) { + g_return_if_fail (self != NULL); + if (self->priv->update_timeout > 0) { + g_source_remove (self->priv->update_timeout); + } + self->priv->update_timeout = g_idle_add (_gmpc_metadata_browser_metadata_box_update_real_gsource_func, self); +} + + +static gboolean gmpc_metadata_browser_metadata_box_update_real (GmpcMetadataBrowser* self) { + gboolean result; + char* artist; + char* album; + mpd_Song* song; + g_return_val_if_fail (self != NULL, FALSE); + if (self->priv->block_update > 0) { + self->priv->update_timeout = (guint) 0; + result = FALSE; + return result; + } + artist = gmpc_metadata_browser_browser_get_selected_artist (self); + album = gmpc_metadata_browser_browser_get_selected_album (self); + song = gmpc_metadata_browser_browser_get_selected_song (self); + if (song != NULL) { + GmpcMetadataBrowserHitem _tmp0_ = {0}; + GmpcMetadataBrowserHitem item; + mpd_Song* _tmp2_; + const mpd_Song* _tmp1_; + GtkWidget* view; + /** Add item to history */ + item = (memset (&_tmp0_, 0, sizeof (GmpcMetadataBrowserHitem)), _tmp0_); + _tmp2_ = NULL; + _tmp1_ = NULL; + item.song = (_tmp2_ = (_tmp1_ = song, (_tmp1_ == NULL) ? NULL : mpd_songDup (_tmp1_)), (item.song == NULL) ? NULL : (item.song = (mpd_freeSong (item.song), NULL)), _tmp2_); + item.type = GMPC_METADATA_BROWSER_HITEM_TYPE_SONG; + gmpc_metadata_browser_history_add (self, &item); + view = gmpc_metadata_browser_metadata_box_show_song (self, song, TRUE); + gtk_container_add ((GtkContainer*) self->priv->metadata_box, view); + gtk_widget_show_all ((GtkWidget*) self->priv->metadata_box); + gmpc_metadata_browser_hitem_destroy (&item); + (view == NULL) ? NULL : (view = (g_object_unref (view), NULL)); + } else { + gboolean _tmp3_; + _tmp3_ = FALSE; + if (album != NULL) { + _tmp3_ = artist != NULL; + } else { + _tmp3_ = FALSE; + } + if (_tmp3_) { + GmpcMetadataBrowserHitem _tmp4_ = {0}; + GmpcMetadataBrowserHitem item; + mpd_Song* _tmp5_; + char* _tmp7_; + const char* _tmp6_; + char* _tmp9_; + const char* _tmp8_; + /** Add item to history */ + item = (memset (&_tmp4_, 0, sizeof (GmpcMetadataBrowserHitem)), _tmp4_); + _tmp5_ = NULL; + item.song = (_tmp5_ = mpd_newSong (), (item.song == NULL) ? NULL : (item.song = (mpd_freeSong (item.song), NULL)), _tmp5_); + _tmp7_ = NULL; + _tmp6_ = NULL; + item.song->artist = (_tmp7_ = (_tmp6_ = artist, (_tmp6_ == NULL) ? NULL : g_strdup (_tmp6_)), item.song->artist = (g_free (item.song->artist), NULL), _tmp7_); + _tmp9_ = NULL; + _tmp8_ = NULL; + item.song->album = (_tmp9_ = (_tmp8_ = album, (_tmp8_ == NULL) ? NULL : g_strdup (_tmp8_)), item.song->album = (g_free (item.song->album), NULL), _tmp9_); + item.type = GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM; + gmpc_metadata_browser_history_add (self, &item); + gmpc_metadata_browser_metadata_box_show_album (self, artist, album); + gmpc_metadata_browser_hitem_destroy (&item); + } else { + if (artist != NULL) { + GmpcMetadataBrowserHitem _tmp10_ = {0}; + GmpcMetadataBrowserHitem item; + mpd_Song* _tmp11_; + char* _tmp13_; + const char* _tmp12_; + /** Add item to history */ + item = (memset (&_tmp10_, 0, sizeof (GmpcMetadataBrowserHitem)), _tmp10_); + _tmp11_ = NULL; + item.song = (_tmp11_ = mpd_newSong (), (item.song == NULL) ? NULL : (item.song = (mpd_freeSong (item.song), NULL)), _tmp11_); + _tmp13_ = NULL; + _tmp12_ = NULL; + item.song->artist = (_tmp13_ = (_tmp12_ = artist, (_tmp12_ == NULL) ? NULL : g_strdup (_tmp12_)), item.song->artist = (g_free (item.song->artist), NULL), _tmp13_); + item.type = GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST; + gmpc_metadata_browser_history_add (self, &item); + gmpc_metadata_browser_metadata_box_show_artist (self, artist); + gmpc_metadata_browser_hitem_destroy (&item); + } + } + } + self->priv->update_timeout = (guint) 0; + result = FALSE; + artist = (g_free (artist), NULL); + album = (g_free (album), NULL); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + return result; +} + + +/** + * Browser Interface bindings + */ +static void gmpc_metadata_browser_real_browser_add (GmpcPluginBrowserIface* base, GtkWidget* category_tree) { + GmpcMetadataBrowser * self; + GtkTreeView* _tmp0_; + GtkTreeView* tree; + GtkListStore* _tmp1_; + GtkListStore* store; + GtkTreeModel* _tmp2_; + GtkTreeModel* model; + GtkTreeIter iter = {0}; + GtkTreeRowReference* _tmp4_; + GtkTreePath* _tmp3_; + self = (GmpcMetadataBrowser*) base; + g_return_if_fail (category_tree != NULL); + _tmp0_ = NULL; + tree = (_tmp0_ = GTK_TREE_VIEW (category_tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + store = (_tmp1_ = GTK_LIST_STORE (gtk_tree_view_get_model (tree)), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + model = (_tmp2_ = gtk_tree_view_get_model (tree), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + playlist3_insert_browser (&iter, cfg_get_single_value_as_int_with_default (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "position", 100)); + gtk_list_store_set (store, &iter, 0, ((GmpcPluginBase*) self)->id, 1, _ (gmpc_plugin_base_get_name ((GmpcPluginBase*) self)), 3, "gtk-info", -1); + /* Create a row reference */ + _tmp4_ = NULL; + _tmp3_ = NULL; + self->priv->rref = (_tmp4_ = gtk_tree_row_reference_new (model, _tmp3_ = gtk_tree_model_get_path (model, &iter)), (self->priv->rref == NULL) ? NULL : (self->priv->rref = (gtk_tree_row_reference_free (self->priv->rref), NULL)), _tmp4_); + (_tmp3_ == NULL) ? NULL : (_tmp3_ = (gtk_tree_path_free (_tmp3_), NULL)); + (tree == NULL) ? NULL : (tree = (g_object_unref (tree), NULL)); + (store == NULL) ? NULL : (store = (g_object_unref (store), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); +} + + +static void gmpc_metadata_browser_real_browser_selected (GmpcPluginBrowserIface* base, GtkContainer* container) { + GmpcMetadataBrowser * self; + char* artist; + char* _tmp0_; + self = (GmpcMetadataBrowser*) base; + g_return_if_fail (container != NULL); + artist = NULL; + self->priv->selected = TRUE; + gmpc_metadata_browser_browser_init (self); + gtk_container_add (container, (GtkWidget*) self->priv->paned); + /* update if non selected */ + _tmp0_ = NULL; + artist = (_tmp0_ = gmpc_metadata_browser_browser_get_selected_artist (self), artist = (g_free (artist), NULL), _tmp0_); + if (artist == NULL) { + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); + } + artist = (g_free (artist), NULL); +} + + +static void gmpc_metadata_browser_real_browser_unselected (GmpcPluginBrowserIface* base, GtkContainer* container) { + GmpcMetadataBrowser * self; + self = (GmpcMetadataBrowser*) base; + g_return_if_fail (container != NULL); + self->priv->selected = FALSE; + gtk_container_remove (container, (GtkWidget*) self->priv->paned); +} + + +static void gmpc_metadata_browser_con_changed (GmpcMetadataBrowser* self, GmpcConnection* conn, MpdObj* server, gint connect) { + g_return_if_fail (self != NULL); + g_return_if_fail (conn != NULL); + g_return_if_fail (server != NULL); + if (self->priv->paned == NULL) { + return; + } + gmpc_metadata_browser_history_clear (self); + gmpc_metadata_browser_reload_browsers (self); + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); +} + + +static void gmpc_metadata_browser_status_changed (GmpcMetadataBrowser* self, GmpcConnection* conn, MpdObj* server, ChangedStatusType what) { + g_return_if_fail (self != NULL); + g_return_if_fail (conn != NULL); + g_return_if_fail (server != NULL); + if (self->priv->paned == NULL) { + return; + } + if ((what & MPD_CST_DATABASE) != 0) { + gmpc_metadata_browser_reload_browsers (self); + if (self->priv->current != NULL) { + gmpc_metadata_browser_show_hitem (self, (GmpcMetadataBrowserHitem*) self->priv->current->data); + } + } +} + + +static void gmpc_metadata_browser_show_hitem (GmpcMetadataBrowser* self, const GmpcMetadataBrowserHitem* hi) { + g_return_if_fail (self != NULL); + switch ((*hi).type) { + case GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST: + { + gmpc_metadata_browser_set_artist (self, (*hi).song->artist); + break; + } + case GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM: + { + gmpc_metadata_browser_set_album (self, (*hi).song->artist, (*hi).song->album); + break; + } + case GMPC_METADATA_BROWSER_HITEM_TYPE_SONG: + { + gmpc_metadata_browser_set_song (self, (*hi).song); + break; + } + default: + { + gmpc_metadata_browser_metadata_box_clear (self); + break; + } + } +} + + +static void gmpc_metadata_browser_history_previous (GmpcMetadataBrowser* self) { + gboolean _tmp0_; + g_return_if_fail (self != NULL); + _tmp0_ = FALSE; + if (self->priv->history == NULL) { + _tmp0_ = TRUE; + } else { + _tmp0_ = self->priv->current == NULL; + } + if (_tmp0_) { + return; + } + if (self->priv->current->next == NULL) { + return; + } + self->priv->current = self->priv->current->next; + if (self->priv->current != NULL) { + gmpc_metadata_browser_show_hitem (self, (GmpcMetadataBrowserHitem*) self->priv->current->data); + } else { + gmpc_metadata_browser_metadata_box_clear (self); + } +} + + +static void gmpc_metadata_browser_history_next (GmpcMetadataBrowser* self) { + gboolean _tmp0_; + g_return_if_fail (self != NULL); + _tmp0_ = FALSE; + if (self->priv->history == NULL) { + _tmp0_ = TRUE; + } else { + _tmp0_ = self->priv->current == NULL; + } + if (_tmp0_) { + return; + } + if (self->priv->current->prev == NULL) { + return; + } + self->priv->current = self->priv->current->prev; + if (self->priv->current != NULL) { + gmpc_metadata_browser_show_hitem (self, (GmpcMetadataBrowserHitem*) self->priv->current->data); + } else { + gmpc_metadata_browser_metadata_box_clear (self); + } +} + + +static void gmpc_metadata_browser_history_show_list_clicked (GmpcMetadataBrowser* self, GtkMenuItem* item) { + GList* a; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + a = (GList*) g_object_get_data ((GObject*) item, "current"); + if (a != NULL) { + self->priv->current = a; + gmpc_metadata_browser_show_hitem (self, (GmpcMetadataBrowserHitem*) self->priv->current->data); + } +} + + +static void _gmpc_metadata_browser_history_show_list_clicked_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + gmpc_metadata_browser_history_show_list_clicked (self, _sender); +} + + +static void gmpc_metadata_browser_history_show_list (GmpcMetadataBrowser* self) { + GtkMenu* menu; + GList* iter; + g_return_if_fail (self != NULL); + menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); + iter = g_list_last (self->priv->history); + while (TRUE) { + GmpcMetadataBrowserHitem* _tmp0_; + GmpcMetadataBrowserHitem* i; + char* label; + GtkCheckMenuItem* item; + gboolean _tmp8_; + if (!(iter != NULL)) { + break; + } + _tmp0_ = NULL; + i = (_tmp0_ = (GmpcMetadataBrowserHitem*) iter->data, (_tmp0_ == NULL) ? NULL : gmpc_metadata_browser_hitem_dup (_tmp0_)); + label = g_strdup (""); + if ((*i).type == GMPC_METADATA_BROWSER_HITEM_TYPE_ARTIST) { + char* _tmp2_; + const char* _tmp1_; + _tmp2_ = NULL; + _tmp1_ = NULL; + label = (_tmp2_ = (_tmp1_ = (*i).song->artist, (_tmp1_ == NULL) ? NULL : g_strdup (_tmp1_)), label = (g_free (label), NULL), _tmp2_); + } else { + if ((*i).type == GMPC_METADATA_BROWSER_HITEM_TYPE_ALBUM) { + char* _tmp3_; + _tmp3_ = NULL; + label = (_tmp3_ = g_strdup_printf ("%s - %s", (*i).song->artist, (*i).song->album), label = (g_free (label), NULL), _tmp3_); + } else { + if ((*i).type == GMPC_METADATA_BROWSER_HITEM_TYPE_SONG) { + if ((*i).song->title != NULL) { + char* _tmp5_; + const char* _tmp4_; + _tmp5_ = NULL; + _tmp4_ = NULL; + label = (_tmp5_ = (_tmp4_ = (*i).song->title, (_tmp4_ == NULL) ? NULL : g_strdup (_tmp4_)), label = (g_free (label), NULL), _tmp5_); + } else { + char* _tmp7_; + const char* _tmp6_; + _tmp7_ = NULL; + _tmp6_ = NULL; + label = (_tmp7_ = (_tmp6_ = _ ("Unknown"), (_tmp6_ == NULL) ? NULL : g_strdup (_tmp6_)), label = (g_free (label), NULL), _tmp7_); + } + } + } + } + item = g_object_ref_sink ((GtkCheckMenuItem*) gtk_check_menu_item_new_with_label (label)); + gtk_check_menu_item_set_draw_as_radio (item, TRUE); + _tmp8_ = FALSE; + if (self->priv->current != NULL) { + _tmp8_ = self->priv->current == iter; + } else { + _tmp8_ = FALSE; + } + if (_tmp8_) { + gtk_check_menu_item_set_active (item, TRUE); + } + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_metadata_browser_history_show_list_clicked_gtk_menu_item_activate, self, 0); + g_object_set_data ((GObject*) item, "current", (void*) iter); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + iter = iter->prev; + (i == NULL) ? NULL : (i = (gmpc_metadata_browser_hitem_free (i), NULL)); + label = (g_free (label), NULL); + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + } + gtk_widget_show_all ((GtkWidget*) menu); + gtk_menu_popup (menu, NULL, NULL, NULL, NULL, (guint) 0, gtk_get_current_event_time ()); + (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); +} + + +static void _gmpc_metadata_browser_history_next_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_history_next (self); +} + + +static void _gmpc_metadata_browser_history_show_list_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_history_show_list (self); +} + + +static void _gmpc_metadata_browser_history_previous_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_metadata_browser_history_previous (self); +} + + +static GtkHBox* gmpc_metadata_browser_history_buttons (GmpcMetadataBrowser* self) { + GtkHBox* result; + GtkHBox* box; + gboolean _tmp0_; + GtkButton* next_but; + gboolean _tmp1_; + gboolean _tmp2_; + GtkButton* back_but; + gboolean _tmp4_; + g_return_val_if_fail (self != NULL, NULL); + box = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 0)); + _tmp0_ = FALSE; + if (self->priv->history == NULL) { + _tmp0_ = self->priv->current == NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + result = box; + return result; + } + next_but = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-go-forward")); + _tmp1_ = FALSE; + if (self->priv->current == NULL) { + _tmp1_ = TRUE; + } else { + _tmp1_ = self->priv->current->prev == NULL; + } + if (_tmp1_) { + g_object_set ((GtkWidget*) next_but, "sensitive", FALSE, NULL); + } + g_signal_connect_object (next_but, "clicked", (GCallback) _gmpc_metadata_browser_history_next_gtk_button_clicked, self, 0); + gtk_box_pack_end ((GtkBox*) box, (GtkWidget*) next_but, FALSE, FALSE, (guint) 0); + _tmp2_ = FALSE; + if (self->priv->current != NULL) { + gboolean _tmp3_; + _tmp3_ = FALSE; + if (self->priv->current->next != NULL) { + _tmp3_ = TRUE; + } else { + _tmp3_ = self->priv->current->prev != NULL; + } + _tmp2_ = _tmp3_; + } else { + _tmp2_ = FALSE; + } + if (_tmp2_) { + GtkButton* dd_but; + dd_but = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label ("L")); + g_signal_connect_object (dd_but, "clicked", (GCallback) _gmpc_metadata_browser_history_show_list_gtk_button_clicked, self, 0); + gtk_box_pack_end ((GtkBox*) box, (GtkWidget*) dd_but, FALSE, FALSE, (guint) 0); + (dd_but == NULL) ? NULL : (dd_but = (g_object_unref (dd_but), NULL)); + } + back_but = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-go-back")); + _tmp4_ = FALSE; + if (self->priv->current == NULL) { + _tmp4_ = TRUE; + } else { + _tmp4_ = self->priv->current->next == NULL; + } + if (_tmp4_) { + g_object_set ((GtkWidget*) back_but, "sensitive", FALSE, NULL); + } + g_signal_connect_object (back_but, "clicked", (GCallback) _gmpc_metadata_browser_history_previous_gtk_button_clicked, self, 0); + gtk_box_pack_end ((GtkBox*) box, (GtkWidget*) back_but, FALSE, FALSE, (guint) 0); + result = box; + (next_but == NULL) ? NULL : (next_but = (g_object_unref (next_but), NULL)); + (back_but == NULL) ? NULL : (back_but = (g_object_unref (back_but), NULL)); + return result; +} + + +static void gmpc_metadata_browser_history_add (GmpcMetadataBrowser* self, const GmpcMetadataBrowserHitem* hi) { + GmpcMetadataBrowserHitem* _tmp3_; + g_return_if_fail (self != NULL); + if (self->priv->history != NULL) { + GmpcMetadataBrowserHitem a; + a = *((GmpcMetadataBrowserHitem*) self->priv->current->data); + if (a.type == (*hi).type) { + char* _tmp1_; + char* _tmp0_; + gboolean _tmp2_; + _tmp1_ = NULL; + _tmp0_ = NULL; + if ((_tmp2_ = _vala_strcmp0 (_tmp0_ = mpd_song_checksum (a.song), _tmp1_ = mpd_song_checksum ((*hi).song)) == 0, _tmp1_ = (g_free (_tmp1_), NULL), _tmp0_ = (g_free (_tmp0_), NULL), _tmp2_)) { + return; + } + } + } + _tmp3_ = NULL; + self->priv->history = g_list_prepend (self->priv->history, (_tmp3_ = &(*hi), (_tmp3_ == NULL) ? NULL : gmpc_metadata_browser_hitem_dup (_tmp3_))); + if (g_list_length (self->priv->history) > 25) { + GList* a; + a = g_list_last (self->priv->history); + self->priv->history = g_list_remove (self->priv->history, (GmpcMetadataBrowserHitem*) a->data); + } + self->priv->current = self->priv->history; +} + + +static void gmpc_metadata_browser_history_clear (GmpcMetadataBrowser* self) { + GList* _tmp0_; + g_return_if_fail (self != NULL); + self->priv->current = NULL; + _tmp0_ = NULL; + self->priv->history = (_tmp0_ = NULL, (self->priv->history == NULL) ? NULL : (self->priv->history = (_g_list_free_gmpc_metadata_browser_hitem_free (self->priv->history), NULL)), _tmp0_); +} + + +/** + * Public api + */ +void gmpc_metadata_browser_set_artist (GmpcMetadataBrowser* self, const char* artist) { + GtkTreeIter iter = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (artist != NULL); + if (!gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + return; + } + self->priv->block_update++; + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (self->priv->tree_artist)); + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (self->priv->tree_album)); + /* clear */ + gtk_entry_set_text (self->priv->artist_filter_entry, ""); + if (gtk_tree_model_get_iter_first ((GtkTreeModel*) self->priv->model_filter_artist, &iter)) { + { + gboolean _tmp0_; + _tmp0_ = TRUE; + while (TRUE) { + char* lartist; + gboolean _tmp1_; + if (!_tmp0_) { + if (!gtk_tree_model_iter_next ((GtkTreeModel*) self->priv->model_filter_artist, &iter)) { + break; + } + } + _tmp0_ = FALSE; + lartist = NULL; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model_filter_artist, &iter, 7, &lartist, -1, -1); + _tmp1_ = FALSE; + if (lartist != NULL) { + _tmp1_ = g_utf8_collate (lartist, artist) == 0; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + GtkTreePath* _tmp2_; + gtk_tree_selection_select_iter (gtk_tree_view_get_selection (self->priv->tree_artist), &iter); + _tmp2_ = NULL; + gtk_tree_view_scroll_to_cell (self->priv->tree_artist, _tmp2_ = gtk_tree_model_get_path ((GtkTreeModel*) self->priv->model_filter_artist, &iter), NULL, TRUE, 0.5f, 0.f); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (gtk_tree_path_free (_tmp2_), NULL)); + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); + lartist = (g_free (lartist), NULL); + return; + } + lartist = (g_free (lartist), NULL); + } + } + } + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); +} + + +void gmpc_metadata_browser_set_album (GmpcMetadataBrowser* self, const char* artist, const char* album) { + GtkTreeIter iter = {0}; + g_return_if_fail (self != NULL); + g_return_if_fail (artist != NULL); + g_return_if_fail (album != NULL); + if (!gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + return; + } + self->priv->block_update++; + gmpc_metadata_browser_set_artist (self, artist); + /* clear */ + gtk_entry_set_text (self->priv->album_filter_entry, ""); + if (gtk_tree_model_get_iter_first ((GtkTreeModel*) self->priv->model_filter_album, &iter)) { + { + gboolean _tmp0_; + _tmp0_ = TRUE; + while (TRUE) { + char* lalbum; + gboolean _tmp1_; + if (!_tmp0_) { + if (!gtk_tree_model_iter_next ((GtkTreeModel*) self->priv->model_filter_album, &iter)) { + break; + } + } + _tmp0_ = FALSE; + lalbum = NULL; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model_filter_album, &iter, 6, &lalbum, -1, -1); + _tmp1_ = FALSE; + if (lalbum != NULL) { + _tmp1_ = g_utf8_collate (lalbum, album) == 0; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + GtkTreePath* _tmp2_; + gtk_tree_selection_select_iter (gtk_tree_view_get_selection (self->priv->tree_album), &iter); + _tmp2_ = NULL; + gtk_tree_view_scroll_to_cell (self->priv->tree_album, _tmp2_ = gtk_tree_model_get_path ((GtkTreeModel*) self->priv->model_filter_album, &iter), NULL, TRUE, 0.5f, 0.f); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (gtk_tree_path_free (_tmp2_), NULL)); + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (self->priv->tree_songs)); + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_update (self); + lalbum = (g_free (lalbum), NULL); + return; + } + lalbum = (g_free (lalbum), NULL); + } + } + } + gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (self->priv->tree_songs)); + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_clear (self); + gmpc_metadata_browser_metadata_box_update (self); +} + + +void gmpc_metadata_browser_set_song (GmpcMetadataBrowser* self, const mpd_Song* song) { + GtkTreeIter iter = {0}; + GmpcMetadataBrowserHitem _tmp3_ = {0}; + GmpcMetadataBrowserHitem item; + mpd_Song* _tmp5_; + const mpd_Song* _tmp4_; + GtkWidget* view; + g_return_if_fail (self != NULL); + g_return_if_fail (song != NULL); + if (!gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + return; + } + self->priv->block_update++; + if (song->artist != NULL) { + gmpc_metadata_browser_set_artist (self, song->artist); + if (song->album != NULL) { + gmpc_metadata_browser_set_album (self, song->artist, song->album); + } + } + if (gtk_tree_model_get_iter_first ((GtkTreeModel*) self->priv->model_songs, &iter)) { + { + gboolean _tmp0_; + _tmp0_ = TRUE; + while (TRUE) { + char* ltitle; + gboolean _tmp1_; + if (!_tmp0_) { + if (!gtk_tree_model_iter_next ((GtkTreeModel*) self->priv->model_songs, &iter)) { + break; + } + } + _tmp0_ = FALSE; + ltitle = NULL; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model_songs, &iter, 7, <itle, -1, -1); + _tmp1_ = FALSE; + if (ltitle != NULL) { + _tmp1_ = g_utf8_collate (ltitle, song->title) == 0; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + GtkTreePath* _tmp2_; + gtk_tree_selection_select_iter (gtk_tree_view_get_selection (self->priv->tree_songs), &iter); + _tmp2_ = NULL; + gtk_tree_view_scroll_to_cell (self->priv->tree_songs, _tmp2_ = gtk_tree_model_get_path ((GtkTreeModel*) self->priv->model_songs, &iter), NULL, TRUE, 0.5f, 0.f); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (gtk_tree_path_free (_tmp2_), NULL)); + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_update (self); + ltitle = (g_free (ltitle), NULL); + return; + } + ltitle = (g_free (ltitle), NULL); + } + } + } + self->priv->block_update--; + gmpc_metadata_browser_metadata_box_clear (self); + if (self->priv->update_timeout > 0) { + g_source_remove (self->priv->update_timeout); + self->priv->update_timeout = (guint) 0; + } + /** Add item to history */ + item = (memset (&_tmp3_, 0, sizeof (GmpcMetadataBrowserHitem)), _tmp3_); + _tmp5_ = NULL; + _tmp4_ = NULL; + item.song = (_tmp5_ = (_tmp4_ = song, (_tmp4_ == NULL) ? NULL : mpd_songDup (_tmp4_)), (item.song == NULL) ? NULL : (item.song = (mpd_freeSong (item.song), NULL)), _tmp5_); + item.type = GMPC_METADATA_BROWSER_HITEM_TYPE_SONG; + gmpc_metadata_browser_history_add (self, &item); + view = gmpc_metadata_browser_metadata_box_show_song (self, song, TRUE); + gtk_container_add ((GtkContainer*) self->priv->metadata_box, view); + gtk_widget_show_all ((GtkWidget*) self->priv->metadata_box); + gmpc_metadata_browser_hitem_destroy (&item); + (view == NULL) ? NULL : (view = (g_object_unref (view), NULL)); +} + + +void gmpc_metadata_browser_select_browser (GmpcMetadataBrowser* self, GtkTreeView* tree) { + g_return_if_fail (self != NULL); + if (self->priv->rref != NULL) { + GtkTreeView* category_tree; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + GtkTreePath* path; + category_tree = playlist3_get_category_tree_view (); + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (category_tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + path = gtk_tree_row_reference_get_path (self->priv->rref); + if (path != NULL) { + gtk_tree_selection_select_path (sel, path); + } + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + } +} + + +static void _lambda0_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-artist-information", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda0__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda0_ (_sender, self); +} + + +static void _lambda1_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-album-information", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda1__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda1_ (_sender, self); +} + + +static void _lambda2_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-similar-artist", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda2__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda2_ (_sender, self); +} + + +static void _lambda3_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-lyrics", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda3__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda3_ (_sender, self); +} + + +static void _lambda4_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-guitar-tabs", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda4__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda4_ (_sender, self); +} + + +static void _lambda5_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-similar-songs", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda5__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda5_ (_sender, self); +} + + +static void _lambda6_ (GtkToggleButton* source, GmpcMetadataBrowser* self) { + g_return_if_fail (source != NULL); + cfg_set_single_value_as_int (config, "MetaData", "show-web-links", (gint) gtk_toggle_button_get_active (source)); +} + + +static void __lambda6__gtk_toggle_button_toggled (GtkToggleButton* _sender, gpointer self) { + _lambda6_ (_sender, self); +} + + +/** + * Preferences + */ +static void gmpc_metadata_browser_real_preferences_pane_construct (GmpcPluginPreferencesIface* base, GtkContainer* container) { + GmpcMetadataBrowser * self; + GtkVBox* box; + GtkLabel* label; + GtkCheckButton* chk; + GtkCheckButton* _tmp0_; + GtkCheckButton* _tmp1_; + GtkCheckButton* _tmp2_; + GtkCheckButton* _tmp3_; + GtkCheckButton* _tmp4_; + GtkCheckButton* _tmp5_; + self = (GmpcMetadataBrowser*) base; + g_return_if_fail (container != NULL); + box = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + /* Title */ + label = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Enable/disable metadata options"))); + gtk_misc_set_alignment ((GtkMisc*) label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + /* Artist information */ + chk = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Artist information"))); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-artist-information", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda0__gtk_toggle_button_toggled, self, 0); + /* Album information */ + _tmp0_ = NULL; + chk = (_tmp0_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Album information"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp0_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-album-information", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda1__gtk_toggle_button_toggled, self, 0); + /* Artist similar */ + _tmp1_ = NULL; + chk = (_tmp1_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Similar Artist"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp1_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-similar-artist", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda2__gtk_toggle_button_toggled, self, 0); + /* Lyrics */ + _tmp2_ = NULL; + chk = (_tmp2_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Lyrics"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp2_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-lyrics", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda3__gtk_toggle_button_toggled, self, 0); + /* Guitar Tabs*/ + _tmp3_ = NULL; + chk = (_tmp3_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Guitar Tabs"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp3_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-guitar-tabs", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda4__gtk_toggle_button_toggled, self, 0); + /* Similar songs*/ + _tmp4_ = NULL; + chk = (_tmp4_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Similar Songs"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp4_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-similar-songs", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda5__gtk_toggle_button_toggled, self, 0); + /* Web links*/ + _tmp5_ = NULL; + chk = (_tmp5_ = g_object_ref_sink ((GtkCheckButton*) gtk_check_button_new_with_label (_ ("Web links"))), (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)), _tmp5_); + gtk_toggle_button_set_active ((GtkToggleButton*) chk, cfg_get_single_value_as_int_with_default (config, "MetaData", "show-web-links", 1) == 1); + gtk_box_pack_start ((GtkBox*) box, (GtkWidget*) chk, FALSE, FALSE, (guint) 0); + g_signal_connect_object ((GtkToggleButton*) chk, "toggled", (GCallback) __lambda6__gtk_toggle_button_toggled, self, 0); + gtk_container_add (container, (GtkWidget*) box); + gtk_widget_show_all ((GtkWidget*) box); + (box == NULL) ? NULL : (box = (g_object_unref (box), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (chk == NULL) ? NULL : (chk = (g_object_unref (chk), NULL)); +} + + +static void gmpc_metadata_browser_real_preferences_pane_destroy (GmpcPluginPreferencesIface* base, GtkContainer* container) { + GmpcMetadataBrowser * self; + self = (GmpcMetadataBrowser*) base; + g_return_if_fail (container != NULL); + { + GList* child_collection; + GList* child_it; + child_collection = gtk_container_get_children (container); + for (child_it = child_collection; child_it != NULL; child_it = child_it->next) { + GtkWidget* _tmp0_; + GtkWidget* child; + _tmp0_ = NULL; + child = (_tmp0_ = (GtkWidget*) child_it->data, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + { + gtk_container_remove (container, child); + (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); + } + } + (child_collection == NULL) ? NULL : (child_collection = (g_list_free (child_collection), NULL)); + } +} + + +GmpcMetadataBrowser* gmpc_metadata_browser_construct (GType object_type) { + GmpcMetadataBrowser * self; + self = (GmpcMetadataBrowser*) gmpc_plugin_base_construct (object_type); + return self; +} + + +GmpcMetadataBrowser* gmpc_metadata_browser_new (void) { + return gmpc_metadata_browser_construct (GMPC_TYPE_METADATA_BROWSER); +} + + +static void _gmpc_metadata_browser_con_changed_gmpc_connection_connection_changed (GmpcConnection* _sender, MpdObj* server, gint connect, gpointer self) { + gmpc_metadata_browser_con_changed (self, _sender, server, connect); +} + + +static void _gmpc_metadata_browser_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self) { + gmpc_metadata_browser_status_changed (self, _sender, server, what); +} + + +static GObject * gmpc_metadata_browser_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcMetadataBrowserClass * klass; + GObjectClass * parent_class; + GmpcMetadataBrowser * self; + klass = GMPC_METADATA_BROWSER_CLASS (g_type_class_peek (GMPC_TYPE_METADATA_BROWSER)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_METADATA_BROWSER (obj); + { + /* Set the plugin as an internal one and of type pl_browser */ + ((GmpcPluginBase*) self)->plugin_type = 2 | 8; + g_signal_connect_object (gmpcconn, "connection-changed", (GCallback) _gmpc_metadata_browser_con_changed_gmpc_connection_connection_changed, self, 0); + g_signal_connect_object (gmpcconn, "status-changed", (GCallback) _gmpc_metadata_browser_status_changed_gmpc_connection_status_changed, self, 0); + } + return obj; +} + + +static void gmpc_metadata_browser_hitem_copy (const GmpcMetadataBrowserHitem* self, GmpcMetadataBrowserHitem* dest) { + const mpd_Song* _tmp1_; + _tmp1_ = NULL; + dest->type = self->type; + dest->song = (_tmp1_ = self->song, (_tmp1_ == NULL) ? NULL : mpd_songDup (_tmp1_)); +} + + +static void gmpc_metadata_browser_hitem_destroy (GmpcMetadataBrowserHitem* self) { + (self->song == NULL) ? NULL : (self->song = (mpd_freeSong (self->song), NULL)); +} + + +static GmpcMetadataBrowserHitem* gmpc_metadata_browser_hitem_dup (const GmpcMetadataBrowserHitem* self) { + GmpcMetadataBrowserHitem* dup; + dup = g_new0 (GmpcMetadataBrowserHitem, 1); + gmpc_metadata_browser_hitem_copy (self, dup); + return dup; +} + + +static void gmpc_metadata_browser_hitem_free (GmpcMetadataBrowserHitem* self) { + gmpc_metadata_browser_hitem_destroy (self); + g_free (self); +} + + +static GType gmpc_metadata_browser_hitem_get_type (void) { + static GType gmpc_metadata_browser_hitem_type_id = 0; + if (gmpc_metadata_browser_hitem_type_id == 0) { + gmpc_metadata_browser_hitem_type_id = g_boxed_type_register_static ("GmpcMetadataBrowserHitem", (GBoxedCopyFunc) gmpc_metadata_browser_hitem_dup, (GBoxedFreeFunc) gmpc_metadata_browser_hitem_free); + } + return gmpc_metadata_browser_hitem_type_id; +} + + +static void gmpc_metadata_browser_class_init (GmpcMetadataBrowserClass * klass) { + gmpc_metadata_browser_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcMetadataBrowserPrivate)); + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_metadata_browser_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_metadata_browser_real_get_name; + GMPC_PLUGIN_BASE_CLASS (klass)->save_yourself = gmpc_metadata_browser_real_save_yourself; + G_OBJECT_CLASS (klass)->constructor = gmpc_metadata_browser_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_metadata_browser_finalize; +} + + +static void gmpc_metadata_browser_gmpc_plugin_browser_iface_interface_init (GmpcPluginBrowserIfaceIface * iface) { + gmpc_metadata_browser_gmpc_plugin_browser_iface_parent_iface = g_type_interface_peek_parent (iface); + iface->browser_add_go_menu = gmpc_metadata_browser_real_browser_add_go_menu; + iface->browser_add = gmpc_metadata_browser_real_browser_add; + iface->browser_selected = gmpc_metadata_browser_real_browser_selected; + iface->browser_unselected = gmpc_metadata_browser_real_browser_unselected; +} + + +static void gmpc_metadata_browser_gmpc_plugin_preferences_iface_interface_init (GmpcPluginPreferencesIfaceIface * iface) { + gmpc_metadata_browser_gmpc_plugin_preferences_iface_parent_iface = g_type_interface_peek_parent (iface); + iface->preferences_pane_construct = gmpc_metadata_browser_real_preferences_pane_construct; + iface->preferences_pane_destroy = gmpc_metadata_browser_real_preferences_pane_destroy; +} + + +static void gmpc_metadata_browser_instance_init (GmpcMetadataBrowser * self) { + self->priv = GMPC_METADATA_BROWSER_GET_PRIVATE (self); + self->priv->block_update = 0; + self->priv->rref = NULL; + self->priv->paned = NULL; + self->priv->browser_box = NULL; + self->priv->tree_artist = NULL; + self->priv->model_artist = NULL; + self->priv->model_filter_artist = NULL; + self->priv->artist_filter_entry = NULL; + self->priv->tree_album = NULL; + self->priv->model_albums = NULL; + self->priv->model_filter_album = NULL; + self->priv->album_filter_entry = NULL; + self->priv->tree_songs = NULL; + self->priv->model_songs = NULL; + self->priv->metadata_sw = NULL; + self->priv->metadata_box = NULL; + self->priv->update_timeout = (guint) 0; + self->priv->selected = FALSE; + self->priv->history = NULL; + self->priv->current = NULL; +} + + +static void gmpc_metadata_browser_finalize (GObject* obj) { + GmpcMetadataBrowser * self; + self = GMPC_METADATA_BROWSER (obj); + (self->priv->rref == NULL) ? NULL : (self->priv->rref = (gtk_tree_row_reference_free (self->priv->rref), NULL)); + (self->priv->paned == NULL) ? NULL : (self->priv->paned = (g_object_unref (self->priv->paned), NULL)); + (self->priv->browser_box == NULL) ? NULL : (self->priv->browser_box = (g_object_unref (self->priv->browser_box), NULL)); + (self->priv->tree_artist == NULL) ? NULL : (self->priv->tree_artist = (g_object_unref (self->priv->tree_artist), NULL)); + (self->priv->model_artist == NULL) ? NULL : (self->priv->model_artist = (g_object_unref (self->priv->model_artist), NULL)); + (self->priv->model_filter_artist == NULL) ? NULL : (self->priv->model_filter_artist = (g_object_unref (self->priv->model_filter_artist), NULL)); + (self->priv->artist_filter_entry == NULL) ? NULL : (self->priv->artist_filter_entry = (g_object_unref (self->priv->artist_filter_entry), NULL)); + (self->priv->tree_album == NULL) ? NULL : (self->priv->tree_album = (g_object_unref (self->priv->tree_album), NULL)); + (self->priv->model_albums == NULL) ? NULL : (self->priv->model_albums = (g_object_unref (self->priv->model_albums), NULL)); + (self->priv->model_filter_album == NULL) ? NULL : (self->priv->model_filter_album = (g_object_unref (self->priv->model_filter_album), NULL)); + (self->priv->album_filter_entry == NULL) ? NULL : (self->priv->album_filter_entry = (g_object_unref (self->priv->album_filter_entry), NULL)); + (self->priv->tree_songs == NULL) ? NULL : (self->priv->tree_songs = (g_object_unref (self->priv->tree_songs), NULL)); + (self->priv->model_songs == NULL) ? NULL : (self->priv->model_songs = (g_object_unref (self->priv->model_songs), NULL)); + (self->priv->metadata_sw == NULL) ? NULL : (self->priv->metadata_sw = (g_object_unref (self->priv->metadata_sw), NULL)); + (self->priv->metadata_box == NULL) ? NULL : (self->priv->metadata_box = (g_object_unref (self->priv->metadata_box), NULL)); + (self->priv->history == NULL) ? NULL : (self->priv->history = (_g_list_free_gmpc_metadata_browser_hitem_free (self->priv->history), NULL)); + G_OBJECT_CLASS (gmpc_metadata_browser_parent_class)->finalize (obj); +} + + +GType gmpc_metadata_browser_get_type (void) { + static GType gmpc_metadata_browser_type_id = 0; + if (gmpc_metadata_browser_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcMetadataBrowserClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_metadata_browser_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcMetadataBrowser), 0, (GInstanceInitFunc) gmpc_metadata_browser_instance_init, NULL }; + static const GInterfaceInfo gmpc_plugin_browser_iface_info = { (GInterfaceInitFunc) gmpc_metadata_browser_gmpc_plugin_browser_iface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gmpc_plugin_preferences_iface_info = { (GInterfaceInitFunc) gmpc_metadata_browser_gmpc_plugin_preferences_iface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + gmpc_metadata_browser_type_id = g_type_register_static (GMPC_PLUGIN_TYPE_BASE, "GmpcMetadataBrowser", &g_define_type_info, 0); + g_type_add_interface_static (gmpc_metadata_browser_type_id, GMPC_PLUGIN_TYPE_BROWSER_IFACE, &gmpc_plugin_browser_iface_info); + g_type_add_interface_static (gmpc_metadata_browser_type_id, GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, &gmpc_plugin_preferences_iface_info); + } + return gmpc_metadata_browser_type_id; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + +static int _vala_strcmp0 (const char * str1, const char * str2) { + if (str1 == NULL) { + return -(str1 != str2); + } + if (str2 == NULL) { + return str1 != str2; + } + return strcmp (str1, str2); +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-browser2.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-browser2.h --- gmpc-0.18.0/src/vala/gmpc-metadata-browser2.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-browser2.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,150 @@ + +#ifndef __GMPC_METADATA_BROWSER2_H__ +#define __GMPC_METADATA_BROWSER2_H__ + +#include +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_WIDGET_TYPE_SIMILAR_SONGS (gmpc_widget_similar_songs_get_type ()) +#define GMPC_WIDGET_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongs)) +#define GMPC_WIDGET_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongsClass)) +#define GMPC_WIDGET_IS_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS)) +#define GMPC_WIDGET_IS_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_SIMILAR_SONGS)) +#define GMPC_WIDGET_SIMILAR_SONGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_SIMILAR_SONGS, GmpcWidgetSimilarSongsClass)) + +typedef struct _GmpcWidgetSimilarSongs GmpcWidgetSimilarSongs; +typedef struct _GmpcWidgetSimilarSongsClass GmpcWidgetSimilarSongsClass; +typedef struct _GmpcWidgetSimilarSongsPrivate GmpcWidgetSimilarSongsPrivate; + +#define GMPC_WIDGET_TYPE_SIMILAR_ARTIST (gmpc_widget_similar_artist_get_type ()) +#define GMPC_WIDGET_SIMILAR_ARTIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtist)) +#define GMPC_WIDGET_SIMILAR_ARTIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtistClass)) +#define GMPC_WIDGET_IS_SIMILAR_ARTIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST)) +#define GMPC_WIDGET_IS_SIMILAR_ARTIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_SIMILAR_ARTIST)) +#define GMPC_WIDGET_SIMILAR_ARTIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_SIMILAR_ARTIST, GmpcWidgetSimilarArtistClass)) + +typedef struct _GmpcWidgetSimilarArtist GmpcWidgetSimilarArtist; +typedef struct _GmpcWidgetSimilarArtistClass GmpcWidgetSimilarArtistClass; +typedef struct _GmpcWidgetSimilarArtistPrivate GmpcWidgetSimilarArtistPrivate; + +#define GMPC_TYPE_METADATA_BROWSER (gmpc_metadata_browser_get_type ()) +#define GMPC_METADATA_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowser)) +#define GMPC_METADATA_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowserClass)) +#define GMPC_IS_METADATA_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_METADATA_BROWSER)) +#define GMPC_IS_METADATA_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_METADATA_BROWSER)) +#define GMPC_METADATA_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_METADATA_BROWSER, GmpcMetadataBrowserClass)) + +typedef struct _GmpcMetadataBrowser GmpcMetadataBrowser; +typedef struct _GmpcMetadataBrowserClass GmpcMetadataBrowserClass; + +#define GMPC_WIDGET_TYPE_MORE (gmpc_widget_more_get_type ()) +#define GMPC_WIDGET_MORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMore)) +#define GMPC_WIDGET_MORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMoreClass)) +#define GMPC_WIDGET_IS_MORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGET_TYPE_MORE)) +#define GMPC_WIDGET_IS_MORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGET_TYPE_MORE)) +#define GMPC_WIDGET_MORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGET_TYPE_MORE, GmpcWidgetMoreClass)) + +typedef struct _GmpcWidgetMore GmpcWidgetMore; +typedef struct _GmpcWidgetMoreClass GmpcWidgetMoreClass; +typedef struct _GmpcWidgetMorePrivate GmpcWidgetMorePrivate; + +#define GMPC_TYPE_NOW_PLAYING (gmpc_now_playing_get_type ()) +#define GMPC_NOW_PLAYING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_NOW_PLAYING, GmpcNowPlaying)) +#define GMPC_NOW_PLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_NOW_PLAYING, GmpcNowPlayingClass)) +#define GMPC_IS_NOW_PLAYING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_NOW_PLAYING)) +#define GMPC_IS_NOW_PLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_NOW_PLAYING)) +#define GMPC_NOW_PLAYING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_NOW_PLAYING, GmpcNowPlayingClass)) + +typedef struct _GmpcNowPlaying GmpcNowPlaying; +typedef struct _GmpcNowPlayingClass GmpcNowPlayingClass; +typedef struct _GmpcNowPlayingPrivate GmpcNowPlayingPrivate; +typedef struct _GmpcMetadataBrowserPrivate GmpcMetadataBrowserPrivate; + +struct _GmpcWidgetSimilarSongs { + GtkExpander parent_instance; + GmpcWidgetSimilarSongsPrivate * priv; +}; + +struct _GmpcWidgetSimilarSongsClass { + GtkExpanderClass parent_class; +}; + +struct _GmpcWidgetSimilarArtist { + GtkTable parent_instance; + GmpcWidgetSimilarArtistPrivate * priv; +}; + +struct _GmpcWidgetSimilarArtistClass { + GtkTableClass parent_class; +}; + +/** + * The "More" Widget. This collapses it child and adds a more/less button. + * Using the unique_id it stores the state for the next time. + */ +struct _GmpcWidgetMore { + GtkFrame parent_instance; + GmpcWidgetMorePrivate * priv; +}; + +struct _GmpcWidgetMoreClass { + GtkFrameClass parent_class; +}; + +/** + * Now playing uses the MetaDataBrowser plugin to "plot" the view */ +struct _GmpcNowPlaying { + GmpcPluginBase parent_instance; + GmpcNowPlayingPrivate * priv; +}; + +struct _GmpcNowPlayingClass { + GmpcPluginBaseClass parent_class; +}; + +struct _GmpcMetadataBrowser { + GmpcPluginBase parent_instance; + GmpcMetadataBrowserPrivate * priv; +}; + +struct _GmpcMetadataBrowserClass { + GmpcPluginBaseClass parent_class; +}; + + +GType gmpc_widget_similar_songs_get_type (void); +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_new (const mpd_Song* song); +GmpcWidgetSimilarSongs* gmpc_widget_similar_songs_construct (GType object_type, const mpd_Song* song); +GType gmpc_widget_similar_artist_get_type (void); +GtkWidget* gmpc_widget_similar_artist_new_artist_button (GmpcWidgetSimilarArtist* self, const char* artist, gboolean in_db); +GType gmpc_metadata_browser_get_type (void); +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_new (GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song); +GmpcWidgetSimilarArtist* gmpc_widget_similar_artist_construct (GType object_type, GmpcMetadataBrowser* browser, MpdObj* server, const mpd_Song* song); +GType gmpc_widget_more_get_type (void); +GmpcWidgetMore* gmpc_widget_more_new (const char* unique_id, const char* markup, GtkWidget* child); +GmpcWidgetMore* gmpc_widget_more_construct (GType object_type, const char* unique_id, const char* markup, GtkWidget* child); +GType gmpc_now_playing_get_type (void); +GmpcNowPlaying* gmpc_now_playing_new (void); +GmpcNowPlaying* gmpc_now_playing_construct (GType object_type); +GtkWidget* gmpc_metadata_browser_metadata_box_show_song (GmpcMetadataBrowser* self, const mpd_Song* song, gboolean show_controls); +void gmpc_metadata_browser_set_artist (GmpcMetadataBrowser* self, const char* artist); +void gmpc_metadata_browser_set_album (GmpcMetadataBrowser* self, const char* artist, const char* album); +void gmpc_metadata_browser_set_song (GmpcMetadataBrowser* self, const mpd_Song* song); +void gmpc_metadata_browser_select_browser (GmpcMetadataBrowser* self, GtkTreeView* tree); +GmpcMetadataBrowser* gmpc_metadata_browser_new (void); +GmpcMetadataBrowser* gmpc_metadata_browser_construct (GType object_type); + +static const gint GMPC_NOW_PLAYING_version[] = {0, 0, 0}; +static const gint GMPC_METADATA_BROWSER_version[] = {0, 0, 0}; + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-browser2.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-browser2.vala --- gmpc-0.18.0/src/vala/gmpc-metadata-browser2.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-browser2.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,2673 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +/** + * This plugin consists of 3 parts + * Metadata2 plugin: Implements metadata 2 browser. + * Now Playing plugin: Reusing the metadata 2 browser it implements a now playing browser. + * Custom widget, there are some custom widgets used by the metadata 2 browser + * * Similar songs. + * * Similar artist. + * * More. (expands, collapses a sub widget + * + */ +using Config; +using Gtk; +using Gmpc; +using Gmpc.MpdData.Treeview.Tooltip; + +private const bool use_transition_mb = Gmpc.use_transition; +private const string some_unique_name_mb = Config.VERSION; + + +public class Gmpc.Widget.SimilarSongs : Gtk.Expander { + private MPD.Song song = null; + private bool filled = false; + private Gtk.Widget pchild = null; + private uint idle_add = 0; + ~SimilarSongs () + { + if(this.idle_add > 0){ + GLib.Source.remove(this.idle_add); + this.idle_add = 0; + } + } + + public SimilarSongs (MPD.Song song) + { + this.song = song; + var label = new Gtk.Label(_("Similar songs")); + label.set_markup("%s".printf(_("Similar songs"))); + this.set_label_widget(label); + label.show(); + } + private void add_clicked(Gtk.ImageMenuItem item) + { + Gtk.TreeView tree = (Gtk.TreeView)this.pchild; + + var sel = tree.get_selection(); + Gtk.TreeModel model = null; + Gtk.TreeIter iter; + List list = sel.get_selected_rows(out model); + foreach(Gtk.TreePath path in list) + { + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + MPD.PlayQueue.queue_add_song(server, song.file); + } + } + } + MPD.PlayQueue.queue_commit(server); + + } + private void play_clicked(Gtk.ImageMenuItem item) + { + Gtk.TreeView tree = (Gtk.TreeView)this.pchild; + + var sel = tree.get_selection(); + Gtk.TreeModel model = null; + Gtk.TreeIter iter; + List list = sel.get_selected_rows(out model); + if(list != null) + { + Gtk.TreePath path = list.data; + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + Gmpc.MpdInteraction.play_path(song.file); + } + } + } + } + private void replace_clicked(Gtk.ImageMenuItem item) + { + bool found = false; + Gtk.TreeView tree = (Gtk.TreeView)this.pchild; + var sel = tree.get_selection(); + Gtk.TreeModel model = null; + Gtk.TreeIter iter; + List list = sel.get_selected_rows(out model); + foreach(Gtk.TreePath path in list) + { + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + MPD.PlayQueue.queue_add_song(server, song.file); + found = true; + } + } + } + if(found) + { + MPD.PlayQueue.clear(server); + MPD.PlayQueue.queue_commit(server); + MPD.Player.play(server); + } + + + this.play_clicked(item); + } + private void tree_row_activated(Gmpc.MpdData.TreeView tree, Gtk.TreePath path , Gtk.TreeViewColumn column) + { + var model = tree.get_model(); + Gtk.TreeIter iter; + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + Gmpc.MpdInteraction.play_path(song.file); + } + } + } + private bool tree_right_menu(Gmpc.MpdData.TreeView tree, Gdk.EventButton event) + { + if(event.button == 3) + { + var menu = new Gtk.Menu(); + var item = new Gtk.ImageMenuItem.from_stock("gtk-media-play",null); + item.activate += play_clicked; + menu.append(item); + + item = new Gtk.ImageMenuItem.from_stock("gtk-add",null); + item.activate += add_clicked; + menu.append(item); + + item = new Gtk.ImageMenuItem.with_mnemonic(_("_Replace")); + item.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.MENU)); + item.activate += replace_clicked; + menu.append(item); + + menu.popup(null, null, null, event.button, event.time); + menu.show_all(); + return true; + } + return false; + } + + private Gmpc.MetaData.Item copy = null; + MPD.Data.Item item = null; + private weak List current = null; + private bool update_sim_song() + { + if(current == null){ + current = copy.get_text_list(); + pchild = new Gtk.ProgressBar(); + this.add(pchild); + this.show_all(); + } + ((Gtk.ProgressBar)pchild).pulse(); + if(current != null) + { + string entry = current.data; + if(entry != null){ + var split = entry.split("::",2); + if(split.length == 2) + { + MPD.Database.search_start(server, false); + var art_split = split[0].split(" "); + foreach(string artist in art_split) + { + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + } + + MPD.Database.search_add_constraint(server, MPD.Tag.Type.TITLE, split[1]); + var data = MPD.Database.search_commit(server); + if(data != null) + { + item.concatenate((owned)data); + } + } + } + current = current.next; + if(current != null) return true; + } + this.pchild.destroy(); + if(item != null) + { + var model = new Gmpc.MpdData.Model(); + model.set_mpd_data((owned)item); + Gmpc.MpdData.TreeView tree = new Gmpc.MpdData.TreeView("similar-song", true, model); + tree.enable_click_fix(); + tree.button_release_event += tree_right_menu; + tree.row_activated += tree_row_activated; + this.add(tree); + + this.pchild = tree; + }else { + var label = new Gtk.Label(_("Unavailable")); + label.set_alignment(0.0f, 0.0f); + this.add(label); + this.pchild = label; + } + + copy = null; + this.idle_add = 0; + + this.show_all(); + return false; + } + private void metadata_changed(MetaWatcher gmw2, MPD.Song song, Gmpc.MetaData.Type type, Gmpc.MetaData.Result result, Gmpc.MetaData.Item? met) + { + if(this.song.artist.collate(song.artist)!=0) return; + if(type != Gmpc.MetaData.Type.SONG_SIMILAR) return; + + if(this.pchild != null) this.pchild.destroy(); + + if(result == Gmpc.MetaData.Result.FETCHING) { + var label = new Gtk.Label(_("Fetching .. ")); + label.set_alignment(0.0f, 0.0f); + this.add(label); + this.pchild = label; + }else if (result == Gmpc.MetaData.Result.UNAVAILABLE) + { + var label = new Gtk.Label(_("Unavailable")); + label.set_alignment(0.0f, 0.0f); + this.add(label); + this.pchild = label; + }else{ + if(met.is_text_list()) + { + this.copy = met.dup_steal(); + this.idle_add = GLib.Idle.add(this.update_sim_song); + return; + }else { + var label = new Gtk.Label(_("Unavailable")); + label.set_alignment(0.0f, 0.0f); + this.add(label); + this.pchild = label; + } + } + this.show_all(); + + } + private void update() + { + MetaData.Item item = null; + metawatcher.data_changed += metadata_changed; + Gmpc.MetaData.Result gm_result = metawatcher.query(song, Gmpc.MetaData.Type.SONG_SIMILAR,out item); + this.metadata_changed(metawatcher, this.song, Gmpc.MetaData.Type.SONG_SIMILAR, gm_result, item); + } + + override void activate() + { + if(!this.expanded) { + this.set_expanded(true); + if(!filled) { + this.update(); + filled = true; + } + } + else{ + this.set_expanded(false); + } + } +} + +public class Gmpc.Widget.SimilarArtist : Gtk.Table { + private MPD.Song song = null; + private Gmpc.MetadataBrowser browser = null; + + /** + * Handle signals from the metadata object. + */ + private void metadata_changed(MetaWatcher gmw2, + MPD.Song song, + Gmpc.MetaData.Type type, + Gmpc.MetaData.Result result, + Gmpc.MetaData.Item? met) + { + /* only listen to the same artist and the same type */ + if(type != Gmpc.MetaData.Type.ARTIST_SIMILAR) return; + if(this.song.artist.collate(song.artist)!=0) return; + + /* clear widgets */ + var child_list = this.get_children(); + foreach(Gtk.Widget child in child_list) + { + child.destroy(); + } + + /* if unavailable set that in a label*/ + if(result == Gmpc.MetaData.Result.UNAVAILABLE || met.is_empty() || !met.is_text_list()) + { + var label = new Gtk.Label(_("Unavailable")); + this.attach(label, 0,1,0,1,Gtk.AttachOptions.SHRINK, Gtk.AttachOptions.SHRINK, 0,0); + } + /* if fetching set that in a label*/ + else if(result == Gmpc.MetaData.Result.FETCHING){ + var label = new Gtk.Label(_("Fetching")); + this.attach(label, 0,1,0,1,Gtk.AttachOptions.SHRINK, Gtk.AttachOptions.SHRINK, 0,0); + } + /* Set result */ + else { + List in_db_list = null; + GLib.List list = met.get_text_list().copy(); + list.sort((GLib.CompareFunc)string.collate); + + + int items = 30; + int i = 0; + if(list != null) + { + weak List liter= null; + MPD.Database.search_field_start(server, MPD.Tag.Type.ARTIST); + var data = MPD.Database.search_commit(server); + + int q =0; + + if(data != null) + { + + data.sort_album_disc_track(); + weak MPD.Data.Item iter = data.get_first(); + + liter = list.first(); + string artist = ""; + if(iter.tag.validate() == false) { + error("Failed to validate"); + } + if(iter.tag != null) + artist = iter.tag.casefold(); + do{ + var res = liter.data.casefold().collate(artist); + q++; + if(res == 0) + { + in_db_list.prepend(new_artist_button(iter.tag, true)); + i++; + var d = liter.data; + liter = liter.next; + list.remove(d); + //liter = null; + iter = iter.next(false); + if(iter != null) + artist = iter.tag.casefold(); + } + else if (res > 0) { + //list.remove(liter.data); + + iter = iter.next(false); + if(iter != null) + artist = iter.tag.casefold(); + } + else { + liter = liter.next; + } + }while(iter != null && liter != null && i < items); + } + + liter= list.first(); + while(liter != null && i < items) + { + var artist = liter.data; + in_db_list.prepend(new_artist_button(artist, false)); + i++; + liter = liter.next; + } + + } + in_db_list.reverse(); + i=0; + this.hide(); + uint llength = in_db_list.length(); + int columns = 3; + this.resize(llength/columns+1, columns); + foreach(Gtk.Widget item in in_db_list) + { + this.attach(item, + i%columns,i%columns+1,i/columns,i/columns+1, + Gtk.AttachOptions.EXPAND|Gtk.AttachOptions.FILL, + Gtk.AttachOptions.SHRINK, 0,0); + i++; + } + } + + this.show_all(); + } + private + void + artist_button_clicked(Gtk.Button button) + { + weak string artist = (string)button.get_data("artist"); + this.browser.set_artist(artist); + } + public + Gtk.Widget + new_artist_button(string artist, bool in_db) + { + var hbox = new Gtk.HBox(false, 6); + hbox.border_width = 4; +/* + var event = new Gtk.Frame(null); + */ + + var event = new Gtk.EventBox(); + event.app_paintable = true; + event.set_visible_window(true); + event.expose_event.connect(Gmpc.Misc.misc_header_expose_event); + event.set_size_request(200,60); + + var image = new Gmpc.MetaData.Image(Gmpc.MetaData.Type.ARTIST_ART, 48); + var song = new MPD.Song(); + song.artist = artist; + image.set_squared(true); + image.update_from_song_delayed(song); + hbox.pack_start(image,false,false,0); + + var label = new Gtk.Label(artist); + label.set_tooltip_text(artist); + label.set_selectable(true); + label.set_alignment(0.0f, 0.5f); + label.ellipsize = Pango.EllipsizeMode.END; + hbox.pack_start(label,true,true,0); + + if(in_db) + { + var find = new Gtk.Button(); + find.add(new Gtk.Image.from_stock("gtk-find", Gtk.IconSize.MENU)); + find.set_relief(Gtk.ReliefStyle.NONE); + hbox.pack_start(find,false,false,0); + + find.set_data_full("artist",(void *)"%s".printf(artist), (GLib.DestroyNotify) g_free); + find.clicked+= artist_button_clicked; + } + + event.add(hbox); + return event; + } + + public SimilarArtist(Gmpc.MetadataBrowser browser,MPD.Server server, MPD.Song song) + { + MetaData.Item item = null; + this.browser = browser; + this.song = song; + + this.set_homogeneous(true); + + this.set_row_spacings(6); + this.set_col_spacings(6); + + metawatcher.data_changed += metadata_changed; + + Gmpc.MetaData.Result gm_result = metawatcher.query(song, Gmpc.MetaData.Type.ARTIST_SIMILAR,out item); + if(gm_result == Gmpc.MetaData.Result.AVAILABLE) + { + this.metadata_changed(metawatcher, this.song, Gmpc.MetaData.Type.ARTIST_SIMILAR, gm_result, item); + } + } +} + +/** + * The "More" Widget. This collapses it child and adds a more/less button. + * Using the unique_id it stores the state for the next time. + */ +public class Gmpc.Widget.More : Gtk.Frame { + private Gtk.Alignment ali = null; + private int expand_state = 0; + private Gtk.Button expand_button = null; + private int max_height = 100; + private Gtk.EventBox eventbox = null; + private Gtk.Widget pchild = null; + + /** + * Expand/collaps the view + */ + private void expand(Gtk.Button but) + { + if(this.expand_state == 0) { + but.set_label(_("(less)")); + but.set_image(new Gtk.Image.from_stock("gtk-remove", Gtk.IconSize.MENU)); + this.ali.set_size_request(-1, -1); + this.expand_state = 1; + }else{ + but.set_label(_("(more)")); + + but.set_image(new Gtk.Image.from_stock("gtk-add", Gtk.IconSize.MENU)); + this.ali.set_size_request(-1, this.max_height); + this.expand_state = 0; + } + + } + /* if hte size of the child is small enough to fit in the + * small mode don't show the more/less button */ + private void size_changed(Gtk.Widget child, Gdk.Rectangle alloc) + { + if(alloc.height < (this.max_height-12)){ + this.ali.set_size_request(-1,-1); + this.expand_button.hide(); + }else{ + if(this.expand_state == 0) + this.ali.set_size_request(-1, this.max_height); + this.expand_button.show(); + } + } + + private void bg_style_changed(Gtk.Widget frame,Gtk.Style? style) + { + this.pchild.modify_bg(Gtk.StateType.NORMAL,this.parent.style.mid[Gtk.StateType.NORMAL]); + this.pchild.modify_base(Gtk.StateType.NORMAL,this.parent.style.mid[Gtk.StateType.NORMAL]); + + this.eventbox.modify_bg(Gtk.StateType.NORMAL,this.parent.style.dark[Gtk.StateType.NORMAL]); + this.eventbox.modify_base(Gtk.StateType.NORMAL,this.parent.style.dark[Gtk.StateType.NORMAL]); + } + + private string unique_id = null; + /* Store the state on destroy */ + ~More() + { + if(this.unique_id != null) { + config.set_int("MoreWidget", unique_id,this.expand_state); + } + } + /** + * @param unique_id a string used to store/restore state. + * @parem markup a string using following PangoMarkup to show in the label. + * @param child a Gtk.Widget that packs into it as child. + * + * @returns a Gmpc.Widget.More object. + */ + public More(string unique_id, string markup,Gtk.Widget child) + { + this.unique_id = unique_id; + this.set_shadow_type(Gtk.ShadowType.NONE); + + this.pchild = child; + + this.ali = new Gtk.Alignment(0f,0f,1f,0f); ali.set_padding(1,1,1,1); + this.eventbox = new Gtk.EventBox(); + this.eventbox.set_visible_window(true); + this.add(eventbox); + this.eventbox.add(ali); + + /* restore state */ + if(config.get_int_with_default("MoreWidget", unique_id,0) == 1){ + this.expand_state = 1; + this.ali.set_size_request(-1, -1); + } + else + this.ali.set_size_request(-1, this.max_height); + this.ali.add(child); + + this.style_set += bg_style_changed; + + var hbox = new Gtk.HBox(false, 6); + var label= new Gtk.Label(""); + label.set_selectable(true); + label.set_markup(markup); + hbox.pack_start(label, false, false,0); + this.expand_button = new Gtk.Button.with_label((this.expand_state == 0)?_("(more)"):_("(less)")); + + this.expand_button.set_image(new Gtk.Image.from_stock((this.expand_state == 0)?"gtk-add":"gtk-remove", Gtk.IconSize.MENU)); + this.expand_button.set_relief(Gtk.ReliefStyle.NONE); + this.expand_button.clicked+=expand; + hbox.pack_start(this.expand_button, false, false,0); + + this.set_label_widget(hbox); + child.size_allocate += size_changed; + + + } +} + +/** + * Now playing uses the MetaDataBrowser plugin to "plot" the view */ +public class Gmpc.NowPlaying : Gmpc.Plugin.Base, Gmpc.Plugin.BrowserIface { + private Gtk.TreeRowReference np_ref = null; + + construct { + /* Set the plugin as an internal one and of type pl_browser */ + this.plugin_type = 2|8; + /* Track changed status */ + gmpcconn.status_changed += status_changed; + /* Create a metadata browser plugin, we abuse for the view */ + this.browser = new Gmpc.MetadataBrowser(); + } + /* Version */ + public const int[] version = {0,0,0}; + public override weak int[] get_version() { + return version; + } + /* Name */ + public override weak string get_name() { + return N_("Now Playing"); + } + /* Save our position in the side-bar */ + public override void save_yourself() { + if(this.paned != null) { + this.paned.destroy(); + this.paned = null; + } + if(this.np_ref != null) { + var path = np_ref.get_path(); + if(path != null) { + weak int[] indices = path.get_indices(); + config.set_int(this.get_name(), "position", indices[0]); + } + } + } + + private + void + status_changed(Gmpc.Connection conn, MPD.Server server, MPD.Status.Changed what) + { + if(this.paned == null) return; + if(( (what&MPD.Status.Changed.SONGID) == MPD.Status.Changed.SONGID || + (what&MPD.Status.Changed.PLAYLIST) == MPD.Status.Changed.PLAYLIST || + (what&MPD.Status.Changed.STATE) == MPD.Status.Changed.STATE + ) && this.selected) + { + this.update(); + } + } + /* Browser */ + private Gmpc.MetadataBrowser browser = null; + private Gtk.ScrolledWindow paned = null; + private Gtk.EventBox container = null; + /** + * Browser Interface bindings + */ + public void browser_add (Gtk.Widget category_tree) + { + Gtk.TreeView tree = (Gtk.TreeView)category_tree; + Gtk.ListStore store = (Gtk.ListStore)tree.get_model(); + Gtk.TreeModel model = tree.get_model(); + Gtk.TreeIter iter; + Gmpc.Browser.insert(out iter, config.get_int_with_default(this.get_name(), "position", 0)); + store.set(iter, 0, this.id, 1, _(this.get_name()), 3, "media-audiofile"); + /* Create a row reference */ + this.np_ref = new Gtk.TreeRowReference(model, model.get_path(iter)); + } + public void browser_selected (Gtk.Container container) + { + this.selected = true; + this.browser_init(); + container.add(this.paned); + this.update(); + } + + private bool selected = false; + public void browser_unselected(Gtk.Container container) + { + this.selected = false; + container.remove(this.paned); + } + + private void browser_bg_style_changed(Gtk.ScrolledWindow bg,Gtk.Style? style) + { + this.container.modify_bg(Gtk.StateType.NORMAL,this.paned.style.base[Gtk.StateType.NORMAL]); + } + /* Handle buttons presses, f.e. for scrolling */ + private bool browser_key_release_event(Gdk.EventKey event) + { + var adj = this.paned.get_vadjustment(); + double incr = 20; + adj.get("step-increment", out incr); + if(event.keyval == 0xff55 )// GDK_Page_Up + { + adj.set_value(adj.get_value()-incr); + return true; + } + else if (event.keyval == 0xff56) // GDK_Page_Down + { + adj.set_value(adj.get_value()+incr); + return true; + } + return false; + } + + + private void browser_init() { + if(this.paned == null) + { + this.paned = new Gtk.ScrolledWindow(null,null); + this.paned.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + this.paned.set_shadow_type(Gtk.ShadowType.NONE); + this.container = new Gtk.EventBox(); + this.container.set_visible_window(true); + this.paned.style_set += browser_bg_style_changed; + this.paned.add_with_viewport(this.container); + this.paned.get_vadjustment().set("step-increment", 20.0); + /* Bind keys */ + this.paned.key_release_event += browser_key_release_event; + } + } + + private string song_checksum = null; + private void update() + { + if(this.paned == null) return; + + + MPD.Song song = server.playlist_get_current_song(); + if(song != null && MPD.Player.get_state(server) != MPD.Player.State.STOP) { + var checksum = Gmpc.Misc.song_checksum(song); + if(checksum != this.song_checksum) + { + /* Clear */ + var list = this.container.get_children(); + foreach(Gtk.Widget child in list){ + child.destroy(); + } + var view = this.browser.metadata_box_show_song(song, false); + this.container.add(view); + this.song_checksum = checksum; + } + } else{ + this.song_checksum = null; + /* Clear */ + var list = this.container.get_children(); + foreach(Gtk.Widget child in list){ + child.destroy(); + } + var it = Gtk.IconTheme.get_default(); + Gtk.IconInfo info = it.lookup_icon("gmpc", 150, 0); + var path = info.get_filename(); + Gtk.Image image = null; + if(path != null) + { + try { + var pb = new Gdk.Pixbuf.from_file_at_scale(path, 150, 150, true); + image = new Gtk.Image.from_pixbuf(pb); + } catch (Error e) + { + + } + } + if(image == null){ + image = new Gtk.Image.from_icon_name("gmpc", Gtk.IconSize.DIALOG); + } + + var hbox = new Gtk.HBox(false, 6); + var label = new Gtk.Label(_("Gnome Music Player Client")); + label.set_selectable(true); + label.set_markup("%s".printf(28*Pango.SCALE,_("Gnome Music Player Client"))); + hbox.pack_start(image, false, false, 0); + hbox.pack_start(label, false, false, 0); + + var ali = new Gtk.Alignment(0.5f,0.5f,0.0f, 0.0f); + ali.add(hbox); + this.container.add(ali); + } + this.paned.show_all(); + } + + /** + * Makes gmpc jump to the now playing browser + */ + private void select_now_playing_browser(Gtk.ImageMenuItem item) + { + weak Gtk.TreeView tree = Gmpc.Playlist3.get_category_tree_view(); + var sel = tree.get_selection(); + var path = np_ref.get_path(); + if(path != null) + { + sel.select_path(path); + } + } + + /** + * Gmpc.Plugin.BrowserIface.add_go_menu + */ + private int browser_add_go_menu(Gtk.Menu menu) + { + if(this.get_enabled()) + { + var item = new Gtk.ImageMenuItem.with_mnemonic(_("Now Playing")); + item.set_image(new Gtk.Image.from_icon_name("media-audiofile", Gtk.IconSize.MENU)); + item.activate += select_now_playing_browser; + item.add_accelerator("activate", menu.get_accel_group(),0x069, Gdk.ModifierType.CONTROL_MASK, Gtk.AccelFlags.VISIBLE); + menu.append(item); + return 1; + } + return 0; + } +} + +public class Gmpc.MetadataBrowser : Gmpc.Plugin.Base, Gmpc.Plugin.BrowserIface, Gmpc.Plugin.PreferencesIface { + private int block_update = 0; + /* Stores the location in the cat_tree */ + private Gtk.TreeRowReference rref = null; + + construct { + /* Set the plugin as an internal one and of type pl_browser */ + this.plugin_type = 2|8; + + gmpcconn.connection_changed += con_changed; + gmpcconn.status_changed += status_changed; + } + + public const int[] version = {0,0,0}; + public override weak int[] get_version() { + return version; + } + + public override weak string get_name() { + return N_("Metadata Browser"); + } + + public override void save_yourself() { + if(this.paned != null) { + int pos = this.paned.get_position(); + config.set_int(this.get_name(), "pane-pos", pos); + } + + if(this.model_artist != null) this.model_artist.set_mpd_data(null); + if(this.model_albums != null)this.model_albums.set_mpd_data(null); + + if(this.rref != null) { + var path = rref.get_path(); + if(path != null) { + weak int[] indices = path.get_indices(); + config.set_int(this.get_name(), "position", indices[0]); + } + } + } + /* Now playing browser */ + + + /** + * Browser part + */ + /* 'base' widget */ + private Gtk.Paned paned = null; + /* holding the 3 browsers */ + private Gtk.Box browser_box = null; + /* The 3 browsers */ + /* artist */ + private Gtk.TreeView tree_artist = null; + private Gmpc.MpdData.Model model_artist = null; + private Gtk.TreeModelFilter model_filter_artist = null; + private Gtk.Entry artist_filter_entry = null; + + /* album */ + private Gtk.TreeView tree_album = null; + private Gmpc.MpdData.Model model_albums = null; + private Gtk.TreeModelFilter model_filter_album = null; + private Gtk.Entry album_filter_entry = null; + + /* song */ + private Gtk.TreeView tree_songs = null; + private Gmpc.MpdData.Model model_songs = null; + + /* The right hand "browser" box */ + private Gtk.ScrolledWindow metadata_sw = null; + private Gtk.EventBox metadata_box = null; + + /** + * Makes gmpc jump to the metadata browser + */ + private void select_metadata_browser(Gtk.ImageMenuItem item) + { + this.select_browser(null); + } + /** + * Gmpc.Plugin.BrowserIface.add_go_menu + */ + private int browser_add_go_menu(Gtk.Menu menu) + { + if(this.get_enabled()) + { + var item = new Gtk.ImageMenuItem.with_mnemonic(_(this.get_name())); + item.set_image(new Gtk.Image.from_stock("gtk-info", Gtk.IconSize.MENU)); + item.activate += select_metadata_browser; + item.add_accelerator("activate", menu.get_accel_group(),0xffc1,0, Gtk.AccelFlags.VISIBLE); + menu.append(item); + + return 1; + } + return 0; + } + + /** + * This builds the browser + */ + private void browser_bg_style_changed(Gtk.ScrolledWindow bg,Gtk.Style? style) + { + this.metadata_box.modify_bg(Gtk.StateType.NORMAL,this.metadata_sw.style.base[Gtk.StateType.NORMAL]); + } + /* This hack makes clicking a selected row again, unselect it */ + private bool browser_button_press_event(Gtk.TreeView tree, Gdk.EventButton event) + { + Gtk.TreePath path= null; + if(event.button != 1) return false; + if(tree.get_path_at_pos((int)event.x,(int)event.y,out path, null, null, null)) + { + if(tree.get_selection().path_is_selected(path)){ + tree.get_selection().unselect_path(path); + return true; + } + } + return false; + } + /** + * Artist tree view functions */ + private void browser_artist_entry_changed(Gtk.Entry entry) + { + string text = entry.get_text(); + if(text.size() > 0) { + entry.show(); + }else{ + entry.hide(); + this.tree_artist.grab_focus(); + } + this.model_filter_artist.refilter(); + } + private void artist_add_clicked(Gtk.ImageMenuItem item ) + { + string artist = browser_get_selected_artist(); + if(artist != null) + { + MPD.Database.search_start(server,true); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + MPD.Data.Item data = MPD.Database.search_commit(server); + data.sort_album_disc_track(); + if(data != null) + { + data.first(); + do{ + MPD.PlayQueue.queue_add_song(server, data.song.file); + data.next_free(); + }while(data != null); + MPD.PlayQueue.queue_commit(server); + } + } + } + private void artist_replace_clicked(Gtk.ImageMenuItem item) + { + MPD.PlayQueue.clear(server); + artist_add_clicked(item); + MPD.Player.play(server); + } + /* Handle right mouse click */ + private bool artist_browser_button_release_event(Gtk.TreeView tree, Gdk.EventButton event) + { + if(event.button == 3) { + if(tree.get_selection().count_selected_rows()>0) + { + var menu = new Gtk.Menu(); + var item = new Gtk.ImageMenuItem.from_stock("gtk-add",null); + item.activate += artist_add_clicked; + menu.append(item); + + item = new Gtk.ImageMenuItem.with_mnemonic(_("_Replace")); + item.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.MENU)); + item.activate += artist_replace_clicked; + menu.append(item); + + menu.popup(null, null, null, event.button, event.time); + menu.show_all(); + return true; + } + } + + return false; + } + + private bool visible_func_artist (Gtk.TreeModel model, Gtk.TreeIter iter) + { + string text = this.artist_filter_entry.get_text(); + /* Visible if row is non-empty and first column is "HI" */ + string str = null; + bool visible = false; + + if(text[0] == '\0') return true; + + model.get (iter, 7, out str, -1); + if (str != null && str.casefold().normalize().str(text.casefold().normalize()) != null) + visible = true; + + return visible; + } + private bool browser_artist_key_press_event(Gtk.TreeView widget, Gdk.EventKey event) + { + unichar uc = Gdk.keyval_to_unicode(event.keyval); + if(uc > 0) + { + string outbuf = " "; + int i = uc.to_utf8(outbuf); + ((char[])outbuf)[i] = '\0'; + this.artist_filter_entry.set_text(outbuf); + this.artist_filter_entry.grab_focus(); + this.artist_filter_entry.set_position(1); + + return true; + } + return false; + } + /** + * Album tree view + */ + private void album_add_clicked(Gtk.ImageMenuItem item ) + { + string artist = browser_get_selected_artist(); + if(artist != null) + { + string albumartist = null; + string album = browser_get_selected_album(); + if(album != null) + { + MPD.Database.search_field_start(server, MPD.Tag.Type.ALBUM_ARTIST); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var ydata = MPD.Database.search_commit(server); + if(ydata != null) + { + if(ydata.tag.length > 0) + albumartist = ydata.tag; + } + } + /* Fill in the first browser */ + MPD.Database.search_start(server,true); + if(albumartist != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM_ARTIST, albumartist); + else + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + + if(album != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var data = MPD.Database.search_commit(server); + + data.sort_album_disc_track(); + if(data != null) + { + do{ + MPD.PlayQueue.queue_add_song(server, data.song.file); + data.next_free(); + }while(data != null); + MPD.PlayQueue.queue_commit(server); + } + } + } + private void album_replace_clicked(Gtk.ImageMenuItem item) + { + MPD.PlayQueue.clear(server); + album_add_clicked(item); + MPD.Player.play(server); + } + /* Handle right mouse click */ + private bool album_browser_button_release_event(Gtk.TreeView tree, Gdk.EventButton event) + { + if(event.button == 3) { + if(tree.get_selection().count_selected_rows()>0) + { + var menu = new Gtk.Menu(); + var item = new Gtk.ImageMenuItem.from_stock("gtk-add",null); + item.activate += album_add_clicked; + menu.append(item); + + item = new Gtk.ImageMenuItem.with_mnemonic(_("_Replace")); + item.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.MENU)); + item.activate += album_replace_clicked; + menu.append(item); + + menu.popup(null, null, null, event.button, event.time); + menu.show_all(); + return true; + } + } + + return false; + } + private bool visible_func_album (Gtk.TreeModel model, Gtk.TreeIter iter) + { + string text = this.album_filter_entry.get_text(); + /* Visible if row is non-empty and first column is "HI" */ + string str = null; + bool visible = false; + + if(text[0] == '\0') return true; + + model.get (iter, 6, out str, -1); + if (str != null && str.casefold().normalize().str(text.casefold().normalize()) != null) + visible = true; + + return visible; + } + + + private bool browser_album_key_press_event(Gtk.TreeView widget, Gdk.EventKey event) + { + unichar uc = Gdk.keyval_to_unicode(event.keyval); + if(uc > 0) + { + string outbuf = " "; + int i = uc.to_utf8(outbuf); + ((char[])outbuf)[i] = '\0'; + this.album_filter_entry.set_text(outbuf); + this.album_filter_entry.grab_focus(); + this.album_filter_entry.set_position(1); + + return true; + } + return false; + } + + private void browser_album_entry_changed(Gtk.Entry entry) + { + string text = entry.get_text(); + if(text.size() > 0) { + entry.show(); + }else{ + entry.hide(); + this.tree_album.grab_focus(); + } + this.model_filter_album.refilter(); + } + /** + * Songs + */ + private void song_add_clicked(Gtk.ImageMenuItem item ) + { + MPD.Song? song = browser_get_selected_song(); + if(song != null) + { + MPD.PlayQueue.add_song(server,song.file); + } + } + private void song_replace_clicked(Gtk.ImageMenuItem item) + { + MPD.PlayQueue.clear(server); + song_add_clicked(item); + MPD.Player.play(server); + } + /* Handle right mouse click */ + private bool song_browser_button_release_event(Gtk.TreeView tree, Gdk.EventButton event) + { + if(event.button == 3) { + if(tree.get_selection().count_selected_rows()>0) + { + var menu = new Gtk.Menu(); + var item = new Gtk.ImageMenuItem.from_stock("gtk-add",null); + item.activate += song_add_clicked; + menu.append(item); + + item = new Gtk.ImageMenuItem.with_mnemonic(_("_Replace")); + item.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.MENU)); + item.activate += song_replace_clicked; + menu.append(item); + + menu.popup(null, null, null, event.button, event.time); + menu.show_all(); + return true; + } + } + return false; + } + + private bool browser_button_release_event(Gtk.Widget widget, Gdk.EventButton event) + { + if(event.button == 8) { + history_previous(); + return true; + } + else if (event.button == 9) { + history_next(); + return true; + } + return false; + } + private void browser_init() + { + if(this.paned == null) + { + this.paned = new Gtk.HPaned(); + paned_size_group.add_paned(this.paned); + /* Bow with browsers */ + this.browser_box = new Gtk.VBox(true, 6); + this.paned.add1(this.browser_box); + + /* Artist list */ + var box = new Gtk.VBox(false, 6); + this.browser_box.pack_start(box, true, true, 0); + + this.artist_filter_entry = new Gtk.Entry(); + this.artist_filter_entry.set_no_show_all(true); + this.artist_filter_entry.changed += browser_artist_entry_changed; + + box.pack_start(this.artist_filter_entry, false, false, 0); + + var sw = new Gtk.ScrolledWindow(null, null); + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN); + box.pack_start(sw, true, true, 0); + + this.model_artist = new Gmpc.MpdData.Model(); + this.model_filter_artist = new Gtk.TreeModelFilter(this.model_artist, null); + this.model_filter_artist.set_visible_func(visible_func_artist); + this.tree_artist = new Gtk.TreeView.with_model(this.model_filter_artist); + new Gmpc.MpdData.Treeview.Tooltip(this.tree_artist, Gmpc.MetaData.Type.ARTIST_ART); + + this.tree_artist.button_press_event+=browser_button_press_event; + this.tree_artist.button_release_event+=artist_browser_button_release_event; + this.tree_artist.key_press_event += browser_artist_key_press_event; + sw.add(tree_artist); + /* setup the columns */ + var column = new Gtk.TreeViewColumn(); + var prenderer = new Gtk.CellRendererPixbuf(); + prenderer.set("height", this.model_artist.icon_size); + column.pack_start(prenderer, false); + column.add_attribute(prenderer, "pixbuf",27); + var trenderer = new Gtk.CellRendererText(); + column.pack_start(trenderer, true); + column.add_attribute(trenderer, "text", 7); + this.tree_artist.append_column(column); + column.set_title(_("Artist")); + this.tree_artist.get_selection().changed += browser_artist_changed; + this.tree_artist.set_search_column(7); + + /* set fixed height mode */ + column.sizing = Gtk.TreeViewColumnSizing.FIXED; + this.tree_artist.set_fixed_height_mode(true); + + + /* Album list */ + + box = new Gtk.VBox(false, 6); + this.browser_box.pack_start(box, true, true, 0); + + this.album_filter_entry = new Gtk.Entry(); + this.album_filter_entry.set_no_show_all(true); + this.album_filter_entry.changed += browser_album_entry_changed; + box.pack_start(this.album_filter_entry, false, false, 0); + + sw = new Gtk.ScrolledWindow(null, null); + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN); + box.pack_start(sw, true, true, 0); + this.model_albums = new Gmpc.MpdData.Model(); + this.model_filter_album = new Gtk.TreeModelFilter(this.model_albums, null); + this.model_filter_album.set_visible_func(visible_func_album); + this.tree_album = new Gtk.TreeView.with_model(this.model_filter_album); + new Gmpc.MpdData.Treeview.Tooltip(this.tree_album, Gmpc.MetaData.Type.ALBUM_ART); + + this.tree_album.button_press_event+=browser_button_press_event; + this.tree_album.button_release_event+=album_browser_button_release_event; + this.tree_album.key_press_event += browser_album_key_press_event; + sw.add(tree_album); + /* setup the columns */ + column = new Gtk.TreeViewColumn(); + prenderer = new Gtk.CellRendererPixbuf(); + prenderer.set("height", this.model_albums.icon_size); + column.pack_start(prenderer, false); + column.add_attribute(prenderer, "pixbuf",27); + this.tree_album.append_column(column); + + column = new Gtk.TreeViewColumn(); + trenderer = new Gtk.CellRendererText(); + column.pack_start(trenderer, true); + column.add_attribute(trenderer, "text", 14); + this.tree_album.append_column(column); + column.set_title(_("Year")); + + column = new Gtk.TreeViewColumn(); + trenderer = new Gtk.CellRendererText(); + column.pack_start(trenderer, true); + column.add_attribute(trenderer, "text", 6); + this.tree_album.append_column(column); + this.tree_album.set_search_column(6); + column.set_title(_("Album")); + + + this.tree_album.get_selection().changed += browser_album_changed; + + /* Song list */ + sw = new Gtk.ScrolledWindow(null, null); + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN); + this.browser_box.pack_start(sw, true, true, 0); + this.model_songs = new Gmpc.MpdData.Model(); + this.tree_songs = new Gtk.TreeView.with_model(this.model_songs); + this.tree_songs.button_press_event+=browser_button_press_event; + this.tree_songs.button_release_event+=song_browser_button_release_event; + sw.add(tree_songs); + /* setup the columns */ + column = new Gtk.TreeViewColumn(); + prenderer = new Gtk.CellRendererPixbuf(); + column.pack_start(prenderer, false); + column.add_attribute(prenderer, "icon-name",23); + trenderer = new Gtk.CellRendererText(); + column.pack_start(trenderer, false); + column.add_attribute(trenderer, "text", 10); + + column.set_title(_("Track")); + this.tree_songs.append_column(column); + + column = new Gtk.TreeViewColumn(); + trenderer = new Gtk.CellRendererText(); + column.pack_start(trenderer, true); + column.add_attribute(trenderer, "text", 7); + + + this.tree_songs.append_column(column); + this.tree_songs.set_search_column(7); + column.set_title(_("Songs")); + + this.tree_songs.get_selection().changed += browser_songs_changed; + + /* The right view */ + this.metadata_sw = new Gtk.ScrolledWindow(null, null); + this.metadata_sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + this.metadata_sw.style_set += browser_bg_style_changed; + this.metadata_box = new Gtk.EventBox(); + this.metadata_box.set_visible_window(true); + this.metadata_sw.add_with_viewport(this.metadata_box); + + this.paned.add2(this.metadata_sw); + + + + this.paned.button_release_event.connect(browser_button_release_event); + + this.reload_browsers(); + } + this.paned.show_all(); + } + + private void reload_browsers() + { + if(this.paned == null) return; + + this.model_songs.set_mpd_data(null); + this.model_albums.set_mpd_data(null); + this.model_artist.set_mpd_data(null); + + this.artist_filter_entry.set_text(""); + this.album_filter_entry.set_text(""); + + /* Fill in the first browser */ + MPD.Database.search_field_start(server,MPD.Tag.Type.ARTIST); + var data = MPD.Database.search_commit(server); + data.sort_album_disc_track(); + this.model_artist.set_mpd_data((owned)data); + } + + private string? browser_get_selected_artist() + { + Gtk.TreeIter iter; + var sel = this.tree_artist.get_selection(); + Gtk.TreeModel model = null;//this.model_artist; + if(sel.get_selected(out model, out iter)) + { + string artist = null; + model.get(iter, 7,out artist, -1); + return artist; + } + return null; + } + + private string? browser_get_selected_album() + { + Gtk.TreeIter iter; + var sel = this.tree_album.get_selection(); + Gtk.TreeModel model = null;//this.model_albums; + if(sel.get_selected(out model, out iter)) + { + string album = null; + model.get(iter, 6,out album, -1); + return album; + } + return null; + } + private MPD.Song? browser_get_selected_song() + { + Gtk.TreeIter iter; + var sel = this.tree_songs.get_selection(); + Gtk.TreeModel model; + if(sel.get_selected(out model, out iter)) + { + weak MPD.Song songs = null; + this.model_songs .get(iter, 0,out songs, -1); + return songs; + } + return null; + } + private void browser_artist_changed(Gtk.TreeSelection sel) + { + this.model_albums.set_mpd_data(null); + this.model_songs.set_mpd_data(null); + this.metadata_box_clear(); + + string artist = browser_get_selected_artist(); + if(artist != null) + { + /* Fill in the first browser */ + MPD.Database.search_field_start(server,MPD.Tag.Type.ALBUM); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + var data = MPD.Database.search_commit(server); + data.sort_album_disc_track(); + + this.model_albums.set_request_artist(artist); + MPD.Data.Item list = null; + weak MPD.Data.Item iter = data.get_first(); + if(iter!= null) + { + do{ + list.append_new(); + list.type = MPD.Data.Type.SONG; + list.song = new MPD.Song(); + list.song.artist = artist; + list.song.album = iter.tag; + MPD.Database.search_field_start(server,MPD.Tag.Type.DATE); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, iter.tag); + var ydata = MPD.Database.search_commit(server); + if(ydata != null) { + list.song.date = ydata.tag; + } + iter = iter.next(false); + }while(iter!= null); + } + + list.sort_album_disc_track(); + this.model_albums.set_mpd_data((owned)list); + + MPD.Database.search_start(server,true); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + data = MPD.Database.search_commit(server); + data.sort_album_disc_track(); + this.model_songs.set_mpd_data((owned)data); + + } + this.metadata_box_update(); + } + private void browser_album_changed(Gtk.TreeSelection album_sel) + { + this.model_songs.set_mpd_data(null); + this.metadata_box_clear(); + + string artist = browser_get_selected_artist(); + if(artist != null) + { + string album = browser_get_selected_album(); + string albumartist = null; + + if(album != null) + { + MPD.Database.search_field_start(server, MPD.Tag.Type.ALBUM_ARTIST); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var ydata = MPD.Database.search_commit(server); + if(ydata != null) + { + if(ydata.tag.length > 0) + albumartist = ydata.tag; + } + } + /* Fill in the first browser */ + MPD.Database.search_start(server,true); + if(albumartist != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM_ARTIST, albumartist); + else + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + + if(album != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var data = MPD.Database.search_commit(server); + data.sort_album_disc_track(); + this.model_songs.set_mpd_data((owned)data); + } + this.metadata_box_update(); + } + private void browser_songs_changed (Gtk.TreeSelection song_sel) + { + this.metadata_box_clear(); + this.metadata_box_update(); + } + /** + * Metadata box + */ + + private void play_song(Gtk.Button button) + { + MPD.Song? song = (MPD.Song )button.get_data("song"); + if(song != null){ + Gmpc.MpdInteraction.play_path(song.file); + } + } + + private void add_song(Gtk.Button button) + { + MPD.Song? song = (MPD.Song )button.get_data("song"); + if(song != null){ + MPD.PlayQueue.add_song(server,song.file); + return; + } + } + private void replace_song(Gtk.Button button) + { + MPD.Song? song = (MPD.Song )button.get_data("song"); + if(song != null){ + MPD.PlayQueue.clear(server); + MPD.PlayQueue.add_song(server,song.file); + MPD.Player.play(server); + return; + } + } + private void add_selected_song(Gtk.Button button) + { + string artist = browser_get_selected_artist(); + string album = browser_get_selected_album(); + MPD.Song? song = browser_get_selected_song(); + if(song != null){ + MPD.PlayQueue.add_song(server,song.file); + return; + } + if(artist != null ) { + /* Hunt albumartist */ + string albumartist = null; + if(album != null) + { + MPD.Database.search_field_start(server, MPD.Tag.Type.ALBUM_ARTIST); + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var ydata = MPD.Database.search_commit(server); + if(ydata != null) + { + if(ydata.tag.length > 0) + albumartist = ydata.tag; + } + } + + MPD.Database.search_start(server,true);//server,MPD.Tag.Type.FILENAME); + if(albumartist != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM_ARTIST, albumartist); + else + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ARTIST, artist); + if(album != null) + MPD.Database.search_add_constraint(server, MPD.Tag.Type.ALBUM, album); + var data = MPD.Database.search_commit(server); + if(data != null) { + data.sort_album_disc_track(); + while(data != null){ + MPD.PlayQueue.queue_add_song(server, data.song.file); + data.next_free(); + } + MPD.PlayQueue.queue_commit(server); + } + } + } + + private void replace_selected_song(Gtk.Button button) + { + MPD.PlayQueue.clear(server); + this.add_selected_song(button); + MPD.Player.play(server); + } + private void metadata_box_clear() + { + var list = this.metadata_box.get_children(); + foreach(Gtk.Widget child in list){ + child.destroy(); + } + } + /** + * Add a row to a gtk table + * $label: $value + * then increments i + */ + + private void add_entry(Gtk.Table table, string entry_label, string? value,Gtk.Widget? extra, out int i) + { + int j=0; + if(value == null && extra == null) return; + var label = new Gtk.Label(""); + label.set_selectable(true); + label.set_alignment(0.0f, 0.0f); + label.set_markup(Markup.printf_escaped("%s:",entry_label)); + table.attach(label, j,(j+1),i,i+1,Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + j++; + + if(value != null) + { + var pt_label = new Gtk.Label(value); + pt_label.set_selectable(true); + pt_label.set_alignment(0.0f, 0.0f); + pt_label.set_line_wrap(true); + table.attach(pt_label, j,(j+1),i,i+1,Gtk.AttachOptions.EXPAND|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + j++; + } + if(extra != null) + { + table.attach(extra, j,(j+1),i,i+1,Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + j++; + } + i++; + } + /* jump buttons */ + private void artist_button_clicked(Gtk.Button button) + { + string artist = (string)button.get_data("artist"); + Gmpc.Browser.Metadata.show_artist(artist); + } + private void album_button_clicked(Gtk.Button button) + { + string artist = (string)button.get_data("artist"); + string album = (string)button.get_data("album"); + Gmpc.Browser.Metadata.show_album(artist,album); + } + public Gtk.Widget metadata_box_show_song(MPD.Song song, bool show_controls) + { + var vbox = new Gtk.VBox (false,6); + vbox.border_width = 8; + + var box = history_buttons(); + var label = new Gtk.Label(""); + label.set_selectable(true); + if(song.title != null) { + label.set_markup(Markup.printf_escaped("%s",song.title)); + }else { + label.set_markup(Markup.printf_escaped("%s",_("Unknown"))); + } + label.set_alignment(0.0f, 0.5f); + box.pack_start(label, true, true, 0); + vbox.pack_start(box, false, false, 0); + + /* Artist image */ + var hbox = new Gtk.HBox(false, 6); + var ali = new Gtk.Alignment(0f,0f,0f,0f); + var artist_image = new Gmpc.MetaData.Image(Gmpc.MetaData.Type.ALBUM_ART, 250); + artist_image.set_squared(false); + artist_image.update_from_song(song); + ali.add(artist_image); + hbox.pack_start(ali, false, false, 0); + /* Artist information */ + var info_box = new Gtk.Table (4,2,false); + info_box.set_row_spacings(3); + info_box.set_col_spacings(8); + hbox.pack_start(info_box, false, false, 0); + int i=0; + + if(song.title != null) + { + /* Button to search for song with same title */ + var button = new Gtk.Button(); + button.add(new Gtk.Image.from_stock("gtk-find", Gtk.IconSize.MENU)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("query", (void *)"title=(%s)".printf(song.title), (GLib.DestroyNotify) g_free); + button.clicked += metadata_find_query; + button.set_tooltip_text(_("Search songs with similar title")); + + this.add_entry(info_box, _("Title"), song.title, button, out i); + } + /* Artist label */ + if(song.artist != null) { + Gtk.Button button = null; + button = new Gtk.Button(); + button.add(new Gtk.Image.from_icon_name("media-artist", Gtk.IconSize.MENU)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("artist", (void *)"%s".printf(song.artist), (GLib.DestroyNotify) g_free); + button.clicked.connect(artist_button_clicked); + this.add_entry(info_box, _("Artist"), song.artist, button, out i); + } + /* AlbumArtist label */ + this.add_entry(info_box, _("Album artist"), song.albumartist, null, out i); + + /* Album */ + + if(song.album != null) { + Gtk.Button button = null; + if(song.artist != null) + { + button = new Gtk.Button(); + button.add(new Gtk.Image.from_icon_name("media-album", Gtk.IconSize.MENU)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("artist", (void *)"%s".printf(song.artist), (GLib.DestroyNotify) g_free); + button.set_data_full("album", (void *)"%s".printf(song.album), (GLib.DestroyNotify) g_free); + button.clicked.connect(album_button_clicked); + } + this.add_entry(info_box, _("Album"), song.album, button, out i); + } + + /* track */ + this.add_entry(info_box, _("Track"), song.track, null, out i); + + /* date */ + this.add_entry(info_box, _("Date"), song.date, null, out i); + /* performer */ + this.add_entry(info_box, _("Performer"), song.performer, null, out i); + /* disc */ + this.add_entry(info_box, _("Disc"), song.disc, null, out i); + + /* Genre */ + this.add_entry(info_box, _("Genre"), song.genre, null, out i); + + /* Path */ + if(song.file != null) { + var dbutton = new Gtk.Button(); + dbutton.set_relief(Gtk.ReliefStyle.NONE); + dbutton.add(new Gtk.Image.from_stock("gtk-open", Gtk.IconSize.MENU)); + dbutton.set_data_full("path", (void *)GLib.Path.get_dirname(song.file), (GLib.DestroyNotify) g_free); + dbutton.clicked += metadata_button_open_file_browser_path; + dbutton.set_tooltip_text(_("Open path to song in file browser")); + + this.add_entry(info_box, _("Path"), song.file, dbutton, out i); + } + + /* Favored button */ + var fav_button = new Gmpc.Favorites.Button(); + fav_button.set_song(song); + ali = new Gtk.Alignment(0.0f, 0.5f,0f,0f); + ali.add(fav_button); + this.add_entry(info_box, _("Favored"), null, ali, out i); + + if(MPD.Sticker.supported(server)) + { + /* Favored button */ + var rating_button = new Gmpc.Rating(server, song); + ali = new Gtk.Alignment(0.0f, 0.5f,0f,0f); + ali.add(rating_button); + this.add_entry(info_box, _("Rating"), null, ali, out i); + } + + + /* Comment */ + this.add_entry(info_box, _("Comment"), song.comment, null, out i); + + vbox.pack_start(hbox , false, false, 0); + /* Player controls */ + if(show_controls) + { + var button = new Gtk.Button.from_stock("gtk-media-play"); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("song", song.copy(), (GLib.DestroyNotify) MPD.Song.free); + button.clicked += play_song; + hbox = new Gtk.HBox (false, 6); + hbox.pack_start(button, false, false,0); + + button = new Gtk.Button.from_stock("gtk-add"); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("song", song.copy(), (GLib.DestroyNotify) MPD.Song.free); + button.clicked += add_song; + hbox.pack_start(button, false, false,0); + + button = new Gtk.Button.with_mnemonic(_("_Replace")); + button.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.BUTTON)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("song", song.copy(), (GLib.DestroyNotify) MPD.Song.free); + button.clicked += replace_song; + hbox.pack_start(button, false, false,0); + + info_box.attach(hbox, 0,2,i,i+1,Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + i++; + } + + + /* Lyrics */ + if(config.get_int_with_default("MetaData", "show-lyrics",1) == 1) + { + var text_view = new Gmpc.MetaData.TextView(Gmpc.MetaData.Type.SONG_TXT); + text_view.set_left_margin(8); + var frame = new Gmpc.Widget.More("lyrics-view",Markup.printf_escaped("%s:", _("Lyrics")),text_view); + text_view.query_from_song(song); + + vbox.pack_start(frame, false, false, 0); + } + + /* Guitar Tab */ + + if(config.get_int_with_default("MetaData", "show-guitar-tabs",1) == 1) + { + var text_view = new Gmpc.MetaData.TextView(Gmpc.MetaData.Type.SONG_GUITAR_TAB); + text_view.use_monospace = true; + text_view.set_left_margin(8); + var frame = new Gmpc.Widget.More("guitar-tabs-view", Markup.printf_escaped("%s:", _("Guitar Tabs")),text_view); + text_view.query_from_song(song); + + vbox.pack_start(frame, false, false, 0); + } + + if(config.get_int_with_default("MetaData", "show-similar-songs",1) == 1) + { + var similar_songs = new Gmpc.Widget.SimilarSongs(song); + vbox.pack_start(similar_songs, false, false, 0); + } + + + /* Show web links */ + if(config.get_int_with_default("MetaData", "show-web-links",1) == 1) + { + var song_links = new Gmpc.Song.Links(Gmpc.Song.Links.Type.SONG,song); + vbox.pack_start(song_links,false, false, 0); + } + return vbox; + } + private void metadata_button_open_file_browser_path(Gtk.Button button) + { + string path = (string?)button.get_data("path"); + if(path != null) + { + Gmpc.Browser.File.open_path(path); + } + } + private void metadata_find_query(Gtk.Button button) + { + string path = (string?)button.get_data("query"); + if(path != null) + { + Gmpc.Browser.Find.query_database(null, path); + } + + } + private void album_song_tree_row_activated(Gtk.TreeView tree, Gtk.TreePath path, Gtk.TreeViewColumn column) + { + Gtk.TreeIter iter; + var model = tree.get_model(); + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + Gmpc.MpdInteraction.play_path(song.file); + } + } + + } + + private void album_song_browser_play_clicked(Gtk.ImageMenuItem item) + { + Gtk.TreeView tree = (Gtk.TreeView)item.get_data("tree"); + if(tree != null) + { + Gtk.TreeIter iter; + var model = tree.get_model(); + var sel = tree.get_selection(); + GLib.List list = sel.get_selected_rows(out model); + foreach(Gtk.TreePath path in list) + { + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + Gmpc.MpdInteraction.play_path(song.file); + return; + } + } + } + } + } + private void album_song_browser_add_clicked(Gtk.ImageMenuItem item) + { + Gtk.TreeView tree = (Gtk.TreeView)item.get_data("tree"); + if(tree != null) + { + Gtk.TreeIter iter; + var model = tree.get_model(); + var sel = tree.get_selection(); + GLib.List list = sel.get_selected_rows(out model); + foreach(Gtk.TreePath path in list) + { + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter, 0, out song, -1); + if(song != null) + { + MPD.PlayQueue.queue_add_song(server, song.file); + } + } + } + MPD.PlayQueue.queue_commit(server); + } + } + private void album_song_browser_replace_clicked(Gtk.ImageMenuItem item) + { + MPD.PlayQueue.clear(server); + album_song_browser_add_clicked(item); + MPD.Player.play(server); + } + + + private bool album_song_tree_button_press_event(Gmpc.MpdData.TreeView tree, Gdk.EventButton event) + { + if(event.button == 3) { + var menu = new Gtk.Menu(); + + if(tree.get_selection().count_selected_rows() == 1) + { + var item = new Gtk.ImageMenuItem.from_stock("gtk-media-play",null); + item.activate += album_song_browser_play_clicked; + item.set_data("tree", (void *)tree); + menu.append(item); + } + var item = new Gtk.ImageMenuItem.from_stock("gtk-add",null); + item.activate += album_song_browser_add_clicked; + item.set_data("tree", (void *)tree); + menu.append(item); + + item = new Gtk.ImageMenuItem.with_mnemonic(_("_Replace")); + item.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.MENU)); + item.set_data("tree", (void *)tree); + item.activate += album_song_browser_replace_clicked; + menu.append(item); + + if(tree.get_selection().count_selected_rows() == 1) + { + Gtk.TreeModel model = null; + var list = tree.get_selection().get_selected_rows(out model); + if(list != null) + { + weak Gtk.TreePath path = list.data; + Gtk.TreeIter iter; + weak MPD.Song song = null; + if(model.get_iter(out iter, path)) + { + model.get(iter, 0, out song); + Gmpc.MpdInteraction.submenu_for_song(menu, song); + } + } + } + tree.right_mouse_integration(menu); + + menu.popup(null, null, null, event.button, event.time); + menu.show_all(); + return true; + } + return false; + } + private void metadata_box_show_album(string artist, string album) + { + var vbox = new Gtk.VBox (false,6); + vbox.border_width = 8; + + + var box = history_buttons(); + var label = new Gtk.Label(""); + label.set_selectable(true); + label.set_markup(Markup.printf_escaped("%s - %s",(artist != null)?artist:_("Unknown"), (album!= null)?album:_("Unknown"))); + label.set_alignment(0.0f, 0.5f); + box.pack_start(label, true, true, 0); + vbox.pack_start(box, false, false, 0); + + /* Artist image */ + var hbox = new Gtk.HBox(false, 6); + var ali = new Gtk.Alignment(0f,0f,0f,0f); + var artist_image = new Gmpc.MetaData.Image(Gmpc.MetaData.Type.ALBUM_ART, 250); + artist_image.set_squared(false); + MPD.Song song = new MPD.Song(); + song.artist = artist; + song.album = album; + artist_image.update_from_song(song); + ali.add(artist_image); + hbox.pack_start(ali, false, false, 0); + /* Artist information */ + var info_box = new Gtk.Table (4,2,false); + info_box.set_row_spacings(3); + info_box.set_col_spacings(8); + hbox.pack_start(info_box, false, false, 0); + int i=0; + /* Artist label */ + if(song.artist != null) { + Gtk.Button button = null; + button = new Gtk.Button(); + button.add(new Gtk.Image.from_icon_name("media-artist", Gtk.IconSize.MENU)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.set_data_full("artist", (void *)"%s".printf(song.artist), (GLib.DestroyNotify) g_free); + button.clicked.connect(artist_button_clicked); + this.add_entry(info_box, _("Artist"), song.artist, button, out i); + } + + /* Genres of songs */ + var pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ALBUM_GENRES_SONGS, song); + pt_label.set_alignment(0.0f, 0.5f); + pt_label.set_line_wrap(true); + this.add_entry(info_box, _("Genres"), null, pt_label, out i); + + /* Dates of songs */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ALBUM_DATES_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Dates"), null, pt_label, out i); + /* Total number of songs */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ALBUM_NUM_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Songs"), null, pt_label, out i); + /* Total playtime */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ALBUM_PLAYTIME_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Playtime"), null, pt_label, out i); + + vbox.pack_start(hbox , false, false, 0); + + /* Player controls */ + hbox = new Gtk.HBox (false, 6); + + var button = new Gtk.Button.from_stock("gtk-add"); + button.set_relief(Gtk.ReliefStyle.NONE); + button.clicked += add_selected_song; + hbox.pack_start(button, false, false,0); + + button = new Gtk.Button.with_mnemonic(_("_Replace")); + button.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.BUTTON)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.clicked += replace_selected_song; + hbox.pack_start(button, false, false,0); + + + info_box.attach(hbox, 0,2,i,i+1,Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + i++; + + /* Album information */ + if(config.get_int_with_default("MetaData", "show-album-information",1) == 1) + { + var text_view = new Gmpc.MetaData.TextView(Gmpc.MetaData.Type.ALBUM_TXT); + text_view.set_left_margin(8); + var frame = new Gmpc.Widget.More("album-information-view", Markup.printf_escaped("%s:", _("Album information")),text_view); + text_view.query_from_song(song); + + vbox.pack_start(frame, false, false, 0); + } + + /* Song list. Show songs in album */ + label = new Gtk.Label(""); + label.set_selectable(true); + label.set_markup("%s".printf(_("Songs"))); + label.set_alignment(0.0f, 0.5f); + vbox.pack_start(label, false, false, 0); + + var sw = new Gtk.ScrolledWindow(null, null); + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.NEVER); + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN); + var song_tree = new Gmpc.MpdData.TreeView("album-songs", true, this.model_songs); + song_tree.enable_click_fix(); + song_tree.button_release_event += album_song_tree_button_press_event; + song_tree.row_activated += album_song_tree_row_activated; + sw.add(song_tree); + vbox.pack_start(sw, false, false, 0); + + /* Show web links */ + if(config.get_int_with_default("MetaData", "show-web-links",1) == 1) + { + var song_links = new Gmpc.Song.Links(Gmpc.Song.Links.Type.ALBUM,song); + vbox.pack_start(song_links,false, false, 0); + } + /** + * Add it to the view + */ + this.metadata_box.add(vbox); + this.metadata_sw.show_all(); + } + /** + * This fills the view for artist + * + * | + * < buttonss> + * + * + * + * + * + */ + private void metadata_box_show_artist(string artist) + { + var vbox = new Gtk.VBox (false,6); + vbox.border_width = 8; + + var box = history_buttons(); + var label = new Gtk.Label(""); + label.set_selectable(true); + label.set_markup(Markup.printf_escaped("%s",(artist != null)?artist:_("Unknown"))); + label.set_alignment(0.0f, 0.5f); + box.pack_start(label, true, true, 0); + vbox.pack_start(box, false, false, 0); + /* Create an MPD.Song with the info for this type set */ + MPD.Song song = new MPD.Song(); + song.artist = artist; + /* Artist image */ + var hbox = new Gtk.HBox(false, 6); + var ali = new Gtk.Alignment(0f,0f,0f,0f); + var artist_image = new Gmpc.MetaData.Image(Gmpc.MetaData.Type.ARTIST_ART, 250); + artist_image.set_squared(false); + artist_image.update_from_song(song); + ali.add(artist_image); + hbox.pack_start(ali, false, false, 0); + /* Artist information */ + var info_box = new Gtk.Table (4,2,false); + info_box.set_row_spacings(3); + info_box.set_col_spacings(8); + hbox.pack_start(info_box, false, false, 0); + int i=0; + + /* Genres of songs */ + var pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ARTIST_GENRES_SONGS, song); + pt_label.set_alignment(0.0f, 0.5f); + pt_label.set_line_wrap(true); + this.add_entry(info_box, _("Genres"), null, pt_label, out i); + /* Dates of songs */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ARTIST_DATES_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Dates"), null, pt_label, out i); + /* Total number of songs */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ARTIST_NUM_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Songs"), null, pt_label, out i); + /* Total playtime */ + pt_label = new Gmpc.MetaData.StatsLabel(Gmpc.MetaData.StatsLabel.Type.ARTIST_PLAYTIME_SONGS, song); + pt_label.set_line_wrap(true); + pt_label.set_alignment(0.0f, 0.5f); + this.add_entry(info_box, _("Playtime"), null, pt_label, out i); + + vbox.pack_start(hbox , false, false, 0); + /* Player controls */ + hbox = new Gtk.HBox (false, 6); + + var button = new Gtk.Button.from_stock("gtk-add"); + button.set_relief(Gtk.ReliefStyle.NONE); + button.clicked += add_selected_song; + hbox.pack_start(button, false, false,0); + + button = new Gtk.Button.with_mnemonic(_("_Replace")); + button.set_image(new Gtk.Image.from_stock("gtk-redo", Gtk.IconSize.BUTTON)); + button.set_relief(Gtk.ReliefStyle.NONE); + button.clicked += replace_selected_song; + hbox.pack_start(button, false, false,0); + + + info_box.attach(hbox, 0,2,i,i+1,Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL, Gtk.AttachOptions.SHRINK|Gtk.AttachOptions.FILL,0,0); + i++; + + /* Artist information */ + if(config.get_int_with_default("MetaData", "show-artist-information",1) == 1) + { + var text_view = new Gmpc.MetaData.TextView(Gmpc.MetaData.Type.ARTIST_TXT); + text_view.set_left_margin(8); + var frame = new Gmpc.Widget.More("artist-information-view", Markup.printf_escaped("%s:", _("Artist information")),text_view); + text_view.query_from_song(song); + vbox.pack_start(frame, false, false, 0); + } + + /* Show similar artist */ + if(config.get_int_with_default("MetaData", "show-similar-artist",1) == 1) + { + label = new Gtk.Label(_("Similar artist")); + label.set_selectable(true); + label.set_markup("%s".printf(_("Similar artist"))); + label.set_alignment(0.0f, 0.0f); + vbox.pack_start(label, false, false, 0); + ali = new Gtk.Alignment(0.0f, 0.0f, 0.0f, 0.0f); + var similar_artist = new Gmpc.Widget.SimilarArtist(this,server, song); + ali.add(similar_artist); + vbox.pack_start(ali, false, false, 0); + } + + /* Show web links */ + if(config.get_int_with_default("MetaData", "show-web-links",1) == 1) + { + var song_links = new Gmpc.Song.Links(Gmpc.Song.Links.Type.ARTIST,song); + vbox.pack_start(song_links,false, false, 0); + } + /** + * Add it to the view + */ + this.metadata_box.add(vbox); + this.metadata_box.show_all(); + } + + + private uint update_timeout = 0; + private void metadata_box_update() + { + if(this.update_timeout > 0) { + GLib.Source.remove(this.update_timeout); + } + update_timeout = GLib.Idle.add(this.metadata_box_update_real); + } + private bool metadata_box_update_real() + { + if(this.block_update > 0){ + this.update_timeout = 0; + return false; + } + string artist = browser_get_selected_artist(); + string album = browser_get_selected_album(); + MPD.Song? song = browser_get_selected_song(); + + if(song != null) { + /** Add item to history */ + var item = Hitem(); + item.song = song; + item.type = HitemType.SONG; + history_add(item); + + var view = metadata_box_show_song(song,true); + this.metadata_box.add(view); + this.metadata_box.show_all(); + }else if(album != null && artist != null) { + /** Add item to history */ + var item = Hitem(); + item.song = new MPD.Song(); + item.song.artist =artist; + item.song.album = album; + item.type = HitemType.ALBUM; + history_add(item); + + metadata_box_show_album(artist,album); + }else if (artist != null) { + /** Add item to history */ + var item = Hitem(); + item.song = new MPD.Song(); + item.song.artist =artist; + item.type = HitemType.ARTIST; + history_add(item); + + metadata_box_show_artist(artist); + } + + this.update_timeout = 0; + return false; + } + /** + * Browser Interface bindings + */ + public void browser_add (Gtk.Widget category_tree) + { + Gtk.TreeView tree = (Gtk.TreeView)category_tree; + Gtk.ListStore store = (Gtk.ListStore)tree.get_model(); + Gtk.TreeModel model = tree.get_model(); + Gtk.TreeIter iter; + Gmpc.Browser.insert(out iter, config.get_int_with_default(this.get_name(), "position", 100)); + store.set(iter, 0, this.id, 1, _(this.get_name()), 3, "gtk-info"); + /* Create a row reference */ + this.rref = new Gtk.TreeRowReference(model, model.get_path(iter)); + } + public void browser_selected (Gtk.Container container) + { + string artist; + this.selected = true; + this.browser_init(); + container.add(this.paned); + + /* update if non selected */ + artist = browser_get_selected_artist(); + if(artist == null) { + metadata_box_clear(); + metadata_box_update(); + } + } + + private bool selected = false; + public void browser_unselected(Gtk.Container container) + { + this.selected = false; + container.remove(this.paned); + } + private + void + con_changed(Gmpc.Connection conn, MPD.Server server, int connect) + { + if(this.paned == null) return; + this.history_clear(); + + this.reload_browsers(); + metadata_box_clear(); + metadata_box_update(); + } + private + void + status_changed(Gmpc.Connection conn, MPD.Server server, MPD.Status.Changed what) + { + if(this.paned == null) return; + if((what&MPD.Status.Changed.DATABASE) != 0) + { + this.reload_browsers(); + if(this.current != null) { + this.show_hitem(this.current.data); + } + } + + } + /** + * History + */ + private enum HitemType { + CLEAR, + ARTIST, + ALBUM, + SONG + } + private struct Hitem { + public HitemType type; + public MPD.Song song; + } + private List history = null; + private weak List current = null; + private void show_hitem(Hitem hi) + { + switch(hi.type) + { + case HitemType.ARTIST: + this.set_artist(hi.song.artist); + break; + case HitemType.ALBUM: + this.set_album(hi.song.artist, hi.song.album); + break; + case HitemType.SONG: + this.set_song(hi.song); + break; + default: + metadata_box_clear(); + break; + } + } + private void history_previous() + { + if(history == null || current == null){ + return; + } + if(current.next == null) { + return; + } + current = current.next; + if(current != null) show_hitem(current.data); + else metadata_box_clear(); + + } + private void history_next() + { + if(history == null || current == null){ + return; + } + if(current.prev == null) { + return; + } + current = current.prev; + if(current != null) show_hitem(current.data); + else metadata_box_clear(); + + } + private void history_show_list_clicked(Gtk.MenuItem item) + { + weak List a = (List) item.get_data("current"); + if(a != null) + { + current = a; + show_hitem(current.data); + } + } + private void history_show_list() + { + var menu = new Gtk.Menu(); + weak List iter = history.last(); + while(iter!= null){ + var i = iter.data; + string label = ""; + if(i.type == HitemType.ARTIST) + label = i.song.artist; + else if (i.type == HitemType.ALBUM) + label = "%s - %s".printf(i.song.artist, i.song.album); + else if (i.type == HitemType.SONG) + { + if(i.song.title != null) + label = i.song.title; + else + label = _("Unknown"); + } + + var item = new Gtk.CheckMenuItem.with_label(label); + item.draw_as_radio = true; + if(current != null && current == iter){ + item.set_active(true); + } + item.activate.connect(history_show_list_clicked); + item.set_data("current", (void*)iter); + menu.append(item); + iter = iter.prev; + } + menu.show_all(); + menu.popup(null, null, null, 0, Gtk.get_current_event_time()); + + } + private Gtk.HBox history_buttons() + { + var box = new HBox(false, 0); + if(history == null && current == null) return box; + + var next_but = new Gtk.Button.from_stock("gtk-go-forward"); + if(current == null || current.prev == null) next_but.sensitive = false; + next_but.clicked.connect(history_next); + box.pack_end(next_but, false, false, 0); + if(current != null && (current.next != null || current.prev != null)) + { + var dd_but = new Gtk.Button.with_label("L"); + dd_but.clicked.connect(history_show_list); + box.pack_end(dd_but, false, false, 0); + } + var back_but = new Gtk.Button.from_stock("gtk-go-back"); + if(current == null || current.next == null) back_but.sensitive = false; + back_but.clicked.connect(history_previous); + box.pack_end(back_but, false, false, 0); + + + return box; + } + private void history_add(Hitem hi) + { + if(history != null) + { + weak Hitem a = current.data; + if(a.type == hi.type) { + if(Gmpc.Misc.song_checksum(a.song) == Gmpc.Misc.song_checksum(hi.song)){ + return; + } + } + } + history.prepend(hi); + if(history.length() > 25){ + weak List a = history.last(); + history.remove(a.data); + } + current = history; + } + private void history_clear() + { + this.current = null; + this.history = null; + + } + + /** + * Public api + */ + public + void + set_artist(string artist) + { + if(!this.get_enabled()) return; + this.block_update++; + + + this.tree_artist.get_selection().unselect_all(); + this.tree_album.get_selection().unselect_all(); + /* clear */ + this.artist_filter_entry.set_text(""); + Gtk.TreeIter iter; + if(this.model_filter_artist.get_iter_first(out iter)) + { + do{ + string lartist= null; + this.model_filter_artist.get(iter, 7, out lartist, -1); + if( lartist != null && lartist.collate(artist) == 0){ + this.tree_artist.get_selection().select_iter(iter); + this.tree_artist.scroll_to_cell(this.model_filter_artist.get_path(iter), null, true, 0.5f,0f); + this.block_update--; + + this.metadata_box_clear(); + this.metadata_box_update(); + return; + } + }while((this.model_filter_artist).iter_next(ref iter)); + } + this.block_update--; + + + this.metadata_box_clear(); + this.metadata_box_update(); + } + + public + void + set_album(string artist, string album) + { + if(!this.get_enabled()) return; + this.block_update++; + this.set_artist(artist); + /* clear */ + this.album_filter_entry.set_text(""); + Gtk.TreeIter iter; + if(this.model_filter_album.get_iter_first(out iter)) + { + do{ + string lalbum= null; + this.model_filter_album.get(iter, 6, out lalbum, -1); + if( lalbum != null && lalbum.collate(album) == 0){ + this.tree_album.get_selection().select_iter(iter); + this.tree_album.scroll_to_cell(this.model_filter_album.get_path(iter), null, true, 0.5f,0f); + this.tree_songs.get_selection().unselect_all(); + this.block_update--; + this.metadata_box_update(); + return; + } + }while((this.model_filter_album).iter_next(ref iter)); + } + + this.tree_songs.get_selection().unselect_all(); + + this.block_update--; + + this.metadata_box_clear(); + this.metadata_box_update(); + } + + public + void + set_song(MPD.Song song) + { + if(!this.get_enabled()) return; + this.block_update++; + if(song.artist != null) + { + this.set_artist(song.artist); + if(song.album != null) + { + this.set_album(song.artist,song.album); + } + } + + Gtk.TreeIter iter; + if(this.model_songs.get_iter_first(out iter)) + { + do{ + string ltitle = null; + this.model_songs.get(iter, 7, out ltitle, -1); + if( ltitle != null && ltitle.collate(song.title) == 0){ + this.tree_songs.get_selection().select_iter(iter); + this.tree_songs.scroll_to_cell(this.model_songs.get_path(iter), null, true, 0.5f,0f); + this.block_update--; + this.metadata_box_update(); + return; + } + }while((this.model_songs).iter_next(ref iter)); + } + + + this.block_update--; + this.metadata_box_clear(); + if(this.update_timeout > 0) { + GLib.Source.remove(this.update_timeout); + this.update_timeout = 0; + } + + /** Add item to history */ + var item = Hitem(); + item.song = song; + item.type = HitemType.SONG; + history_add(item); + + var view = metadata_box_show_song(song,true); + this.metadata_box.add(view); + this.metadata_box.show_all(); + } + public + void + select_browser(Gtk.TreeView? tree) + { + if(rref != null) + { + weak Gtk.TreeView category_tree = Gmpc.Playlist3.get_category_tree_view(); + var sel = category_tree.get_selection(); + var path = rref.get_path(); + if(path != null){ + sel.select_path(path); + } + } + } + /** + * Preferences + */ + + public void + preferences_pane_construct(Gtk.Container container) + { + var box = new Gtk.VBox(false, 6); + /* Title */ + var label = new Gtk.Label(_("Enable/disable metadata options")); + label.set_alignment(0.0f, 0.5f); + box.pack_start(label, false, false,0); + + /* Artist information */ + var chk = new Gtk.CheckButton.with_label(_("Artist information")); + chk.set_active((config.get_int_with_default("MetaData", "show-artist-information",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-artist-information", (int)source.get_active()); + }); + /* Album information */ + chk = new Gtk.CheckButton.with_label(_("Album information")); + chk.set_active((config.get_int_with_default("MetaData", "show-album-information",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-album-information", (int)source.get_active()); + }); + + /* Artist similar */ + chk = new Gtk.CheckButton.with_label(_("Similar Artist")); + chk.set_active((config.get_int_with_default("MetaData", "show-similar-artist",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-similar-artist", (int)source.get_active()); + }); + + /* Lyrics */ + chk = new Gtk.CheckButton.with_label(_("Lyrics")); + chk.set_active((config.get_int_with_default("MetaData", "show-lyrics",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-lyrics", (int)source.get_active()); + }); + + /* Guitar Tabs*/ + chk = new Gtk.CheckButton.with_label(_("Guitar Tabs")); + chk.set_active((config.get_int_with_default("MetaData", "show-guitar-tabs",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-guitar-tabs", (int)source.get_active()); + }); + /* Similar songs*/ + chk = new Gtk.CheckButton.with_label(_("Similar Songs")); + chk.set_active((config.get_int_with_default("MetaData", "show-similar-songs",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-similar-songs", (int)source.get_active()); + }); + /* Web links*/ + chk = new Gtk.CheckButton.with_label(_("Web links")); + chk.set_active((config.get_int_with_default("MetaData", "show-web-links",1) == 1)); + box.pack_start(chk, false, false,0); + chk.toggled.connect ((source)=> { + config.set_int("MetaData", "show-web-links", (int)source.get_active()); + }); + + container.add(box); + box.show_all(); + } + + public void + preferences_pane_destroy(Gtk.Container container) + { + foreach(Gtk.Widget child in container.get_children()) + { + container.remove(child); + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.c --- gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,191 @@ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_PLUGIN_TYPE_METADATA_PREFETCHER (gmpc_plugin_metadata_prefetcher_get_type ()) +#define GMPC_PLUGIN_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcher)) +#define GMPC_PLUGIN_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcherClass)) +#define GMPC_PLUGIN_IS_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER)) +#define GMPC_PLUGIN_IS_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER)) +#define GMPC_PLUGIN_METADATA_PREFETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcherClass)) + +typedef struct _GmpcPluginMetadataPrefetcher GmpcPluginMetadataPrefetcher; +typedef struct _GmpcPluginMetadataPrefetcherClass GmpcPluginMetadataPrefetcherClass; +typedef struct _GmpcPluginMetadataPrefetcherPrivate GmpcPluginMetadataPrefetcherPrivate; + +struct _GmpcPluginMetadataPrefetcher { + GmpcPluginBase parent_instance; + GmpcPluginMetadataPrefetcherPrivate * priv; + gint* version; + gint version_length1; +}; + +struct _GmpcPluginMetadataPrefetcherClass { + GmpcPluginBaseClass parent_class; +}; + + +static gpointer gmpc_plugin_metadata_prefetcher_parent_class = NULL; + +#define use_transition TRUE +GType gmpc_plugin_metadata_prefetcher_get_type (void); +enum { + GMPC_PLUGIN_METADATA_PREFETCHER_DUMMY_PROPERTY +}; +static gint* gmpc_plugin_metadata_prefetcher_real_get_version (GmpcPluginBase* base, int* result_length1); +static const char* gmpc_plugin_metadata_prefetcher_real_get_name (GmpcPluginBase* base); +static void gmpc_plugin_metadata_prefetcher_status_changed (GmpcPluginMetadataPrefetcher* self, GmpcConnection* gmpcconn, MpdObj* server, ChangedStatusType what); +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_new (void); +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_construct (GType object_type); +static void _gmpc_plugin_metadata_prefetcher_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self); +static GObject * gmpc_plugin_metadata_prefetcher_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_plugin_metadata_prefetcher_finalize (GObject* obj); + + + +static gint* gmpc_plugin_metadata_prefetcher_real_get_version (GmpcPluginBase* base, int* result_length1) { + GmpcPluginMetadataPrefetcher * self; + gint* result; + gint* _tmp0_; + self = (GmpcPluginMetadataPrefetcher*) base; + _tmp0_ = NULL; + result = (_tmp0_ = self->version, *result_length1 = self->version_length1, _tmp0_); + return result; +} + + +static const char* gmpc_plugin_metadata_prefetcher_real_get_name (GmpcPluginBase* base) { + GmpcPluginMetadataPrefetcher * self; + const char* result; + self = (GmpcPluginMetadataPrefetcher*) base; + result = "Metadata pre-fetcher"; + return result; +} + + +static void gmpc_plugin_metadata_prefetcher_status_changed (GmpcPluginMetadataPrefetcher* self, GmpcConnection* gmpcconn, MpdObj* server, ChangedStatusType what) { + g_return_if_fail (self != NULL); + g_return_if_fail (gmpcconn != NULL); + g_return_if_fail (server != NULL); + if (!gmpc_plugin_base_get_enabled ((GmpcPluginBase*) self)) { + return; + } + if ((what & MPD_CST_NEXTSONG) == MPD_CST_NEXTSONG) { + gint next_song_id; + next_song_id = mpd_player_get_next_song_id (server); + if (next_song_id > 0) { + mpd_Song* song; + song = mpd_playlist_get_song (server, next_song_id); + if (song != NULL) { + MetaData* met; + MetaDataResult md_result; + MetaData* _tmp2_; + MetaDataResult _tmp1_; + MetaData* _tmp0_; + MetaData* _tmp5_; + MetaDataResult _tmp4_; + MetaData* _tmp3_; + met = NULL; + md_result = 0; + g_log ("MetadataPrefetcher", G_LOG_LEVEL_DEBUG, "gmpc-metadata-prefetcher.vala:58: Pre-fetching %s", song->file); + /* Query artist */ + _tmp2_ = NULL; + _tmp0_ = NULL; + md_result = (_tmp1_ = gmpc_meta_watcher_get_meta_path (gmw, song, META_ARTIST_ART, &_tmp0_), met = (_tmp2_ = _tmp0_, (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)), _tmp2_), _tmp1_); + /* Query album art */ + _tmp5_ = NULL; + _tmp3_ = NULL; + md_result = (_tmp4_ = gmpc_meta_watcher_get_meta_path (gmw, song, META_ALBUM_ART, &_tmp3_), met = (_tmp5_ = _tmp3_, (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)), _tmp5_), _tmp4_); + (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)); + } + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + } + } +} + + +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_construct (GType object_type) { + GmpcPluginMetadataPrefetcher * self; + self = (GmpcPluginMetadataPrefetcher*) gmpc_plugin_base_construct (object_type); + return self; +} + + +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_new (void) { + return gmpc_plugin_metadata_prefetcher_construct (GMPC_PLUGIN_TYPE_METADATA_PREFETCHER); +} + + +static void _gmpc_plugin_metadata_prefetcher_status_changed_gmpc_connection_status_changed (GmpcConnection* _sender, MpdObj* server, ChangedStatusType what, gpointer self) { + gmpc_plugin_metadata_prefetcher_status_changed (self, _sender, server, what); +} + + +static GObject * gmpc_plugin_metadata_prefetcher_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcPluginMetadataPrefetcherClass * klass; + GObjectClass * parent_class; + GmpcPluginMetadataPrefetcher * self; + klass = GMPC_PLUGIN_METADATA_PREFETCHER_CLASS (g_type_class_peek (GMPC_PLUGIN_TYPE_METADATA_PREFETCHER)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_PLUGIN_METADATA_PREFETCHER (obj); + { + /* Mark the plugin as an internal dummy */ + ((GmpcPluginBase*) self)->plugin_type = 8 + 4; + /* Attach status changed signal */ + g_signal_connect_object (gmpcconn, "status-changed", (GCallback) _gmpc_plugin_metadata_prefetcher_status_changed_gmpc_connection_status_changed, self, 0); + } + return obj; +} + + +static void gmpc_plugin_metadata_prefetcher_class_init (GmpcPluginMetadataPrefetcherClass * klass) { + gmpc_plugin_metadata_prefetcher_parent_class = g_type_class_peek_parent (klass); + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_plugin_metadata_prefetcher_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_plugin_metadata_prefetcher_real_get_name; + G_OBJECT_CLASS (klass)->constructor = gmpc_plugin_metadata_prefetcher_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_plugin_metadata_prefetcher_finalize; +} + + +static void gmpc_plugin_metadata_prefetcher_instance_init (GmpcPluginMetadataPrefetcher * self) { + gint* _tmp0_; + self->version = (_tmp0_ = g_new0 (gint, 3), _tmp0_[0] = 0, _tmp0_[1] = 0, _tmp0_[2] = 2, _tmp0_); + self->version_length1 = 3; + _tmp0_ = NULL; +} + + +static void gmpc_plugin_metadata_prefetcher_finalize (GObject* obj) { + GmpcPluginMetadataPrefetcher * self; + self = GMPC_PLUGIN_METADATA_PREFETCHER (obj); + self->version = (g_free (self->version), NULL); + G_OBJECT_CLASS (gmpc_plugin_metadata_prefetcher_parent_class)->finalize (obj); +} + + +GType gmpc_plugin_metadata_prefetcher_get_type (void) { + static GType gmpc_plugin_metadata_prefetcher_type_id = 0; + if (gmpc_plugin_metadata_prefetcher_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginMetadataPrefetcherClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_plugin_metadata_prefetcher_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcPluginMetadataPrefetcher), 0, (GInstanceInitFunc) gmpc_plugin_metadata_prefetcher_instance_init, NULL }; + gmpc_plugin_metadata_prefetcher_type_id = g_type_register_static (GMPC_PLUGIN_TYPE_BASE, "GmpcPluginMetadataPrefetcher", &g_define_type_info, 0); + } + return gmpc_plugin_metadata_prefetcher_type_id; +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.h --- gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,41 @@ + +#ifndef __GMPC_METADATA_PREFETCHER_H__ +#define __GMPC_METADATA_PREFETCHER_H__ + +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_PLUGIN_TYPE_METADATA_PREFETCHER (gmpc_plugin_metadata_prefetcher_get_type ()) +#define GMPC_PLUGIN_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcher)) +#define GMPC_PLUGIN_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcherClass)) +#define GMPC_PLUGIN_IS_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER)) +#define GMPC_PLUGIN_IS_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER)) +#define GMPC_PLUGIN_METADATA_PREFETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGIN_TYPE_METADATA_PREFETCHER, GmpcPluginMetadataPrefetcherClass)) + +typedef struct _GmpcPluginMetadataPrefetcher GmpcPluginMetadataPrefetcher; +typedef struct _GmpcPluginMetadataPrefetcherClass GmpcPluginMetadataPrefetcherClass; +typedef struct _GmpcPluginMetadataPrefetcherPrivate GmpcPluginMetadataPrefetcherPrivate; + +struct _GmpcPluginMetadataPrefetcher { + GmpcPluginBase parent_instance; + GmpcPluginMetadataPrefetcherPrivate * priv; + gint* version; + gint version_length1; +}; + +struct _GmpcPluginMetadataPrefetcherClass { + GmpcPluginBaseClass parent_class; +}; + + +GType gmpc_plugin_metadata_prefetcher_get_type (void); +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_new (void); +GmpcPluginMetadataPrefetcher* gmpc_plugin_metadata_prefetcher_construct (GType object_type); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.vala --- gmpc-0.18.0/src/vala/gmpc-metadata-prefetcher.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-metadata-prefetcher.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,68 @@ + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +using Config; +using Gtk; +using Gmpc; + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.Plugin.MetadataPrefetcher : Gmpc.Plugin.Base { + public int[] version = {0,0,2}; + + public override weak int[] get_version() { + return this.version; + } + + public override weak string get_name() { + return "Metadata pre-fetcher"; + } + + construct { + /* Mark the plugin as an internal dummy */ + this.plugin_type = 8+4; + /* Attach status changed signal */ + gmpcconn.status_changed += status_changed; + } + + + private void status_changed(Connection gmpcconn, MPD.Server server, MPD.Status.Changed what) + { + if(!this.get_enabled()) return; + if((what&MPD.Status.Changed.NEXTSONG) == MPD.Status.Changed.NEXTSONG) + { + int next_song_id = server.player_get_next_song_id(); + if(next_song_id > 0) + { + MPD.Song song = server.playlist_get_song(next_song_id); + if(song != null){ + Gmpc.MetaData.Item met = null; + Gmpc.MetaData.Result md_result; + + GLib.log("MetadataPrefetcher", GLib.LogLevelFlags.LEVEL_DEBUG, "Pre-fetching %s", song.file); + /* Query artist */ + md_result = Gmpc.metawatcher.query(song, Gmpc.MetaData.Type.ARTIST_ART, out met); + /* Query album art */ + md_result = Gmpc.metawatcher.query(song, Gmpc.MetaData.Type.ALBUM_ART, out met); + } + } + } + } + +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.c --- gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,415 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP (gmpc_mpd_data_treeview_tooltip_get_type ()) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltip)) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass)) +#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP)) +#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP)) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass)) + +typedef struct _GmpcMpdDataTreeviewTooltip GmpcMpdDataTreeviewTooltip; +typedef struct _GmpcMpdDataTreeviewTooltipClass GmpcMpdDataTreeviewTooltipClass; +typedef struct _GmpcMpdDataTreeviewTooltipPrivate GmpcMpdDataTreeviewTooltipPrivate; + +struct _GmpcMpdDataTreeviewTooltip { + GtkWindow parent_instance; + GmpcMpdDataTreeviewTooltipPrivate * priv; + MetaDataType mtype; + char* request_artist; +}; + +struct _GmpcMpdDataTreeviewTooltipClass { + GtkWindowClass parent_class; +}; + +struct _GmpcMpdDataTreeviewTooltipPrivate { + GtkTreeView* par_widget; + GtkImage* image; + char* checksum; +}; + + +static gpointer gmpc_mpd_data_treeview_tooltip_parent_class = NULL; + +#define use_transition_mtt TRUE +#define some_unique_name_mtt VERSION +GType gmpc_mpd_data_treeview_tooltip_get_type (void); +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipPrivate)) +enum { + GMPC_MPD_DATA_TREEVIEW_TOOLTIP_DUMMY_PROPERTY +}; +static void gmpc_mpd_data_treeview_tooltip_metadata_changed (GmpcMpdDataTreeviewTooltip* self, GmpcMetaWatcher* gmw, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met); +static gboolean gmpc_mpd_data_treeview_tooltip_query_tooltip_callback (GmpcMpdDataTreeviewTooltip* self, gint x, gint y, gboolean keyboard_tip, GtkTooltip* tooltip); +static gboolean _gmpc_mpd_data_treeview_tooltip_query_tooltip_callback_gtk_widget_query_tooltip (GtkWidget* _sender, gint x, gint y, gboolean keyboard_tooltip, GtkTooltip* tooltip, gpointer self); +static void _gmpc_mpd_data_treeview_tooltip_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self); +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_new (GtkTreeView* pw, MetaDataType type); +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_construct (GType object_type, GtkTreeView* pw, MetaDataType type); +static void gmpc_mpd_data_treeview_tooltip_finalize (GObject* obj); +static int _vala_strcmp0 (const char * str1, const char * str2); + + + +static gboolean gmpc_mpd_data_treeview_tooltip_query_tooltip_callback (GmpcMpdDataTreeviewTooltip* self, gint x, gint y, gboolean keyboard_tip, GtkTooltip* tooltip) { + gboolean result; + char* tag; + gint row_type; + GtkTreePath* path; + GtkTreeIter iter = {0}; + GtkTreeModel* _tmp0_; + GtkTreeModel* model; + gboolean _tmp1_; + const GtkTreePath* _tmp10_; + GtkTreePath* _tmp9_; + gboolean _tmp8_; + const GtkTreePath* _tmp7_; + GtkTreeModel* _tmp6_; + GtkTreeModel* _tmp5_; + gboolean _tmp4_; + GtkTreeModel* _tmp3_; + mpd_Song* song; + char* new_check; + gboolean _tmp22_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (tooltip != NULL, FALSE); + tag = NULL; + row_type = 0; + path = NULL; + _tmp0_ = NULL; + model = (_tmp0_ = gtk_tree_view_get_model (self->priv->par_widget), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + if (cfg_get_single_value_as_int_with_default (config, "GmpcTreeView", "show-tooltip", 1) != 1) { + result = FALSE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + _tmp1_ = FALSE; + if (self->mtype != META_ARTIST_ART) { + _tmp1_ = self->mtype != META_ALBUM_ART; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + char* _tmp2_; + _tmp2_ = NULL; + self->priv->checksum = (_tmp2_ = NULL, self->priv->checksum = (g_free (self->priv->checksum), NULL), _tmp2_); + result = FALSE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + _tmp10_ = NULL; + _tmp9_ = NULL; + _tmp7_ = NULL; + _tmp6_ = NULL; + _tmp5_ = NULL; + _tmp3_ = NULL; + if (!(_tmp8_ = (_tmp4_ = gtk_tree_view_get_tooltip_context (self->priv->par_widget, &x, &y, keyboard_tip, &_tmp3_, &_tmp7_, &iter), model = (_tmp5_ = (_tmp6_ = _tmp3_, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp5_), _tmp4_), path = (_tmp9_ = (_tmp10_ = _tmp7_, (_tmp10_ == NULL) ? NULL : gtk_tree_path_copy (_tmp10_)), (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)), _tmp9_), _tmp8_)) { + char* _tmp11_; + _tmp11_ = NULL; + self->priv->checksum = (_tmp11_ = NULL, self->priv->checksum = (g_free (self->priv->checksum), NULL), _tmp11_); + result = FALSE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + return result; + } + song = mpd_newSong (); + /* Get the row type */ + gtk_tree_model_get (model, &iter, 26, &row_type, -1); + if (row_type == MPD_DATA_TYPE_SONG) { + char* album; + char* _tmp13_; + const char* _tmp12_; + char* _tmp15_; + const char* _tmp14_; + album = NULL; + gtk_tree_model_get (model, &iter, 5, &tag, 6, &album, -1); + _tmp13_ = NULL; + _tmp12_ = NULL; + song->artist = (_tmp13_ = (_tmp12_ = tag, (_tmp12_ == NULL) ? NULL : g_strdup (_tmp12_)), song->artist = (g_free (song->artist), NULL), _tmp13_); + _tmp15_ = NULL; + _tmp14_ = NULL; + song->album = (_tmp15_ = (_tmp14_ = album, (_tmp14_ == NULL) ? NULL : g_strdup (_tmp14_)), song->album = (g_free (song->album), NULL), _tmp15_); + album = (g_free (album), NULL); + } else { + if (row_type == MPD_DATA_TYPE_TAG) { + if (self->mtype == META_ARTIST_ART) { + char* _tmp17_; + const char* _tmp16_; + gtk_tree_model_get (model, &iter, 7, &tag, -1); + _tmp17_ = NULL; + _tmp16_ = NULL; + song->artist = (_tmp17_ = (_tmp16_ = tag, (_tmp16_ == NULL) ? NULL : g_strdup (_tmp16_)), song->artist = (g_free (song->artist), NULL), _tmp17_); + } else { + if (self->mtype == META_ALBUM_ART) { + char* _tmp19_; + const char* _tmp18_; + char* _tmp21_; + const char* _tmp20_; + gtk_tree_model_get (model, &iter, 7, &tag, -1); + _tmp19_ = NULL; + _tmp18_ = NULL; + song->artist = (_tmp19_ = (_tmp18_ = self->request_artist, (_tmp18_ == NULL) ? NULL : g_strdup (_tmp18_)), song->artist = (g_free (song->artist), NULL), _tmp19_); + _tmp21_ = NULL; + _tmp20_ = NULL; + song->album = (_tmp21_ = (_tmp20_ = tag, (_tmp20_ == NULL) ? NULL : g_strdup (_tmp20_)), song->album = (g_free (song->album), NULL), _tmp21_); + } + } + } + } + new_check = mpd_song_checksum (song); + _tmp22_ = FALSE; + if (_vala_strcmp0 (new_check, self->priv->checksum) != 0) { + _tmp22_ = self->priv->checksum != NULL; + } else { + _tmp22_ = FALSE; + } + if (_tmp22_) { + char* _tmp23_; + _tmp23_ = NULL; + self->priv->checksum = (_tmp23_ = NULL, self->priv->checksum = (g_free (self->priv->checksum), NULL), _tmp23_); + result = FALSE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + new_check = (g_free (new_check), NULL); + return result; + } + if (_vala_strcmp0 (new_check, self->priv->checksum) != 0) { + char* _tmp25_; + const char* _tmp24_; + MetaData* met; + MetaData* _tmp28_; + MetaDataResult _tmp27_; + MetaData* _tmp26_; + MetaDataResult _result_; + _tmp25_ = NULL; + _tmp24_ = NULL; + self->priv->checksum = (_tmp25_ = (_tmp24_ = new_check, (_tmp24_ == NULL) ? NULL : g_strdup (_tmp24_)), self->priv->checksum = (g_free (self->priv->checksum), NULL), _tmp25_); + met = NULL; + _tmp28_ = NULL; + _tmp26_ = NULL; + _result_ = (_tmp27_ = gmpc_meta_watcher_get_meta_path (gmw, song, self->mtype, &_tmp26_), met = (_tmp28_ = _tmp26_, (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)), _tmp28_), _tmp27_); + gmpc_mpd_data_treeview_tooltip_metadata_changed (self, gmw, song, self->mtype, _result_, met); + (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)); + } + if (gtk_image_get_storage_type (self->priv->image) == GTK_IMAGE_EMPTY) { + result = FALSE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + new_check = (g_free (new_check), NULL); + return result; + } + result = TRUE; + tag = (g_free (tag), NULL); + (path == NULL) ? NULL : (path = (gtk_tree_path_free (path), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (song == NULL) ? NULL : (song = (mpd_freeSong (song), NULL)); + new_check = (g_free (new_check), NULL); + return result; +} + + +static void gmpc_mpd_data_treeview_tooltip_metadata_changed (GmpcMpdDataTreeviewTooltip* self, GmpcMetaWatcher* gmw, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met) { + GError * _inner_error_; + char* _tmp0_; + gboolean _tmp1_; + g_return_if_fail (self != NULL); + g_return_if_fail (gmw != NULL); + g_return_if_fail (song != NULL); + _inner_error_ = NULL; + if (type != self->mtype) { + return; + } + _tmp0_ = NULL; + if ((_tmp1_ = _vala_strcmp0 (self->priv->checksum, _tmp0_ = mpd_song_checksum (song)) != 0, _tmp0_ = (g_free (_tmp0_), NULL), _tmp1_)) { + return; + } + if (_result_ == META_DATA_UNAVAILABLE) { + gtk_image_clear (self->priv->image); + } else { + if (_result_ == META_DATA_FETCHING) { + gtk_image_clear (self->priv->image); + } else { + if (_result_ == META_DATA_AVAILABLE) { + if (met->content_type == META_DATA_CONTENT_URI) { + { + GdkPixbuf* pb; + pb = gdk_pixbuf_new_from_file_at_scale (meta_data_get_uri (met), 150, 150, TRUE, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch0_g_error; + goto __finally0; + } + gtk_image_set_from_pixbuf (self->priv->image, pb); + (pb == NULL) ? NULL : (pb = (g_object_unref (pb), NULL)); + } + goto __finally0; + __catch0_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + gtk_image_clear (self->priv->image); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally0: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + } else { + gtk_image_clear (self->priv->image); + } + } + } + } +} + + +static gboolean _gmpc_mpd_data_treeview_tooltip_query_tooltip_callback_gtk_widget_query_tooltip (GtkWidget* _sender, gint x, gint y, gboolean keyboard_tooltip, GtkTooltip* tooltip, gpointer self) { + return gmpc_mpd_data_treeview_tooltip_query_tooltip_callback (self, x, y, keyboard_tooltip, tooltip); +} + + +static void _gmpc_mpd_data_treeview_tooltip_metadata_changed_gmpc_meta_watcher_data_changed (GmpcMetaWatcher* _sender, const mpd_Song* song, MetaDataType type, MetaDataResult _result_, const MetaData* met, gpointer self) { + gmpc_mpd_data_treeview_tooltip_metadata_changed (self, _sender, song, type, _result_, met); +} + + +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_construct (GType object_type, GtkTreeView* pw, MetaDataType type) { + GParameter * __params; + GParameter * __params_it; + GmpcMpdDataTreeviewTooltip * self; + GtkTreeView* _tmp1_; + GtkTreeView* _tmp0_; + GtkImage* _tmp2_; + g_return_val_if_fail (pw != NULL, NULL); + __params = g_new0 (GParameter, 1); + __params_it = __params; + __params_it->name = "type"; + g_value_init (&__params_it->value, GTK_TYPE_WINDOW_TYPE); + g_value_set_enum (&__params_it->value, GTK_WINDOW_POPUP); + __params_it++; + self = g_object_newv (object_type, __params_it - __params, __params); + gtk_window_set_resizable ((GtkWindow*) self, FALSE); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->par_widget = (_tmp1_ = (_tmp0_ = pw, (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)), (self->priv->par_widget == NULL) ? NULL : (self->priv->par_widget = (g_object_unref (self->priv->par_widget), NULL)), _tmp1_); + g_signal_connect_object ((GtkWidget*) pw, "query-tooltip", (GCallback) _gmpc_mpd_data_treeview_tooltip_query_tooltip_callback_gtk_widget_query_tooltip, self, 0); + gtk_widget_set_tooltip_window ((GtkWidget*) self->priv->par_widget, (GtkWindow*) self); + _tmp2_ = NULL; + self->priv->image = (_tmp2_ = g_object_ref_sink ((GtkImage*) gtk_image_new ()), (self->priv->image == NULL) ? NULL : (self->priv->image = (g_object_unref (self->priv->image), NULL)), _tmp2_); + gtk_widget_show ((GtkWidget*) self->priv->image); + self->mtype = type; + gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->priv->image); + gtk_container_set_border_width ((GtkContainer*) self, (guint) 2); + gtk_widget_modify_bg ((GtkWidget*) self, GTK_STATE_NORMAL, >k_widget_get_style ((GtkWidget*) pw)->black); + g_signal_connect_object (gmw, "data-changed", (GCallback) _gmpc_mpd_data_treeview_tooltip_metadata_changed_gmpc_meta_watcher_data_changed, self, 0); + while (__params_it > __params) { + --__params_it; + g_value_unset (&__params_it->value); + } + g_free (__params); + return self; +} + + +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_new (GtkTreeView* pw, MetaDataType type) { + return gmpc_mpd_data_treeview_tooltip_construct (GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, pw, type); +} + + +static void gmpc_mpd_data_treeview_tooltip_class_init (GmpcMpdDataTreeviewTooltipClass * klass) { + gmpc_mpd_data_treeview_tooltip_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcMpdDataTreeviewTooltipPrivate)); + G_OBJECT_CLASS (klass)->finalize = gmpc_mpd_data_treeview_tooltip_finalize; +} + + +static void gmpc_mpd_data_treeview_tooltip_instance_init (GmpcMpdDataTreeviewTooltip * self) { + self->priv = GMPC_MPD_DATA_TREEVIEW_TOOLTIP_GET_PRIVATE (self); + self->priv->par_widget = NULL; + self->priv->image = NULL; + self->mtype = META_ARTIST_ART; + self->request_artist = NULL; + self->priv->checksum = NULL; +} + + +static void gmpc_mpd_data_treeview_tooltip_finalize (GObject* obj) { + GmpcMpdDataTreeviewTooltip * self; + self = GMPC_MPD_DATA_TREEVIEW_TOOLTIP (obj); + (self->priv->par_widget == NULL) ? NULL : (self->priv->par_widget = (g_object_unref (self->priv->par_widget), NULL)); + (self->priv->image == NULL) ? NULL : (self->priv->image = (g_object_unref (self->priv->image), NULL)); + self->request_artist = (g_free (self->request_artist), NULL); + self->priv->checksum = (g_free (self->priv->checksum), NULL); + G_OBJECT_CLASS (gmpc_mpd_data_treeview_tooltip_parent_class)->finalize (obj); +} + + +GType gmpc_mpd_data_treeview_tooltip_get_type (void) { + static GType gmpc_mpd_data_treeview_tooltip_type_id = 0; + if (gmpc_mpd_data_treeview_tooltip_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcMpdDataTreeviewTooltipClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_mpd_data_treeview_tooltip_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcMpdDataTreeviewTooltip), 0, (GInstanceInitFunc) gmpc_mpd_data_treeview_tooltip_instance_init, NULL }; + gmpc_mpd_data_treeview_tooltip_type_id = g_type_register_static (GTK_TYPE_WINDOW, "GmpcMpdDataTreeviewTooltip", &g_define_type_info, 0); + } + return gmpc_mpd_data_treeview_tooltip_type_id; +} + + +static int _vala_strcmp0 (const char * str1, const char * str2) { + if (str1 == NULL) { + return -(str1 != str2); + } + if (str2 == NULL) { + return str1 != str2; + } + return strcmp (str1, str2); +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.h --- gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,44 @@ + +#ifndef __GMPC_MPDDATA_TREEVIEW_TOOLTIP_H__ +#define __GMPC_MPDDATA_TREEVIEW_TOOLTIP_H__ + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP (gmpc_mpd_data_treeview_tooltip_get_type ()) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltip)) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass)) +#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP)) +#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP)) +#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass)) + +typedef struct _GmpcMpdDataTreeviewTooltip GmpcMpdDataTreeviewTooltip; +typedef struct _GmpcMpdDataTreeviewTooltipClass GmpcMpdDataTreeviewTooltipClass; +typedef struct _GmpcMpdDataTreeviewTooltipPrivate GmpcMpdDataTreeviewTooltipPrivate; + +struct _GmpcMpdDataTreeviewTooltip { + GtkWindow parent_instance; + GmpcMpdDataTreeviewTooltipPrivate * priv; + MetaDataType mtype; + char* request_artist; +}; + +struct _GmpcMpdDataTreeviewTooltipClass { + GtkWindowClass parent_class; +}; + + +GType gmpc_mpd_data_treeview_tooltip_get_type (void); +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_new (GtkTreeView* pw, MetaDataType type); +GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_construct (GType object_type, GtkTreeView* pw, MetaDataType type); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.vala --- gmpc-0.18.0/src/vala/gmpc-mpddata-treeview-tooltip.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-mpddata-treeview-tooltip.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,134 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +using Config; +using Gtk; +using Gmpc; + +private const bool use_transition_mtt = Gmpc.use_transition; +private const string some_unique_name_mtt = Config.VERSION; + +public class Gmpc.MpdData.Treeview.Tooltip : Gtk.Window { + private Gtk.TreeView par_widget = null; + private Gtk.Image image = null; + public Gmpc.MetaData.Type mtype = Gmpc.MetaData.Type.ARTIST_ART; + public string? request_artist = null; + private string checksum = null; + private bool + query_tooltip_callback(int x, int y, bool keyboard_tip, Gtk.Tooltip tooltip) + { + string tag = null; + int row_type = 0; + Gtk.TreePath path = null; + Gtk.TreeIter iter ; + var model = this.par_widget.get_model(); + if(config.get_int_with_default("GmpcTreeView", "show-tooltip", 1) != 1) return false; + if(this.mtype != Gmpc.MetaData.Type.ARTIST_ART && this.mtype != Gmpc.MetaData.Type.ALBUM_ART) { + this.checksum = null; + return false; + } + + if(!this.par_widget.get_tooltip_context(out x, out y,keyboard_tip, out model, out path, out iter)){ + this.checksum = null; + return false; + } + + MPD.Song song = new MPD.Song(); + /* Get the row type */ + model.get(iter, 26, out row_type); + if(row_type == MPD.Data.Type.SONG) + { + string album = null; + model.get(iter, 5, out tag, 6 , out album); + song.artist = tag; + song.album = album; + } + else if (row_type == MPD.Data.Type.TAG) + { + if(this.mtype == Gmpc.MetaData.Type.ARTIST_ART) + { + model.get(iter, 7, out tag); + song.artist = tag; + }else if (this.mtype == Gmpc.MetaData.Type.ALBUM_ART) + { + model.get(iter, 7, out tag); + song.artist = this.request_artist; + song.album = tag; + } + + } + string new_check = Gmpc.Misc.song_checksum(song); + if(new_check != this.checksum && this.checksum != null) + { + this.checksum = null; + return false; + } + if(new_check != this.checksum) + { + + this.checksum = new_check; + Gmpc.MetaData.Item met = null; + var result = metawatcher.query(song, this.mtype, out met); + metadata_changed(metawatcher, song, this.mtype,result, met); + } + if(this.image.get_storage_type() == Gtk.ImageType.EMPTY) return false; + return true; + } + + private void metadata_changed(MetaWatcher gmw, MPD.Song song, Gmpc.MetaData.Type type, Gmpc.MetaData.Result result, Gmpc.MetaData.Item? met) + { + if(type != this.mtype) return; + + if(this.checksum != Gmpc.Misc.song_checksum(song)) return; + if(result == Gmpc.MetaData.Result.UNAVAILABLE) { + this.image.clear(); + } + else if (result == Gmpc.MetaData.Result.FETCHING) { + this.image.clear(); + }else if (result == Gmpc.MetaData.Result.AVAILABLE) { + if(met.content_type == Gmpc.MetaData.ContentType.URI) { + try { + var pb = new Gdk.Pixbuf.from_file_at_scale(met.get_uri(), 150, 150, true); + image.set_from_pixbuf(pb); + } catch (Error e) { + this.image.clear(); + } + } else { + this.image.clear(); + } + } + } + public + Tooltip(Gtk.TreeView pw, Gmpc.MetaData.Type type){ + this.type = Gtk.WindowType.POPUP; + this.resizable = false; + this.par_widget = pw; + /*Set up all needed for tooltip */ + pw.query_tooltip.connect(query_tooltip_callback); + this.par_widget.set_tooltip_window(this); + /* setup image */ + this.image = new Gtk.Image(); + this.image.show(); + this.mtype = type; + this.add(image); + this.set_border_width(2); + this.modify_bg(Gtk.StateType.NORMAL, pw.style.black); + + metawatcher.data_changed.connect(metadata_changed); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-paned-size-group.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-paned-size-group.c --- gmpc-0.18.0/src/vala/gmpc-paned-size-group.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-paned-size-group.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,187 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include + + +#define GMPC_TYPE_PANED_SIZE_GROUP (gmpc_paned_size_group_get_type ()) +#define GMPC_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroup)) +#define GMPC_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass)) +#define GMPC_IS_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PANED_SIZE_GROUP)) +#define GMPC_IS_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PANED_SIZE_GROUP)) +#define GMPC_PANED_SIZE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass)) + +typedef struct _GmpcPanedSizeGroup GmpcPanedSizeGroup; +typedef struct _GmpcPanedSizeGroupClass GmpcPanedSizeGroupClass; +typedef struct _GmpcPanedSizeGroupPrivate GmpcPanedSizeGroupPrivate; + +struct _GmpcPanedSizeGroup { + GObject parent_instance; + GmpcPanedSizeGroupPrivate * priv; +}; + +struct _GmpcPanedSizeGroupClass { + GObjectClass parent_class; +}; + +struct _GmpcPanedSizeGroupPrivate { + GList* list; + gint position; + gboolean block_changed_callback; +}; + + +static gpointer gmpc_paned_size_group_parent_class = NULL; + +GType gmpc_paned_size_group_get_type (void); +#define GMPC_PANED_SIZE_GROUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupPrivate)) +enum { + GMPC_PANED_SIZE_GROUP_DUMMY_PROPERTY +}; +GmpcPanedSizeGroup* gmpc_paned_size_group_new (void); +GmpcPanedSizeGroup* gmpc_paned_size_group_construct (GType object_type); +static gboolean gmpc_paned_size_group_child_destroy_event (GmpcPanedSizeGroup* self, GtkWidget* paned, GdkEvent* event); +static void gmpc_paned_size_group_child_position_changed (GmpcPanedSizeGroup* self, GObject* paned, GParamSpec* spec); +static void _gmpc_paned_size_group_child_position_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self); +static gboolean _gmpc_paned_size_group_child_destroy_event_gtk_widget_destroy_event (GtkWidget* _sender, GdkEvent* event, gpointer self); +void gmpc_paned_size_group_add_paned (GmpcPanedSizeGroup* self, GtkPaned* paned); +static void gmpc_paned_size_group_finalize (GObject* obj); + + + +GmpcPanedSizeGroup* gmpc_paned_size_group_construct (GType object_type) { + GmpcPanedSizeGroup * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +GmpcPanedSizeGroup* gmpc_paned_size_group_new (void) { + return gmpc_paned_size_group_construct (GMPC_TYPE_PANED_SIZE_GROUP); +} + + +static gboolean gmpc_paned_size_group_child_destroy_event (GmpcPanedSizeGroup* self, GtkWidget* paned, GdkEvent* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (paned != NULL, FALSE); + g_return_val_if_fail (event != NULL, FALSE); + self->priv->list = g_list_remove (self->priv->list, GTK_PANED (paned)); + result = FALSE; + return result; +} + + +static void gmpc_paned_size_group_child_position_changed (GmpcPanedSizeGroup* self, GObject* paned, GParamSpec* spec) { + GtkPaned* _tmp0_; + GtkPaned* pane; + g_return_if_fail (self != NULL); + g_return_if_fail (paned != NULL); + g_return_if_fail (spec != NULL); + if (self->priv->block_changed_callback) { + return; + } + self->priv->block_changed_callback = TRUE; + _tmp0_ = NULL; + pane = (_tmp0_ = GTK_PANED (paned), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + self->priv->position = gtk_paned_get_position (pane); + { + GList* p_collection; + GList* p_it; + p_collection = self->priv->list; + for (p_it = p_collection; p_it != NULL; p_it = p_it->next) { + GtkPaned* p; + p = (GtkPaned*) p_it->data; + { + if (G_OBJECT (p) != paned) { + gtk_paned_set_position (p, self->priv->position); + } + } + } + } + self->priv->block_changed_callback = FALSE; + (pane == NULL) ? NULL : (pane = (g_object_unref (pane), NULL)); +} + + +static void _gmpc_paned_size_group_child_position_changed_g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) { + gmpc_paned_size_group_child_position_changed (self, _sender, pspec); +} + + +static gboolean _gmpc_paned_size_group_child_destroy_event_gtk_widget_destroy_event (GtkWidget* _sender, GdkEvent* event, gpointer self) { + return gmpc_paned_size_group_child_destroy_event (self, _sender, event); +} + + +void gmpc_paned_size_group_add_paned (GmpcPanedSizeGroup* self, GtkPaned* paned) { + g_return_if_fail (self != NULL); + g_return_if_fail (paned != NULL); + g_signal_connect_object ((GObject*) paned, "notify::position", (GCallback) _gmpc_paned_size_group_child_position_changed_g_object_notify, self, 0); + g_signal_connect_object ((GtkWidget*) paned, "destroy-event", (GCallback) _gmpc_paned_size_group_child_destroy_event_gtk_widget_destroy_event, self, 0); + self->priv->block_changed_callback = TRUE; + gtk_paned_set_position (paned, self->priv->position); + self->priv->block_changed_callback = FALSE; + self->priv->list = g_list_append (self->priv->list, paned); +} + + +static void gmpc_paned_size_group_class_init (GmpcPanedSizeGroupClass * klass) { + gmpc_paned_size_group_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcPanedSizeGroupPrivate)); + G_OBJECT_CLASS (klass)->finalize = gmpc_paned_size_group_finalize; +} + + +static void gmpc_paned_size_group_instance_init (GmpcPanedSizeGroup * self) { + self->priv = GMPC_PANED_SIZE_GROUP_GET_PRIVATE (self); + self->priv->list = NULL; + self->priv->position = cfg_get_single_value_as_int_with_default (config, "paned-size-group", "position", 150); + self->priv->block_changed_callback = FALSE; +} + + +static void gmpc_paned_size_group_finalize (GObject* obj) { + GmpcPanedSizeGroup * self; + self = GMPC_PANED_SIZE_GROUP (obj); + { + cfg_set_single_value_as_int (config, "paned-size-group", "position", self->priv->position); + } + (self->priv->list == NULL) ? NULL : (self->priv->list = (g_list_free (self->priv->list), NULL)); + G_OBJECT_CLASS (gmpc_paned_size_group_parent_class)->finalize (obj); +} + + +GType gmpc_paned_size_group_get_type (void) { + static GType gmpc_paned_size_group_type_id = 0; + if (gmpc_paned_size_group_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPanedSizeGroupClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_paned_size_group_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcPanedSizeGroup), 0, (GInstanceInitFunc) gmpc_paned_size_group_instance_init, NULL }; + gmpc_paned_size_group_type_id = g_type_register_static (G_TYPE_OBJECT, "GmpcPanedSizeGroup", &g_define_type_info, 0); + } + return gmpc_paned_size_group_type_id; +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-paned-size-group.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-paned-size-group.h --- gmpc-0.18.0/src/vala/gmpc-paned-size-group.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-paned-size-group.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,41 @@ + +#ifndef __GMPC_PANED_SIZE_GROUP_H__ +#define __GMPC_PANED_SIZE_GROUP_H__ + +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_TYPE_PANED_SIZE_GROUP (gmpc_paned_size_group_get_type ()) +#define GMPC_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroup)) +#define GMPC_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass)) +#define GMPC_IS_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PANED_SIZE_GROUP)) +#define GMPC_IS_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PANED_SIZE_GROUP)) +#define GMPC_PANED_SIZE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass)) + +typedef struct _GmpcPanedSizeGroup GmpcPanedSizeGroup; +typedef struct _GmpcPanedSizeGroupClass GmpcPanedSizeGroupClass; +typedef struct _GmpcPanedSizeGroupPrivate GmpcPanedSizeGroupPrivate; + +struct _GmpcPanedSizeGroup { + GObject parent_instance; + GmpcPanedSizeGroupPrivate * priv; +}; + +struct _GmpcPanedSizeGroupClass { + GObjectClass parent_class; +}; + + +GType gmpc_paned_size_group_get_type (void); +GmpcPanedSizeGroup* gmpc_paned_size_group_new (void); +GmpcPanedSizeGroup* gmpc_paned_size_group_construct (GType object_type); +void gmpc_paned_size_group_add_paned (GmpcPanedSizeGroup* self, GtkPaned* paned); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-paned-size-group.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-paned-size-group.vala --- gmpc-0.18.0/src/vala/gmpc-paned-size-group.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-paned-size-group.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,78 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using MPD; + + +namespace Gmpc{ + public class PanedSizeGroup : GLib.Object { + private List list = null; + private int position = config.get_int_with_default("paned-size-group", "position", 150); + + public + PanedSizeGroup () { + + } + ~PanedSizeGroup () { + config.set_int("paned-size-group", "position", position); + + } + private bool + child_destroy_event(Gtk.Widget paned, Gdk.Event event) + { + list.remove((Gtk.Paned)paned); + + return false; + } + private bool block_changed_callback = false; + private + void + child_position_changed(GLib.Object paned, ParamSpec spec) + { + if(block_changed_callback) return; + block_changed_callback = true; + + var pane = (Gtk.Paned) paned; + position = pane.get_position(); + foreach(weak Gtk.Paned p in list) + { + if(p != paned) + { + p.set_position(position); + } + } + + block_changed_callback = false; + } + public + void + add_paned(Gtk.Paned paned) + { + paned.notify["position"].connect(child_position_changed); + paned.destroy_event.connect(child_destroy_event); + + block_changed_callback = true; + paned.set_position(position); + block_changed_callback = false; + + list.append(paned); + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-plugin.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-plugin.c --- gmpc-0.18.0/src/vala/gmpc-plugin.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-plugin.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,502 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_PLUGIN_TYPE_BASE (gmpc_plugin_base_get_type ()) +#define GMPC_PLUGIN_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBase)) +#define GMPC_PLUGIN_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass)) +#define GMPC_PLUGIN_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BASE)) +#define GMPC_PLUGIN_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGIN_TYPE_BASE)) +#define GMPC_PLUGIN_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass)) + +typedef struct _GmpcPluginBase GmpcPluginBase; +typedef struct _GmpcPluginBaseClass GmpcPluginBaseClass; +typedef struct _GmpcPluginBasePrivate GmpcPluginBasePrivate; + +#define GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE (gmpc_plugin_tool_menu_iface_get_type ()) +#define GMPC_PLUGIN_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIface)) +#define GMPC_PLUGIN_IS_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE)) +#define GMPC_PLUGIN_TOOL_MENU_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIfaceIface)) + +typedef struct _GmpcPluginToolMenuIface GmpcPluginToolMenuIface; +typedef struct _GmpcPluginToolMenuIfaceIface GmpcPluginToolMenuIfaceIface; + +#define GMPC_PLUGIN_TYPE_META_DATA_IFACE (gmpc_plugin_meta_data_iface_get_type ()) +#define GMPC_PLUGIN_META_DATA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE, GmpcPluginMetaDataIface)) +#define GMPC_PLUGIN_IS_META_DATA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE)) +#define GMPC_PLUGIN_META_DATA_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE, GmpcPluginMetaDataIfaceIface)) + +typedef struct _GmpcPluginMetaDataIface GmpcPluginMetaDataIface; +typedef struct _GmpcPluginMetaDataIfaceIface GmpcPluginMetaDataIfaceIface; + +#define GMPC_PLUGIN_TYPE_BROWSER_IFACE (gmpc_plugin_browser_iface_get_type ()) +#define GMPC_PLUGIN_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIface)) +#define GMPC_PLUGIN_IS_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE)) +#define GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIfaceIface)) + +typedef struct _GmpcPluginBrowserIface GmpcPluginBrowserIface; +typedef struct _GmpcPluginBrowserIfaceIface GmpcPluginBrowserIfaceIface; + +#define GMPC_PLUGIN_TYPE_PREFERENCES_IFACE (gmpc_plugin_preferences_iface_get_type ()) +#define GMPC_PLUGIN_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIface)) +#define GMPC_PLUGIN_IS_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE)) +#define GMPC_PLUGIN_PREFERENCES_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIfaceIface)) + +typedef struct _GmpcPluginPreferencesIface GmpcPluginPreferencesIface; +typedef struct _GmpcPluginPreferencesIfaceIface GmpcPluginPreferencesIfaceIface; + +#define GMPC_PLUGIN_TYPE_SONG_LIST_IFACE (gmpc_plugin_song_list_iface_get_type ()) +#define GMPC_PLUGIN_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIface)) +#define GMPC_PLUGIN_IS_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE)) +#define GMPC_PLUGIN_SONG_LIST_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIfaceIface)) + +typedef struct _GmpcPluginSongListIface GmpcPluginSongListIface; +typedef struct _GmpcPluginSongListIfaceIface GmpcPluginSongListIfaceIface; + +/** + * This is the base class that a plugin should inherit from. + * + */ +struct _GmpcPluginBase { + GObject parent_instance; + GmpcPluginBasePrivate * priv; + const char* translation_domain; + char* path; + gint id; + gint plugin_type; +}; + +struct _GmpcPluginBaseClass { + GObjectClass parent_class; + gint* (*get_version) (GmpcPluginBase* self, int* result_length1); + const char* (*get_name) (GmpcPluginBase* self); + void (*save_yourself) (GmpcPluginBase* self); + gboolean (*get_enabled) (GmpcPluginBase* self); + void (*set_enabled) (GmpcPluginBase* self, gboolean state); +}; + +/** + * This interface allows the plugin to add one, or more, entries in the Tools menu. + * If need to remove or undate an entry call pl3_tool_menu_update(). This will tell gmpc + * To clear the menu, and call this function again on every plugin. + */ +struct _GmpcPluginToolMenuIfaceIface { + GTypeInterface parent_iface; + gint (*tool_menu_integration) (GmpcPluginToolMenuIface* self, GtkMenu* menu); +}; + +typedef void (*GmpcPluginMetaDataCallback) (GList* list, void* user_data); +/* untested */ +struct _GmpcPluginMetaDataIfaceIface { + GTypeInterface parent_iface; + void (*get_data) (GmpcPluginMetaDataIface* self, const mpd_Song* song, MetaDataType type, GmpcPluginMetaDataCallback callback, void* callback_target); + gint (*get_priority) (GmpcPluginMetaDataIface* self); + void (*set_priority) (GmpcPluginMetaDataIface* self, gint priority); +}; + +struct _GmpcPluginBrowserIfaceIface { + GTypeInterface parent_iface; + void (*browser_add) (GmpcPluginBrowserIface* self, GtkWidget* category_tree); + void (*browser_selected) (GmpcPluginBrowserIface* self, GtkContainer* container); + void (*browser_unselected) (GmpcPluginBrowserIface* self, GtkContainer* container); + gint (*browser_option_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu); + gint (*browser_add_go_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu); +}; + +struct _GmpcPluginPreferencesIfaceIface { + GTypeInterface parent_iface; + void (*preferences_pane_construct) (GmpcPluginPreferencesIface* self, GtkContainer* container); + void (*preferences_pane_destroy) (GmpcPluginPreferencesIface* self, GtkContainer* container); +}; + +/* untested */ +struct _GmpcPluginSongListIfaceIface { + GTypeInterface parent_iface; + gint (*song_list) (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu); +}; + + +static gpointer gmpc_plugin_base_parent_class = NULL; + +GType gmpc_plugin_base_get_type (void); +enum { + GMPC_PLUGIN_BASE_DUMMY_PROPERTY +}; +gint* gmpc_plugin_base_get_version (GmpcPluginBase* self, int* result_length1); +static gint* gmpc_plugin_base_real_get_version (GmpcPluginBase* self, int* result_length1); +const char* gmpc_plugin_base_get_name (GmpcPluginBase* self); +static const char* gmpc_plugin_base_real_get_name (GmpcPluginBase* self); +void gmpc_plugin_base_save_yourself (GmpcPluginBase* self); +static void gmpc_plugin_base_real_save_yourself (GmpcPluginBase* self); +gboolean gmpc_plugin_base_get_enabled (GmpcPluginBase* self); +static gboolean gmpc_plugin_base_real_get_enabled (GmpcPluginBase* self); +void gmpc_plugin_base_set_enabled (GmpcPluginBase* self, gboolean state); +static void gmpc_plugin_base_real_set_enabled (GmpcPluginBase* self, gboolean state); +GmpcPluginBase* gmpc_plugin_base_construct (GType object_type); +static void gmpc_plugin_base_finalize (GObject* obj); +GType gmpc_plugin_tool_menu_iface_get_type (void); +gint gmpc_plugin_tool_menu_iface_tool_menu_integration (GmpcPluginToolMenuIface* self, GtkMenu* menu); +GType gmpc_plugin_meta_data_iface_get_type (void); +void gmpc_plugin_meta_data_iface_get_data (GmpcPluginMetaDataIface* self, const mpd_Song* song, MetaDataType type, GmpcPluginMetaDataCallback callback, void* callback_target); +gint gmpc_plugin_meta_data_iface_get_priority (GmpcPluginMetaDataIface* self); +void gmpc_plugin_meta_data_iface_set_priority (GmpcPluginMetaDataIface* self, gint priority); +GType gmpc_plugin_browser_iface_get_type (void); +void gmpc_plugin_browser_iface_browser_add (GmpcPluginBrowserIface* self, GtkWidget* category_tree); +void gmpc_plugin_browser_iface_browser_selected (GmpcPluginBrowserIface* self, GtkContainer* container); +void gmpc_plugin_browser_iface_browser_unselected (GmpcPluginBrowserIface* self, GtkContainer* container); +gint gmpc_plugin_browser_iface_browser_option_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +static gint gmpc_plugin_browser_iface_real_browser_option_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +gint gmpc_plugin_browser_iface_browser_add_go_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +static gint gmpc_plugin_browser_iface_real_browser_add_go_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +GType gmpc_plugin_preferences_iface_get_type (void); +void gmpc_plugin_preferences_iface_preferences_pane_construct (GmpcPluginPreferencesIface* self, GtkContainer* container); +void gmpc_plugin_preferences_iface_preferences_pane_destroy (GmpcPluginPreferencesIface* self, GtkContainer* container); +GType gmpc_plugin_song_list_iface_get_type (void); +gint gmpc_plugin_song_list_iface_song_list (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu); + + + +static gint* gmpc_plugin_base_real_get_version (GmpcPluginBase* self, int* result_length1) { + g_return_val_if_fail (self != NULL, NULL); + g_critical ("Type `%s' does not implement abstract method `gmpc_plugin_base_get_version'", g_type_name (G_TYPE_FROM_INSTANCE (self))); + return NULL; +} + + +/** + * Function should return the version of the plugin + */ +gint* gmpc_plugin_base_get_version (GmpcPluginBase* self, int* result_length1) { + return GMPC_PLUGIN_BASE_GET_CLASS (self)->get_version (self, result_length1); +} + + +static const char* gmpc_plugin_base_real_get_name (GmpcPluginBase* self) { + g_return_val_if_fail (self != NULL, NULL); + g_critical ("Type `%s' does not implement abstract method `gmpc_plugin_base_get_name'", g_type_name (G_TYPE_FROM_INSTANCE (self))); + return NULL; +} + + +/** + * Return the name of the plugin + */ +const char* gmpc_plugin_base_get_name (GmpcPluginBase* self) { + return GMPC_PLUGIN_BASE_GET_CLASS (self)->get_name (self); +} + + +/** + * This is called before the plugin is destroyed. Plugins should save it state here. + * + * A Browser plugin should store the position in the side-tree here. + * Optional function. + */ +static void gmpc_plugin_base_real_save_yourself (GmpcPluginBase* self) { + g_return_if_fail (self != NULL); +} + + +void gmpc_plugin_base_save_yourself (GmpcPluginBase* self) { + GMPC_PLUGIN_BASE_GET_CLASS (self)->save_yourself (self); +} + + +/** + * Function used by gmpc to check if the plugin is enabled. + * By default it is stored in the get_name() category under the enabled key. + * + * @return The state (true or false) + */ +static gboolean gmpc_plugin_base_real_get_enabled (GmpcPluginBase* self) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + if (gmpc_plugin_base_get_name (self) == NULL) { + result = FALSE; + return result; + } + result = (gboolean) cfg_get_single_value_as_int_with_default (config, gmpc_plugin_base_get_name (self), "enabled", 1); + return result; +} + + +gboolean gmpc_plugin_base_get_enabled (GmpcPluginBase* self) { + return GMPC_PLUGIN_BASE_GET_CLASS (self)->get_enabled (self); +} + + +/** + * Function to enable/disable the plugin + * @param state the enable state to set the plugin in. (true or false) + * + * Function used by gmpc to enable/disable the plugin. + * By default it is stored in the get_name() category under the enabled key. + * If something needs to be done on enable/disable override this function. + */ +static void gmpc_plugin_base_real_set_enabled (GmpcPluginBase* self, gboolean state) { + g_return_if_fail (self != NULL); + if (gmpc_plugin_base_get_name (self) != NULL) { + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name (self), "enabled", (gint) state); + } +} + + +void gmpc_plugin_base_set_enabled (GmpcPluginBase* self, gboolean state) { + GMPC_PLUGIN_BASE_GET_CLASS (self)->set_enabled (self, state); +} + + +/** + * This is the base class that a plugin should inherit from. + * + */ +GmpcPluginBase* gmpc_plugin_base_construct (GType object_type) { + GmpcPluginBase * self; + self = g_object_newv (object_type, 0, NULL); + return self; +} + + +static void gmpc_plugin_base_class_init (GmpcPluginBaseClass * klass) { + gmpc_plugin_base_parent_class = g_type_class_peek_parent (klass); + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_plugin_base_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_plugin_base_real_get_name; + GMPC_PLUGIN_BASE_CLASS (klass)->save_yourself = gmpc_plugin_base_real_save_yourself; + GMPC_PLUGIN_BASE_CLASS (klass)->get_enabled = gmpc_plugin_base_real_get_enabled; + GMPC_PLUGIN_BASE_CLASS (klass)->set_enabled = gmpc_plugin_base_real_set_enabled; + G_OBJECT_CLASS (klass)->finalize = gmpc_plugin_base_finalize; +} + + +static void gmpc_plugin_base_instance_init (GmpcPluginBase * self) { + self->translation_domain = NULL; + self->plugin_type = 1; +} + + +static void gmpc_plugin_base_finalize (GObject* obj) { + GmpcPluginBase * self; + self = GMPC_PLUGIN_BASE (obj); + self->path = (g_free (self->path), NULL); + G_OBJECT_CLASS (gmpc_plugin_base_parent_class)->finalize (obj); +} + + +GType gmpc_plugin_base_get_type (void) { + static GType gmpc_plugin_base_type_id = 0; + if (gmpc_plugin_base_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginBaseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_plugin_base_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcPluginBase), 0, (GInstanceInitFunc) gmpc_plugin_base_instance_init, NULL }; + gmpc_plugin_base_type_id = g_type_register_static (G_TYPE_OBJECT, "GmpcPluginBase", &g_define_type_info, G_TYPE_FLAG_ABSTRACT); + } + return gmpc_plugin_base_type_id; +} + + +gint gmpc_plugin_tool_menu_iface_tool_menu_integration (GmpcPluginToolMenuIface* self, GtkMenu* menu) { + return GMPC_PLUGIN_TOOL_MENU_IFACE_GET_INTERFACE (self)->tool_menu_integration (self, menu); +} + + +static void gmpc_plugin_tool_menu_iface_base_init (GmpcPluginToolMenuIfaceIface * iface) { + static gboolean initialized = FALSE; + if (!initialized) { + initialized = TRUE; + } +} + + +GType gmpc_plugin_tool_menu_iface_get_type (void) { + static GType gmpc_plugin_tool_menu_iface_type_id = 0; + if (gmpc_plugin_tool_menu_iface_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginToolMenuIfaceIface), (GBaseInitFunc) gmpc_plugin_tool_menu_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + gmpc_plugin_tool_menu_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "GmpcPluginToolMenuIface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (gmpc_plugin_tool_menu_iface_type_id, GMPC_PLUGIN_TYPE_BASE); + } + return gmpc_plugin_tool_menu_iface_type_id; +} + + +void gmpc_plugin_meta_data_iface_get_data (GmpcPluginMetaDataIface* self, const mpd_Song* song, MetaDataType type, GmpcPluginMetaDataCallback callback, void* callback_target) { + GMPC_PLUGIN_META_DATA_IFACE_GET_INTERFACE (self)->get_data (self, song, type, callback, callback_target); +} + + +/* Set get priority */ +gint gmpc_plugin_meta_data_iface_get_priority (GmpcPluginMetaDataIface* self) { + return GMPC_PLUGIN_META_DATA_IFACE_GET_INTERFACE (self)->get_priority (self); +} + + +void gmpc_plugin_meta_data_iface_set_priority (GmpcPluginMetaDataIface* self, gint priority) { + GMPC_PLUGIN_META_DATA_IFACE_GET_INTERFACE (self)->set_priority (self, priority); +} + + +static void gmpc_plugin_meta_data_iface_base_init (GmpcPluginMetaDataIfaceIface * iface) { + static gboolean initialized = FALSE; + if (!initialized) { + initialized = TRUE; + } +} + + +GType gmpc_plugin_meta_data_iface_get_type (void) { + static GType gmpc_plugin_meta_data_iface_type_id = 0; + if (gmpc_plugin_meta_data_iface_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginMetaDataIfaceIface), (GBaseInitFunc) gmpc_plugin_meta_data_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + gmpc_plugin_meta_data_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "GmpcPluginMetaDataIface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (gmpc_plugin_meta_data_iface_type_id, GMPC_PLUGIN_TYPE_BASE); + } + return gmpc_plugin_meta_data_iface_type_id; +} + + +/* Function is called by gmpc, the plugin should then insert itself in the left tree */ +void gmpc_plugin_browser_iface_browser_add (GmpcPluginBrowserIface* self, GtkWidget* category_tree) { + GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE (self)->browser_add (self, category_tree); +} + + +/* This gets called, the plugin should add it view in container */ +void gmpc_plugin_browser_iface_browser_selected (GmpcPluginBrowserIface* self, GtkContainer* container) { + GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE (self)->browser_selected (self, container); +} + + +/* Plugin should remove itself from container */ +void gmpc_plugin_browser_iface_browser_unselected (GmpcPluginBrowserIface* self, GtkContainer* container) { + GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE (self)->browser_unselected (self, container); +} + + +/* Option menu */ +static gint gmpc_plugin_browser_iface_real_browser_option_menu (GmpcPluginBrowserIface* self, GtkMenu* menu) { + gint result; + g_return_val_if_fail (menu != NULL, 0); + result = 0; + return result; +} + + +gint gmpc_plugin_browser_iface_browser_option_menu (GmpcPluginBrowserIface* self, GtkMenu* menu) { + return GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE (self)->browser_option_menu (self, menu); +} + + +/* Go menu */ +static gint gmpc_plugin_browser_iface_real_browser_add_go_menu (GmpcPluginBrowserIface* self, GtkMenu* menu) { + gint result; + g_return_val_if_fail (menu != NULL, 0); + result = 0; + return result; +} + + +gint gmpc_plugin_browser_iface_browser_add_go_menu (GmpcPluginBrowserIface* self, GtkMenu* menu) { + return GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE (self)->browser_add_go_menu (self, menu); +} + + +static void gmpc_plugin_browser_iface_base_init (GmpcPluginBrowserIfaceIface * iface) { + static gboolean initialized = FALSE; + if (!initialized) { + initialized = TRUE; + } + iface->browser_option_menu = gmpc_plugin_browser_iface_real_browser_option_menu; + iface->browser_add_go_menu = gmpc_plugin_browser_iface_real_browser_add_go_menu; +} + + +GType gmpc_plugin_browser_iface_get_type (void) { + static GType gmpc_plugin_browser_iface_type_id = 0; + if (gmpc_plugin_browser_iface_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginBrowserIfaceIface), (GBaseInitFunc) gmpc_plugin_browser_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + gmpc_plugin_browser_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "GmpcPluginBrowserIface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (gmpc_plugin_browser_iface_type_id, GMPC_PLUGIN_TYPE_BASE); + } + return gmpc_plugin_browser_iface_type_id; +} + + +void gmpc_plugin_preferences_iface_preferences_pane_construct (GmpcPluginPreferencesIface* self, GtkContainer* container) { + GMPC_PLUGIN_PREFERENCES_IFACE_GET_INTERFACE (self)->preferences_pane_construct (self, container); +} + + +void gmpc_plugin_preferences_iface_preferences_pane_destroy (GmpcPluginPreferencesIface* self, GtkContainer* container) { + GMPC_PLUGIN_PREFERENCES_IFACE_GET_INTERFACE (self)->preferences_pane_destroy (self, container); +} + + +static void gmpc_plugin_preferences_iface_base_init (GmpcPluginPreferencesIfaceIface * iface) { + static gboolean initialized = FALSE; + if (!initialized) { + initialized = TRUE; + } +} + + +GType gmpc_plugin_preferences_iface_get_type (void) { + static GType gmpc_plugin_preferences_iface_type_id = 0; + if (gmpc_plugin_preferences_iface_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginPreferencesIfaceIface), (GBaseInitFunc) gmpc_plugin_preferences_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + gmpc_plugin_preferences_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "GmpcPluginPreferencesIface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (gmpc_plugin_preferences_iface_type_id, GMPC_PLUGIN_TYPE_BASE); + } + return gmpc_plugin_preferences_iface_type_id; +} + + +gint gmpc_plugin_song_list_iface_song_list (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu) { + return GMPC_PLUGIN_SONG_LIST_IFACE_GET_INTERFACE (self)->song_list (self, tree, menu); +} + + +static void gmpc_plugin_song_list_iface_base_init (GmpcPluginSongListIfaceIface * iface) { + static gboolean initialized = FALSE; + if (!initialized) { + initialized = TRUE; + } +} + + +GType gmpc_plugin_song_list_iface_get_type (void) { + static GType gmpc_plugin_song_list_iface_type_id = 0; + if (gmpc_plugin_song_list_iface_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcPluginSongListIfaceIface), (GBaseInitFunc) gmpc_plugin_song_list_iface_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL }; + gmpc_plugin_song_list_iface_type_id = g_type_register_static (G_TYPE_INTERFACE, "GmpcPluginSongListIface", &g_define_type_info, 0); + g_type_interface_add_prerequisite (gmpc_plugin_song_list_iface_type_id, GMPC_PLUGIN_TYPE_BASE); + } + return gmpc_plugin_song_list_iface_type_id; +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-plugin.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-plugin.h --- gmpc-0.18.0/src/vala/gmpc-plugin.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-plugin.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,159 @@ + +#ifndef __GMPC_PLUGIN_H__ +#define __GMPC_PLUGIN_H__ + +#include +#include +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_PLUGIN_TYPE_BASE (gmpc_plugin_base_get_type ()) +#define GMPC_PLUGIN_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBase)) +#define GMPC_PLUGIN_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass)) +#define GMPC_PLUGIN_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BASE)) +#define GMPC_PLUGIN_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGIN_TYPE_BASE)) +#define GMPC_PLUGIN_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass)) + +typedef struct _GmpcPluginBase GmpcPluginBase; +typedef struct _GmpcPluginBaseClass GmpcPluginBaseClass; +typedef struct _GmpcPluginBasePrivate GmpcPluginBasePrivate; + +#define GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE (gmpc_plugin_tool_menu_iface_get_type ()) +#define GMPC_PLUGIN_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIface)) +#define GMPC_PLUGIN_IS_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE)) +#define GMPC_PLUGIN_TOOL_MENU_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIfaceIface)) + +typedef struct _GmpcPluginToolMenuIface GmpcPluginToolMenuIface; +typedef struct _GmpcPluginToolMenuIfaceIface GmpcPluginToolMenuIfaceIface; + +#define GMPC_PLUGIN_TYPE_META_DATA_IFACE (gmpc_plugin_meta_data_iface_get_type ()) +#define GMPC_PLUGIN_META_DATA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE, GmpcPluginMetaDataIface)) +#define GMPC_PLUGIN_IS_META_DATA_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE)) +#define GMPC_PLUGIN_META_DATA_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_META_DATA_IFACE, GmpcPluginMetaDataIfaceIface)) + +typedef struct _GmpcPluginMetaDataIface GmpcPluginMetaDataIface; +typedef struct _GmpcPluginMetaDataIfaceIface GmpcPluginMetaDataIfaceIface; + +#define GMPC_PLUGIN_TYPE_BROWSER_IFACE (gmpc_plugin_browser_iface_get_type ()) +#define GMPC_PLUGIN_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIface)) +#define GMPC_PLUGIN_IS_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE)) +#define GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIfaceIface)) + +typedef struct _GmpcPluginBrowserIface GmpcPluginBrowserIface; +typedef struct _GmpcPluginBrowserIfaceIface GmpcPluginBrowserIfaceIface; + +#define GMPC_PLUGIN_TYPE_PREFERENCES_IFACE (gmpc_plugin_preferences_iface_get_type ()) +#define GMPC_PLUGIN_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIface)) +#define GMPC_PLUGIN_IS_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE)) +#define GMPC_PLUGIN_PREFERENCES_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIfaceIface)) + +typedef struct _GmpcPluginPreferencesIface GmpcPluginPreferencesIface; +typedef struct _GmpcPluginPreferencesIfaceIface GmpcPluginPreferencesIfaceIface; + +#define GMPC_PLUGIN_TYPE_SONG_LIST_IFACE (gmpc_plugin_song_list_iface_get_type ()) +#define GMPC_PLUGIN_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIface)) +#define GMPC_PLUGIN_IS_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE)) +#define GMPC_PLUGIN_SONG_LIST_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIfaceIface)) + +typedef struct _GmpcPluginSongListIface GmpcPluginSongListIface; +typedef struct _GmpcPluginSongListIfaceIface GmpcPluginSongListIfaceIface; + +/** + * This is the base class that a plugin should inherit from. + * + */ +struct _GmpcPluginBase { + GObject parent_instance; + GmpcPluginBasePrivate * priv; + const char* translation_domain; + char* path; + gint id; + gint plugin_type; +}; + +struct _GmpcPluginBaseClass { + GObjectClass parent_class; + gint* (*get_version) (GmpcPluginBase* self, int* result_length1); + const char* (*get_name) (GmpcPluginBase* self); + void (*save_yourself) (GmpcPluginBase* self); + gboolean (*get_enabled) (GmpcPluginBase* self); + void (*set_enabled) (GmpcPluginBase* self, gboolean state); +}; + +/** + * This interface allows the plugin to add one, or more, entries in the Tools menu. + * If need to remove or undate an entry call pl3_tool_menu_update(). This will tell gmpc + * To clear the menu, and call this function again on every plugin. + */ +struct _GmpcPluginToolMenuIfaceIface { + GTypeInterface parent_iface; + gint (*tool_menu_integration) (GmpcPluginToolMenuIface* self, GtkMenu* menu); +}; + +typedef void (*GmpcPluginMetaDataCallback) (GList* list, void* user_data); +/* untested */ +struct _GmpcPluginMetaDataIfaceIface { + GTypeInterface parent_iface; + void (*get_data) (GmpcPluginMetaDataIface* self, const mpd_Song* song, MetaDataType type, GmpcPluginMetaDataCallback callback, void* callback_target); + gint (*get_priority) (GmpcPluginMetaDataIface* self); + void (*set_priority) (GmpcPluginMetaDataIface* self, gint priority); +}; + +struct _GmpcPluginBrowserIfaceIface { + GTypeInterface parent_iface; + void (*browser_add) (GmpcPluginBrowserIface* self, GtkWidget* category_tree); + void (*browser_selected) (GmpcPluginBrowserIface* self, GtkContainer* container); + void (*browser_unselected) (GmpcPluginBrowserIface* self, GtkContainer* container); + gint (*browser_option_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu); + gint (*browser_add_go_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu); +}; + +struct _GmpcPluginPreferencesIfaceIface { + GTypeInterface parent_iface; + void (*preferences_pane_construct) (GmpcPluginPreferencesIface* self, GtkContainer* container); + void (*preferences_pane_destroy) (GmpcPluginPreferencesIface* self, GtkContainer* container); +}; + +/* untested */ +struct _GmpcPluginSongListIfaceIface { + GTypeInterface parent_iface; + gint (*song_list) (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu); +}; + + +GType gmpc_plugin_base_get_type (void); +gint* gmpc_plugin_base_get_version (GmpcPluginBase* self, int* result_length1); +const char* gmpc_plugin_base_get_name (GmpcPluginBase* self); +void gmpc_plugin_base_save_yourself (GmpcPluginBase* self); +gboolean gmpc_plugin_base_get_enabled (GmpcPluginBase* self); +void gmpc_plugin_base_set_enabled (GmpcPluginBase* self, gboolean state); +GmpcPluginBase* gmpc_plugin_base_construct (GType object_type); +GType gmpc_plugin_tool_menu_iface_get_type (void); +gint gmpc_plugin_tool_menu_iface_tool_menu_integration (GmpcPluginToolMenuIface* self, GtkMenu* menu); +GType gmpc_plugin_meta_data_iface_get_type (void); +void gmpc_plugin_meta_data_iface_get_data (GmpcPluginMetaDataIface* self, const mpd_Song* song, MetaDataType type, GmpcPluginMetaDataCallback callback, void* callback_target); +gint gmpc_plugin_meta_data_iface_get_priority (GmpcPluginMetaDataIface* self); +void gmpc_plugin_meta_data_iface_set_priority (GmpcPluginMetaDataIface* self, gint priority); +GType gmpc_plugin_browser_iface_get_type (void); +void gmpc_plugin_browser_iface_browser_add (GmpcPluginBrowserIface* self, GtkWidget* category_tree); +void gmpc_plugin_browser_iface_browser_selected (GmpcPluginBrowserIface* self, GtkContainer* container); +void gmpc_plugin_browser_iface_browser_unselected (GmpcPluginBrowserIface* self, GtkContainer* container); +gint gmpc_plugin_browser_iface_browser_option_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +gint gmpc_plugin_browser_iface_browser_add_go_menu (GmpcPluginBrowserIface* self, GtkMenu* menu); +GType gmpc_plugin_preferences_iface_get_type (void); +void gmpc_plugin_preferences_iface_preferences_pane_construct (GmpcPluginPreferencesIface* self, GtkContainer* container); +void gmpc_plugin_preferences_iface_preferences_pane_destroy (GmpcPluginPreferencesIface* self, GtkContainer* container); +GType gmpc_plugin_song_list_iface_get_type (void); +gint gmpc_plugin_song_list_iface_song_list (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-plugin.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-plugin.vala --- gmpc-0.18.0/src/vala/gmpc-plugin.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-plugin.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,141 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using Gtk; +using Gmpc; +using MPD; + + +namespace Gmpc { + namespace Plugin { + /** + * This is the base class that a plugin should inherit from. + * + */ + public abstract class Base : GLib.Object { + /* This string tell gmpc what translation domain to use when trying to translate the plugins name. + * If NULL then gmpc's translation domain is used. + */ + public weak string translation_domain = null; + /* This is set by gmpc, it contains the full path of the plugin. + * This is used by gmpc_plugin_get_data_path to calculate the location of the data files. + */ + public string path; + /** + * This id is set by gmpc. It is a unique id identifying the plugin. + */ + public int id; + /** + * The type of the plugin. see #PluginType. + * This is inherited from the old style plugins and no longer used. + * It will be used to mark a plugin internal + */ + public int plugin_type = 1; + /** + * Function should return the version of the plugin + */ + public abstract weak int[] get_version(); + /** + * Return the name of the plugin + */ + public abstract weak string get_name (); + /** + * This is called before the plugin is destroyed. Plugins should save it state here. + * + * A Browser plugin should store the position in the side-tree here. + * Optional function. + */ + public virtual void save_yourself () + { + } + /** + * Function used by gmpc to check if the plugin is enabled. + * By default it is stored in the get_name() category under the enabled key. + * + * @return The state (true or false) + */ + public virtual bool get_enabled () + { + if(this.get_name() == null) return false; + return (bool)Gmpc.config.get_int_with_default(this.get_name(), "enabled", 1); + } + + /** + * Function to enable/disable the plugin + * @param state the enable state to set the plugin in. (true or false) + * + * Function used by gmpc to enable/disable the plugin. + * By default it is stored in the get_name() category under the enabled key. + * If something needs to be done on enable/disable override this function. + */ + public virtual void set_enabled (bool state) + { + if(this.get_name() != null) + Gmpc.config.set_int(this.get_name(), "enabled", (int)state); + } + + } + /** + * This interface allows the plugin to add one, or more, entries in the Tools menu. + * If need to remove or undate an entry call pl3_tool_menu_update(). This will tell gmpc + * To clear the menu, and call this function again on every plugin. + */ + public interface ToolMenuIface : Base { + public abstract int tool_menu_integration(Gtk.Menu menu); + } + public delegate void MetaDataCallback(GLib.List list); + /* untested */ + public interface MetaDataIface : Base { + public abstract void get_data (MPD.Song song, Gmpc.MetaData.Type type, MetaDataCallback callback); + /* Set get priority */ + public abstract int get_priority (); + public abstract void set_priority (int priority); + } + public interface BrowserIface : Base { + /* Function is called by gmpc, the plugin should then insert itself in the left tree */ + public abstract void browser_add (Gtk.Widget category_tree); + /* This gets called, the plugin should add it view in container */ + public abstract void browser_selected (Gtk.Container container); + /* Plugin should remove itself from container */ + public abstract void browser_unselected (Gtk.Container container); + /* Option menu */ + public virtual int browser_option_menu(Gtk.Menu menu) + { + return 0; + } + /* Go menu */ + public virtual int browser_add_go_menu(Gtk.Menu menu) + { + return 0; + } + } + public interface PreferencesIface : Base { + public abstract void preferences_pane_construct (Gtk.Container container); + public abstract void preferences_pane_destroy (Gtk.Container container); + + } + + /* untested */ + public interface SongListIface : Base { + public abstract int song_list (Gtk.Widget tree, Gtk.Menu menu); + + } + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-progress.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-progress.c --- gmpc-0.18.0/src/vala/gmpc-progress.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc-progress.c 2009-09-21 11:15:59.000000000 +0100 @@ -17,17 +17,36 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "gmpc-progress.h" +#include +#include +#include +#include #include #include #include -#include -#include +#define GMPC_TYPE_PROGRESS (gmpc_progress_get_type ()) +#define GMPC_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PROGRESS, GmpcProgress)) +#define GMPC_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PROGRESS, GmpcProgressClass)) +#define GMPC_IS_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PROGRESS)) +#define GMPC_IS_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PROGRESS)) +#define GMPC_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PROGRESS, GmpcProgressClass)) + +typedef struct _GmpcProgress GmpcProgress; +typedef struct _GmpcProgressClass GmpcProgressClass; +typedef struct _GmpcProgressPrivate GmpcProgressPrivate; + +struct _GmpcProgress { + GtkHBox parent_instance; + GmpcProgressPrivate * priv; + gboolean _hide_text; +}; +struct _GmpcProgressClass { + GtkHBoxClass parent_class; +}; -static glong string_get_length (const char* self); struct _GmpcProgressPrivate { guint total; guint current; @@ -37,83 +56,106 @@ gulong set_value_handler; GtkWindow* tooltip; GtkLabel* tooltip_label; + gint press; }; + +static gpointer gmpc_progress_parent_class = NULL; + +#define use_transition TRUE +GType gmpc_progress_get_type (void); #define GMPC_PROGRESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_PROGRESS, GmpcProgressPrivate)) enum { GMPC_PROGRESS_DUMMY_PROPERTY, GMPC_PROGRESS_HIDE_TEXT }; -static gboolean gmpc_progress_tooltip_expose_event (GmpcProgress* self, GtkWindow* tooltip, const GdkEventExpose* event); -static gboolean _gmpc_progress_tooltip_expose_event_gtk_widget_expose_event (GtkWindow* _sender, const GdkEventExpose* event, gpointer self); -static gboolean gmpc_progress_enter_notify_event (GmpcProgress* self, GtkScale* scale, const GdkEventCrossing* event); -static gboolean gmpc_progress_motion_notify_event (GmpcProgress* self, GtkScale* scale, const GdkEventMotion* event); +static gboolean gmpc_progress_tooltip_expose_event_callback (GmpcProgress* self, GtkWindow* tooltip, const GdkEventExpose* event); +static gboolean _gmpc_progress_tooltip_expose_event_callback_gtk_widget_expose_event (GtkWindow* _sender, const GdkEventExpose* event, gpointer self); +static gboolean gmpc_progress_enter_notify_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventCrossing* event); +static gboolean gmpc_progress_motion_notify_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventMotion* event); static void gmpc_progress_value_changed (GmpcProgress* self, GtkScale* range); -static gboolean gmpc_progress_button_press_event (GmpcProgress* self, GtkScale* scale, const GdkEventButton* event); -static gboolean gmpc_progress_scroll_event (GmpcProgress* self, GtkScale* scale, const GdkEventScroll* event); -static gboolean _gmpc_progress_scroll_event_gtk_widget_scroll_event (GtkScale* _sender, const GdkEventScroll* event, gpointer self); -static gboolean _gmpc_progress_button_press_event_gtk_widget_button_press_event (GtkScale* _sender, const GdkEventButton* event, gpointer self); -static gboolean _gmpc_progress_motion_notify_event_gtk_widget_motion_notify_event (GtkScale* _sender, const GdkEventMotion* event, gpointer self); -static gboolean _gmpc_progress_enter_notify_event_gtk_widget_enter_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self); -static gboolean _gmpc_progress_enter_notify_event_gtk_widget_leave_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self); +static gboolean gmpc_progress_button_release_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventButton* event); +void gmpc_progress_set_time (GmpcProgress* self, guint total, guint current); +static gboolean gmpc_progress_button_press_event_callback (GmpcProgress* self, const GdkEventButton* event, GtkScale* scale); +static gboolean gmpc_progress_scroll_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventScroll* event); +gboolean gmpc_progress_get_hide_text (GmpcProgress* self); +GmpcProgress* gmpc_progress_new (void); +GmpcProgress* gmpc_progress_construct (GType object_type); +void gmpc_progress_set_hide_text (GmpcProgress* self, gboolean value); +static gboolean _gmpc_progress_scroll_event_callback_gtk_widget_scroll_event (GtkScale* _sender, const GdkEventScroll* event, gpointer self); +static gboolean _gmpc_progress_button_release_event_callback_gtk_widget_button_release_event (GtkScale* _sender, const GdkEventButton* event, gpointer self); +static gboolean _gmpc_progress_motion_notify_event_callback_gtk_widget_motion_notify_event (GtkScale* _sender, const GdkEventMotion* event, gpointer self); +static gboolean _gmpc_progress_enter_notify_event_callback_gtk_widget_enter_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self); +static gboolean _gmpc_progress_enter_notify_event_callback_gtk_widget_leave_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self); static GObject * gmpc_progress_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static gpointer gmpc_progress_parent_class = NULL; static void gmpc_progress_finalize (GObject* obj); +static void gmpc_progress_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); +static void gmpc_progress_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); -static glong string_get_length (const char* self) { - g_return_val_if_fail (self != NULL, 0L); - return g_utf8_strlen (self, -1); -} - - /** * Paint a nice box around it */ -static gboolean gmpc_progress_tooltip_expose_event (GmpcProgress* self, GtkWindow* tooltip, const GdkEventExpose* event) { +static gboolean gmpc_progress_tooltip_expose_event_callback (GmpcProgress* self, GtkWindow* tooltip, const GdkEventExpose* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (tooltip != NULL, FALSE); gtk_paint_box (gtk_widget_get_style ((GtkWidget*) tooltip), (*event).window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL, (GtkWidget*) tooltip, "tooltip", 0, 0, ((GtkWidget*) tooltip)->allocation.width, ((GtkWidget*) tooltip)->allocation.height); - return FALSE; + result = FALSE; + return result; } -static gboolean _gmpc_progress_tooltip_expose_event_gtk_widget_expose_event (GtkWindow* _sender, const GdkEventExpose* event, gpointer self) { - return gmpc_progress_tooltip_expose_event (self, _sender, event); +static gboolean _gmpc_progress_tooltip_expose_event_callback_gtk_widget_expose_event (GtkWindow* _sender, const GdkEventExpose* event, gpointer self) { + return gmpc_progress_tooltip_expose_event_callback (self, _sender, event); } -static gboolean gmpc_progress_enter_notify_event (GmpcProgress* self, GtkScale* scale, const GdkEventCrossing* event) { +static gboolean gmpc_progress_enter_notify_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventCrossing* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (scale != NULL, FALSE); /* Create tooltip if mouse enters the event window */ if ((*event).type == GDK_ENTER_NOTIFY) { - GtkWindow* _tmp0; - GtkLabel* _tmp1; - _tmp0 = NULL; - self->priv->tooltip = (_tmp0 = g_object_ref_sink ((GtkWindow*) gtk_window_new (GTK_WINDOW_POPUP)), (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp0); - _tmp1 = NULL; - self->priv->tooltip_label = (_tmp1 = g_object_ref_sink ((GtkLabel*) gtk_label_new ("test")), (self->priv->tooltip_label == NULL) ? NULL : (self->priv->tooltip_label = (g_object_unref (self->priv->tooltip_label), NULL)), _tmp1); + GtkWindow* _tmp0_; + GtkLabel* _tmp1_; + if (self->priv->tooltip != NULL) { + gtk_object_destroy ((GtkObject*) self->priv->tooltip); + } + _tmp0_ = NULL; + self->priv->tooltip = (_tmp0_ = g_object_ref_sink ((GtkWindow*) gtk_window_new (GTK_WINDOW_POPUP)), (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp0_); + _tmp1_ = NULL; + self->priv->tooltip_label = (_tmp1_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("test")), (self->priv->tooltip_label == NULL) ? NULL : (self->priv->tooltip_label = (g_object_unref (self->priv->tooltip_label), NULL)), _tmp1_); gtk_container_add ((GtkContainer*) self->priv->tooltip, (GtkWidget*) self->priv->tooltip_label); gtk_container_set_border_width ((GtkContainer*) self->priv->tooltip, (guint) 4); gtk_widget_set_app_paintable ((GtkWidget*) self->priv->tooltip, TRUE); - g_signal_connect_object ((GtkWidget*) self->priv->tooltip, "expose-event", (GCallback) _gmpc_progress_tooltip_expose_event_gtk_widget_expose_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->tooltip, "expose-event", (GCallback) _gmpc_progress_tooltip_expose_event_callback_gtk_widget_expose_event, self, 0); } /* Destroy tooltip if mouse leaves the event window */ if ((*event).type == GDK_LEAVE_NOTIFY) { if (self->priv->tooltip != NULL) { - GtkWindow* _tmp2; + GtkWindow* _tmp2_; gtk_object_destroy ((GtkObject*) self->priv->tooltip); - _tmp2 = NULL; - self->priv->tooltip = (_tmp2 = NULL, (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp2); + _tmp2_ = NULL; + self->priv->tooltip = (_tmp2_ = NULL, (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp2_); } } - return FALSE; + result = FALSE; + return result; +} + + +static glong string_get_length (const char* self) { + glong result; + g_return_val_if_fail (self != NULL, 0L); + result = g_utf8_strlen (self, -1); + return result; } -static gboolean gmpc_progress_motion_notify_event (GmpcProgress* self, GtkScale* scale, const GdkEventMotion* event) { +static gboolean gmpc_progress_motion_notify_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventMotion* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (scale != NULL, FALSE); if ((*event).type == GDK_MOTION_NOTIFY) { @@ -126,8 +168,9 @@ gint t_seconds; char* a; guint p; - char* _tmp5; - char* _tmp4; + guint _tmp0_; + char* _tmp5_; + char* _tmp4_; e_hour = 0; e_minutes = 0; e_seconds = 0; @@ -136,55 +179,53 @@ t_seconds = ((gint) self->priv->total) % 60; a = g_strdup (""); p = (guint) (self->priv->total * ((*event).x / ((double) (((GtkWidget*) scale)->allocation.width - gtk_widget_get_style ((GtkWidget*) scale)->xthickness)))); + _tmp0_ = 0U; + if (p > self->priv->total) { + _tmp0_ = self->priv->total; + } else { + _tmp0_ = p; + } + /* Don't show beyond end time */ + p = _tmp0_; if (self->priv->do_countdown) { - char* _tmp0; + char* _tmp1_; p = (guint) (self->priv->total * ((*event).x / ((double) (((GtkWidget*) scale)->allocation.width - gtk_widget_get_style ((GtkWidget*) scale)->xthickness)))); - _tmp0 = NULL; - a = (_tmp0 = g_strconcat (a, ("-"), NULL), a = (g_free (a), NULL), _tmp0); + _tmp1_ = NULL; + a = (_tmp1_ = g_strconcat (a, "-", NULL), a = (g_free (a), NULL), _tmp1_); } e_hour = ((gint) p) / 3600; e_minutes = ((gint) (p % 3600)) / 60; e_seconds = (gint) (p % 60); if (e_hour > 0) { - char* _tmp2; - char* _tmp1; - _tmp2 = NULL; - _tmp1 = NULL; - a = (_tmp2 = g_strconcat (a, _tmp1 = (g_strdup_printf ("%02i", e_hour)), NULL), a = (g_free (a), NULL), _tmp2); - _tmp1 = (g_free (_tmp1), NULL); - if (e_minutes > 0) { - char* _tmp3; - _tmp3 = NULL; - a = (_tmp3 = g_strconcat (a, (":"), NULL), a = (g_free (a), NULL), _tmp3); - } + char* _tmp3_; + char* _tmp2_; + _tmp3_ = NULL; + _tmp2_ = NULL; + a = (_tmp3_ = g_strconcat (a, _tmp2_ = g_strdup_printf ("%02i:", e_hour), NULL), a = (g_free (a), NULL), _tmp3_); + _tmp2_ = (g_free (_tmp2_), NULL); } - _tmp5 = NULL; - _tmp4 = NULL; - a = (_tmp5 = g_strconcat (a, _tmp4 = (g_strdup_printf ("%02i:%02i", e_minutes, e_seconds)), NULL), a = (g_free (a), NULL), _tmp5); - _tmp4 = (g_free (_tmp4), NULL); + _tmp5_ = NULL; + _tmp4_ = NULL; + a = (_tmp5_ = g_strconcat (a, _tmp4_ = g_strdup_printf ("%02i:%02i", e_minutes, e_seconds), NULL), a = (g_free (a), NULL), _tmp5_); + _tmp4_ = (g_free (_tmp4_), NULL); if (self->priv->total > 0) { - char* _tmp6; - char* _tmp11; - char* _tmp10; - _tmp6 = NULL; - a = (_tmp6 = g_strconcat (a, (" - "), NULL), a = (g_free (a), NULL), _tmp6); + char* _tmp6_; + char* _tmp10_; + char* _tmp9_; + _tmp6_ = NULL; + a = (_tmp6_ = g_strconcat (a, " - ", NULL), a = (g_free (a), NULL), _tmp6_); if (t_hour > 0) { - char* _tmp8; - char* _tmp7; - _tmp8 = NULL; - _tmp7 = NULL; - a = (_tmp8 = g_strconcat (a, _tmp7 = (g_strdup_printf ("%02i", t_hour)), NULL), a = (g_free (a), NULL), _tmp8); - _tmp7 = (g_free (_tmp7), NULL); - if (t_minutes > 0) { - char* _tmp9; - _tmp9 = NULL; - a = (_tmp9 = g_strconcat (a, (":"), NULL), a = (g_free (a), NULL), _tmp9); - } + char* _tmp8_; + char* _tmp7_; + _tmp8_ = NULL; + _tmp7_ = NULL; + a = (_tmp8_ = g_strconcat (a, _tmp7_ = g_strdup_printf ("%02i:", t_hour), NULL), a = (g_free (a), NULL), _tmp8_); + _tmp7_ = (g_free (_tmp7_), NULL); } - _tmp11 = NULL; - _tmp10 = NULL; - a = (_tmp11 = g_strconcat (a, _tmp10 = (g_strdup_printf ("%02i:%02i", t_minutes, t_seconds)), NULL), a = (g_free (a), NULL), _tmp11); - _tmp10 = (g_free (_tmp10), NULL); + _tmp10_ = NULL; + _tmp9_ = NULL; + a = (_tmp10_ = g_strconcat (a, _tmp9_ = g_strdup_printf ("%02i:%02i", t_minutes, t_seconds), NULL), a = (g_free (a), NULL), _tmp10_); + _tmp9_ = (g_free (_tmp9_), NULL); } if (self->priv->do_countdown) { gtk_label_set_width_chars (self->priv->tooltip_label, (gint) string_get_length (a)); @@ -198,7 +239,8 @@ a = (g_free (a), NULL); } } - return FALSE; + result = FALSE; + return result; } @@ -209,21 +251,37 @@ if (self->priv->do_countdown) { guint seconds; seconds = (guint) (self->priv->total * (1 - gtk_range_get_value ((GtkRange*) range))); - g_signal_emit_by_name (self, "seek-event", seconds); + if (seconds != self->priv->current) { + g_signal_emit_by_name (self, "seek-event", seconds); + } } else { guint seconds; - seconds = (guint) (self->priv->total * (gtk_range_get_value ((GtkRange*) range))); - g_signal_emit_by_name (self, "seek-event", seconds); + seconds = (guint) (self->priv->total * gtk_range_get_value ((GtkRange*) range)); + if (seconds != self->priv->current) { + g_signal_emit_by_name (self, "seek-event", seconds); + } } } } -static gboolean gmpc_progress_button_press_event (GmpcProgress* self, GtkScale* scale, const GdkEventButton* event) { +static gboolean gmpc_progress_button_release_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventButton* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (scale != NULL, FALSE); + self->priv->press--; + result = FALSE; + return result; +} + + +static gboolean gmpc_progress_button_press_event_callback (GmpcProgress* self, const GdkEventButton* event, GtkScale* scale) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (scale != NULL, FALSE); + self->priv->press++; if ((*event).type == GDK_BUTTON_PRESS) { - gboolean _tmp0; + gboolean _tmp0_; if ((*event).button == 3) { guint cur; guint tot; @@ -234,24 +292,60 @@ self->priv->total = self->priv->current = (guint) 0; gmpc_progress_set_time (self, tot, cur); } - _tmp0 = FALSE; + _tmp0_ = FALSE; if ((*event).button == 2) { - _tmp0 = TRUE; + _tmp0_ = TRUE; } else { - _tmp0 = (*event).button == 1; + _tmp0_ = (*event).button == 1; } - if (_tmp0) { + if (_tmp0_) { guint p; + guint _tmp1_; p = (guint) (self->priv->total * ((*event).x / ((double) (((GtkWidget*) scale)->allocation.width - gtk_widget_get_style ((GtkWidget*) scale)->xthickness)))); + _tmp1_ = 0U; + if (p > self->priv->total) { + _tmp1_ = self->priv->total; + } else { + _tmp1_ = p; + } + p = _tmp1_; g_signal_emit_by_name (self, "seek-event", p); - return TRUE; + result = TRUE; + return result; + } + } else { + if ((*event).type == GDK_2BUTTON_PRESS) { + gboolean _tmp2_; + _tmp2_ = FALSE; + if ((*event).button == 2) { + _tmp2_ = TRUE; + } else { + _tmp2_ = (*event).button == 1; + } + if (_tmp2_) { + guint p; + guint _tmp3_; + p = (guint) (self->priv->total * ((*event).x / ((double) (((GtkWidget*) scale)->allocation.width - gtk_widget_get_style ((GtkWidget*) scale)->xthickness)))); + _tmp3_ = 0U; + if (p > self->priv->total) { + _tmp3_ = self->priv->total; + } else { + _tmp3_ = p; + } + p = _tmp3_; + g_signal_emit_by_name (self, "seek-event", p); + result = TRUE; + return result; + } } } - return FALSE; + result = FALSE; + return result; } -static gboolean gmpc_progress_scroll_event (GmpcProgress* self, GtkScale* scale, const GdkEventScroll* event) { +static gboolean gmpc_progress_scroll_event_callback (GmpcProgress* self, GtkScale* scale, const GdkEventScroll* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (scale != NULL, FALSE); if ((*event).direction == GDK_SCROLL_UP) { @@ -261,23 +355,27 @@ g_signal_emit_by_name (self, "seek-event", self->priv->current - 5); } } - return FALSE; + result = FALSE; + return result; } void gmpc_progress_set_time (GmpcProgress* self, guint total, guint current) { - gboolean _tmp0; + gboolean _tmp0_; g_return_if_fail (self != NULL); + if (self->priv->press > 0) { + return; + } if (self->priv->total != total) { - g_object_set ((GtkWidget*) self->priv->scale, "sensitive", (total > 0), NULL); + g_object_set ((GtkWidget*) self->priv->scale, "sensitive", total > 0, NULL); } - _tmp0 = FALSE; + _tmp0_ = FALSE; if (self->priv->total != total) { - _tmp0 = TRUE; + _tmp0_ = TRUE; } else { - _tmp0 = self->priv->current != current; + _tmp0_ = self->priv->current != current; } - if (_tmp0) { + if (_tmp0_) { self->priv->total = total; self->priv->current = current; g_signal_handler_block (self->priv->scale, self->priv->set_value_handler); @@ -300,8 +398,8 @@ gint t_seconds; char* a; guint p; - char* _tmp6; - char* _tmp5; + char* _tmp5_; + char* _tmp4_; e_hour = 0; e_minutes = 0; e_seconds = 0; @@ -311,54 +409,44 @@ a = g_strdup (""); p = self->priv->current; if (self->priv->do_countdown) { - char* _tmp1; + char* _tmp1_; p = self->priv->total - self->priv->current; - _tmp1 = NULL; - a = (_tmp1 = g_strconcat (a, ("-"), NULL), a = (g_free (a), NULL), _tmp1); + _tmp1_ = NULL; + a = (_tmp1_ = g_strconcat (a, "-", NULL), a = (g_free (a), NULL), _tmp1_); } e_hour = ((gint) p) / 3600; e_minutes = ((gint) (p % 3600)) / 60; e_seconds = (gint) (p % 60); if (e_hour > 0) { - char* _tmp3; - char* _tmp2; - _tmp3 = NULL; - _tmp2 = NULL; - a = (_tmp3 = g_strconcat (a, _tmp2 = (g_strdup_printf ("%02i", e_hour)), NULL), a = (g_free (a), NULL), _tmp3); - _tmp2 = (g_free (_tmp2), NULL); - if (e_minutes > 0) { - char* _tmp4; - _tmp4 = NULL; - a = (_tmp4 = g_strconcat (a, (":"), NULL), a = (g_free (a), NULL), _tmp4); - } + char* _tmp3_; + char* _tmp2_; + _tmp3_ = NULL; + _tmp2_ = NULL; + a = (_tmp3_ = g_strconcat (a, _tmp2_ = g_strdup_printf ("%02i:", e_hour), NULL), a = (g_free (a), NULL), _tmp3_); + _tmp2_ = (g_free (_tmp2_), NULL); } - _tmp6 = NULL; - _tmp5 = NULL; - a = (_tmp6 = g_strconcat (a, _tmp5 = (g_strdup_printf ("%02i:%02i", e_minutes, e_seconds)), NULL), a = (g_free (a), NULL), _tmp6); - _tmp5 = (g_free (_tmp5), NULL); + _tmp5_ = NULL; + _tmp4_ = NULL; + a = (_tmp5_ = g_strconcat (a, _tmp4_ = g_strdup_printf ("%02i:%02i", e_minutes, e_seconds), NULL), a = (g_free (a), NULL), _tmp5_); + _tmp4_ = (g_free (_tmp4_), NULL); if (self->priv->total > 0) { - char* _tmp7; - char* _tmp12; - char* _tmp11; - _tmp7 = NULL; - a = (_tmp7 = g_strconcat (a, (" - "), NULL), a = (g_free (a), NULL), _tmp7); + char* _tmp6_; + char* _tmp10_; + char* _tmp9_; + _tmp6_ = NULL; + a = (_tmp6_ = g_strconcat (a, " - ", NULL), a = (g_free (a), NULL), _tmp6_); if (t_hour > 0) { - char* _tmp9; - char* _tmp8; - _tmp9 = NULL; - _tmp8 = NULL; - a = (_tmp9 = g_strconcat (a, _tmp8 = (g_strdup_printf ("%02i", t_hour)), NULL), a = (g_free (a), NULL), _tmp9); - _tmp8 = (g_free (_tmp8), NULL); - if (t_minutes > 0) { - char* _tmp10; - _tmp10 = NULL; - a = (_tmp10 = g_strconcat (a, (":"), NULL), a = (g_free (a), NULL), _tmp10); - } + char* _tmp8_; + char* _tmp7_; + _tmp8_ = NULL; + _tmp7_ = NULL; + a = (_tmp8_ = g_strconcat (a, _tmp7_ = g_strdup_printf ("%02i:", t_hour), NULL), a = (g_free (a), NULL), _tmp8_); + _tmp7_ = (g_free (_tmp7_), NULL); } - _tmp12 = NULL; - _tmp11 = NULL; - a = (_tmp12 = g_strconcat (a, _tmp11 = (g_strdup_printf ("%02i:%02i", t_minutes, t_seconds)), NULL), a = (g_free (a), NULL), _tmp12); - _tmp11 = (g_free (_tmp11), NULL); + _tmp10_ = NULL; + _tmp9_ = NULL; + a = (_tmp10_ = g_strconcat (a, _tmp9_ = g_strdup_printf ("%02i:%02i", t_minutes, t_seconds), NULL), a = (g_free (a), NULL), _tmp10_); + _tmp9_ = (g_free (_tmp9_), NULL); } if (self->priv->do_countdown) { gtk_label_set_width_chars (self->priv->label, (gint) string_get_length (a)); @@ -385,8 +473,10 @@ gboolean gmpc_progress_get_hide_text (GmpcProgress* self) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); - return self->_hide_text; + result = self->_hide_text; + return result; } @@ -402,28 +492,28 @@ } -static gboolean _gmpc_progress_scroll_event_gtk_widget_scroll_event (GtkScale* _sender, const GdkEventScroll* event, gpointer self) { - return gmpc_progress_scroll_event (self, _sender, event); +static gboolean _gmpc_progress_scroll_event_callback_gtk_widget_scroll_event (GtkScale* _sender, const GdkEventScroll* event, gpointer self) { + return gmpc_progress_scroll_event_callback (self, _sender, event); } -static gboolean _gmpc_progress_button_press_event_gtk_widget_button_press_event (GtkScale* _sender, const GdkEventButton* event, gpointer self) { - return gmpc_progress_button_press_event (self, _sender, event); +static gboolean _gmpc_progress_button_release_event_callback_gtk_widget_button_release_event (GtkScale* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_progress_button_release_event_callback (self, _sender, event); } -static gboolean _gmpc_progress_motion_notify_event_gtk_widget_motion_notify_event (GtkScale* _sender, const GdkEventMotion* event, gpointer self) { - return gmpc_progress_motion_notify_event (self, _sender, event); +static gboolean _gmpc_progress_motion_notify_event_callback_gtk_widget_motion_notify_event (GtkScale* _sender, const GdkEventMotion* event, gpointer self) { + return gmpc_progress_motion_notify_event_callback (self, _sender, event); } -static gboolean _gmpc_progress_enter_notify_event_gtk_widget_enter_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self) { - return gmpc_progress_enter_notify_event (self, _sender, event); +static gboolean _gmpc_progress_enter_notify_event_callback_gtk_widget_enter_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self) { + return gmpc_progress_enter_notify_event_callback (self, _sender, event); } -static gboolean _gmpc_progress_enter_notify_event_gtk_widget_leave_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self) { - return gmpc_progress_enter_notify_event (self, _sender, event); +static gboolean _gmpc_progress_enter_notify_event_callback_gtk_widget_leave_notify_event (GtkScale* _sender, const GdkEventCrossing* event, gpointer self) { + return gmpc_progress_enter_notify_event_callback (self, _sender, event); } @@ -438,26 +528,28 @@ obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = GMPC_PROGRESS (obj); { - GtkScale* _tmp0; - GtkLabel* _tmp1; - _tmp0 = NULL; - self->priv->scale = (_tmp0 = (GtkScale*) g_object_ref_sink ((GtkHScale*) gtk_hscale_new (NULL)), (self->priv->scale == NULL) ? NULL : (self->priv->scale = (g_object_unref (self->priv->scale), NULL)), _tmp0); + GtkScale* _tmp0_; + GtkLabel* _tmp1_; + _tmp0_ = NULL; + self->priv->scale = (_tmp0_ = (GtkScale*) g_object_ref_sink ((GtkHScale*) gtk_hscale_new (NULL)), (self->priv->scale == NULL) ? NULL : (self->priv->scale = (g_object_unref (self->priv->scale), NULL)), _tmp0_); gtk_range_set_range ((GtkRange*) self->priv->scale, 0.0, 1.0); gtk_scale_set_draw_value (self->priv->scale, FALSE); self->priv->set_value_handler = g_signal_connect_swapped (self->priv->scale, "value_changed", (GCallback) gmpc_progress_value_changed, self); gtk_range_set_update_policy ((GtkRange*) self->priv->scale, GTK_UPDATE_DISCONTINUOUS); + /*DELAYED;//DISCONTINUOUS;*/ g_object_set ((GtkWidget*) self->priv->scale, "sensitive", FALSE, NULL); gtk_widget_add_events ((GtkWidget*) self->priv->scale, (gint) GDK_SCROLL_MASK); gtk_widget_add_events ((GtkWidget*) self->priv->scale, (gint) GDK_POINTER_MOTION_MASK); gtk_widget_add_events ((GtkWidget*) self->priv->scale, (gint) GDK_ENTER_NOTIFY_MASK); gtk_widget_add_events ((GtkWidget*) self->priv->scale, (gint) GDK_LEAVE_NOTIFY_MASK); - g_signal_connect_object ((GtkWidget*) self->priv->scale, "scroll-event", (GCallback) _gmpc_progress_scroll_event_gtk_widget_scroll_event, self, 0); - g_signal_connect_object ((GtkWidget*) self->priv->scale, "button-press-event", (GCallback) _gmpc_progress_button_press_event_gtk_widget_button_press_event, self, 0); - g_signal_connect_object ((GtkWidget*) self->priv->scale, "motion-notify-event", (GCallback) _gmpc_progress_motion_notify_event_gtk_widget_motion_notify_event, self, 0); - g_signal_connect_object ((GtkWidget*) self->priv->scale, "enter-notify-event", (GCallback) _gmpc_progress_enter_notify_event_gtk_widget_enter_notify_event, self, 0); - g_signal_connect_object ((GtkWidget*) self->priv->scale, "leave-notify-event", (GCallback) _gmpc_progress_enter_notify_event_gtk_widget_leave_notify_event, self, 0); - _tmp1 = NULL; - self->priv->label = (_tmp1 = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), (self->priv->label == NULL) ? NULL : (self->priv->label = (g_object_unref (self->priv->label), NULL)), _tmp1); + g_signal_connect_object ((GtkWidget*) self->priv->scale, "scroll-event", (GCallback) _gmpc_progress_scroll_event_callback_gtk_widget_scroll_event, self, 0); + g_signal_connect_object (self->priv->scale, "button-press-event", (GCallback) gmpc_progress_button_press_event_callback, (GObject*) self, G_CONNECT_SWAPPED | G_CONNECT_AFTER); + g_signal_connect_object ((GtkWidget*) self->priv->scale, "button-release-event", (GCallback) _gmpc_progress_button_release_event_callback_gtk_widget_button_release_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->scale, "motion-notify-event", (GCallback) _gmpc_progress_motion_notify_event_callback_gtk_widget_motion_notify_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->scale, "enter-notify-event", (GCallback) _gmpc_progress_enter_notify_event_callback_gtk_widget_enter_notify_event, self, 0); + g_signal_connect_object ((GtkWidget*) self->priv->scale, "leave-notify-event", (GCallback) _gmpc_progress_enter_notify_event_callback_gtk_widget_leave_notify_event, self, 0); + _tmp1_ = NULL; + self->priv->label = (_tmp1_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), (self->priv->label == NULL) ? NULL : (self->priv->label = (g_object_unref (self->priv->label), NULL)), _tmp1_); gtk_misc_set_alignment ((GtkMisc*) self->priv->label, 1.0f, 0.5f); gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) self->priv->scale, TRUE, TRUE, (guint) 0); gtk_box_pack_end ((GtkBox*) self, (GtkWidget*) self->priv->label, FALSE, TRUE, (guint) 0); @@ -467,35 +559,6 @@ } -static void gmpc_progress_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { - GmpcProgress * self; - gpointer boxed; - self = GMPC_PROGRESS (object); - switch (property_id) { - case GMPC_PROGRESS_HIDE_TEXT: - g_value_set_boolean (value, gmpc_progress_get_hide_text (self)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } -} - - -static void gmpc_progress_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { - GmpcProgress * self; - self = GMPC_PROGRESS (object); - switch (property_id) { - case GMPC_PROGRESS_HIDE_TEXT: - gmpc_progress_set_hide_text (self, g_value_get_boolean (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); - break; - } -} - - static void gmpc_progress_class_init (GmpcProgressClass * klass) { gmpc_progress_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (GmpcProgressPrivate)); @@ -519,6 +582,7 @@ self->priv->set_value_handler = (gulong) 0; self->priv->tooltip = NULL; self->priv->tooltip_label = NULL; + self->priv->press = 0; } @@ -528,10 +592,10 @@ { /* If there is a tooltip on destruction of slider, destroy it */ if (self->priv->tooltip != NULL) { - GtkWindow* _tmp2; + GtkWindow* _tmp2_; gtk_object_destroy ((GtkObject*) self->priv->tooltip); - _tmp2 = NULL; - self->priv->tooltip = (_tmp2 = NULL, (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp2); + _tmp2_ = NULL; + self->priv->tooltip = (_tmp2_ = NULL, (self->priv->tooltip == NULL) ? NULL : (self->priv->tooltip = (g_object_unref (self->priv->tooltip), NULL)), _tmp2_); } } (self->priv->scale == NULL) ? NULL : (self->priv->scale = (g_object_unref (self->priv->scale), NULL)); @@ -552,5 +616,34 @@ } +static void gmpc_progress_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + GmpcProgress * self; + gpointer boxed; + self = GMPC_PROGRESS (object); + switch (property_id) { + case GMPC_PROGRESS_HIDE_TEXT: + g_value_set_boolean (value, gmpc_progress_get_hide_text (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void gmpc_progress_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) { + GmpcProgress * self; + self = GMPC_PROGRESS (object); + switch (property_id) { + case GMPC_PROGRESS_HIDE_TEXT: + gmpc_progress_set_hide_text (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-progress.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-progress.h --- gmpc-0.18.0/src/vala/gmpc-progress.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc-progress.h 2009-09-21 11:15:59.000000000 +0100 @@ -1,27 +1,8 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ #ifndef __GMPC_PROGRESS_H__ #define __GMPC_PROGRESS_H__ #include -#include #include G_BEGIN_DECLS @@ -49,12 +30,12 @@ }; +GType gmpc_progress_get_type (void); void gmpc_progress_set_time (GmpcProgress* self, guint total, guint current); -GmpcProgress* gmpc_progress_construct (GType object_type); GmpcProgress* gmpc_progress_new (void); +GmpcProgress* gmpc_progress_construct (GType object_type); gboolean gmpc_progress_get_hide_text (GmpcProgress* self); void gmpc_progress_set_hide_text (GmpcProgress* self, gboolean value); -GType gmpc_progress_get_type (void); G_END_DECLS diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-progress.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-progress.vala --- gmpc-0.18.0/src/vala/gmpc-progress.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-progress.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,319 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using Gtk; +using Gdk; + + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.Progress : Gtk.HBox +{ + private uint total = 0; + private uint current = 0; + private bool do_countdown = false; + public bool _hide_text = false; + private Gtk.Scale scale = null; + private Gtk.Label label = null; + private ulong set_value_handler = 0; + private Gtk.Window tooltip = null; + private Gtk.Label tooltip_label = null; + + /** + * Destructor + */ + ~Progress() { + /* If there is a tooltip on destruction of slider, destroy it */ + if(this.tooltip != null) { + this.tooltip.destroy(); + this.tooltip = null; + } + } + + /* Set/getter for enabling/disabling text label */ + public bool hide_text { + get { + return _hide_text; } + set { + _hide_text = value; + if(_hide_text) { + this.label.hide(); + }else{ + this.label.show(); + } + } + } + /** + * Paint a nice box around it + */ + private bool tooltip_expose_event_callback(Gtk.Window tooltip, Gdk.EventExpose event) + { + Gtk.paint_box(tooltip.style, + event.window, + Gtk.StateType.NORMAL, + Gtk.ShadowType.OUT, + null, tooltip, + "tooltip", 0,0, + tooltip.allocation.width, tooltip.allocation.height); + + return false; + } + + private bool enter_notify_event_callback(Gtk.Scale scale, Gdk.EventCrossing event) + { + /* Create tooltip if mouse enters the event window */ + if (event.type == Gdk.EventType.ENTER_NOTIFY) + { + if ( tooltip != null ) tooltip.destroy(); + tooltip = new Gtk.Window(Gtk.WindowType.POPUP); + tooltip_label = new Gtk.Label("test"); + tooltip.add(tooltip_label); + tooltip.border_width = 4; + tooltip.set_app_paintable(true); + tooltip.expose_event += tooltip_expose_event_callback; + } + /* Destroy tooltip if mouse leaves the event window */ + if (event.type == Gdk.EventType.LEAVE_NOTIFY) + { + if(tooltip != null) + { + tooltip.destroy(); + tooltip = null; + } + } + return false; + } + private bool motion_notify_event_callback(Gtk.Scale scale, Gdk.EventMotion event) + { + if(event.type == Gdk.EventType.MOTION_NOTIFY) + { + if(tooltip != null) + { + int e_hour, e_minutes, e_seconds; + int t_hour = (int) this.total / 3600; + int t_minutes = (int) this.total%3600/60; + int t_seconds = (int) this.total%60; + string a = ""; + uint p = (uint)(this.total * (event.x/(double)(scale.allocation.width-scale.style.xthickness))); + /* Don't show beyond end time */ + p = (p > this.total)? this.total:p; + if(this.do_countdown){ + p = (uint)(this.total * (event.x/(double)(scale.allocation.width-scale.style.xthickness))); + a += "-"; + } + e_hour = (int) p/3600; + e_minutes = (int) (p%3600)/60; + e_seconds = (int) (p%60); + if(e_hour>0) { + a += "%02i:".printf(e_hour); + } + a += "%02i:%02i".printf(e_minutes, e_seconds); + if(this.total > 0) + { + a += " - "; + if(t_hour>0) { + a += "%02i:".printf(t_hour); + } + a += "%02i:%02i".printf(t_minutes,t_seconds); + } + if(this.do_countdown) + this.tooltip_label.width_chars = (int)a.length; + else + this.tooltip_label.width_chars = (int)a.length+1; + this.tooltip_label.set_text(a); + + tooltip.show_all(); + tooltip.realize(); + tooltip.move((int)event.x_root-tooltip.allocation.width/2, (int)event.y_root+tooltip.allocation.height); + } + } + return false; + } + + /* Construct function */ + construct { + + this.scale = new Gtk.HScale(null); + this.scale.set_range(0.0,1.0); + this.scale.draw_value = false; + this.set_value_handler = GLib.Signal.connect_swapped(this.scale,"value_changed",(GLib.Callback)value_changed,this); + this.scale.update_policy = Gtk.UpdateType.DISCONTINUOUS;//DELAYED;//DISCONTINUOUS; + this.scale.sensitive = false; + + this.scale.add_events((int)Gdk.EventMask.SCROLL_MASK); + this.scale.add_events((int)Gdk.EventMask.POINTER_MOTION_MASK); + this.scale.add_events((int)Gdk.EventMask.ENTER_NOTIFY_MASK); + this.scale.add_events((int)Gdk.EventMask.LEAVE_NOTIFY_MASK); + this.scale.scroll_event += scroll_event_callback; + GLib.Signal.connect_object(this.scale, "button-press-event", + (GLib.Callback)button_press_event_callback, this, GLib.ConnectFlags.SWAPPED|GLib.ConnectFlags.AFTER); + this.scale.button_release_event += button_release_event_callback; + this.scale.motion_notify_event += motion_notify_event_callback; + this.scale.enter_notify_event += enter_notify_event_callback; + this.scale.leave_notify_event += enter_notify_event_callback; + + this.label = new Gtk.Label(""); + this.label.set_alignment(1.0f,0.5f); + + this.pack_start(this.scale, true,true,0); + this.pack_end(this.label, false,true,0); + this.show_all(); + + } + + signal void seek_event (uint seek_time); + + + private void value_changed (Gtk.Scale range) + { + if(this.total > 0) + { + if(this.do_countdown) + { + uint seconds = (uint)(this.total*(1-range.get_value())); + if(seconds != this.current) + seek_event(seconds); + + }else{ + uint seconds = (uint)(this.total*(range.get_value())); + if(seconds != this.current) + seek_event(seconds); + } + } + } + private int press = 0; + private bool button_release_event_callback (Gtk.Scale scale, Gdk.EventButton event) + { + this.press--; + return false; + } + private bool button_press_event_callback (Gdk.EventButton event, Gtk.Scale scale) + { + this.press++; + if(event.type == Gdk.EventType.BUTTON_PRESS) + { + if(event.button == 3) + { + this.do_countdown = !this.do_countdown; + this.scale.inverted = this.do_countdown; + var cur = this.current; + var tot = this.total; + this.total=this.current = 0; + set_time(tot,cur); + } + if(event.button == 2 || event.button == 1) + { + uint p = (uint)(this.total * (event.x/(double)(scale.allocation.width-scale.style.xthickness))); + p = (p > this.total)? this.total:p; + seek_event(p); + return true; + } + } + else if (event.type == Gdk.EventType.2BUTTON_PRESS) + { + if(event.button == 2 || event.button == 1) + { + uint p = (uint)(this.total * (event.x/(double)(scale.allocation.width-scale.style.xthickness))); + p = (p > this.total)? this.total:p; + seek_event(p); + return true; + } + } + return false; + } + + private bool scroll_event_callback (Gtk.Scale scale,Gdk.EventScroll event) + { + if(event.direction == Gdk.ScrollDirection.UP) + { + seek_event(this.current+5); + } + else if (event.direction == Gdk.ScrollDirection.DOWN) + { + seek_event(this.current-5); + } + return false; + } + + public void set_time(uint total, uint current) + { + if(this.press > 0) return; + if(this.total != total) + { + this.scale.sensitive = (total > 0); + } + + if(this.total != total || this.current != current) + { + this.total = total; + this.current = current; + + GLib.SignalHandler.block(this.scale, this.set_value_handler); + if(this.total > 0) { + if(this.do_countdown){ + this.scale.set_value(1-this.current/(double)this.total); + }else{ + this.scale.set_value(this.current/(double)this.total); + } + + } else { + this.scale.set_value(0.0); + } + + GLib.SignalHandler.unblock(this.scale, this.set_value_handler); + + if(this.hide_text == false) + { + int e_hour, e_minutes, e_seconds; + int t_hour = (int) this.total / 3600; + int t_minutes = (int) this.total%3600/60; + int t_seconds = (int) this.total%60; + string a = ""; + uint p = this.current; + if(this.do_countdown){ + p = this.total-this.current; + a += "-"; + } + e_hour = (int) p/3600; + e_minutes = (int) (p%3600)/60; + e_seconds = (int) (p%60); + if(e_hour>0) { + a += "%02i:".printf(e_hour); + } + a += "%02i:%02i".printf(e_minutes, e_seconds); + if(this.total > 0) + { + a += " - "; + if(t_hour>0) { + a += "%02i:".printf(t_hour); + } + a += "%02i:%02i".printf(t_minutes,t_seconds); + } + if(this.do_countdown) + this.label.width_chars = (int)a.length; + else + this.label.width_chars = (int)a.length+1; + this.label.set_text(a); + } + } + } +} + +/* vim: set noexpandtab ts=4 sw=4 sts=4 tw=120: */ diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_rating.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_rating.c --- gmpc-0.18.0/src/vala/gmpc_rating.c 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_rating.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,229 +0,0 @@ - -#include "gmpc_rating.h" -#include -#include -#include -#include -#include -#include -#include - - - - -struct _GmpcRatingPrivate { - MpdObj* server; - mpd_Song* song; - GtkImage** rat; - gint rat_length1; - gint rat_size; - GtkHBox* box; - gint rating; - gulong status_changed_id; -}; - -#define GMPC_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_RATING, GmpcRatingPrivate)) -enum { - GMPC_RATING_DUMMY_PROPERTY -}; -static gint gmpc_rating_id = 0; -static void gmpc_rating_status_changed (GmpcRating* self, MpdObj* server, ChangedStatusType what, GmpcConnection* conn); -static gboolean _gmpc_rating_button_press_event_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self); -static GObject * gmpc_rating_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static gpointer gmpc_rating_parent_class = NULL; -static void gmpc_rating_finalize (GObject* obj); -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); - - - -gboolean gmpc_rating_button_press_event (GmpcRating* self, GtkEventBox* wid, const GdkEventButton* event) { - g_return_val_if_fail (self != NULL, FALSE); - g_return_val_if_fail (wid != NULL, FALSE); - fprintf (stdout, "Rating button press event\n"); - if ((*event).type == GDK_BUTTON_PRESS) { - if ((*event).button == 1) { - gint width; - gint button; - char* _tmp0; - width = ((GtkWidget*) self)->allocation.width; - button = (gint) (((((*event).x) / ((double) width)) + 0.15) * 5); - fprintf (stdout, "Set sticker\n"); - _tmp0 = NULL; - mpd_sticker_song_set (self->priv->server, self->priv->song->file, "rating", _tmp0 = g_strdup_printf ("%i", button)); - _tmp0 = (g_free (_tmp0), NULL); - gmpc_rating_set_rating (self, button); - } - } - return FALSE; -} - - -static void gmpc_rating_status_changed (GmpcRating* self, MpdObj* server, ChangedStatusType what, GmpcConnection* conn) { - g_return_if_fail (self != NULL); - g_return_if_fail (server != NULL); - g_return_if_fail (conn != NULL); - if (((what & MPD_CST_STICKER) != 0)) { - fprintf (stdout, "Sticker changed %i:%i:%i\n", (gint) what, (gint) MPD_CST_STICKER, gmpc_rating_id); - gmpc_rating_update (self); - } -} - - -GmpcRating* gmpc_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song) { - GmpcRating * self; - mpd_Song* _tmp1; - const mpd_Song* _tmp0; - g_return_val_if_fail (server != NULL, NULL); - g_return_val_if_fail (song != NULL, NULL); - self = g_object_newv (object_type, 0, NULL); - self->priv->server = server; - _tmp1 = NULL; - _tmp0 = NULL; - self->priv->song = (_tmp1 = (_tmp0 = song, (_tmp0 == NULL) ? NULL : mpd_songDup (_tmp0)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1); - gmpc_rating_update (self); - self->priv->status_changed_id = g_signal_connect_swapped (gmpcconn, "status_changed", (GCallback) gmpc_rating_status_changed, self); - return self; -} - - -GmpcRating* gmpc_rating_new (MpdObj* server, const mpd_Song* song) { - return gmpc_rating_construct (GMPC_TYPE_RATING, server, song); -} - - -void gmpc_rating_set_rating (GmpcRating* self, gint rating) { - gint i; - g_return_if_fail (self != NULL); - i = 0; - if (rating != self->priv->rating) { - for (i = 0; i < 5; i++) { - g_object_set ((GtkWidget*) self->priv->rat[i], "sensitive", i < rating, NULL); - } - self->priv->rating = rating; - } -} - - -void gmpc_rating_update (GmpcRating* self) { - char* value; - g_return_if_fail (self != NULL); - value = mpd_sticker_song_get (self->priv->server, self->priv->song->file, "rating"); - if (value == NULL) { - gmpc_rating_set_rating (self, 0); - } else { - gmpc_rating_set_rating (self, atoi (value)); - } - value = (g_free (value), NULL); -} - - -static gboolean _gmpc_rating_button_press_event_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self) { - return gmpc_rating_button_press_event (self, _sender, event); -} - - -static GObject * gmpc_rating_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { - GObject * obj; - GmpcRatingClass * klass; - GObjectClass * parent_class; - GmpcRating * self; - klass = GMPC_RATING_CLASS (g_type_class_peek (GMPC_TYPE_RATING)); - parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); - obj = parent_class->constructor (type, n_construct_properties, construct_properties); - self = GMPC_RATING (obj); - { - gint i; - GtkHBox* _tmp0; - GtkEventBox* _tmp1; - GtkImage** _tmp2; - i = 0; - g_object_set ((GtkFrame*) self, "shadow", GTK_SHADOW_NONE, NULL); - _tmp0 = NULL; - self->priv->box = (_tmp0 = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (TRUE, 6)), (self->priv->box == NULL) ? NULL : (self->priv->box = (g_object_unref (self->priv->box), NULL)), _tmp0); - _tmp1 = NULL; - self->event = (_tmp1 = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), (self->event == NULL) ? NULL : (self->event = (g_object_unref (self->event), NULL)), _tmp1); - gtk_event_box_set_visible_window (self->event, FALSE); - _tmp2 = NULL; - self->priv->rat = (_tmp2 = g_new0 (GtkImage*, 5 + 1), self->priv->rat = (_vala_array_free (self->priv->rat, self->priv->rat_length1, (GDestroyNotify) g_object_unref), NULL), self->priv->rat_length1 = 5, self->priv->rat_size = self->priv->rat_length1, _tmp2); - for (i = 0; i < 5; i++) { - GtkImage* _tmp3; - _tmp3 = NULL; - self->priv->rat[i] = (_tmp3 = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("emblem-favorite", GTK_ICON_SIZE_MENU)), (self->priv->rat[i] == NULL) ? NULL : (self->priv->rat[i] = (g_object_unref (self->priv->rat[i]), NULL)), _tmp3); - gtk_box_pack_start ((GtkBox*) self->priv->box, (GtkWidget*) self->priv->rat[i], FALSE, FALSE, (guint) 0); - } - gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->event); - gtk_container_add ((GtkContainer*) self->event, (GtkWidget*) self->priv->box); - g_signal_connect_object ((GtkWidget*) self->event, "button-press-event", (GCallback) _gmpc_rating_button_press_event_gtk_widget_button_press_event, self, 0); - gtk_widget_show_all ((GtkWidget*) self); - } - return obj; -} - - -static void gmpc_rating_class_init (GmpcRatingClass * klass) { - gmpc_rating_parent_class = g_type_class_peek_parent (klass); - g_type_class_add_private (klass, sizeof (GmpcRatingPrivate)); - G_OBJECT_CLASS (klass)->constructor = gmpc_rating_constructor; - G_OBJECT_CLASS (klass)->finalize = gmpc_rating_finalize; - gmpc_rating_id = gmpc_rating_id + 1; -} - - -static void gmpc_rating_instance_init (GmpcRating * self) { - self->priv = GMPC_RATING_GET_PRIVATE (self); - self->priv->server = NULL; - self->priv->song = NULL; - self->priv->rating = -1; - self->priv->status_changed_id = (gulong) 0; -} - - -static void gmpc_rating_finalize (GObject* obj) { - GmpcRating * self; - self = GMPC_RATING (obj); - { - gboolean _tmp4; - _tmp4 = FALSE; - if (self->priv->status_changed_id > 0) { - _tmp4 = g_signal_handler_is_connected (gmpcconn, self->priv->status_changed_id); - } else { - _tmp4 = FALSE; - } - if (_tmp4) { - g_signal_handler_disconnect (gmpcconn, self->priv->status_changed_id); - self->priv->status_changed_id = (gulong) 0; - } - } - (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); - self->priv->rat = (_vala_array_free (self->priv->rat, self->priv->rat_length1, (GDestroyNotify) g_object_unref), NULL); - (self->priv->box == NULL) ? NULL : (self->priv->box = (g_object_unref (self->priv->box), NULL)); - (self->event == NULL) ? NULL : (self->event = (g_object_unref (self->event), NULL)); - G_OBJECT_CLASS (gmpc_rating_parent_class)->finalize (obj); -} - - -GType gmpc_rating_get_type (void) { - static GType gmpc_rating_type_id = 0; - if (gmpc_rating_type_id == 0) { - static const GTypeInfo g_define_type_info = { sizeof (GmpcRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcRating), 0, (GInstanceInitFunc) gmpc_rating_instance_init, NULL }; - gmpc_rating_type_id = g_type_register_static (GTK_TYPE_FRAME, "GmpcRating", &g_define_type_info, 0); - } - return gmpc_rating_type_id; -} - - -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { - if ((array != NULL) && (destroy_func != NULL)) { - int i; - for (i = 0; i < array_length; i = i + 1) { - if (((gpointer*) array)[i] != NULL) { - destroy_func (((gpointer*) array)[i]); - } - } - } - g_free (array); -} - - - - diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-rating.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-rating.c --- gmpc-0.18.0/src/vala/gmpc-rating.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-rating.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,308 @@ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_TYPE_RATING (gmpc_rating_get_type ()) +#define GMPC_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_RATING, GmpcRating)) +#define GMPC_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_RATING, GmpcRatingClass)) +#define GMPC_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_RATING)) +#define GMPC_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_RATING)) +#define GMPC_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_RATING, GmpcRatingClass)) + +typedef struct _GmpcRating GmpcRating; +typedef struct _GmpcRatingClass GmpcRatingClass; +typedef struct _GmpcRatingPrivate GmpcRatingPrivate; + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +struct _GmpcRating { + GtkFrame parent_instance; + GmpcRatingPrivate * priv; + GtkEventBox* event_box; +}; + +struct _GmpcRatingClass { + GtkFrameClass parent_class; +}; + +struct _GmpcRatingPrivate { + MpdObj* server; + mpd_Song* song; + GtkImage** rat; + gint rat_length1; + gint rat_size; + GtkHBox* box; + gint rating; + gulong status_changed_id; +}; + + +static gint gmpc_rating_id; +static gint gmpc_rating_id = 0; +static gpointer gmpc_rating_parent_class = NULL; + +GType gmpc_rating_get_type (void); +#define GMPC_RATING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_TYPE_RATING, GmpcRatingPrivate)) +enum { + GMPC_RATING_DUMMY_PROPERTY +}; +#define GMPC_RATING_use_transition TRUE +void gmpc_rating_set_rating (GmpcRating* self, gint rating); +gboolean gmpc_rating_button_press_event_callback (GmpcRating* self, GtkEventBox* wid, const GdkEventButton* event); +void gmpc_rating_update (GmpcRating* self); +static void gmpc_rating_status_changed (GmpcRating* self, MpdObj* server, ChangedStatusType what, GmpcConnection* conn); +GmpcRating* gmpc_rating_new (MpdObj* server, const mpd_Song* song); +GmpcRating* gmpc_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); +static gboolean _gmpc_rating_button_press_event_callback_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self); +static GObject * gmpc_rating_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_rating_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); + + + +gboolean gmpc_rating_button_press_event_callback (GmpcRating* self, GtkEventBox* wid, const GdkEventButton* event) { + gboolean result; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (wid != NULL, FALSE); + if ((*event).type == GDK_BUTTON_PRESS) { + if ((*event).button == 1) { + gint width; + gint button; + char* _tmp0_; + width = ((GtkWidget*) self)->allocation.width; + button = (gint) ((((*event).x / ((double) width)) + 0.15) * 5); + _tmp0_ = NULL; + mpd_sticker_song_set (self->priv->server, self->priv->song->file, "rating", _tmp0_ = g_strdup_printf ("%i", button)); + _tmp0_ = (g_free (_tmp0_), NULL); + gmpc_rating_set_rating (self, button); + } + } + result = FALSE; + return result; +} + + +static void gmpc_rating_status_changed (GmpcRating* self, MpdObj* server, ChangedStatusType what, GmpcConnection* conn) { + g_return_if_fail (self != NULL); + g_return_if_fail (server != NULL); + g_return_if_fail (conn != NULL); + if ((what & MPD_CST_STICKER) != 0) { + gmpc_rating_update (self); + } +} + + +GmpcRating* gmpc_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song) { + GmpcRating * self; + mpd_Song* _tmp1_; + const mpd_Song* _tmp0_; + g_return_val_if_fail (server != NULL, NULL); + g_return_val_if_fail (song != NULL, NULL); + self = g_object_newv (object_type, 0, NULL); + self->priv->server = server; + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->song = (_tmp1_ = (_tmp0_ = song, (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1_); + gmpc_rating_update (self); + self->priv->status_changed_id = g_signal_connect_swapped (gmpcconn, "status_changed", (GCallback) gmpc_rating_status_changed, self); + return self; +} + + +GmpcRating* gmpc_rating_new (MpdObj* server, const mpd_Song* song) { + return gmpc_rating_construct (GMPC_TYPE_RATING, server, song); +} + + +void gmpc_rating_set_rating (GmpcRating* self, gint rating) { + gint i; + g_return_if_fail (self != NULL); + i = 0; + if (rating != self->priv->rating) { + { + gboolean _tmp0_; + i = 0; + _tmp0_ = TRUE; + while (TRUE) { + if (!_tmp0_) { + i++; + } + _tmp0_ = FALSE; + if (!(i < 5)) { + break; + } + g_object_set ((GtkWidget*) self->priv->rat[i], "sensitive", i < rating, NULL); + } + } + self->priv->rating = rating; + } +} + + +void gmpc_rating_update (GmpcRating* self) { + char* value; + g_return_if_fail (self != NULL); + value = mpd_sticker_song_get (self->priv->server, self->priv->song->file, "rating"); + if (value == NULL) { + gmpc_rating_set_rating (self, 0); + } else { + gmpc_rating_set_rating (self, atoi (value)); + } + value = (g_free (value), NULL); +} + + +static gboolean _gmpc_rating_button_press_event_callback_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_rating_button_press_event_callback (self, _sender, event); +} + + +static GObject * gmpc_rating_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcRatingClass * klass; + GObjectClass * parent_class; + GmpcRating * self; + klass = GMPC_RATING_CLASS (g_type_class_peek (GMPC_TYPE_RATING)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_RATING (obj); + { + gint i; + GtkHBox* _tmp0_; + GtkEventBox* _tmp1_; + GtkImage** _tmp2_; + i = 0; + g_object_set ((GtkFrame*) self, "shadow", GTK_SHADOW_NONE, NULL); + _tmp0_ = NULL; + self->priv->box = (_tmp0_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (TRUE, 6)), (self->priv->box == NULL) ? NULL : (self->priv->box = (g_object_unref (self->priv->box), NULL)), _tmp0_); + _tmp1_ = NULL; + self->event_box = (_tmp1_ = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()), (self->event_box == NULL) ? NULL : (self->event_box = (g_object_unref (self->event_box), NULL)), _tmp1_); + gtk_event_box_set_visible_window (self->event_box, FALSE); + _tmp2_ = NULL; + self->priv->rat = (_tmp2_ = g_new0 (GtkImage*, 5 + 1), self->priv->rat = (_vala_array_free (self->priv->rat, self->priv->rat_length1, (GDestroyNotify) g_object_unref), NULL), self->priv->rat_length1 = 5, self->priv->rat_size = self->priv->rat_length1, _tmp2_); + { + gboolean _tmp3_; + i = 0; + _tmp3_ = TRUE; + while (TRUE) { + GtkImage* _tmp4_; + if (!_tmp3_) { + i++; + } + _tmp3_ = FALSE; + if (!(i < 5)) { + break; + } + _tmp4_ = NULL; + self->priv->rat[i] = (_tmp4_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_icon_name ("emblem-favorite", GTK_ICON_SIZE_MENU)), (self->priv->rat[i] == NULL) ? NULL : (self->priv->rat[i] = (g_object_unref (self->priv->rat[i]), NULL)), _tmp4_); + gtk_box_pack_start ((GtkBox*) self->priv->box, (GtkWidget*) self->priv->rat[i], FALSE, FALSE, (guint) 0); + } + } + gtk_container_add ((GtkContainer*) self, (GtkWidget*) self->event_box); + gtk_container_add ((GtkContainer*) self->event_box, (GtkWidget*) self->priv->box); + g_signal_connect_object ((GtkWidget*) self->event_box, "button-press-event", (GCallback) _gmpc_rating_button_press_event_callback_gtk_widget_button_press_event, self, 0); + gtk_widget_show_all ((GtkWidget*) self); + } + return obj; +} + + +static void gmpc_rating_class_init (GmpcRatingClass * klass) { + gmpc_rating_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcRatingPrivate)); + G_OBJECT_CLASS (klass)->constructor = gmpc_rating_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_rating_finalize; + gmpc_rating_id = gmpc_rating_id + 1; +} + + +static void gmpc_rating_instance_init (GmpcRating * self) { + self->priv = GMPC_RATING_GET_PRIVATE (self); + self->priv->server = NULL; + self->priv->song = NULL; + self->priv->rating = -1; + self->priv->status_changed_id = (gulong) 0; +} + + +static void gmpc_rating_finalize (GObject* obj) { + GmpcRating * self; + self = GMPC_RATING (obj); + { + gboolean _tmp5_; + _tmp5_ = FALSE; + if (self->priv->status_changed_id > 0) { + _tmp5_ = g_signal_handler_is_connected (gmpcconn, self->priv->status_changed_id); + } else { + _tmp5_ = FALSE; + } + if (_tmp5_) { + g_signal_handler_disconnect (gmpcconn, self->priv->status_changed_id); + self->priv->status_changed_id = (gulong) 0; + } + } + (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); + self->priv->rat = (_vala_array_free (self->priv->rat, self->priv->rat_length1, (GDestroyNotify) g_object_unref), NULL); + (self->priv->box == NULL) ? NULL : (self->priv->box = (g_object_unref (self->priv->box), NULL)); + (self->event_box == NULL) ? NULL : (self->event_box = (g_object_unref (self->event_box), NULL)); + G_OBJECT_CLASS (gmpc_rating_parent_class)->finalize (obj); +} + + +GType gmpc_rating_get_type (void) { + static GType gmpc_rating_type_id = 0; + if (gmpc_rating_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcRatingClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_rating_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcRating), 0, (GInstanceInitFunc) gmpc_rating_instance_init, NULL }; + gmpc_rating_type_id = g_type_register_static (GTK_TYPE_FRAME, "GmpcRating", &g_define_type_info, 0); + } + return gmpc_rating_type_id; +} + + +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { + if ((array != NULL) && (destroy_func != NULL)) { + int i; + for (i = 0; i < array_length; i = i + 1) { + if (((gpointer*) array)[i] != NULL) { + destroy_func (((gpointer*) array)[i]); + } + } + } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); + g_free (array); +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc_rating.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc_rating.h --- gmpc-0.18.0/src/vala/gmpc_rating.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc_rating.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ - -#ifndef __GMPC_RATING_H__ -#define __GMPC_RATING_H__ - -#include -#include -#include -#include -#include -#include - -G_BEGIN_DECLS - - -#define GMPC_TYPE_RATING (gmpc_rating_get_type ()) -#define GMPC_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_RATING, GmpcRating)) -#define GMPC_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_RATING, GmpcRatingClass)) -#define GMPC_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_RATING)) -#define GMPC_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_RATING)) -#define GMPC_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_RATING, GmpcRatingClass)) - -typedef struct _GmpcRating GmpcRating; -typedef struct _GmpcRatingClass GmpcRatingClass; -typedef struct _GmpcRatingPrivate GmpcRatingPrivate; - -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ -struct _GmpcRating { - GtkFrame parent_instance; - GmpcRatingPrivate * priv; - GtkEventBox* event; -}; - -struct _GmpcRatingClass { - GtkFrameClass parent_class; -}; - - -gboolean gmpc_rating_button_press_event (GmpcRating* self, GtkEventBox* wid, const GdkEventButton* event); -GmpcRating* gmpc_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); -GmpcRating* gmpc_rating_new (MpdObj* server, const mpd_Song* song); -void gmpc_rating_set_rating (GmpcRating* self, gint rating); -void gmpc_rating_update (GmpcRating* self); -GType gmpc_rating_get_type (void); - - -G_END_DECLS - -#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-rating.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-rating.h --- gmpc-0.18.0/src/vala/gmpc-rating.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-rating.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,64 @@ + +#ifndef __GMPC_RATING_H__ +#define __GMPC_RATING_H__ + +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_TYPE_RATING (gmpc_rating_get_type ()) +#define GMPC_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_RATING, GmpcRating)) +#define GMPC_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_RATING, GmpcRatingClass)) +#define GMPC_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_RATING)) +#define GMPC_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_RATING)) +#define GMPC_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_RATING, GmpcRatingClass)) + +typedef struct _GmpcRating GmpcRating; +typedef struct _GmpcRatingClass GmpcRatingClass; +typedef struct _GmpcRatingPrivate GmpcRatingPrivate; + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +struct _GmpcRating { + GtkFrame parent_instance; + GmpcRatingPrivate * priv; + GtkEventBox* event_box; +}; + +struct _GmpcRatingClass { + GtkFrameClass parent_class; +}; + + +GType gmpc_rating_get_type (void); +gboolean gmpc_rating_button_press_event_callback (GmpcRating* self, GtkEventBox* wid, const GdkEventButton* event); +GmpcRating* gmpc_rating_new (MpdObj* server, const mpd_Song* song); +GmpcRating* gmpc_rating_construct (GType object_type, MpdObj* server, const mpd_Song* song); +void gmpc_rating_set_rating (GmpcRating* self, gint rating); +void gmpc_rating_update (GmpcRating* self); + + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-rating.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-rating.vala --- gmpc-0.18.0/src/vala/gmpc-rating.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-rating.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,123 @@ + +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using GLib; +using Gtk; +using Gdk; +using Cairo; +using MPD; +using Gmpc; + + + +public class Gmpc.Rating : Gtk.Frame +{ + private const bool use_transition = Gmpc.use_transition; + private weak MPD.Server server = null; + private MPD.Song song = null; + private Gtk.Image[] rat; + private Gtk.HBox box; + public Gtk.EventBox event_box; + private int rating = -1; + static int id = id+1; + + private ulong status_changed_id = 0; + + ~Rating() { + if (this.status_changed_id > 0 && GLib.SignalHandler.is_connected(gmpcconn, this.status_changed_id)) { + GLib.SignalHandler.disconnect(gmpcconn, this.status_changed_id); + this.status_changed_id = 0; + } + + } + public bool button_press_event_callback(Gtk.EventBox wid, Gdk.EventButton event) + { + if(event.type == Gdk.EventType.BUTTON_PRESS) + { + if(event.button == 1) + { + int width = this.allocation.width; + int button = (int)((((event.x)/(double)width)+0.15)*5); + MPD.Sticker.Song.set(this.server, this.song.file, "rating", button.to_string()); + this.set_rating(button); + } + } + + return false; + } + + private void status_changed ( MPD.Server server, MPD.Status.Changed what,Gmpc.Connection conn) + { + if(((what&MPD.Status.Changed.STICKER) != 0)) + { + this.update(); + } + } + + public Rating (MPD.Server server, MPD.Song song) { + this.server = server; + this.song = song; + this.update(); + this.status_changed_id = GLib.Signal.connect_swapped(gmpcconn, "status_changed", (GLib.Callback)status_changed, this); + } + + construct { + int i; + this.shadow = Gtk.ShadowType.NONE; + + this.box = new Gtk.HBox(true,6); + this.event_box = new Gtk.EventBox(); + this.event_box.visible_window = false; + this.rat = new Gtk.Image[5]; + for(i=0;i<5;i++) { + this.rat[i] = new Gtk.Image.from_icon_name("emblem-favorite", Gtk.IconSize.MENU); + this.box.pack_start(this.rat[i], false, false, 0); + } + + this.add(this.event_box); + this.event_box.add(this.box); + + this.event_box.button_press_event += button_press_event_callback; + this.show_all(); + } + + + public void set_rating(int rating) + { + int i=0; + if(rating != this.rating) + { + for(i=0;i<5;i++) + { + this.rat[i].sensitive = i +#include +#include +#include +#include +#include #include #include +#include +#include #include #include #include #include #include -#include -#include -#include -#include -#include +#define GMPC_SONG_TYPE_LINKS (gmpc_song_links_get_type ()) +#define GMPC_SONG_LINKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_SONG_TYPE_LINKS, GmpcSongLinks)) +#define GMPC_SONG_LINKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_SONG_TYPE_LINKS, GmpcSongLinksClass)) +#define GMPC_SONG_IS_LINKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_SONG_TYPE_LINKS)) +#define GMPC_SONG_IS_LINKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_SONG_TYPE_LINKS)) +#define GMPC_SONG_LINKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_SONG_TYPE_LINKS, GmpcSongLinksClass)) + +typedef struct _GmpcSongLinks GmpcSongLinks; +typedef struct _GmpcSongLinksClass GmpcSongLinksClass; +typedef struct _GmpcSongLinksPrivate GmpcSongLinksPrivate; + +#define GMPC_SONG_LINKS_TYPE_TYPE (gmpc_song_links_type_get_type ()) + +struct _GmpcSongLinks { + GtkFrame parent_instance; + GmpcSongLinksPrivate * priv; +}; + +struct _GmpcSongLinksClass { + GtkFrameClass parent_class; +}; +typedef enum { + GMPC_SONG_LINKS_TYPE_ARTIST, + GMPC_SONG_LINKS_TYPE_ALBUM, + GMPC_SONG_LINKS_TYPE_SONG +} GmpcSongLinksType; -static char* string_replace (const char* self, const char* old, const char* replacement); -static glong string_get_length (const char* self); struct _GmpcSongLinksPrivate { GmpcSongLinksType type; mpd_Song* song; GEADAsyncHandler* handle; }; + +static gpointer gmpc_song_links_parent_class = NULL; + +#define use_transition TRUE +GType gmpc_song_links_get_type (void); +GType gmpc_song_links_type_get_type (void); #define GMPC_SONG_LINKS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_SONG_TYPE_LINKS, GmpcSongLinksPrivate)) enum { GMPC_SONG_LINKS_DUMMY_PROPERTY }; #define GMPC_SONG_LINKS_some_unique_name VERSION +static void gmpc_song_links_download_file (GmpcSongLinks* self, const GEADAsyncHandler* handle, GEADStatus status); static void _gmpc_song_links_download_file_gmpc_async_download_callback (const GEADAsyncHandler* handle, GEADStatus status, gpointer self); static void gmpc_song_links_download (GmpcSongLinks* self, GtkImageMenuItem* item); static void _gmpc_song_links_download_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); -static gboolean gmpc_song_links_button_press_event (GmpcSongLinks* self, GtkWidget* label, const GdkEventButton* event); -static gboolean _gmpc_song_links_button_press_event_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self); -static void gmpc_song_links_open_uri (GmpcSongLinks* self, GtkLinkButton* button); -static void gmpc_song_links_download_file (GmpcSongLinks* self, const GEADAsyncHandler* handle, GEADStatus status); -static void _gmpc_song_links_open_uri_gtk_button_clicked (GtkLinkButton* _sender, gpointer self); +static gboolean gmpc_song_links_button_press_event_callback (GmpcSongLinks* self, GtkEventBox* label, const GdkEventButton* event); +static gboolean _gmpc_song_links_button_press_event_callback_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self); static void gmpc_song_links_parse_uris (GmpcSongLinks* self); -static gpointer gmpc_song_links_parent_class = NULL; +GmpcSongLinks* gmpc_song_links_new (GmpcSongLinksType type, const mpd_Song* song); +GmpcSongLinks* gmpc_song_links_construct (GType object_type, GmpcSongLinksType type, const mpd_Song* song); +static guchar* _vala_array_dup1 (guchar* self, int length); static void gmpc_song_links_finalize (GObject* obj); +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gint _vala_array_length (gpointer array); -static char* string_replace (const char* self, const char* old, const char* replacement) { - GError * inner_error; - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (old != NULL, NULL); - g_return_val_if_fail (replacement != NULL, NULL); - inner_error = NULL; - { - char* _tmp0; - GRegex* _tmp1; - GRegex* regex; - char* _tmp2; - char* _tmp3; - _tmp0 = NULL; - _tmp1 = NULL; - regex = (_tmp1 = g_regex_new (_tmp0 = g_regex_escape_string (old, -1), 0, 0, &inner_error), _tmp0 = (g_free (_tmp0), NULL), _tmp1); - if (inner_error != NULL) { - if (inner_error->domain == G_REGEX_ERROR) { - goto __catch0_g_regex_error; - } - goto __finally0; - } - _tmp2 = g_regex_replace_literal (regex, self, (glong) (-1), 0, replacement, 0, &inner_error); - if (inner_error != NULL) { - (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)); - if (inner_error->domain == G_REGEX_ERROR) { - goto __catch0_g_regex_error; - } - goto __finally0; - } - _tmp3 = NULL; - return (_tmp3 = _tmp2, (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)), _tmp3); - } - goto __finally0; - __catch0_g_regex_error: - { - GError * e; - e = inner_error; - inner_error = NULL; - { - g_assert_not_reached (); - (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); - } - } - __finally0: - if (inner_error != NULL) { - g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message); - g_clear_error (&inner_error); - return NULL; - } -} - - -static glong string_get_length (const char* self) { - g_return_val_if_fail (self != NULL, 0L); - return g_utf8_strlen (self, -1); -} - - GType gmpc_song_links_type_get_type (void) { static GType gmpc_song_links_type_type_id = 0; @@ -137,20 +113,20 @@ static void gmpc_song_links_download (GmpcSongLinks* self, GtkImageMenuItem* item) { - GtkWidget* _tmp0; + GtkWidget* _tmp0_; GtkWidget* child; - GtkProgressBar* _tmp1; + GtkProgressBar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (item != NULL); - _tmp0 = NULL; - child = (_tmp0 = gtk_bin_get_child ((GtkBin*) self), (_tmp0 == NULL) ? NULL : g_object_ref (_tmp0)); + _tmp0_ = NULL; + child = (_tmp0_ = gtk_bin_get_child ((GtkBin*) self), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); if (child != NULL) { gtk_object_destroy ((GtkObject*) child); } /* now try to download */ - _tmp1 = NULL; - gtk_container_add ((GtkContainer*) self, (GtkWidget*) (_tmp1 = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()))); - (_tmp1 == NULL) ? NULL : (_tmp1 = (g_object_unref (_tmp1), NULL)); + _tmp1_ = NULL; + gtk_container_add ((GtkContainer*) self, (GtkWidget*) (_tmp1_ = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()))); + (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)); gtk_widget_show_all ((GtkWidget*) self); self->priv->handle = gmpc_easy_async_downloader ("http://gmpc.wikia.com/index.php?title=GMPC_METADATA_WEBLINKLIST&action=raw", _gmpc_song_links_download_file_gmpc_async_download_callback, self); (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); @@ -162,18 +138,19 @@ } -static gboolean gmpc_song_links_button_press_event (GmpcSongLinks* self, GtkWidget* label, const GdkEventButton* event) { +static gboolean gmpc_song_links_button_press_event_callback (GmpcSongLinks* self, GtkEventBox* label, const GdkEventButton* event) { + gboolean result; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (label != NULL, FALSE); if ((*event).button == 3) { GtkMenu* menu; GtkImageMenuItem* item; - GtkImage* _tmp0; + GtkImage* _tmp0_; menu = g_object_ref_sink ((GtkMenu*) gtk_menu_new ()); item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_label (_ ("Update list from internet"))); - _tmp0 = NULL; - gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp0 = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)))); - (_tmp0 == NULL) ? NULL : (_tmp0 = (g_object_unref (_tmp0), NULL)); + _tmp0_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp0_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock (GTK_STOCK_REFRESH, GTK_ICON_SIZE_MENU)))); + (_tmp0_ == NULL) ? NULL : (_tmp0_ = (g_object_unref (_tmp0_), NULL)); g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_song_links_download_gtk_menu_item_activate, self, 0); gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); gtk_widget_show_all ((GtkWidget*) menu); @@ -181,39 +158,42 @@ (menu == NULL) ? NULL : (menu = (g_object_unref (menu), NULL)); (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); } - return FALSE; + result = FALSE; + return result; } -static gboolean _gmpc_song_links_button_press_event_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self) { - return gmpc_song_links_button_press_event (self, _sender, event); +static gboolean _gmpc_song_links_button_press_event_callback_gtk_widget_button_press_event (GtkEventBox* _sender, const GdkEventButton* event, gpointer self) { + return gmpc_song_links_button_press_event_callback (self, _sender, event); } GmpcSongLinks* gmpc_song_links_construct (GType object_type, GmpcSongLinksType type, const mpd_Song* song) { GmpcSongLinks * self; - mpd_Song* _tmp1; - const mpd_Song* _tmp0; + mpd_Song* _tmp1_; + const mpd_Song* _tmp0_; GtkEventBox* event; GtkLabel* label; - char* _tmp2; + char* _tmp2_; g_return_val_if_fail (song != NULL, NULL); self = g_object_newv (object_type, 0, NULL); self->priv->type = type; - _tmp1 = NULL; - _tmp0 = NULL; - self->priv->song = (_tmp1 = (_tmp0 = song, (_tmp0 == NULL) ? NULL : mpd_songDup (_tmp0)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->song = (_tmp1_ = (_tmp0_ = song, (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1_); event = g_object_ref_sink ((GtkEventBox*) gtk_event_box_new ()); label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")); gtk_container_add ((GtkContainer*) event, (GtkWidget*) label); gtk_event_box_set_visible_window (event, FALSE); gtk_frame_set_label_widget ((GtkFrame*) self, (GtkWidget*) event); - _tmp2 = NULL; - gtk_label_set_markup (label, _tmp2 = g_strdup_printf ("%s:", _ ("Links"))); - _tmp2 = (g_free (_tmp2), NULL); + _tmp2_ = NULL; + gtk_label_set_markup (label, _tmp2_ = g_strdup_printf ("%s:", _ ("Web Links"))); + _tmp2_ = (g_free (_tmp2_), NULL); g_object_set ((GtkFrame*) self, "shadow", GTK_SHADOW_NONE, NULL); - g_signal_connect_object ((GtkWidget*) event, "button-press-event", (GCallback) _gmpc_song_links_button_press_event_gtk_widget_button_press_event, self, 0); + g_signal_connect_object ((GtkWidget*) event, "button-press-event", (GCallback) _gmpc_song_links_button_press_event_callback_gtk_widget_button_press_event, self, 0); gmpc_song_links_parse_uris (self); + (event == NULL) ? NULL : (event = (g_object_unref (event), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); return self; } @@ -223,29 +203,29 @@ } -static void gmpc_song_links_open_uri (GmpcSongLinks* self, GtkLinkButton* button) { - GtkLinkButton* _tmp0; - GtkLinkButton* lb; - g_return_if_fail (self != NULL); - g_return_if_fail (button != NULL); - _tmp0 = NULL; - lb = (_tmp0 = button, (_tmp0 == NULL) ? NULL : g_object_ref (_tmp0)); - fprintf (stdout, "open uri: %s\n", gtk_link_button_get_uri (lb)); - open_uri (gtk_link_button_get_uri (lb)); - (lb == NULL) ? NULL : (lb = (g_object_unref (lb), NULL)); +static guchar* _vala_array_dup1 (guchar* self, int length) { + return g_memdup (self, length * sizeof (guchar)); +} + + +static glong string_get_length (const char* self) { + glong result; + g_return_val_if_fail (self != NULL, 0L); + result = g_utf8_strlen (self, -1); + return result; } static void gmpc_song_links_download_file (GmpcSongLinks* self, const GEADAsyncHandler* handle, GEADStatus status) { - GError * inner_error; + GError * _inner_error_; g_return_if_fail (self != NULL); g_return_if_fail (handle != NULL); - inner_error = NULL; + _inner_error_ = NULL; if (status == GEAD_PROGRESS) { - GtkProgressBar* _tmp0; + GtkProgressBar* _tmp0_; GtkProgressBar* pb; - _tmp0 = NULL; - pb = (_tmp0 = GTK_PROGRESS_BAR (gtk_bin_get_child ((GtkBin*) self)), (_tmp0 == NULL) ? NULL : g_object_ref (_tmp0)); + _tmp0_ = NULL; + pb = (_tmp0_ = GTK_PROGRESS_BAR (gtk_bin_get_child ((GtkBin*) self)), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); if (pb != NULL) { gtk_progress_bar_pulse (pb); } @@ -253,40 +233,43 @@ return; } if (status == GEAD_DONE) { - gint64 length; - const char* _tmp1; - char* a; + guchar* _tmp3_; + gint a_size; + gint a_length1; + guchar* _tmp2_; + gint _tmp1_; + guchar* a; char* path; - length = (gint64) 0; - _tmp1 = NULL; - a = (_tmp1 = gmpc_easy_handler_get_data (handle, &length), (_tmp1 == NULL) ? NULL : g_strdup (_tmp1)); + _tmp3_ = NULL; + _tmp2_ = NULL; + a = (_tmp3_ = (_tmp2_ = gmpc_easy_handler_get_data_vala_wrap (handle, &_tmp1_), (_tmp2_ == NULL) ? ((gpointer) _tmp2_) : _vala_array_dup1 (_tmp2_, _tmp1_)), a_length1 = _tmp1_, a_size = a_length1, _tmp3_); path = gmpc_get_user_path ("weblinks.list"); { - g_file_set_contents (path, a, (glong) length, &inner_error); - if (inner_error != NULL) { - goto __catch1_g_error; - goto __finally1; + g_file_set_contents (path, (const char*) a, (glong) a_length1, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch0_g_error; + goto __finally0; } gmpc_song_links_parse_uris (self); gtk_widget_show_all ((GtkWidget*) self); } - goto __finally1; - __catch1_g_error: + goto __finally0; + __catch0_g_error: { GError * e; - e = inner_error; - inner_error = NULL; + e = _inner_error_; + _inner_error_ = NULL; { fprintf (stdout, "Error: %s\n", e->message); (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); } } - __finally1: - if (inner_error != NULL) { + __finally0: + if (_inner_error_ != NULL) { a = (g_free (a), NULL); path = (g_free (path), NULL); - g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message); - g_clear_error (&inner_error); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); return; } a = (g_free (a), NULL); @@ -297,32 +280,32 @@ { char* a; a = g_strdup (" "); - g_file_set_contents (path, a, string_get_length (a), &inner_error); - if (inner_error != NULL) { + g_file_set_contents (path, a, string_get_length (a), &_inner_error_); + if (_inner_error_ != NULL) { a = (g_free (a), NULL); - goto __catch2_g_error; - goto __finally2; + goto __catch1_g_error; + goto __finally1; } gmpc_song_links_parse_uris (self); gtk_widget_show_all ((GtkWidget*) self); a = (g_free (a), NULL); } - goto __finally2; - __catch2_g_error: + goto __finally1; + __catch1_g_error: { GError * e; - e = inner_error; - inner_error = NULL; + e = _inner_error_; + _inner_error_ = NULL; { fprintf (stdout, "Error: %s\n", e->message); (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); } } - __finally2: - if (inner_error != NULL) { + __finally1: + if (_inner_error_ != NULL) { path = (g_free (path), NULL); - g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message); - g_clear_error (&inner_error); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); return; } path = (g_free (path), NULL); @@ -331,45 +314,93 @@ } -static void _gmpc_song_links_open_uri_gtk_button_clicked (GtkLinkButton* _sender, gpointer self) { - gmpc_song_links_open_uri (self, _sender); +static char* string_replace (const char* self, const char* old, const char* replacement) { + char* result; + GError * _inner_error_; + g_return_val_if_fail (self != NULL, NULL); + g_return_val_if_fail (old != NULL, NULL); + g_return_val_if_fail (replacement != NULL, NULL); + _inner_error_ = NULL; + { + char* _tmp0_; + GRegex* _tmp1_; + GRegex* regex; + char* _tmp2_; + _tmp0_ = NULL; + _tmp1_ = NULL; + regex = (_tmp1_ = g_regex_new (_tmp0_ = g_regex_escape_string (old, -1), 0, 0, &_inner_error_), _tmp0_ = (g_free (_tmp0_), NULL), _tmp1_); + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_REGEX_ERROR) { + goto __catch4_g_regex_error; + } + goto __finally4; + } + _tmp2_ = g_regex_replace_literal (regex, self, (glong) (-1), 0, replacement, 0, &_inner_error_); + if (_inner_error_ != NULL) { + (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)); + if (_inner_error_->domain == G_REGEX_ERROR) { + goto __catch4_g_regex_error; + } + goto __finally4; + } + result = _tmp2_; + (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)); + return result; + } + goto __finally4; + __catch4_g_regex_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + g_assert_not_reached (); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally4: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return NULL; + } } static void gmpc_song_links_parse_uris (GmpcSongLinks* self) { - GError * inner_error; - GtkWidget* _tmp0; + GError * _inner_error_; + GtkWidget* _tmp0_; GtkWidget* child; GKeyFile* file; char* path; GtkAlignment* ali; GtkVBox* vbox; - char** _tmp4; + char** _tmp4_; gint groups_size; gint groups_length1; - gint _tmp3; + gsize _tmp3_; char** groups; g_return_if_fail (self != NULL); - inner_error = NULL; - _tmp0 = NULL; - child = (_tmp0 = gtk_bin_get_child ((GtkBin*) self), (_tmp0 == NULL) ? NULL : g_object_ref (_tmp0)); + _inner_error_ = NULL; + _tmp0_ = NULL; + child = (_tmp0_ = gtk_bin_get_child ((GtkBin*) self), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); if (child != NULL) { gtk_object_destroy ((GtkObject*) child); } file = g_key_file_new (); path = gmpc_get_user_path ("weblinks.list"); if (!g_file_test (path, G_FILE_TEST_EXISTS)) { - char* _tmp1; - _tmp1 = NULL; - path = (_tmp1 = gmpc_get_full_glade_path ("weblinks.list"), path = (g_free (path), NULL), _tmp1); + char* _tmp1_; + _tmp1_ = NULL; + path = (_tmp1_ = gmpc_get_full_glade_path ("weblinks.list"), path = (g_free (path), NULL), _tmp1_); if (!g_file_test (path, G_FILE_TEST_EXISTS)) { - GtkProgressBar* _tmp2; + GtkProgressBar* _tmp2_; /* now try to download */ - _tmp2 = NULL; - gtk_container_add ((GtkContainer*) self, (GtkWidget*) (_tmp2 = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()))); - (_tmp2 == NULL) ? NULL : (_tmp2 = (g_object_unref (_tmp2), NULL)); + _tmp2_ = NULL; + gtk_container_add ((GtkContainer*) self, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()))); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); gtk_widget_show_all ((GtkWidget*) self); - self->priv->handle = gmpc_easy_async_downloader ("http://download.sarine.nl/weblinks.list", _gmpc_song_links_download_file_gmpc_async_download_callback, self); + self->priv->handle = gmpc_easy_async_downloader ("http://gmpc.wikia.com/index.php?title=GMPC_METADATA_WEBLINKLIST&action=raw", _gmpc_song_links_download_file_gmpc_async_download_callback, self); (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); (file == NULL) ? NULL : (file = (g_key_file_free (file), NULL)); path = (g_free (path), NULL); @@ -377,18 +408,18 @@ } } { - g_key_file_load_from_file (file, path, G_KEY_FILE_NONE, &inner_error); - if (inner_error != NULL) { - goto __catch3_g_error; - goto __finally3; + g_key_file_load_from_file (file, path, G_KEY_FILE_NONE, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch2_g_error; + goto __finally2; } } - goto __finally3; - __catch3_g_error: + goto __finally2; + __catch2_g_error: { GError * e; - e = inner_error; - inner_error = NULL; + e = _inner_error_; + _inner_error_ = NULL; { fprintf (stdout, "Failed to load file: %s\n", path); (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); @@ -398,13 +429,13 @@ return; } } - __finally3: - if (inner_error != NULL) { + __finally2: + if (_inner_error_ != NULL) { (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); (file == NULL) ? NULL : (file = (g_key_file_free (file), NULL)); path = (g_free (path), NULL); - g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message); - g_clear_error (&inner_error); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); return; } ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (0.0f, 0.0f, 0.0f, 0.0f)); @@ -412,8 +443,8 @@ gtk_container_add ((GtkContainer*) self, (GtkWidget*) ali); vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 0)); gtk_container_add ((GtkContainer*) ali, (GtkWidget*) vbox); - _tmp4 = NULL; - groups = (_tmp4 = g_key_file_get_groups (file, &_tmp3), groups_length1 = _tmp3, groups_size = groups_length1, _tmp4); + _tmp4_ = NULL; + groups = (_tmp4_ = g_key_file_get_groups (file, &_tmp3_), groups_length1 = _tmp3_, groups_size = groups_length1, _tmp4_); { char** entry_collection; int entry_collection_length1; @@ -421,103 +452,201 @@ entry_collection = groups; entry_collection_length1 = groups_length1; for (entry_it = 0; entry_it < groups_length1; entry_it = entry_it + 1) { - const char* _tmp14; + const char* _tmp24_; char* entry; - _tmp14 = NULL; - entry = (_tmp14 = entry_collection[entry_it], (_tmp14 == NULL) ? NULL : g_strdup (_tmp14)); + _tmp24_ = NULL; + entry = (_tmp24_ = entry_collection[entry_it], (_tmp24_ == NULL) ? NULL : g_strdup (_tmp24_)); { { char* typestr; char* uri; GmpcSongLinksType type; - GQuark _tmp12; - char* _tmp11; - typestr = g_key_file_get_string (file, entry, "type", &inner_error); - if (inner_error != NULL) { - goto __catch4_g_error; - goto __finally4; + GQuark _tmp18_; + const char* _tmp17_; + static GQuark _tmp18__label0 = 0; + static GQuark _tmp18__label1 = 0; + typestr = g_key_file_get_string (file, entry, "type", &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch3_g_error; + goto __finally3; } - uri = g_key_file_get_string (file, entry, "url", &inner_error); - if (inner_error != NULL) { + uri = g_key_file_get_string (file, entry, "url", &_inner_error_); + if (_inner_error_ != NULL) { typestr = (g_free (typestr), NULL); - goto __catch4_g_error; - goto __finally4; + goto __catch3_g_error; + goto __finally3; } type = 0; - _tmp11 = NULL; - _tmp11 = typestr; - _tmp12 = (NULL == _tmp11) ? 0 : g_quark_from_string (_tmp11); - if (_tmp12 == g_quark_from_string (_ ("artist"))) + _tmp17_ = NULL; + _tmp17_ = typestr; + _tmp18_ = (NULL == _tmp17_) ? 0 : g_quark_from_string (_tmp17_); + if (_tmp18_ == ((0 != _tmp18__label0) ? _tmp18__label0 : (_tmp18__label0 = g_quark_from_static_string ("artist")))) do { type = GMPC_SONG_LINKS_TYPE_ARTIST; if (self->priv->song->artist != NULL) { - char* _tmp5; - _tmp5 = NULL; - uri = (_tmp5 = string_replace (uri, "%ARTIST%", self->priv->song->artist), uri = (g_free (uri), NULL), _tmp5); + char* _tmp6_; + char* _tmp5_; + _tmp6_ = NULL; + _tmp5_ = NULL; + uri = (_tmp6_ = string_replace (uri, "%ARTIST%", _tmp5_ = gmpc_easy_download_uri_escape (self->priv->song->artist)), uri = (g_free (uri), NULL), _tmp6_); + _tmp5_ = (g_free (_tmp5_), NULL); } break; - } while (0); else if (_tmp12 == g_quark_from_string (_ ("album"))) + } while (0); else if (_tmp18_ == ((0 != _tmp18__label1) ? _tmp18__label1 : (_tmp18__label1 = g_quark_from_static_string ("album")))) do { type = GMPC_SONG_LINKS_TYPE_ALBUM; if (self->priv->song->album != NULL) { - char* _tmp6; - _tmp6 = NULL; - uri = (_tmp6 = string_replace (uri, "%ALBUM%", self->priv->song->album), uri = (g_free (uri), NULL), _tmp6); + char* _tmp8_; + char* _tmp7_; + _tmp8_ = NULL; + _tmp7_ = NULL; + uri = (_tmp8_ = string_replace (uri, "%ALBUM%", _tmp7_ = gmpc_easy_download_uri_escape (self->priv->song->album)), uri = (g_free (uri), NULL), _tmp8_); + _tmp7_ = (g_free (_tmp7_), NULL); } if (self->priv->song->artist != NULL) { - char* _tmp7; - _tmp7 = NULL; - uri = (_tmp7 = string_replace (uri, "%ARTIST%", self->priv->song->artist), uri = (g_free (uri), NULL), _tmp7); + char* _tmp10_; + char* _tmp9_; + _tmp10_ = NULL; + _tmp9_ = NULL; + uri = (_tmp10_ = string_replace (uri, "%ARTIST%", _tmp9_ = gmpc_easy_download_uri_escape (self->priv->song->artist)), uri = (g_free (uri), NULL), _tmp10_); + _tmp9_ = (g_free (_tmp9_), NULL); } break; } while (0); else do { type = GMPC_SONG_LINKS_TYPE_SONG; if (self->priv->song->title != NULL) { - char* _tmp8; - _tmp8 = NULL; - uri = (_tmp8 = string_replace (uri, "%TITLE%", self->priv->song->title), uri = (g_free (uri), NULL), _tmp8); + char* _tmp12_; + char* _tmp11_; + _tmp12_ = NULL; + _tmp11_ = NULL; + uri = (_tmp12_ = string_replace (uri, "%TITLE%", _tmp11_ = gmpc_easy_download_uri_escape (self->priv->song->title)), uri = (g_free (uri), NULL), _tmp12_); + _tmp11_ = (g_free (_tmp11_), NULL); } if (self->priv->song->album != NULL) { - char* _tmp9; - _tmp9 = NULL; - uri = (_tmp9 = string_replace (uri, "%ALBUM%", self->priv->song->album), uri = (g_free (uri), NULL), _tmp9); + char* _tmp14_; + char* _tmp13_; + _tmp14_ = NULL; + _tmp13_ = NULL; + uri = (_tmp14_ = string_replace (uri, "%ALBUM%", _tmp13_ = gmpc_easy_download_uri_escape (self->priv->song->album)), uri = (g_free (uri), NULL), _tmp14_); + _tmp13_ = (g_free (_tmp13_), NULL); } if (self->priv->song->artist != NULL) { - char* _tmp10; - _tmp10 = NULL; - uri = (_tmp10 = string_replace (uri, "%ARTIST%", self->priv->song->artist), uri = (g_free (uri), NULL), _tmp10); + char* _tmp16_; + char* _tmp15_; + _tmp16_ = NULL; + _tmp15_ = NULL; + uri = (_tmp16_ = string_replace (uri, "%ARTIST%", _tmp15_ = gmpc_easy_download_uri_escape (self->priv->song->artist)), uri = (g_free (uri), NULL), _tmp16_); + _tmp15_ = (g_free (_tmp15_), NULL); } break; - } while (0); + } while (0); { + char* sar; + sar = g_key_file_get_string (file, entry, "search-and-replace", &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch5_g_error; + goto __finally5; + } + if (sar != NULL) { + char** _tmp20_; + gint s_size; + gint s_length1; + char** _tmp19_; + char** s; + _tmp20_ = NULL; + _tmp19_ = NULL; + s = (_tmp20_ = _tmp19_ = g_strsplit (sar, "::", 0), s_length1 = _vala_array_length (_tmp19_), s_size = s_length1, _tmp20_); + if (s_length1 == 2) { + { + GRegex* regex; + char* _tmp21_; + char* _tmp22_; + regex = g_regex_new (s[0], 0, 0, &_inner_error_); + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_REGEX_ERROR) { + goto __catch6_g_regex_error; + } + goto __finally6; + } + _tmp21_ = g_regex_replace_literal (regex, uri, (glong) (-1), 0, s[1], 0, &_inner_error_); + if (_inner_error_ != NULL) { + (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)); + if (_inner_error_->domain == G_REGEX_ERROR) { + goto __catch6_g_regex_error; + } + goto __finally6; + } + _tmp22_ = NULL; + uri = (_tmp22_ = _tmp21_, uri = (g_free (uri), NULL), _tmp22_); + (regex == NULL) ? NULL : (regex = (g_regex_unref (regex), NULL)); + } + goto __finally6; + __catch6_g_regex_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + fprintf (stdout, "Failed to compile regex: '%s'\n", e->message); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally6: + if (_inner_error_ != NULL) { + s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL); + sar = (g_free (sar), NULL); + goto __catch5_g_error; + goto __finally5; + } + } + s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL); + } + sar = (g_free (sar), NULL); + } + goto __finally5; + __catch5_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally5: + if (_inner_error_ != NULL) { + typestr = (g_free (typestr), NULL); + uri = (g_free (uri), NULL); + goto __catch3_g_error; + goto __finally3; + } if (((gint) type) <= ((gint) self->priv->type)) { GtkLinkButton* label; - char* _tmp13; + char* _tmp23_; label = g_object_ref_sink ((GtkLinkButton*) gtk_link_button_new (uri)); - _tmp13 = NULL; - gtk_button_set_label ((GtkButton*) label, _tmp13 = g_strdup_printf (_ ("Lookup %s on %s"), _ (typestr), entry)); - _tmp13 = (g_free (_tmp13), NULL); + _tmp23_ = NULL; + gtk_button_set_label ((GtkButton*) label, _tmp23_ = g_strdup_printf (_ ("Lookup %s on %s"), _ (typestr), entry)); + _tmp23_ = (g_free (_tmp23_), NULL); gtk_button_set_alignment ((GtkButton*) label, 0.0f, 0.5f); gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) label, FALSE, TRUE, (guint) 0); - g_signal_connect_object ((GtkButton*) label, "clicked", (GCallback) _gmpc_song_links_open_uri_gtk_button_clicked, self, 0); (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); } typestr = (g_free (typestr), NULL); uri = (g_free (uri), NULL); } - goto __finally4; - __catch4_g_error: + goto __finally3; + __catch3_g_error: { GError * e; - e = inner_error; - inner_error = NULL; + e = _inner_error_; + _inner_error_ = NULL; { fprintf (stdout, "Failed to get entry from %s: '%s'\n", path, e->message); (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); } } - __finally4: - if (inner_error != NULL) { + __finally3: + if (_inner_error_ != NULL) { entry = (g_free (entry), NULL); (child == NULL) ? NULL : (child = (g_object_unref (child), NULL)); (file == NULL) ? NULL : (file = (g_key_file_free (file), NULL)); @@ -525,8 +654,8 @@ (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); (vbox == NULL) ? NULL : (vbox = (g_object_unref (vbox), NULL)); groups = (_vala_array_free (groups, groups_length1, (GDestroyNotify) g_free), NULL); - g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, inner_error->message); - g_clear_error (&inner_error); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); return; } entry = (g_free (entry), NULL); @@ -580,7 +709,7 @@ } -static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { +static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) { if ((array != NULL) && (destroy_func != NULL)) { int i; for (i = 0; i < array_length; i = i + 1) { @@ -589,9 +718,26 @@ } } } +} + + +static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) { + _vala_array_destroy (array, array_length, destroy_func); g_free (array); } +static gint _vala_array_length (gpointer array) { + int length; + length = 0; + if (array) { + while (((gpointer*) array)[length]) { + length++; + } + } + return length; +} + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-song-links.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-song-links.h --- gmpc-0.18.0/src/vala/gmpc-song-links.h 2009-03-09 16:23:05.000000000 +0000 +++ gmpc-0.19.0/src/vala/gmpc-song-links.h 2009-09-21 11:15:59.000000000 +0100 @@ -1,29 +1,11 @@ -/* Gnome Music Player Client (GMPC) - * Copyright (C) 2004-2009 Qball Cow - * Project homepage: http://gmpc.wikia.com/ - - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ #ifndef __GMPC_SONG_LINKS_H__ #define __GMPC_SONG_LINKS_H__ #include -#include #include #include +#include G_BEGIN_DECLS @@ -57,10 +39,10 @@ } GmpcSongLinksType; +GType gmpc_song_links_get_type (void); GType gmpc_song_links_type_get_type (void); -GmpcSongLinks* gmpc_song_links_construct (GType object_type, GmpcSongLinksType type, const mpd_Song* song); GmpcSongLinks* gmpc_song_links_new (GmpcSongLinksType type, const mpd_Song* song); -GType gmpc_song_links_get_type (void); +GmpcSongLinks* gmpc_song_links_construct (GType object_type, GmpcSongLinksType type, const mpd_Song* song); G_END_DECLS diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-song-links.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-song-links.vala --- gmpc-0.18.0/src/vala/gmpc-song-links.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-song-links.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,231 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +using Config; +using GLib; +using Gtk; +using Gdk; +using Cairo; +using MPD; +using Gmpc; + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.Song.Links: Gtk.Frame +{ + private const string some_unique_name = Config.VERSION; + public enum Type { + ARTIST, + ALBUM, + SONG + } + private Type type = Type.ARTIST; + private MPD.Song song = null; + private Gmpc.AsyncDownload.Handle handle = null; + + ~Links() + { + if(this.handle != null) + { + this.handle.cancel(); + } + } + private void download(Gtk.ImageMenuItem item) + { + var child = this.get_child(); + if(child != null) child.destroy(); + /* now try to download */ + this.add(new Gtk.ProgressBar()); + this.show_all(); + this.handle = Gmpc.AsyncDownload.download("http://gmpc.wikia.com/index.php?title=GMPC_METADATA_WEBLINKLIST&action=raw",download_file); + + } + private bool button_press_event_callback(Gtk.EventBox label, Gdk.EventButton event) + { + if(event.button == 3) + { + var menu = new Gtk.Menu(); + var item = new Gtk.ImageMenuItem.with_label(_("Update list from internet")); + item.set_image(new Gtk.Image.from_stock(Gtk.STOCK_REFRESH, Gtk.IconSize.MENU)); + item.activate += download; + menu.append(item); + menu.show_all(); + menu.popup(null, null, null, event.button, event.time); + } + return false; + } + + public Links(Type type, MPD.Song song) + { + this.type = type; + this.song = song; + var event = new Gtk.EventBox(); + var label = new Gtk.Label(""); + event.add(label); + event.visible_window = false; + this.label_widget = event; + label.set_markup("%s:".printf(_("Web Links"))); + this.shadow = Gtk.ShadowType.NONE; + + event.button_press_event += button_press_event_callback; + parse_uris(); + } + + private void download_file(Gmpc.AsyncDownload.Handle handle, Gmpc.AsyncDownload.Status status) + { + if(status == AsyncDownload.Status.PROGRESS) { + Gtk.ProgressBar pb = (Gtk.ProgressBar)this.get_child(); + if(pb != null){ + pb.pulse(); + } + return; + } + if(status == AsyncDownload.Status.DONE) { + var a = handle.get_data(); + var path = Gmpc.user_path("weblinks.list"); + try{ + GLib.FileUtils.set_contents(path, (string)a, (long)a.length); + this.parse_uris(); + this.show_all(); + } + catch(Error e) + { + stdout.printf("Error: %s\n", e.message); + } + } + else + { + var path = Gmpc.user_path("weblinks.list"); + /* set dummy file */ + try{ + string a = " "; + GLib.FileUtils.set_contents(path, a, a.length); + this.parse_uris(); + this.show_all(); + } + catch(Error e) + { + stdout.printf("Error: %s\n", e.message); + } + } + this.handle = null; + } + private void parse_uris() + { + var child = this.get_child(); + if(child != null) child.destroy(); + + var file = new GLib.KeyFile(); + var path = Gmpc.user_path("weblinks.list"); + if(! FileUtils.test(path, FileTest.EXISTS)) + { + path = Gmpc.data_path("weblinks.list"); + if(! FileUtils.test(path, FileTest.EXISTS)) + { + /* now try to download */ + this.add(new Gtk.ProgressBar()); + this.show_all(); + this.handle = Gmpc.AsyncDownload.download("http://gmpc.wikia.com/index.php?title=GMPC_METADATA_WEBLINKLIST&action=raw",download_file); + return; + } + } + try { + file.load_from_file(path, GLib.KeyFileFlags.NONE); + } + catch (Error e) { + stdout.printf("Failed to load file: %s\n", path); + return; + } + + var ali = new Gtk.Alignment(0.0f, 0.0f, 0.0f,0.0f); + ali.set_padding(8,8,12,6); + this.add(ali); + + var vbox = new Gtk.VBox(false, 0); + ali.add(vbox); + + var groups = file.get_groups(); + foreach(string entry in groups) + { + try{ + string typestr = file.get_string(entry,"type"); + string uri = file.get_string(entry, "url"); + + Type type; + switch(typestr) { + case "artist": + type = Type.ARTIST; + if(this.song.artist != null) + uri = uri.replace("%ARTIST%", Gmpc.AsyncDownload.escape_uri(this.song.artist)); + break; + case "album": + type = Type.ALBUM; + + if(this.song.album != null) + uri = uri.replace("%ALBUM%", Gmpc.AsyncDownload.escape_uri(this.song.album)); + + if(this.song.artist != null) + uri = uri.replace("%ARTIST%", Gmpc.AsyncDownload.escape_uri(this.song.artist)); + break; + case "song": + default: + type = Type.SONG; + + if(this.song.title != null) + uri = uri.replace("%TITLE%", Gmpc.AsyncDownload.escape_uri(this.song.title)); + + if(this.song.album != null) + uri = uri.replace("%ALBUM%", Gmpc.AsyncDownload.escape_uri(this.song.album)); + + if(this.song.artist != null) + uri = uri.replace("%ARTIST%", Gmpc.AsyncDownload.escape_uri(this.song.artist)); + break; + } + try{ + string sar = file.get_string(entry, "search-and-replace"); + if(sar != null) { + string[] s = sar.split("::"); + if(s.length == 2){ + try{ + var regex = new GLib.Regex (s[0]); + uri = regex.replace_literal(uri,-1,0, s[1]); + } catch (GLib.RegexError e) { + stdout.printf("Failed to compile regex: '%s'\n", e.message); + } + } + } + }catch(Error e) { + + } + + if((int)type <= (int)this.type) + { + var label = new Gtk.LinkButton(uri); + label.set_label(_("Lookup %s on %s").printf(_(typestr),entry)); + label.set_alignment(0.0f, 0.5f); + vbox.pack_start(label, false, true, 0); + } + }catch(Error e){ + stdout.printf("Failed to get entry from %s: '%s'\n", path, e.message); + } + + } + } + +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-test-plugin.c /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-test-plugin.c --- gmpc-0.18.0/src/vala/gmpc-test-plugin.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-test-plugin.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,1523 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#define GMPC_META_DATA_TYPE_EDIT_WINDOW (gmpc_meta_data_edit_window_get_type ()) +#define GMPC_META_DATA_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindow)) +#define GMPC_META_DATA_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass)) +#define GMPC_META_DATA_IS_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW)) +#define GMPC_META_DATA_IS_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW)) +#define GMPC_META_DATA_EDIT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass)) + +typedef struct _GmpcMetaDataEditWindow GmpcMetaDataEditWindow; +typedef struct _GmpcMetaDataEditWindowClass GmpcMetaDataEditWindowClass; +typedef struct _GmpcMetaDataEditWindowPrivate GmpcMetaDataEditWindowPrivate; + +#define GMPC_TYPE_TEST_PLUGIN (gmpc_test_plugin_get_type ()) +#define GMPC_TEST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_TEST_PLUGIN, GmpcTestPlugin)) +#define GMPC_TEST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_TEST_PLUGIN, GmpcTestPluginClass)) +#define GMPC_IS_TEST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_TEST_PLUGIN)) +#define GMPC_IS_TEST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_TEST_PLUGIN)) +#define GMPC_TEST_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_TEST_PLUGIN, GmpcTestPluginClass)) + +typedef struct _GmpcTestPlugin GmpcTestPlugin; +typedef struct _GmpcTestPluginClass GmpcTestPluginClass; +typedef struct _GmpcTestPluginPrivate GmpcTestPluginPrivate; + +struct _GmpcMetaDataEditWindow { + GtkWindow parent_instance; + GmpcMetaDataEditWindowPrivate * priv; +}; + +struct _GmpcMetaDataEditWindowClass { + GtkWindowClass parent_class; +}; + +struct _GmpcMetaDataEditWindowPrivate { + GtkListStore* model; + GtkTreeView* tree; + GList* downloads; + mpd_Song* song; + MetaDataType query_type; + void* handle; + void* handle2; + GtkHBox* pbox; + GtkLabel* warning_label; + GtkEntry* artist_entry; + GtkEntry* album_entry; + GtkEntry* title_entry; + GtkButton* cancel; + GtkButton* refresh; + GtkComboBox* combo; + GtkProgressBar* bar; + GtkTreeViewColumn* column; +}; + +struct _GmpcTestPlugin { + GmpcPluginBase parent_instance; + GmpcTestPluginPrivate * priv; +}; + +struct _GmpcTestPluginClass { + GmpcPluginBaseClass parent_class; +}; + + +static gpointer gmpc_meta_data_edit_window_parent_class = NULL; +static gpointer gmpc_test_plugin_parent_class = NULL; +static GmpcPluginToolMenuIfaceIface* gmpc_test_plugin_gmpc_plugin_tool_menu_iface_parent_iface = NULL; +static GmpcPluginSongListIfaceIface* gmpc_test_plugin_gmpc_plugin_song_list_iface_parent_iface = NULL; + +#define use_transition TRUE +GType gmpc_meta_data_edit_window_get_type (void); +#define GMPC_META_DATA_EDIT_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowPrivate)) +enum { + GMPC_META_DATA_EDIT_WINDOW_DUMMY_PROPERTY +}; +#define GMPC_META_DATA_EDIT_WINDOW_some_unique_name VERSION +static void gmpc_meta_data_edit_window_add_entry_image (GmpcMetaDataEditWindow* self, const char* provider, const char* uri, GdkPixbufFormat* format, GdkPixbuf* pb); +static void gmpc_meta_data_edit_window_add_entry_text (GmpcMetaDataEditWindow* self, const char* provider, const char* uri, const char* text); +void gmpc_meta_data_edit_window_image_downloaded (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status); +static void _gmpc_meta_data_edit_window_image_downloaded_gmpc_async_download_callback (const GEADAsyncHandler* handle, GEADStatus status, gpointer self); +void gmpc_meta_data_edit_window_callback (GmpcMetaDataEditWindow* self, void* handle, const char* plugin_name, GList* list); +void gmpc_meta_data_edit_window_store_image (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status); +static void _gmpc_meta_data_edit_window_store_image_gmpc_async_download_callback (const GEADAsyncHandler* handle, GEADStatus status, gpointer self); +static void gmpc_meta_data_edit_window_set_metadata (GmpcMetaDataEditWindow* self, GtkButton* button); +void gmpc_meta_data_edit_window_destroy_popup (GmpcMetaDataEditWindow* self, GtkButton* button); +static void _gmpc_meta_data_edit_window_callback_gmpc_meta_data_callback (void* handle, const char* plugin_name, GList* list, gpointer self); +void gmpc_meta_data_edit_window_refresh_query (GmpcMetaDataEditWindow* self, GtkButton* button); +static void gmpc_meta_data_edit_window_combo_box_changed (GmpcMetaDataEditWindow* self, GtkComboBox* comb); +void gmpc_meta_data_edit_window_b_cancel (GmpcMetaDataEditWindow* self); +static void _gmpc_meta_data_edit_window_b_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_meta_data_edit_window_destroy_popup_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_meta_data_edit_window_set_metadata_gtk_button_clicked (GtkButton* _sender, gpointer self); +static void _gmpc_meta_data_edit_window_combo_box_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self); +static void _gmpc_meta_data_edit_window_refresh_query_gtk_button_clicked (GtkButton* _sender, gpointer self); +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_new (const mpd_Song* song, MetaDataType type); +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_construct (GType object_type, const mpd_Song* song, MetaDataType type); +static GObject * gmpc_meta_data_edit_window_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); +static void gmpc_meta_data_edit_window_finalize (GObject* obj); +GType gmpc_test_plugin_get_type (void); +enum { + GMPC_TEST_PLUGIN_DUMMY_PROPERTY +}; +static gint* gmpc_test_plugin_real_get_version (GmpcPluginBase* base, int* result_length1); +static const char* gmpc_test_plugin_real_get_name (GmpcPluginBase* base); +static void gmpc_test_plugin_real_save_yourself (GmpcPluginBase* base); +static gboolean gmpc_test_plugin_real_get_enabled (GmpcPluginBase* base); +static void gmpc_test_plugin_real_set_enabled (GmpcPluginBase* base, gboolean state); +static void _g_list_free_gtk_tree_path_free (GList* self); +static void gmpc_test_plugin_menu_activate_tree (GmpcTestPlugin* self, GtkMenuItem* item); +static void _gmpc_test_plugin_menu_activate_tree_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self); +static gint gmpc_test_plugin_real_song_list (GmpcPluginSongListIface* base, GtkWidget* tree, GtkMenu* menu); +void gmpc_test_plugin_menu_activated_album (GmpcTestPlugin* self, GtkMenuItem* item); +static void _gmpc_test_plugin_menu_activated_album_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self); +static gint gmpc_test_plugin_real_tool_menu_integration (GmpcPluginToolMenuIface* base, GtkMenu* menu); +GmpcTestPlugin* gmpc_test_plugin_new (void); +GmpcTestPlugin* gmpc_test_plugin_construct (GType object_type); +static GObject * gmpc_test_plugin_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); + +static const gint GMPC_TEST_PLUGIN_version[] = {0, 0, 2}; + + +static void gmpc_meta_data_edit_window_add_entry_image (GmpcMetaDataEditWindow* self, const char* provider, const char* uri, GdkPixbufFormat* format, GdkPixbuf* pb) { + GtkTreeIter iter = {0}; + char* a; + char* _tmp0_; + gint new_h; + gint new_w; + GdkPixbuf* _tmp7_; + g_return_if_fail (self != NULL); + g_return_if_fail (uri != NULL); + g_return_if_fail (pb != NULL); + a = NULL; + _tmp0_ = NULL; + a = (_tmp0_ = g_markup_printf_escaped ("%s: %s", _ ("Uri"), uri), a = (g_free (a), NULL), _tmp0_); + if (provider != NULL) { + char* _tmp2_; + char* _tmp1_; + _tmp2_ = NULL; + _tmp1_ = NULL; + a = (_tmp2_ = g_strconcat (a, _tmp1_ = g_markup_printf_escaped ("\n%s: %s", _ ("Provider"), provider), NULL), a = (g_free (a), NULL), _tmp2_); + _tmp1_ = (g_free (_tmp1_), NULL); + } + if (format != NULL) { + char* _tmp4_; + char* _tmp3_; + _tmp4_ = NULL; + _tmp3_ = NULL; + a = (_tmp4_ = g_strconcat (a, _tmp3_ = g_markup_printf_escaped ("\n%s: %s", _ ("Filetype"), gdk_pixbuf_format_get_name (format)), NULL), a = (g_free (a), NULL), _tmp4_); + _tmp3_ = (g_free (_tmp3_), NULL); + } + if (pb != NULL) { + char* _tmp6_; + char* _tmp5_; + _tmp6_ = NULL; + _tmp5_ = NULL; + a = (_tmp6_ = g_strconcat (a, _tmp5_ = g_strdup_printf ("\n%s: %ix%i (%s)", _ ("Size"), gdk_pixbuf_get_width (pb), gdk_pixbuf_get_height (pb), _ ("wxh")), NULL), a = (g_free (a), NULL), _tmp6_); + _tmp5_ = (g_free (_tmp5_), NULL); + } + new_h = 0; + new_w = 0; + if (gdk_pixbuf_get_width (pb) < gdk_pixbuf_get_height (pb)) { + new_h = 150; + new_w = (gint) ((150.0 / ((double) gdk_pixbuf_get_height (pb))) * gdk_pixbuf_get_width (pb)); + } else { + new_w = 150; + new_h = (gint) ((150.0 / ((double) gdk_pixbuf_get_width (pb))) * gdk_pixbuf_get_height (pb)); + } + gtk_list_store_append (self->priv->model, &iter); + _tmp7_ = NULL; + gtk_list_store_set (self->priv->model, &iter, 0, _tmp7_ = gdk_pixbuf_scale_simple (pb, new_w, new_h, GDK_INTERP_BILINEAR), 1, uri, 2, a, -1, -1); + (_tmp7_ == NULL) ? NULL : (_tmp7_ = (g_object_unref (_tmp7_), NULL)); + a = (g_free (a), NULL); +} + + +static void gmpc_meta_data_edit_window_add_entry_text (GmpcMetaDataEditWindow* self, const char* provider, const char* uri, const char* text) { + GtkTreeIter iter = {0}; + char* a; + char* _tmp0_; + g_return_if_fail (self != NULL); + g_return_if_fail (uri != NULL); + g_return_if_fail (text != NULL); + a = NULL; + _tmp0_ = NULL; + a = (_tmp0_ = g_strdup_printf ("%s: %s", _ ("Uri"), uri), a = (g_free (a), NULL), _tmp0_); + if (provider != NULL) { + char* _tmp2_; + char* _tmp1_; + _tmp2_ = NULL; + _tmp1_ = NULL; + a = (_tmp2_ = g_strconcat (a, _tmp1_ = g_strdup_printf ("\n%s: %s", _ ("Provider"), provider), NULL), a = (g_free (a), NULL), _tmp2_); + _tmp1_ = (g_free (_tmp1_), NULL); + } + gtk_list_store_append (self->priv->model, &iter); + gtk_list_store_set (self->priv->model, &iter, 3, text, 1, uri, 2, a, -1, -1); + a = (g_free (a), NULL); +} + + +void gmpc_meta_data_edit_window_image_downloaded (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status) { + GError * _inner_error_; + gboolean _tmp4_; + gboolean _tmp5_; + g_return_if_fail (self != NULL); + g_return_if_fail (handle != NULL); + _inner_error_ = NULL; + if (status == GEAD_PROGRESS) { + return; + } + self->priv->downloads = g_list_remove (self->priv->downloads, handle); + gtk_progress_bar_pulse (self->priv->bar); + if (status == GEAD_DONE) { + guchar* _tmp1_; + gint data_size; + gint data_length1; + gint _tmp0_; + guchar* data; + gboolean _tmp2_; + _tmp1_ = NULL; + data = (_tmp1_ = gmpc_easy_handler_get_data_vala_wrap (handle, &_tmp0_), data_length1 = _tmp0_, data_size = data_length1, _tmp1_); + _tmp2_ = FALSE; + if (self->priv->query_type == META_ALBUM_ART) { + _tmp2_ = TRUE; + } else { + _tmp2_ = self->priv->query_type == META_ARTIST_ART; + } + if (_tmp2_) { + { + GdkPixbufLoader* load; + GdkPixbuf* _tmp3_; + GdkPixbuf* pb; + load = gdk_pixbuf_loader_new (); + { + gdk_pixbuf_loader_write (load, data, data_length1, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch1_g_error; + goto __finally1; + } + } + goto __finally1; + __catch1_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + fprintf (stdout, "Failed to load file: %s::%s\n", e->message, gmpc_easy_handler_get_uri (handle)); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally1: + if (_inner_error_ != NULL) { + (load == NULL) ? NULL : (load = (g_object_unref (load), NULL)); + goto __catch0_g_error; + goto __finally0; + } + gdk_pixbuf_loader_close (load, &_inner_error_); + if (_inner_error_ != NULL) { + (load == NULL) ? NULL : (load = (g_object_unref (load), NULL)); + goto __catch0_g_error; + goto __finally0; + } + _tmp3_ = NULL; + pb = (_tmp3_ = gdk_pixbuf_loader_get_pixbuf (load), (_tmp3_ == NULL) ? NULL : g_object_ref (_tmp3_)); + /*new Gdk.Pixbuf.from_inline((int)length, (uchar[])data, true); */ + if (pb != NULL) { + gmpc_meta_data_edit_window_add_entry_image (self, (const char*) gmpc_easy_handler_get_user_data (handle), gmpc_easy_handler_get_uri (handle), gdk_pixbuf_loader_get_format (load), pb); + } + (load == NULL) ? NULL : (load = (g_object_unref (load), NULL)); + (pb == NULL) ? NULL : (pb = (g_object_unref (pb), NULL)); + } + goto __finally0; + __catch0_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + fprintf (stdout, "Failed to load file: %s::%s\n", e->message, gmpc_easy_handler_get_uri (handle)); + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally0: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + } else { + gmpc_meta_data_edit_window_add_entry_text (self, (const char*) gmpc_easy_handler_get_user_data (handle), gmpc_easy_handler_get_uri (handle), (const char*) data); + } + } + _tmp4_ = FALSE; + _tmp5_ = FALSE; + if (self->priv->handle == NULL) { + _tmp5_ = self->priv->handle2 == NULL; + } else { + _tmp5_ = FALSE; + } + if (_tmp5_) { + _tmp4_ = self->priv->downloads == NULL; + } else { + _tmp4_ = FALSE; + } + if (_tmp4_) { + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->combo, "sensitive", TRUE, NULL); + } +} + + +static void _gmpc_meta_data_edit_window_image_downloaded_gmpc_async_download_callback (const GEADAsyncHandler* handle, GEADStatus status, gpointer self) { + gmpc_meta_data_edit_window_image_downloaded (self, handle, status); +} + + +void gmpc_meta_data_edit_window_callback (GmpcMetaDataEditWindow* self, void* handle, const char* plugin_name, GList* list) { + GError * _inner_error_; + g_return_if_fail (self != NULL); + _inner_error_ = NULL; + gtk_progress_bar_pulse (self->priv->bar); + if (list == NULL) { + if (self->priv->handle == handle) { + gboolean _tmp0_; + self->priv->handle = NULL; + _tmp0_ = FALSE; + if (self->priv->handle == NULL) { + _tmp0_ = self->priv->downloads == NULL; + } else { + _tmp0_ = FALSE; + } + if (_tmp0_) { + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->combo, "sensitive", TRUE, NULL); + } + } + if (self->priv->handle2 == handle) { + gboolean _tmp1_; + self->priv->handle2 = NULL; + _tmp1_ = FALSE; + if (self->priv->handle == NULL) { + _tmp1_ = self->priv->downloads == NULL; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + g_object_set ((GtkWidget*) self->priv->combo, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } + } + } + { + GList* md_collection; + GList* md_it; + md_collection = list; + for (md_it = md_collection; md_it != NULL; md_it = md_it->next) { + const MetaData* md; + md = (const MetaData*) md_it->data; + { + gboolean _tmp2_; + _tmp2_ = FALSE; + if (self->priv->query_type == META_ALBUM_ART) { + _tmp2_ = TRUE; + } else { + _tmp2_ = self->priv->query_type == META_ARTIST_ART; + } + if (_tmp2_) { + const char* uri; + uri = meta_data_get_uri (md); + if (md->content_type == META_DATA_CONTENT_URI) { + if (g_utf8_get_char (g_utf8_offset_to_pointer (uri, 0)) == '/') { + { + GdkPixbuf* pb; + pb = gdk_pixbuf_new_from_file (uri, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch2_g_error; + goto __finally2; + } + if (pb != NULL) { + gint w; + gint h; + w = 0; + h = 0; + gmpc_meta_data_edit_window_add_entry_image (self, plugin_name, uri, gdk_pixbuf_get_file_info (uri, &w, &h), pb); + } + (pb == NULL) ? NULL : (pb = (g_object_unref (pb), NULL)); + } + goto __finally2; + __catch2_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally2: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + } else { + GEADAsyncHandler* h; + h = gmpc_easy_async_downloader (uri, _gmpc_meta_data_edit_window_image_downloaded_gmpc_async_download_callback, self); + if (h != NULL) { + gmpc_easy_handler_set_user_data (h, md->plugin_name); + self->priv->downloads = g_list_append (self->priv->downloads, h); + } + } + } + } else { + if (md->content_type == META_DATA_CONTENT_TEXT) { + const char* uri; + uri = meta_data_get_text (md); + gmpc_meta_data_edit_window_add_entry_text (self, plugin_name, "n/a", uri); + } else { + if (md->content_type == META_DATA_CONTENT_URI) { + const char* uri; + uri = meta_data_get_uri (md); + if (g_utf8_get_char (g_utf8_offset_to_pointer (uri, 0)) == '/') { + { + char* content; + char* _tmp5_; + gboolean _tmp4_; + char* _tmp3_; + gboolean _tmp6_; + content = NULL; + _tmp5_ = NULL; + _tmp3_ = NULL; + _tmp6_ = (_tmp4_ = g_file_get_contents (uri, &_tmp3_, NULL, &_inner_error_), content = (_tmp5_ = _tmp3_, content = (g_free (content), NULL), _tmp5_), _tmp4_); + if (_inner_error_ != NULL) { + content = (g_free (content), NULL); + goto __catch3_g_error; + goto __finally3; + } + if (_tmp6_) { + gmpc_meta_data_edit_window_add_entry_text (self, plugin_name, uri, content); + } + content = (g_free (content), NULL); + } + goto __finally3; + __catch3_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally3: + if (_inner_error_ != NULL) { + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + } + } + } + } + } + } + } +} + + +void gmpc_meta_data_edit_window_store_image (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status) { + GError * _inner_error_; + g_return_if_fail (self != NULL); + g_return_if_fail (handle != NULL); + _inner_error_ = NULL; + if (status == GEAD_PROGRESS) { + guchar* _tmp1_; + gint data_size; + gint data_length1; + gint _tmp0_; + guchar* data; + gint64 total_size; + gboolean _tmp2_; + _tmp1_ = NULL; + data = (_tmp1_ = gmpc_easy_handler_get_data_vala_wrap (handle, &_tmp0_), data_length1 = _tmp0_, data_size = data_length1, _tmp1_); + g_object_set ((GtkWidget*) self, "sensitive", FALSE, NULL); + gtk_widget_show ((GtkWidget*) self->priv->pbox); + total_size = gmpc_easy_handler_get_content_size (handle); + _tmp2_ = FALSE; + if (data_length1 > 0) { + _tmp2_ = total_size > 0; + } else { + _tmp2_ = FALSE; + } + if (_tmp2_) { + double progress; + progress = data_length1 / ((double) total_size); + gtk_progress_bar_set_fraction (self->priv->bar, progress); + } else { + gtk_progress_bar_pulse (self->priv->bar); + } + return; + } + self->priv->downloads = g_list_remove (self->priv->downloads, handle); + if (status == GEAD_DONE) { + guchar* _tmp4_; + gint data_size; + gint data_length1; + gint _tmp3_; + guchar* data; + char* file; + _tmp4_ = NULL; + data = (_tmp4_ = gmpc_easy_handler_get_data_vala_wrap (handle, &_tmp3_), data_length1 = _tmp3_, data_size = data_length1, _tmp4_); + file = gmpc_get_metadata_filename (self->priv->query_type, self->priv->song, NULL); + { + MetaData* met; + MetaData* met_false; + g_file_set_contents (file, (const char*) data, (glong) data_length1, &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch4_g_error; + goto __finally4; + } + met = meta_data_new (); + met->type = self->priv->query_type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + meta_data_set_uri (met, file); + meta_data_set_cache (self->priv->song, META_DATA_AVAILABLE, met); + met_false = meta_data_new (); + met_false->type = self->priv->query_type; + met_false->plugin_name = "User set"; + met_false->content_type = META_DATA_CONTENT_EMPTY; + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_UNAVAILABLE, met_false); + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_AVAILABLE, met); + (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)); + (met_false == NULL) ? NULL : (met_false = (meta_data_free (met_false), NULL)); + } + goto __finally4; + __catch4_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally4: + if (_inner_error_ != NULL) { + file = (g_free (file), NULL); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + file = (g_free (file), NULL); + } + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + g_object_set ((GtkWidget*) self, "sensitive", TRUE, NULL); +} + + +static void _gmpc_meta_data_edit_window_store_image_gmpc_async_download_callback (const GEADAsyncHandler* handle, GEADStatus status, gpointer self) { + gmpc_meta_data_edit_window_store_image (self, handle, status); +} + + +static void gmpc_meta_data_edit_window_set_metadata (GmpcMetaDataEditWindow* self, GtkButton* button) { + GError * _inner_error_; + GtkTreeIter iter = {0}; + GtkTreeSelection* _tmp0_; + GtkTreeSelection* sel; + char* path; + GtkTreeModel* model; + GtkTreeModel* _tmp4_; + GtkTreeModel* _tmp3_; + gboolean _tmp2_; + GtkTreeModel* _tmp1_; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + _inner_error_ = NULL; + _tmp0_ = NULL; + sel = (_tmp0_ = gtk_tree_view_get_selection (self->priv->tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + path = NULL; + model = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + _tmp1_ = NULL; + if ((_tmp2_ = gtk_tree_selection_get_selected (sel, &_tmp1_, &iter), model = (_tmp3_ = (_tmp4_ = _tmp1_, (_tmp4_ == NULL) ? NULL : g_object_ref (_tmp4_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp3_), _tmp2_)) { + gboolean _tmp5_; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model, &iter, 1, &path, -1); + _tmp5_ = FALSE; + if (self->priv->query_type == META_ALBUM_ART) { + _tmp5_ = TRUE; + } else { + _tmp5_ = self->priv->query_type == META_ARTIST_ART; + } + if (_tmp5_) { + if (g_utf8_get_char (g_utf8_offset_to_pointer (path, 0)) == '/') { + MetaData* met; + MetaData* met_false; + met = meta_data_new (); + met->type = self->priv->query_type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + meta_data_set_uri (met, path); + meta_data_set_cache (self->priv->song, META_DATA_AVAILABLE, met); + met_false = meta_data_new (); + met_false->type = self->priv->query_type; + met_false->plugin_name = "User set"; + met_false->content_type = META_DATA_CONTENT_EMPTY; + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_UNAVAILABLE, met_false); + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_AVAILABLE, met); + (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)); + (met_false == NULL) ? NULL : (met_false = (meta_data_free (met_false), NULL)); + } else { + GEADAsyncHandler* h; + h = gmpc_easy_async_downloader (path, _gmpc_meta_data_edit_window_store_image_gmpc_async_download_callback, self); + if (h != NULL) { + self->priv->downloads = g_list_append (self->priv->downloads, h); + } + } + } else { + char* lyric; + char* file; + lyric = NULL; + gtk_tree_model_get ((GtkTreeModel*) self->priv->model, &iter, 3, &lyric, -1); + file = gmpc_get_metadata_filename (self->priv->query_type, self->priv->song, NULL); + { + MetaData* met; + MetaData* met_false; + g_file_set_contents (file, lyric, (glong) (-1), &_inner_error_); + if (_inner_error_ != NULL) { + goto __catch5_g_error; + goto __finally5; + } + met = meta_data_new (); + met->type = self->priv->query_type; + met->plugin_name = "User set"; + met->content_type = META_DATA_CONTENT_URI; + meta_data_set_uri (met, file); + meta_data_set_cache (self->priv->song, META_DATA_AVAILABLE, met); + met_false = meta_data_new (); + met_false->type = self->priv->query_type; + met_false->plugin_name = "User set"; + met_false->content_type = META_DATA_CONTENT_EMPTY; + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_UNAVAILABLE, met_false); + g_signal_emit_by_name (gmw, "data-changed", self->priv->song, self->priv->query_type, META_DATA_AVAILABLE, met); + (met == NULL) ? NULL : (met = (meta_data_free (met), NULL)); + (met_false == NULL) ? NULL : (met_false = (meta_data_free (met_false), NULL)); + } + goto __finally5; + __catch5_g_error: + { + GError * e; + e = _inner_error_; + _inner_error_ = NULL; + { + (e == NULL) ? NULL : (e = (g_error_free (e), NULL)); + } + } + __finally5: + if (_inner_error_ != NULL) { + lyric = (g_free (lyric), NULL); + file = (g_free (file), NULL); + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + path = (g_free (path), NULL); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + g_critical ("file %s: line %d: uncaught error: %s", __FILE__, __LINE__, _inner_error_->message); + g_clear_error (&_inner_error_); + return; + } + lyric = (g_free (lyric), NULL); + file = (g_free (file), NULL); + } + } + (sel == NULL) ? NULL : (sel = (g_object_unref (sel), NULL)); + path = (g_free (path), NULL); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); +} + + +void gmpc_meta_data_edit_window_destroy_popup (GmpcMetaDataEditWindow* self, GtkButton* button) { + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + gtk_object_destroy ((GtkObject*) self); +} + + +static void _gmpc_meta_data_edit_window_callback_gmpc_meta_data_callback (void* handle, const char* plugin_name, GList* list, gpointer self) { + gmpc_meta_data_edit_window_callback (self, handle, plugin_name, list); +} + + +void gmpc_meta_data_edit_window_refresh_query (GmpcMetaDataEditWindow* self, GtkButton* button) { + const mpd_Song* _tmp0_; + mpd_Song* ss; + char* _tmp2_; + const char* _tmp1_; + char* _tmp4_; + const char* _tmp3_; + char* _tmp6_; + const char* _tmp5_; + gboolean _tmp7_; + g_return_if_fail (self != NULL); + g_return_if_fail (button != NULL); + gtk_list_store_clear (self->priv->model); + _tmp0_ = NULL; + ss = (_tmp0_ = self->priv->song, (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)); + _tmp2_ = NULL; + _tmp1_ = NULL; + ss->artist = (_tmp2_ = (_tmp1_ = gtk_entry_get_text (self->priv->artist_entry), (_tmp1_ == NULL) ? NULL : g_strdup (_tmp1_)), ss->artist = (g_free (ss->artist), NULL), _tmp2_); + _tmp4_ = NULL; + _tmp3_ = NULL; + ss->album = (_tmp4_ = (_tmp3_ = gtk_entry_get_text (self->priv->album_entry), (_tmp3_ == NULL) ? NULL : g_strdup (_tmp3_)), ss->album = (g_free (ss->album), NULL), _tmp4_); + _tmp6_ = NULL; + _tmp5_ = NULL; + ss->title = (_tmp6_ = (_tmp5_ = gtk_entry_get_text (self->priv->title_entry), (_tmp5_ == NULL) ? NULL : g_strdup (_tmp5_)), ss->title = (g_free (ss->title), NULL), _tmp6_); + _tmp7_ = FALSE; + if (self->priv->handle == NULL) { + _tmp7_ = self->priv->handle2 == NULL; + } else { + _tmp7_ = FALSE; + } + if (_tmp7_) { + self->priv->handle = metadata_get_list (ss, self->priv->query_type, _gmpc_meta_data_edit_window_callback_gmpc_meta_data_callback, self); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", FALSE, NULL); + g_object_set ((GtkWidget*) self->priv->combo, "sensitive", FALSE, NULL); + gtk_widget_show ((GtkWidget*) self->priv->pbox); + } + (ss == NULL) ? NULL : (ss = (mpd_freeSong (ss), NULL)); +} + + +static void gmpc_meta_data_edit_window_combo_box_changed (GmpcMetaDataEditWindow* self, GtkComboBox* comb) { + gint active; + g_return_if_fail (self != NULL); + g_return_if_fail (comb != NULL); + active = gtk_combo_box_get_active (comb); + gtk_list_store_clear (self->priv->model); + g_object_set ((GtkWidget*) self->priv->title_entry, "sensitive", FALSE, NULL); + g_object_set ((GtkWidget*) self->priv->album_entry, "sensitive", FALSE, NULL); + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", FALSE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", FALSE, NULL); + gtk_widget_hide ((GtkWidget*) self->priv->warning_label); + if (self->priv->column != NULL) { + GtkTreeViewColumn* _tmp0_; + gtk_tree_view_remove_column (self->priv->tree, self->priv->column); + gtk_object_destroy ((GtkObject*) self->priv->column); + _tmp0_ = NULL; + self->priv->column = (_tmp0_ = NULL, (self->priv->column == NULL) ? NULL : (self->priv->column = (g_object_unref (self->priv->column), NULL)), _tmp0_); + } + if (active == 0) { + self->priv->query_type = META_ARTIST_ART; + if (self->priv->song->artist != NULL) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } else { + if (active == 1) { + gboolean _tmp1_; + self->priv->query_type = META_ALBUM_ART; + _tmp1_ = FALSE; + if (self->priv->song->artist != NULL) { + _tmp1_ = self->priv->song->album != NULL; + } else { + _tmp1_ = FALSE; + } + if (_tmp1_) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->album_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } else { + if (active == 2) { + gboolean _tmp2_; + self->priv->query_type = META_SONG_TXT; + _tmp2_ = FALSE; + if (self->priv->song->artist != NULL) { + _tmp2_ = self->priv->song->title != NULL; + } else { + _tmp2_ = FALSE; + } + if (_tmp2_) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->title_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } else { + if (active == 3) { + gboolean _tmp3_; + self->priv->query_type = META_ALBUM_TXT; + _tmp3_ = FALSE; + if (self->priv->song->artist != NULL) { + _tmp3_ = self->priv->song->album != NULL; + } else { + _tmp3_ = FALSE; + } + if (_tmp3_) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->album_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } else { + if (active == 4) { + self->priv->query_type = META_ARTIST_TXT; + if (self->priv->song->artist != NULL) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } else { + if (active == 5) { + gboolean _tmp4_; + self->priv->query_type = META_SONG_GUITAR_TAB; + _tmp4_ = FALSE; + if (self->priv->song->artist != NULL) { + _tmp4_ = self->priv->song->title != NULL; + } else { + _tmp4_ = FALSE; + } + if (_tmp4_) { + g_object_set ((GtkWidget*) self->priv->artist_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->title_entry, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + } else { + gtk_widget_show ((GtkWidget*) self->priv->warning_label); + } + } + } + } + } + } + } + if (active < 2) { + GtkCellRendererPixbuf* renderer; + GtkTreeViewColumn* _tmp5_; + renderer = g_object_ref_sink ((GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ()); + _tmp5_ = NULL; + self->priv->column = (_tmp5_ = g_object_ref_sink (gtk_tree_view_column_new ()), (self->priv->column == NULL) ? NULL : (self->priv->column = (g_object_unref (self->priv->column), NULL)), _tmp5_); + gtk_tree_view_column_set_resizable (self->priv->column, TRUE); + gtk_cell_layout_pack_start ((GtkCellLayout*) self->priv->column, (GtkCellRenderer*) renderer, FALSE); + g_object_set ((GObject*) renderer, "xalign", 0.0f, NULL); + g_object_set ((GObject*) renderer, "yalign", 0.0f, NULL); + gtk_tree_view_append_column (self->priv->tree, self->priv->column); + gtk_tree_view_column_set_title (self->priv->column, _ ("Cover")); + gtk_cell_layout_add_attribute ((GtkCellLayout*) self->priv->column, (GtkCellRenderer*) renderer, "pixbuf", 0); + (renderer == NULL) ? NULL : (renderer = (g_object_unref (renderer), NULL)); + } else { + GtkCellRendererText* renderer; + GtkTreeViewColumn* _tmp6_; + renderer = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()); + _tmp6_ = NULL; + self->priv->column = (_tmp6_ = g_object_ref_sink (gtk_tree_view_column_new ()), (self->priv->column == NULL) ? NULL : (self->priv->column = (g_object_unref (self->priv->column), NULL)), _tmp6_); + gtk_tree_view_column_set_resizable (self->priv->column, TRUE); + gtk_cell_layout_pack_start ((GtkCellLayout*) self->priv->column, (GtkCellRenderer*) renderer, FALSE); + gtk_tree_view_append_column (self->priv->tree, self->priv->column); + g_object_set ((GObject*) renderer, "wrap-mode", PANGO_WRAP_WORD, NULL); + g_object_set ((GObject*) renderer, "wrap-width", 300, NULL); + gtk_tree_view_column_set_title (self->priv->column, _ ("Lyric")); + gtk_cell_layout_add_attribute ((GtkCellLayout*) self->priv->column, (GtkCellRenderer*) renderer, "text", 3); + (renderer == NULL) ? NULL : (renderer = (g_object_unref (renderer), NULL)); + } +} + + +static void _gmpc_meta_data_edit_window_b_cancel_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_meta_data_edit_window_b_cancel (self); +} + + +static void _gmpc_meta_data_edit_window_destroy_popup_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_meta_data_edit_window_destroy_popup (self, _sender); +} + + +static void _gmpc_meta_data_edit_window_set_metadata_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_meta_data_edit_window_set_metadata (self, _sender); +} + + +static void _gmpc_meta_data_edit_window_combo_box_changed_gtk_combo_box_changed (GtkComboBox* _sender, gpointer self) { + gmpc_meta_data_edit_window_combo_box_changed (self, _sender); +} + + +static void _gmpc_meta_data_edit_window_refresh_query_gtk_button_clicked (GtkButton* _sender, gpointer self) { + gmpc_meta_data_edit_window_refresh_query (self, _sender); +} + + +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_construct (GType object_type, const mpd_Song* song, MetaDataType type) { + GmpcMetaDataEditWindow * self; + GtkVBox* vbox; + mpd_Song* _tmp1_; + const mpd_Song* _tmp0_; + GtkHBox* _tmp2_; + GtkProgressBar* _tmp3_; + GtkButton* _tmp4_; + GtkListStore* _tmp5_; + GtkScrolledWindow* sw; + GtkTreeView* iv; + GtkTreeView* _tmp7_; + GtkTreeView* _tmp6_; + GtkCellRendererText* rendererpb; + GtkTreeViewColumn* column; + GtkHBox* hbox; + GtkButton* button; + GtkButton* _tmp8_; + GtkLabel* _tmp9_; + char* _tmp10_; + GtkSizeGroup* group; + GtkHBox* qhbox; + GtkLabel* label; + GtkComboBox* _tmp11_; + GtkHBox* _tmp12_; + GtkLabel* _tmp13_; + GtkEntry* _tmp14_; + GtkButton* _tmp23_; + GtkButton* _tmp22_; + GtkButton* _tmp21_; + GtkAlignment* ali; + g_return_val_if_fail (song != NULL, NULL); + self = g_object_newv (object_type, 0, NULL); + vbox = g_object_ref_sink ((GtkVBox*) gtk_vbox_new (FALSE, 6)); + _tmp1_ = NULL; + _tmp0_ = NULL; + self->priv->song = (_tmp1_ = (_tmp0_ = song, (_tmp0_ == NULL) ? NULL : mpd_songDup (_tmp0_)), (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)), _tmp1_); + self->priv->query_type = type; + _tmp2_ = NULL; + self->priv->pbox = (_tmp2_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (self->priv->pbox == NULL) ? NULL : (self->priv->pbox = (g_object_unref (self->priv->pbox), NULL)), _tmp2_); + _tmp3_ = NULL; + self->priv->bar = (_tmp3_ = g_object_ref_sink ((GtkProgressBar*) gtk_progress_bar_new ()), (self->priv->bar == NULL) ? NULL : (self->priv->bar = (g_object_unref (self->priv->bar), NULL)), _tmp3_); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) self->priv->pbox, FALSE, FALSE, (guint) 0); + _tmp4_ = NULL; + self->priv->cancel = (_tmp4_ = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-cancel")), (self->priv->cancel == NULL) ? NULL : (self->priv->cancel = (g_object_unref (self->priv->cancel), NULL)), _tmp4_); + g_signal_connect_object (self->priv->cancel, "clicked", (GCallback) _gmpc_meta_data_edit_window_b_cancel_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) self->priv->pbox, (GtkWidget*) self->priv->bar, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) self->priv->pbox, (GtkWidget*) self->priv->cancel, FALSE, FALSE, (guint) 0); + gtk_widget_show ((GtkWidget*) self->priv->bar); + gtk_widget_show ((GtkWidget*) self->priv->cancel); + gtk_widget_set_no_show_all ((GtkWidget*) self->priv->pbox, TRUE); + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + _tmp5_ = NULL; + self->priv->model = (_tmp5_ = gtk_list_store_new (4, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, NULL), (self->priv->model == NULL) ? NULL : (self->priv->model = (g_object_unref (self->priv->model), NULL)), _tmp5_); + sw = g_object_ref_sink ((GtkScrolledWindow*) gtk_scrolled_window_new (NULL, NULL)); + iv = g_object_ref_sink ((GtkTreeView*) gtk_tree_view_new ()); + _tmp7_ = NULL; + _tmp6_ = NULL; + self->priv->tree = (_tmp7_ = (_tmp6_ = iv, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)), (self->priv->tree == NULL) ? NULL : (self->priv->tree = (g_object_unref (self->priv->tree), NULL)), _tmp7_); + gtk_scrolled_window_set_policy (sw, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (sw, GTK_SHADOW_ETCHED_IN); + gtk_tree_view_set_model (iv, (GtkTreeModel*) self->priv->model); + gtk_tree_view_set_rules_hint (self->priv->tree, TRUE); + rendererpb = g_object_ref_sink ((GtkCellRendererText*) gtk_cell_renderer_text_new ()); + column = g_object_ref_sink (gtk_tree_view_column_new ()); + gtk_tree_view_column_set_resizable (column, TRUE); + gtk_tree_view_column_set_min_width (column, 250); + g_object_set ((GObject*) rendererpb, "xalign", 0.0f, NULL); + g_object_set ((GObject*) rendererpb, "yalign", 0.0f, NULL); + g_object_set ((GObject*) rendererpb, "ellipsize", PANGO_ELLIPSIZE_END, NULL); + gtk_cell_layout_pack_start ((GtkCellLayout*) column, (GtkCellRenderer*) rendererpb, TRUE); + gtk_tree_view_append_column (iv, column); + gtk_tree_view_column_set_title (column, _ ("Information")); + gtk_cell_layout_add_attribute ((GtkCellLayout*) column, (GtkCellRenderer*) rendererpb, "markup", 2); + hbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + button = g_object_ref_sink ((GtkButton*) gtk_button_new_from_stock ("gtk-quit")); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_meta_data_edit_window_destroy_popup_gtk_button_clicked, self, 0); + gtk_box_pack_end ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + _tmp8_ = NULL; + button = (_tmp8_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_mnemonic ("_Set")), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp8_); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_meta_data_edit_window_set_metadata_gtk_button_clicked, self, 0); + gtk_box_pack_end ((GtkBox*) hbox, (GtkWidget*) button, FALSE, FALSE, (guint) 0); + gtk_box_pack_end ((GtkBox*) vbox, (GtkWidget*) hbox, FALSE, FALSE, (guint) 0); + _tmp9_ = NULL; + self->priv->warning_label = (_tmp9_ = g_object_ref_sink ((GtkLabel*) gtk_label_new ("")), (self->priv->warning_label == NULL) ? NULL : (self->priv->warning_label = (g_object_unref (self->priv->warning_label), NULL)), _tmp9_); + _tmp10_ = NULL; + gtk_label_set_markup (self->priv->warning_label, _tmp10_ = g_strdup_printf ("%s", _ ("Insufficient information to store/fetch this metadata"))); + _tmp10_ = (g_free (_tmp10_), NULL); + gtk_misc_set_alignment ((GtkMisc*) self->priv->warning_label, 0.0f, 0.5f); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) self->priv->warning_label, FALSE, FALSE, (guint) 0); + gtk_widget_hide ((GtkWidget*) self->priv->warning_label); + group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + qhbox = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)); + label = g_object_ref_sink ((GtkLabel*) gtk_label_new ("Type")); + gtk_size_group_add_widget (group, (GtkWidget*) label); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp11_ = NULL; + self->priv->combo = (_tmp11_ = g_object_ref_sink ((GtkComboBox*) gtk_combo_box_new_text ()), (self->priv->combo == NULL) ? NULL : (self->priv->combo = (g_object_unref (self->priv->combo), NULL)), _tmp11_); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) self->priv->combo, FALSE, FALSE, (guint) 0); + gtk_combo_box_append_text (self->priv->combo, _ ("Artist art")); + gtk_combo_box_append_text (self->priv->combo, _ ("Album art")); + gtk_combo_box_append_text (self->priv->combo, _ ("Song Lyrics")); + gtk_combo_box_append_text (self->priv->combo, _ ("Album Info")); + gtk_combo_box_append_text (self->priv->combo, _ ("Artist Biography")); + gtk_combo_box_append_text (self->priv->combo, _ ("Guitar Tab")); + g_signal_connect_object (self->priv->combo, "changed", (GCallback) _gmpc_meta_data_edit_window_combo_box_changed_gtk_combo_box_changed, self, 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) qhbox, FALSE, FALSE, (guint) 0); + _tmp12_ = NULL; + qhbox = (_tmp12_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (qhbox == NULL) ? NULL : (qhbox = (g_object_unref (qhbox), NULL)), _tmp12_); + _tmp13_ = NULL; + label = (_tmp13_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Artist"))), (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)), _tmp13_); + gtk_size_group_add_widget (group, (GtkWidget*) label); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp14_ = NULL; + self->priv->artist_entry = (_tmp14_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), (self->priv->artist_entry == NULL) ? NULL : (self->priv->artist_entry = (g_object_unref (self->priv->artist_entry), NULL)), _tmp14_); + gtk_entry_set_text (self->priv->artist_entry, song->artist); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) self->priv->artist_entry, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) qhbox, FALSE, FALSE, (guint) 0); + { + GtkHBox* _tmp15_; + GtkLabel* _tmp16_; + GtkEntry* _tmp17_; + _tmp15_ = NULL; + qhbox = (_tmp15_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (qhbox == NULL) ? NULL : (qhbox = (g_object_unref (qhbox), NULL)), _tmp15_); + _tmp16_ = NULL; + label = (_tmp16_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Album"))), (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)), _tmp16_); + gtk_size_group_add_widget (group, (GtkWidget*) label); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp17_ = NULL; + self->priv->album_entry = (_tmp17_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), (self->priv->album_entry == NULL) ? NULL : (self->priv->album_entry = (g_object_unref (self->priv->album_entry), NULL)), _tmp17_); + if (song->album != NULL) { + gtk_entry_set_text (self->priv->album_entry, song->album); + } + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) self->priv->album_entry, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) qhbox, FALSE, FALSE, (guint) 0); + } + { + GtkHBox* _tmp18_; + GtkLabel* _tmp19_; + GtkEntry* _tmp20_; + _tmp18_ = NULL; + qhbox = (_tmp18_ = g_object_ref_sink ((GtkHBox*) gtk_hbox_new (FALSE, 6)), (qhbox == NULL) ? NULL : (qhbox = (g_object_unref (qhbox), NULL)), _tmp18_); + _tmp19_ = NULL; + label = (_tmp19_ = g_object_ref_sink ((GtkLabel*) gtk_label_new (_ ("Title"))), (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)), _tmp19_); + gtk_size_group_add_widget (group, (GtkWidget*) label); + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) label, FALSE, FALSE, (guint) 0); + _tmp20_ = NULL; + self->priv->title_entry = (_tmp20_ = g_object_ref_sink ((GtkEntry*) gtk_entry_new ()), (self->priv->title_entry == NULL) ? NULL : (self->priv->title_entry = (g_object_unref (self->priv->title_entry), NULL)), _tmp20_); + if (song->title != NULL) { + gtk_entry_set_text (self->priv->title_entry, song->title); + } + gtk_box_pack_start ((GtkBox*) qhbox, (GtkWidget*) self->priv->title_entry, TRUE, TRUE, (guint) 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) qhbox, FALSE, FALSE, (guint) 0); + } + if (type != META_ALBUM_ART) { + g_object_set ((GtkWidget*) self->priv->album_entry, "sensitive", FALSE, NULL); + } + _tmp23_ = NULL; + _tmp22_ = NULL; + _tmp21_ = NULL; + self->priv->refresh = (_tmp23_ = (_tmp22_ = button = (_tmp21_ = g_object_ref_sink ((GtkButton*) gtk_button_new_with_label (_ ("Query"))), (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)), _tmp21_), (_tmp22_ == NULL) ? NULL : g_object_ref (_tmp22_)), (self->priv->refresh == NULL) ? NULL : (self->priv->refresh = (g_object_unref (self->priv->refresh), NULL)), _tmp23_); + ali = g_object_ref_sink ((GtkAlignment*) gtk_alignment_new (1.0f, 0.5f, 0.0f, 0.0f)); + gtk_container_add ((GtkContainer*) ali, (GtkWidget*) button); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) ali, FALSE, FALSE, (guint) 0); + g_signal_connect_object (button, "clicked", (GCallback) _gmpc_meta_data_edit_window_refresh_query_gtk_button_clicked, self, 0); + gtk_box_pack_start ((GtkBox*) vbox, (GtkWidget*) sw, TRUE, TRUE, (guint) 0); + gtk_container_add ((GtkContainer*) self, (GtkWidget*) vbox); + gtk_widget_hide_on_delete ((GtkWidget*) self); + gtk_container_add ((GtkContainer*) sw, (GtkWidget*) iv); + gtk_widget_show_all ((GtkWidget*) self); + if (type == META_ARTIST_ART) { + gtk_combo_box_set_active (self->priv->combo, 0); + } else { + if (type == META_ALBUM_ART) { + gtk_combo_box_set_active (self->priv->combo, 1); + } else { + if (type == META_SONG_TXT) { + gtk_combo_box_set_active (self->priv->combo, 2); + } else { + if (type == META_ALBUM_TXT) { + gtk_combo_box_set_active (self->priv->combo, 3); + } else { + if (type == META_ARTIST_TXT) { + gtk_combo_box_set_active (self->priv->combo, 4); + } else { + if (type == META_SONG_GUITAR_TAB) { + gtk_combo_box_set_active (self->priv->combo, 5); + } + } + } + } + } + } + (vbox == NULL) ? NULL : (vbox = (g_object_unref (vbox), NULL)); + (sw == NULL) ? NULL : (sw = (g_object_unref (sw), NULL)); + (iv == NULL) ? NULL : (iv = (g_object_unref (iv), NULL)); + (rendererpb == NULL) ? NULL : (rendererpb = (g_object_unref (rendererpb), NULL)); + (column == NULL) ? NULL : (column = (g_object_unref (column), NULL)); + (hbox == NULL) ? NULL : (hbox = (g_object_unref (hbox), NULL)); + (button == NULL) ? NULL : (button = (g_object_unref (button), NULL)); + (group == NULL) ? NULL : (group = (g_object_unref (group), NULL)); + (qhbox == NULL) ? NULL : (qhbox = (g_object_unref (qhbox), NULL)); + (label == NULL) ? NULL : (label = (g_object_unref (label), NULL)); + (ali == NULL) ? NULL : (ali = (g_object_unref (ali), NULL)); + return self; +} + + +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_new (const mpd_Song* song, MetaDataType type) { + return gmpc_meta_data_edit_window_construct (GMPC_META_DATA_TYPE_EDIT_WINDOW, song, type); +} + + +void gmpc_meta_data_edit_window_b_cancel (GmpcMetaDataEditWindow* self) { + g_return_if_fail (self != NULL); + if (self->priv->handle != NULL) { + metadata_get_list_cancel (self->priv->handle); + self->priv->handle = NULL; + } + if (self->priv->handle2 != NULL) { + metadata_get_list_cancel (self->priv->handle2); + self->priv->handle2 = NULL; + } + g_list_first (self->priv->downloads); + while (TRUE) { + GEADAsyncHandler* handle; + if (!(self->priv->downloads != NULL)) { + break; + } + handle = (const GEADAsyncHandler*) self->priv->downloads->data; + gmpc_easy_async_cancel (handle); + g_list_first (self->priv->downloads); + } + gtk_widget_hide ((GtkWidget*) self->priv->pbox); + g_object_set ((GtkWidget*) self->priv->refresh, "sensitive", TRUE, NULL); + g_object_set ((GtkWidget*) self->priv->combo, "sensitive", TRUE, NULL); +} + + +static GObject * gmpc_meta_data_edit_window_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcMetaDataEditWindowClass * klass; + GObjectClass * parent_class; + GmpcMetaDataEditWindow * self; + klass = GMPC_META_DATA_EDIT_WINDOW_CLASS (g_type_class_peek (GMPC_META_DATA_TYPE_EDIT_WINDOW)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_META_DATA_EDIT_WINDOW (obj); + { + g_object_set ((GtkWindow*) self, "type", GTK_WINDOW_TOPLEVEL, NULL); + gtk_window_set_default_size ((GtkWindow*) self, 650, 800); + gtk_container_set_border_width ((GtkContainer*) self, (guint) 8); + } + return obj; +} + + +static void gmpc_meta_data_edit_window_class_init (GmpcMetaDataEditWindowClass * klass) { + gmpc_meta_data_edit_window_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (GmpcMetaDataEditWindowPrivate)); + G_OBJECT_CLASS (klass)->constructor = gmpc_meta_data_edit_window_constructor; + G_OBJECT_CLASS (klass)->finalize = gmpc_meta_data_edit_window_finalize; +} + + +static void gmpc_meta_data_edit_window_instance_init (GmpcMetaDataEditWindow * self) { + self->priv = GMPC_META_DATA_EDIT_WINDOW_GET_PRIVATE (self); + self->priv->model = NULL; + self->priv->tree = NULL; + self->priv->downloads = NULL; + self->priv->song = NULL; + self->priv->query_type = META_ALBUM_ART; + self->priv->handle = NULL; + self->priv->handle2 = NULL; + self->priv->pbox = NULL; + self->priv->warning_label = NULL; + self->priv->cancel = NULL; + self->priv->refresh = NULL; + self->priv->combo = NULL; + self->priv->bar = NULL; + self->priv->column = NULL; +} + + +static void gmpc_meta_data_edit_window_finalize (GObject* obj) { + GmpcMetaDataEditWindow * self; + self = GMPC_META_DATA_EDIT_WINDOW (obj); + { + gmpc_meta_data_edit_window_b_cancel (self); + } + (self->priv->model == NULL) ? NULL : (self->priv->model = (g_object_unref (self->priv->model), NULL)); + (self->priv->tree == NULL) ? NULL : (self->priv->tree = (g_object_unref (self->priv->tree), NULL)); + (self->priv->downloads == NULL) ? NULL : (self->priv->downloads = (g_list_free (self->priv->downloads), NULL)); + (self->priv->song == NULL) ? NULL : (self->priv->song = (mpd_freeSong (self->priv->song), NULL)); + (self->priv->pbox == NULL) ? NULL : (self->priv->pbox = (g_object_unref (self->priv->pbox), NULL)); + (self->priv->warning_label == NULL) ? NULL : (self->priv->warning_label = (g_object_unref (self->priv->warning_label), NULL)); + (self->priv->artist_entry == NULL) ? NULL : (self->priv->artist_entry = (g_object_unref (self->priv->artist_entry), NULL)); + (self->priv->album_entry == NULL) ? NULL : (self->priv->album_entry = (g_object_unref (self->priv->album_entry), NULL)); + (self->priv->title_entry == NULL) ? NULL : (self->priv->title_entry = (g_object_unref (self->priv->title_entry), NULL)); + (self->priv->cancel == NULL) ? NULL : (self->priv->cancel = (g_object_unref (self->priv->cancel), NULL)); + (self->priv->refresh == NULL) ? NULL : (self->priv->refresh = (g_object_unref (self->priv->refresh), NULL)); + (self->priv->combo == NULL) ? NULL : (self->priv->combo = (g_object_unref (self->priv->combo), NULL)); + (self->priv->bar == NULL) ? NULL : (self->priv->bar = (g_object_unref (self->priv->bar), NULL)); + (self->priv->column == NULL) ? NULL : (self->priv->column = (g_object_unref (self->priv->column), NULL)); + G_OBJECT_CLASS (gmpc_meta_data_edit_window_parent_class)->finalize (obj); +} + + +GType gmpc_meta_data_edit_window_get_type (void) { + static GType gmpc_meta_data_edit_window_type_id = 0; + if (gmpc_meta_data_edit_window_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcMetaDataEditWindowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_meta_data_edit_window_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcMetaDataEditWindow), 0, (GInstanceInitFunc) gmpc_meta_data_edit_window_instance_init, NULL }; + gmpc_meta_data_edit_window_type_id = g_type_register_static (GTK_TYPE_WINDOW, "GmpcMetaDataEditWindow", &g_define_type_info, 0); + } + return gmpc_meta_data_edit_window_type_id; +} + + +static gint* gmpc_test_plugin_real_get_version (GmpcPluginBase* base, int* result_length1) { + GmpcTestPlugin * self; + gint* result; + gint* _tmp0_; + self = (GmpcTestPlugin*) base; + _tmp0_ = NULL; + result = (_tmp0_ = GMPC_TEST_PLUGIN_version, *result_length1 = G_N_ELEMENTS (GMPC_TEST_PLUGIN_version), _tmp0_); + return result; +} + + +/** + * The name of the plugin + */ +static const char* gmpc_test_plugin_real_get_name (GmpcPluginBase* base) { + GmpcTestPlugin * self; + const char* result; + self = (GmpcTestPlugin*) base; + result = "Vala test plugin"; + return result; +} + + +/** + * Tells the plugin to save itself + */ +static void gmpc_test_plugin_real_save_yourself (GmpcPluginBase* base) { + GmpcTestPlugin * self; + self = (GmpcTestPlugin*) base; +} + + +/* nothing to save +* + * Get set enabled + */ +static gboolean gmpc_test_plugin_real_get_enabled (GmpcPluginBase* base) { + GmpcTestPlugin * self; + gboolean result; + self = (GmpcTestPlugin*) base; + result = (gboolean) cfg_get_single_value_as_int_with_default (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "enabled", 1); + return result; +} + + +static void gmpc_test_plugin_real_set_enabled (GmpcPluginBase* base, gboolean state) { + GmpcTestPlugin * self; + self = (GmpcTestPlugin*) base; + cfg_set_single_value_as_int (config, gmpc_plugin_base_get_name ((GmpcPluginBase*) self), "enabled", (gint) state); +} + + +static void _g_list_free_gtk_tree_path_free (GList* self) { + g_list_foreach (self, (GFunc) gtk_tree_path_free, NULL); + g_list_free (self); +} + + +/********************************************************************************* + * Private + ********************************************************************************/ +static void gmpc_test_plugin_menu_activate_tree (GmpcTestPlugin* self, GtkMenuItem* item) { + GtkTreeView* _tmp0_; + GtkTreeView* tv; + GtkTreeModel* _tmp1_; + GtkTreeModel* model; + GtkTreeSelection* _tmp2_; + GtkTreeSelection* selection; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + _tmp0_ = NULL; + tv = (_tmp0_ = GTK_TREE_VIEW (g_object_get_data ((GObject*) item, "treeview")), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + model = (_tmp1_ = gtk_tree_view_get_model (tv), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + _tmp2_ = NULL; + selection = (_tmp2_ = gtk_tree_view_get_selection (tv), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)); + { + GtkTreeModel* _tmp6_; + GtkTreeModel* _tmp5_; + GList* _tmp4_; + GtkTreeModel* _tmp3_; + GList* path_collection; + GList* path_it; + _tmp6_ = NULL; + _tmp5_ = NULL; + _tmp4_ = NULL; + _tmp3_ = NULL; + path_collection = (_tmp4_ = gtk_tree_selection_get_selected_rows (selection, &_tmp3_), model = (_tmp5_ = (_tmp6_ = _tmp3_, (_tmp6_ == NULL) ? NULL : g_object_ref (_tmp6_)), (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)), _tmp5_), _tmp4_); + for (path_it = path_collection; path_it != NULL; path_it = path_it->next) { + const GtkTreePath* path; + path = (const GtkTreePath*) path_it->data; + { + GtkTreeIter iter = {0}; + if (gtk_tree_model_get_iter (model, &iter, path)) { + const mpd_Song* song; + song = NULL; + gtk_tree_model_get (model, &iter, 0, &song, -1); + if (song != NULL) { + GmpcMetaDataEditWindow* _tmp7_; + _tmp7_ = NULL; + _tmp7_ = g_object_ref_sink (gmpc_meta_data_edit_window_new (song, META_ALBUM_ART)); + (_tmp7_ == NULL) ? NULL : (_tmp7_ = (g_object_unref (_tmp7_), NULL)); + } + } + } + } + (path_collection == NULL) ? NULL : (path_collection = (_g_list_free_gtk_tree_path_free (path_collection), NULL)); + } + (tv == NULL) ? NULL : (tv = (g_object_unref (tv), NULL)); + (model == NULL) ? NULL : (model = (g_object_unref (model), NULL)); + (selection == NULL) ? NULL : (selection = (g_object_unref (selection), NULL)); +} + + +static void _gmpc_test_plugin_menu_activate_tree_gtk_menu_item_activate (GtkImageMenuItem* _sender, gpointer self) { + gmpc_test_plugin_menu_activate_tree (self, _sender); +} + + +static gint gmpc_test_plugin_real_song_list (GmpcPluginSongListIface* base, GtkWidget* tree, GtkMenu* menu) { + GmpcTestPlugin * self; + gint result; + GtkTreeView* _tmp0_; + GtkTreeView* tv; + GtkTreeSelection* _tmp1_; + GtkTreeSelection* selection; + self = (GmpcTestPlugin*) base; + g_return_val_if_fail (tree != NULL, 0); + g_return_val_if_fail (menu != NULL, 0); + _tmp0_ = NULL; + tv = (_tmp0_ = GTK_TREE_VIEW (tree), (_tmp0_ == NULL) ? NULL : g_object_ref (_tmp0_)); + _tmp1_ = NULL; + selection = (_tmp1_ = gtk_tree_view_get_selection (tv), (_tmp1_ == NULL) ? NULL : g_object_ref (_tmp1_)); + if (gtk_tree_selection_count_selected_rows (selection) > 0) { + GtkImageMenuItem* item; + GtkImage* _tmp2_; + item = g_object_ref_sink ((GtkImageMenuItem*) gtk_image_menu_item_new_with_label (_ ("Metadata selector"))); + _tmp2_ = NULL; + gtk_image_menu_item_set_image (item, (GtkWidget*) (_tmp2_ = g_object_ref_sink ((GtkImage*) gtk_image_new_from_stock ("gtk-edit", GTK_ICON_SIZE_MENU)))); + (_tmp2_ == NULL) ? NULL : (_tmp2_ = (g_object_unref (_tmp2_), NULL)); + g_object_set_data ((GObject*) item, "treeview", tv); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) ((GtkMenuItem*) item)); + g_signal_connect_object ((GtkMenuItem*) item, "activate", (GCallback) _gmpc_test_plugin_menu_activate_tree_gtk_menu_item_activate, self, 0); + result = 1; + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + (tv == NULL) ? NULL : (tv = (g_object_unref (tv), NULL)); + (selection == NULL) ? NULL : (selection = (g_object_unref (selection), NULL)); + return result; + } + result = 0; + (tv == NULL) ? NULL : (tv = (g_object_unref (tv), NULL)); + (selection == NULL) ? NULL : (selection = (g_object_unref (selection), NULL)); + return result; +} + + +void gmpc_test_plugin_menu_activated_album (GmpcTestPlugin* self, GtkMenuItem* item) { + const mpd_Song* song; + GmpcMetaDataEditWindow* _tmp0_; + g_return_if_fail (self != NULL); + g_return_if_fail (item != NULL); + song = mpd_playlist_get_current_song (connection); + _tmp0_ = NULL; + _tmp0_ = g_object_ref_sink (gmpc_meta_data_edit_window_new (song, META_ALBUM_ART)); + (_tmp0_ == NULL) ? NULL : (_tmp0_ = (g_object_unref (_tmp0_), NULL)); +} + + +static void _gmpc_test_plugin_menu_activated_album_gtk_menu_item_activate (GtkMenuItem* _sender, gpointer self) { + gmpc_test_plugin_menu_activated_album (self, _sender); +} + + +static gint gmpc_test_plugin_real_tool_menu_integration (GmpcPluginToolMenuIface* base, GtkMenu* menu) { + GmpcTestPlugin * self; + gint result; + GtkMenuItem* item; + self = (GmpcTestPlugin*) base; + g_return_val_if_fail (menu != NULL, 0); + item = g_object_ref_sink ((GtkMenuItem*) gtk_menu_item_new_with_label ("Edit metadata current song")); + gtk_menu_shell_append ((GtkMenuShell*) menu, (GtkWidget*) item); + g_signal_connect_object (item, "activate", (GCallback) _gmpc_test_plugin_menu_activated_album_gtk_menu_item_activate, self, 0); + result = 2; + (item == NULL) ? NULL : (item = (g_object_unref (item), NULL)); + return result; +} + + +GmpcTestPlugin* gmpc_test_plugin_construct (GType object_type) { + GmpcTestPlugin * self; + self = (GmpcTestPlugin*) gmpc_plugin_base_construct (object_type); + return self; +} + + +GmpcTestPlugin* gmpc_test_plugin_new (void) { + return gmpc_test_plugin_construct (GMPC_TYPE_TEST_PLUGIN); +} + + +/********************************************************************************* + * Plugin base functions + * These functions are required. + ********************************************************************************/ +static GObject * gmpc_test_plugin_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { + GObject * obj; + GmpcTestPluginClass * klass; + GObjectClass * parent_class; + GmpcTestPlugin * self; + klass = GMPC_TEST_PLUGIN_CLASS (g_type_class_peek (GMPC_TYPE_TEST_PLUGIN)); + parent_class = G_OBJECT_CLASS (g_type_class_peek_parent (klass)); + obj = parent_class->constructor (type, n_construct_properties, construct_properties); + self = GMPC_TEST_PLUGIN (obj); + { + /* Mark the plugin as an internal dummy */ + ((GmpcPluginBase*) self)->plugin_type = 8 + 4; + } + return obj; +} + + +static void gmpc_test_plugin_class_init (GmpcTestPluginClass * klass) { + gmpc_test_plugin_parent_class = g_type_class_peek_parent (klass); + GMPC_PLUGIN_BASE_CLASS (klass)->get_version = gmpc_test_plugin_real_get_version; + GMPC_PLUGIN_BASE_CLASS (klass)->get_name = gmpc_test_plugin_real_get_name; + GMPC_PLUGIN_BASE_CLASS (klass)->save_yourself = gmpc_test_plugin_real_save_yourself; + GMPC_PLUGIN_BASE_CLASS (klass)->get_enabled = gmpc_test_plugin_real_get_enabled; + GMPC_PLUGIN_BASE_CLASS (klass)->set_enabled = gmpc_test_plugin_real_set_enabled; + G_OBJECT_CLASS (klass)->constructor = gmpc_test_plugin_constructor; +} + + +static void gmpc_test_plugin_gmpc_plugin_tool_menu_iface_interface_init (GmpcPluginToolMenuIfaceIface * iface) { + gmpc_test_plugin_gmpc_plugin_tool_menu_iface_parent_iface = g_type_interface_peek_parent (iface); + iface->tool_menu_integration = gmpc_test_plugin_real_tool_menu_integration; +} + + +static void gmpc_test_plugin_gmpc_plugin_song_list_iface_interface_init (GmpcPluginSongListIfaceIface * iface) { + gmpc_test_plugin_gmpc_plugin_song_list_iface_parent_iface = g_type_interface_peek_parent (iface); + iface->song_list = gmpc_test_plugin_real_song_list; +} + + +static void gmpc_test_plugin_instance_init (GmpcTestPlugin * self) { +} + + +GType gmpc_test_plugin_get_type (void) { + static GType gmpc_test_plugin_type_id = 0; + if (gmpc_test_plugin_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (GmpcTestPluginClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gmpc_test_plugin_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GmpcTestPlugin), 0, (GInstanceInitFunc) gmpc_test_plugin_instance_init, NULL }; + static const GInterfaceInfo gmpc_plugin_tool_menu_iface_info = { (GInterfaceInitFunc) gmpc_test_plugin_gmpc_plugin_tool_menu_iface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo gmpc_plugin_song_list_iface_info = { (GInterfaceInitFunc) gmpc_test_plugin_gmpc_plugin_song_list_iface_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + gmpc_test_plugin_type_id = g_type_register_static (GMPC_PLUGIN_TYPE_BASE, "GmpcTestPlugin", &g_define_type_info, 0); + g_type_add_interface_static (gmpc_test_plugin_type_id, GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, &gmpc_plugin_tool_menu_iface_info); + g_type_add_interface_static (gmpc_test_plugin_type_id, GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, &gmpc_plugin_song_list_iface_info); + } + return gmpc_test_plugin_type_id; +} + + + + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-test-plugin.h /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-test-plugin.h --- gmpc-0.18.0/src/vala/gmpc-test-plugin.h 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-test-plugin.h 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,77 @@ + +#ifndef __GMPC_TEST_PLUGIN_H__ +#define __GMPC_TEST_PLUGIN_H__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +G_BEGIN_DECLS + + +#define GMPC_META_DATA_TYPE_EDIT_WINDOW (gmpc_meta_data_edit_window_get_type ()) +#define GMPC_META_DATA_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindow)) +#define GMPC_META_DATA_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass)) +#define GMPC_META_DATA_IS_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW)) +#define GMPC_META_DATA_IS_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW)) +#define GMPC_META_DATA_EDIT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass)) + +typedef struct _GmpcMetaDataEditWindow GmpcMetaDataEditWindow; +typedef struct _GmpcMetaDataEditWindowClass GmpcMetaDataEditWindowClass; +typedef struct _GmpcMetaDataEditWindowPrivate GmpcMetaDataEditWindowPrivate; + +#define GMPC_TYPE_TEST_PLUGIN (gmpc_test_plugin_get_type ()) +#define GMPC_TEST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_TEST_PLUGIN, GmpcTestPlugin)) +#define GMPC_TEST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_TEST_PLUGIN, GmpcTestPluginClass)) +#define GMPC_IS_TEST_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_TEST_PLUGIN)) +#define GMPC_IS_TEST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_TEST_PLUGIN)) +#define GMPC_TEST_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_TEST_PLUGIN, GmpcTestPluginClass)) + +typedef struct _GmpcTestPlugin GmpcTestPlugin; +typedef struct _GmpcTestPluginClass GmpcTestPluginClass; +typedef struct _GmpcTestPluginPrivate GmpcTestPluginPrivate; + +struct _GmpcMetaDataEditWindow { + GtkWindow parent_instance; + GmpcMetaDataEditWindowPrivate * priv; +}; + +struct _GmpcMetaDataEditWindowClass { + GtkWindowClass parent_class; +}; + +struct _GmpcTestPlugin { + GmpcPluginBase parent_instance; + GmpcTestPluginPrivate * priv; +}; + +struct _GmpcTestPluginClass { + GmpcPluginBaseClass parent_class; +}; + + +GType gmpc_meta_data_edit_window_get_type (void); +void gmpc_meta_data_edit_window_image_downloaded (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status); +void gmpc_meta_data_edit_window_callback (GmpcMetaDataEditWindow* self, void* handle, const char* plugin_name, GList* list); +void gmpc_meta_data_edit_window_store_image (GmpcMetaDataEditWindow* self, const GEADAsyncHandler* handle, GEADStatus status); +void gmpc_meta_data_edit_window_destroy_popup (GmpcMetaDataEditWindow* self, GtkButton* button); +void gmpc_meta_data_edit_window_refresh_query (GmpcMetaDataEditWindow* self, GtkButton* button); +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_new (const mpd_Song* song, MetaDataType type); +GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_construct (GType object_type, const mpd_Song* song, MetaDataType type); +void gmpc_meta_data_edit_window_b_cancel (GmpcMetaDataEditWindow* self); +GType gmpc_test_plugin_get_type (void); +void gmpc_test_plugin_menu_activated_album (GmpcTestPlugin* self, GtkMenuItem* item); +GmpcTestPlugin* gmpc_test_plugin_new (void); +GmpcTestPlugin* gmpc_test_plugin_construct (GType object_type); + +static const gint GMPC_TEST_PLUGIN_version[] = {0, 0, 2}; + +G_END_DECLS + +#endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc-test-plugin.vala /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc-test-plugin.vala --- gmpc-0.18.0/src/vala/gmpc-test-plugin.vala 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc-test-plugin.vala 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,717 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +using Config; +using Gtk; +using Gmpc; + +private const bool use_transition = Gmpc.use_transition; + +public class Gmpc.MetaData.EditWindow : Gtk.Window { + private const string some_unique_name = Config.VERSION; + private Gtk.ListStore model = null; + private Gtk.TreeView tree = null; + private GLib.List downloads = null; + + private MPD.Song song = null; + private Gmpc.MetaData.Type query_type = Gmpc.MetaData.Type.ALBUM_ART; + + /** fetching handles */ + private void *handle = null; + private void *handle2 = null; + + private Gtk.HBox pbox = null; + private Gtk.Label warning_label = null; + private Gtk.Entry artist_entry; + private Gtk.Entry album_entry; + private Gtk.Entry title_entry; + private Gtk.Button cancel = null; + private Gtk.Button refresh = null; + private Gtk.ComboBox combo = null; + private Gtk.ProgressBar bar = null; + + private Gtk.TreeViewColumn column = null; + + construct { + this.type = Gtk.WindowType.TOPLEVEL; + this.set_default_size(650,800); + this.set_border_width(8); + } + + private void add_entry_image(string? provider, string uri,Gdk.PixbufFormat? format, Gdk.Pixbuf pb) + { + Gtk.TreeIter iter; + string a; + a = Markup.printf_escaped("%s: %s",_("Uri"),uri); + if(provider != null) { + a+= Markup.printf_escaped("\n%s: %s",_("Provider"), provider); + } + if(format != null) + { + a+= Markup.printf_escaped("\n%s: %s",_("Filetype"), format.get_name()); + } + if(pb != null) + { + a+="\n%s: %ix%i (%s)".printf(_("Size"), pb.width, pb.height,_("wxh")); + + } + int new_h, new_w; + if(pb.width < pb.height) { + new_h = 150; + new_w = (int)((150.0/(double)pb.height)*pb.width); + } + else + { + new_w = 150; + new_h = (int)((150.0/(double)pb.width)*pb.height); + } + this.model.append(out iter); + this.model.set(iter, 0, pb.scale_simple(new_w,new_h,Gdk.InterpType.BILINEAR),1, uri,2,a, -1); + } + + private void add_entry_text(string? provider, string uri,string text) + { + Gtk.TreeIter iter; + string a; + a = "%s: %s".printf(_("Uri"),uri); + if(provider != null) { + a+="\n%s: %s".printf(_("Provider"), provider); + } + this.model.append(out iter); + this.model.set(iter, 3,text,1, uri,2,a, -1); + } + public void image_downloaded(Gmpc.AsyncDownload.Handle handle, Gmpc.AsyncDownload.Status status) + { + if(status == Gmpc.AsyncDownload.Status.PROGRESS) return; + this.downloads.remove(handle); + this.bar.pulse(); + if(status == Gmpc.AsyncDownload.Status.DONE) + { + weak uchar[] data = handle.get_data(); + if(this.query_type == Gmpc.MetaData.Type.ALBUM_ART || this.query_type == Gmpc.MetaData.Type.ARTIST_ART) + { + try{ + var load = new Gdk.PixbufLoader(); + try { + load.write(data); + }catch (Error e) { + stdout.printf("Failed to load file: %s::%s\n",e.message,handle.get_uri()); + } + load.close(); + + Gdk.Pixbuf pb = load.get_pixbuf();//new Gdk.Pixbuf.from_inline((int)length, (uchar[])data, true); + if(pb!= null) + this.add_entry_image((string)handle.get_user_data(),handle.get_uri(),load.get_format(),pb); + }catch (Error e) { + stdout.printf("Failed to load file: %s::%s\n",e.message,handle.get_uri()); + } + } + else + { + this.add_entry_text((string)handle.get_user_data(),handle.get_uri(),(string)data); + } + } + + if(this.handle == null && this.handle2 == null && this.downloads == null) + { + this.pbox.hide(); + this.refresh.sensitive = true; + this.combo.sensitive = true; + } + + } + public void callback(void *handle,string? plugin_name,GLib.List? list) + { + bar.pulse(); + if(list == null) { + if(this.handle == handle) + { + this.handle = null; + if(this.handle == null && this.downloads == null) + { + this.pbox.hide(); + this.refresh.sensitive = true; + this.combo.sensitive = true; + } + } + if(this.handle2 == handle) + { + this.handle2 = null; + + + if(this.handle == null && this.downloads == null) + { + this.pbox.hide(); + this.combo.sensitive = true; + this.refresh.sensitive = true; + } + } + } + foreach(weak MetaData.Item md in list) + { + + if(this.query_type == Gmpc.MetaData.Type.ALBUM_ART || this.query_type == Gmpc.MetaData.Type.ARTIST_ART) + { + weak string uri = md.get_uri(); + if(md.content_type == Gmpc.MetaData.ContentType.URI) + { + if(uri[0] == '/'){ + try{ + Gdk.Pixbuf pb = new Gdk.Pixbuf.from_file(uri); + if(pb != null) + { + int w,h; + add_entry_image(plugin_name, uri,Gdk.Pixbuf.get_file_info(uri,out w, out h), pb); + } + }catch(Error e) + { + + } + }else{ + var h = Gmpc.AsyncDownload.download(uri, image_downloaded); + if(h!=null) + { + h.set_user_data(md.plugin_name); + this.downloads.append(h); + } + } + } + }else{ + + if(md.content_type == Gmpc.MetaData.ContentType.TEXT) + { + weak string uri = md.get_text(); + add_entry_text(plugin_name, "n/a", uri); + } + else + if(md.content_type == Gmpc.MetaData.ContentType.URI) + { + weak string uri = md.get_uri(); + if(uri[0] == '/'){ + try { + string content; + if(GLib.FileUtils.get_contents(uri,out content)) + { + add_entry_text(plugin_name,uri, content); + } + }catch (Error e) { + + } + } + + } + } + + } + } + + public void store_image(Gmpc.AsyncDownload.Handle handle, Gmpc.AsyncDownload.Status status) + { + if(status == Gmpc.AsyncDownload.Status.PROGRESS){ + weak uchar[] data =handle.get_data(); + this.sensitive = false; + this.pbox.show(); + int64 total_size = handle.get_content_size(); + if(data.length > 0 && total_size > 0){ + double progress = data.length/(double)total_size; + this.bar.set_fraction(progress); + } + else this.bar.pulse(); + return; + } + this.downloads.remove(handle); + if(status == Gmpc.AsyncDownload.Status.DONE) + { + weak uchar[] data = handle.get_data(); + var file = Gmpc.MetaData.get_metadata_filename(this.query_type, this.song,null); + try { + GLib.FileUtils.set_contents(file, (string)data, (long)data.length); + var met = new MetaData.Item(); + met.type = this.query_type; + met.plugin_name = "User set"; + met.content_type = MetaData.ContentType.URI; + met.set_uri(file); + Gmpc.MetaData.set_metadata(this.song, Gmpc.MetaData.Result.AVAILABLE, met); + + var met_false = new MetaData.Item(); + met_false.type = this.query_type; + met_false.plugin_name = "User set"; + met_false.content_type = MetaData.ContentType.EMPTY; + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.UNAVAILABLE, met_false); + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.AVAILABLE, met); + }catch (Error e) { + + } + } + this.pbox.hide(); + this.sensitive = true; + + } + private void + set_metadata(Gtk.Button button) + { + Gtk.TreeIter iter; + var sel = this.tree.get_selection(); + string path = null; + Gtk.TreeModel model; + if(sel.get_selected(out model,out iter)) + { + this.model.get(iter,1,out path); + + if(this.query_type == Gmpc.MetaData.Type.ALBUM_ART || this.query_type == Gmpc.MetaData.Type.ARTIST_ART) + { + if(path[0] == '/') + { + var met = new MetaData.Item(); + met.type = this.query_type; + met.plugin_name = "User set"; + met.content_type = MetaData.ContentType.URI; + met.set_uri(path); + Gmpc.MetaData.set_metadata(this.song, Gmpc.MetaData.Result.AVAILABLE, met); + + var met_false = new MetaData.Item(); + met_false.type = this.query_type; + met_false.plugin_name = "User set"; + met_false.content_type = MetaData.ContentType.EMPTY; + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.UNAVAILABLE, met_false); + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.AVAILABLE, met); + }else{ + var h = Gmpc.AsyncDownload.download(path, store_image); + if(h!=null) + this.downloads.append(h); + } + }else{ + string lyric; + this.model.get(iter,3,out lyric); + var file = Gmpc.MetaData.get_metadata_filename(this.query_type, this.song,null); + try { + GLib.FileUtils.set_contents(file,lyric, -1); + var met = new MetaData.Item(); + met.type = this.query_type; + met.plugin_name = "User set"; + met.content_type = MetaData.ContentType.URI; + met.set_uri(file); + Gmpc.MetaData.set_metadata(this.song, Gmpc.MetaData.Result.AVAILABLE, met); + + var met_false = new MetaData.Item(); + met_false.type = this.query_type; + met_false.plugin_name = "User set"; + met_false.content_type = MetaData.ContentType.EMPTY; + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.UNAVAILABLE, met_false); + metawatcher.data_changed(this.song, this.query_type, Gmpc.MetaData.Result.AVAILABLE, met); + }catch (Error e) { + + } + + } + + } + } + public + void + destroy_popup(Gtk.Button button) + { + this.destroy(); + } + + public void refresh_query(Gtk.Button button) + { + this.model.clear(); + MPD.Song ss = this.song; + ss.artist = this.artist_entry.get_text(); + ss.album = this.album_entry.get_text(); + ss.title = this.title_entry.get_text(); + + if(this.handle == null && this.handle2 == null) { + this.handle = Gmpc.MetaData.get_list(ss, this.query_type, callback); + this.refresh.sensitive = false; + this.combo.sensitive = false; + this.pbox.show(); + } + + } + private void combo_box_changed(Gtk.ComboBox comb) + { + int active = comb.active; + this.model.clear(); + this.title_entry.sensitive = false; + this.album_entry.sensitive = false; + this.artist_entry.sensitive = false; + this.refresh.sensitive = false; + this.warning_label.hide(); + if(this.column != null) + { + this.tree.remove_column(this.column); + this.column.destroy(); + this.column = null; + } + if(active == 0) + { + this.query_type = Gmpc.MetaData.Type.ARTIST_ART; + if(this.song.artist != null) + { + this.artist_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + }else if (active == 1) { + this.query_type = Gmpc.MetaData.Type.ALBUM_ART; + + if(this.song.artist != null && this.song.album != null) + { + this.artist_entry.sensitive = true; + this.album_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + } else if (active == 2) { + this.query_type = Gmpc.MetaData.Type.SONG_TXT; + + if(this.song.artist != null && this.song.title != null) + { + this.artist_entry.sensitive = true; + this.title_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + }else if (active == 3) { + this.query_type = Gmpc.MetaData.Type.ALBUM_TXT; + + if(this.song.artist != null && this.song.album != null) + { + this.artist_entry.sensitive = true; + this.album_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + }else if (active == 4) { + this.query_type = Gmpc.MetaData.Type.ARTIST_TXT; + + if(this.song.artist != null) + { + this.artist_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + }else if (active == 5) { + this.query_type = Gmpc.MetaData.Type.SONG_GUITAR_TAB; + + if(this.song.artist != null && this.song.title != null) + { + this.artist_entry.sensitive = true; + this.title_entry.sensitive = true; + this.refresh.sensitive = true; + } + else this.warning_label.show(); + } + + + if(active <2 ) + { + var renderer = new Gtk.CellRendererPixbuf(); + this.column = new Gtk.TreeViewColumn(); + column.resizable = true; + this.column.pack_start(renderer,false); + renderer.set("xalign",0.0f); + renderer.set("yalign",0.0f); + this.tree.append_column(this.column); + this.column.set_title(_("Cover")); + this.column.add_attribute(renderer, "pixbuf", 0); + } + else + { + var renderer = new Gtk.CellRendererText(); + this.column = new Gtk.TreeViewColumn(); + column.resizable = true; + this.column.pack_start(renderer,false); + this.tree.append_column(this.column); + + renderer.set("wrap-mode",Pango.WrapMode.WORD); + renderer.set("wrap-width",300); + this.column.set_title(_("Lyric")); + this.column.add_attribute(renderer, "text", 3); + } + } + + public + EditWindow (MPD.Song song, Gmpc.MetaData.Type type) { + var vbox = new Gtk.VBox(false, 6); + this.song = song; + this.query_type = type; + this.pbox = new Gtk.HBox(false, 6); + this.bar = new Gtk.ProgressBar(); + vbox.pack_start(this.pbox, false, false, 0); + this.cancel = new Gtk.Button.from_stock("gtk-cancel"); + this.cancel.clicked += this.b_cancel; + this.pbox.pack_start(this.bar, true, true, 0); + this.pbox.pack_start(this.cancel, false, false, 0); + this.bar.show(); + this.cancel.show(); + this.pbox.no_show_all = true; + this.pbox.hide(); + + this.model = new Gtk.ListStore(4,typeof(Gdk.Pixbuf), typeof(string),typeof(string),typeof(string)); + var sw = new Gtk.ScrolledWindow(null, null); + var iv = new Gtk.TreeView(); + + this.tree = iv; + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC); + sw.set_shadow_type(Gtk.ShadowType.ETCHED_IN); + iv.set_model(this.model); + this.tree.rules_hint = true; + + + var rendererpb = new Gtk.CellRendererText(); + var column = new Gtk.TreeViewColumn(); + column.resizable = true; + column.min_width = 250; + rendererpb.set("xalign",0.0f); + rendererpb.set("yalign",0.0f); + rendererpb.set("ellipsize", Pango.EllipsizeMode.END); + column.pack_start(rendererpb,true); + iv.append_column(column); + column.set_title(_("Information")); + column.add_attribute(rendererpb, "markup", 2); + + + + + /* Button */ + var hbox = new Gtk.HBox(false, 6); + + var button = new Gtk.Button.from_stock("gtk-quit"); + button.clicked += destroy_popup; + hbox.pack_end(button, false, false, 0); + + button = new Gtk.Button.with_mnemonic("_Set"); + button.clicked += set_metadata; + hbox.pack_end(button, false, false, 0); + + vbox.pack_end(hbox, false, false,0); + + /** Change */ + this.warning_label = new Gtk.Label(""); + this.warning_label.set_markup("%s".printf(_("Insufficient information to store/fetch this metadata"))); + this.warning_label.set_alignment(0.0f, 0.5f); + vbox.pack_start(this.warning_label, false, false, 0); + this.warning_label.hide(); + + var group = new Gtk.SizeGroup(Gtk.SizeGroupMode.HORIZONTAL); + var qhbox = new Gtk.HBox(false, 6); + var label = new Gtk.Label("Type"); + + group.add_widget(label); + qhbox.pack_start(label, false,false,0); + + this.combo = new Gtk.ComboBox.text(); + qhbox.pack_start(this.combo, false,false,0); + this.combo.append_text(_("Artist art")); + this.combo.append_text(_("Album art")); + this.combo.append_text(_("Song Lyrics")); + this.combo.append_text(_("Album Info")); + this.combo.append_text(_("Artist Biography")); + this.combo.append_text(_("Guitar Tab")); + + this.combo.changed += combo_box_changed; + + vbox.pack_start(qhbox, false, false, 0); + + + qhbox = new Gtk.HBox(false, 6); + label = new Gtk.Label(_("Artist")); + group.add_widget(label); + qhbox.pack_start(label, false, false, 0); + this.artist_entry = new Gtk.Entry(); + this.artist_entry.set_text(song.artist); + qhbox.pack_start(this.artist_entry, true, true, 0); + + vbox.pack_start(qhbox, false, false, 0); + +// if(type == Gmpc.MetaData.Type.ALBUM_ART) + { + qhbox = new Gtk.HBox(false, 6); + label = new Gtk.Label(_("Album")); + group.add_widget(label); + qhbox.pack_start(label, false, false, 0); + this.album_entry = new Gtk.Entry(); + if(song.album != null) + this.album_entry.set_text(song.album); + qhbox.pack_start(this.album_entry, true, true, 0); + + vbox.pack_start(qhbox, false, false, 0); + } + { + qhbox = new Gtk.HBox(false, 6); + label = new Gtk.Label(_("Title")); + group.add_widget(label); + qhbox.pack_start(label, false, false, 0); + this.title_entry = new Gtk.Entry(); + if(song.title != null) + this.title_entry.set_text(song.title); + qhbox.pack_start(this.title_entry, true, true, 0); + + vbox.pack_start(qhbox, false, false, 0); + } + if(type != Gmpc.MetaData.Type.ALBUM_ART) + this.album_entry.sensitive = false; + + + this.refresh = button = new Gtk.Button.with_label(_("Query")); + var ali = new Gtk.Alignment(1.0f, 0.5f, 0.0f, 0.0f); + ali.add(button); + vbox.pack_start(ali, false, false, 0); + button.clicked += refresh_query; + + + + vbox.pack_start(sw, true, true,0); + this.add(vbox); + this.hide_on_delete(); + sw.add(iv); + this.show_all(); + + if(type == Gmpc.MetaData.Type.ARTIST_ART) this.combo.set_active(0); + else if(type == Gmpc.MetaData.Type.ALBUM_ART) this.combo.set_active(1); + else if(type == Gmpc.MetaData.Type.SONG_TXT) this.combo.set_active(2); + else if(type == Gmpc.MetaData.Type.ALBUM_TXT) this.combo.set_active(3); + else if(type == Gmpc.MetaData.Type.ARTIST_TXT)this.combo.set_active(4); + else if(type == Gmpc.MetaData.Type.SONG_GUITAR_TAB)this.combo.set_active(5); + } + public void b_cancel(){ + if(this.handle != null){ + Gmpc.MetaData.get_list_cancel(this.handle); + this.handle = null; + } + if(this.handle2 != null){ + Gmpc.MetaData.get_list_cancel(this.handle2); + this.handle2 = null; + } + this.downloads.first(); + while(this.downloads != null){ + Gmpc.AsyncDownload.Handle handle = this.downloads.data; + + handle.cancel(); + this.downloads.first(); + } + + this.pbox.hide(); + this.refresh.sensitive = true; + this.combo.sensitive = true; + } + ~EditWindow() { + this.b_cancel(); + } +} + + + +public class Gmpc.TestPlugin : Gmpc.Plugin.Base,Gmpc.Plugin.ToolMenuIface, Gmpc.Plugin.SongListIface { + public const int[] version = {0,0,2}; + /********************************************************************************* + * Plugin base functions + * These functions are required. + ********************************************************************************/ + construct { + /* Mark the plugin as an internal dummy */ + this.plugin_type = 8+4; + } + public override weak int[] get_version() { + return this.version; + } + /** + * The name of the plugin + */ + public override weak string get_name() { + return "Vala test plugin"; + } + + /** + * Tells the plugin to save itself + */ + public override void save_yourself() + { + /* nothing to save */ + } + + /** + * Get set enabled + */ + public override bool get_enabled() { + return (bool)config.get_int_with_default(this.get_name(), "enabled", 1); + } + public override void set_enabled(bool state) { + config.set_int(this.get_name(), "enabled", (int)state); + } + + + + /********************************************************************************* + * Private + ********************************************************************************/ + private void menu_activate_tree(Gtk.MenuItem item) + { + Gtk.TreeView tv = (Gtk.TreeView)item.get_data("treeview"); + Gtk.TreeModel model = tv.get_model(); + var selection = tv.get_selection(); + foreach(weak Gtk.TreePath path in selection.get_selected_rows(out model)) + { + Gtk.TreeIter iter; + if(model.get_iter(out iter, path)) + { + weak MPD.Song song = null; + model.get(iter,0, out song); + if(song != null) + { + new Gmpc.MetaData.EditWindow(song,Gmpc.MetaData.Type.ALBUM_ART); + } + } + } + + } + + public int song_list(Gtk.Widget tree, Gtk.Menu menu) + { + Gtk.TreeView tv = (Gtk.TreeView)tree; + var selection = tv.get_selection(); + if(selection.count_selected_rows() > 0) + { + Gtk.ImageMenuItem item = new Gtk.ImageMenuItem.with_label(_("Metadata selector")); + item.set_image( new Gtk.Image.from_stock("gtk-edit", Gtk.IconSize.MENU)); + item.set_data("treeview", tv); + menu.append(item); + + item.activate += menu_activate_tree; + return 1; + } + return 0; + } + + public void menu_activated_album(Gtk.MenuItem item) + { + weak MPD.Song song = server.playlist_get_current_song(); + new Gmpc.MetaData.EditWindow(song,Gmpc.MetaData.Type.ALBUM_ART); + } + public int tool_menu_integration(Gtk.Menu menu) + { + Gtk.MenuItem item = new Gtk.MenuItem.with_label("Edit metadata current song"); + menu.append(item); + item.activate += menu_activated_album; + return 2; + } +} + diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/gmpc.vapi /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/gmpc.vapi --- gmpc-0.18.0/src/vala/gmpc.vapi 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/gmpc.vapi 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,324 @@ +using Gmpc.PanedSizeGroup; + +namespace Gmpc { + [CCode (cname="TRUE",cheader_filename="gtk/gtk.h,gtktransition.h")] + static bool use_transition; + + [CCode (cname="paned_size_group", cheader_filename="plugin.h")] + static PanedSizeGroup paned_size_group; + + [CCode (cname = "gmpcconn", cheader_filename="main.h")] + static Connection gmpcconn; + + [CCode (cname = "connection", cheader_filename="plugin.h")] + static MPD.Server server; + + [CCode (cname = "gmw", cheader_filename="main.h")] + static MetaWatcher metawatcher; + + [CCode (cheader_filename="gmpc-meta-watcher.h")] + public class MetaWatcher { + signal void data_changed(MPD.Song song, Gmpc.MetaData.Type type, Gmpc.MetaData.Result result,MetaData.Item met); + + + [CCode ( cname="gmpc_meta_watcher_get_meta_path", cheader_filename="gmpc-meta-watcher.h" )] + public Gmpc.MetaData.Result query(MPD.Song song, Gmpc.MetaData.Type type, out MetaData.Item met); + + } + + [CCode (cheader_filename="gmpc-connection.h")] + public class Connection { + signal void connection_changed(MPD.Server server, int connect); + signal void status_changed (MPD.Server server, MPD.Status.Changed what); + } + + namespace MetaData { + + [CCode (cname="MetaDataContentType", cprefix = "META_DATA_CONTENT_", cheader_filename = "libmpd/libmpd.h,metadata.h")] + public enum ContentType { + EMPTY, + URI, + TEXT, + RAW, + HTML, + STRV, + TEXT_LIST + } + [CCode (cname="MetaData", cheader_filename="metadata.h")] + [Compact] + [Immutable] + [CCode (free_function="meta_data_free")] + public class Item { + [CCode (cname="meta_data_new")] + public Item (); + public Gmpc.MetaData.Type type; + public weak string plugin_name; + public int size; + public Gmpc.MetaData.ContentType content_type; + + [CCode (cname="meta_data_is_empty")] + public bool is_empty(); + + [CCode (cname="meta_data_set_uri")] + public void set_uri(string uri); + /* add accessors? */ + [CCode (cname="meta_data_get_image")] + public weak uchar[] get_raw(); + + [CCode (cname="meta_data_get_text")] + public weak string get_text(); + /* same as get_text */ + + [CCode (cname="meta_data_get_uri")] + public weak string get_uri(); + + [CCode (cname="meta_data_get_html")] + public weak string get_html(); + + [CCode (cname="meta_data_get_text_vector")] + public weak string[] get_text_vector(); + + [CCode (cname="meta_data_get_text_list")] + public weak GLib.List get_text_list(); + + [CCode (cname="meta_data_is_text_list")] + public bool is_text_list(); + [CCode (cname="meta_data_dup_steal")] + public MetaData.Item dup_steal(); + } + [CCode (cname="MetaDataType", cprefix = "META_", cheader_filename = "metadata.h")] + public enum Type { + ALBUM_ART = 1, + ARTIST_ART = 2, + ALBUM_TXT = 4, + ARTIST_TXT = 8, + SONG_TXT = 16, + ARTIST_SIMILAR = 32, + SONG_SIMILAR = 64, + GENRE_SIMILAR = 128, + SONG_GUITAR_TAB = 256, + QUERY_DATA_TYPES = 65535, + QUERY_NO_CACHE = 65536 + } + + [CCode (cname="MetaDataResult", cprefix = "META_DATA_", cheader_filename = "metadata.h")] + public enum Result { + AVAILABLE, + UNAVAILABLE, + FETCHING + } + + + public delegate void Callback (void *handle,string? plugin_name, GLib.List? list); + [CCode ( cname="metadata_get_list", cheader_filename="libmpd/libmpd.h,metadata.h" )] + public void* get_list(MPD.Song song, Type type, Callback callback); + + [CCode ( cname="metadata_get_list_cancel", cheader_filename="metadata.h" )] + public void* get_list_cancel(void *handle); + + + [CCode ( cname="meta_data_set_cache", cheader_filename="metadata-cache.h")] + public void set_metadata(MPD.Song song, Result result, Gmpc.MetaData.Item met); + + [CCode ( cname="gmpc_get_metadata_filename", cheader_filename="libmpd/libmpd.h,metadata.h")] + public string get_metadata_filename(Type type, MPD.Song song, string? extention); + + [CCode ( cname="GmpcMetaImage", cheader_filename="gmpc-metaimage.h")] + public class Image: Gtk.Widget { + [CCode (cname="gmpc_metaimage_new_size")] + public Image(Type type, int size); + [CCode (cname="gmpc_metaimage_update_cover_from_song")] + public void update_from_song(MPD.Song song); + + [CCode (cname="gmpc_metaimage_update_cover_from_song_delayed")] + public void update_from_song_delayed(MPD.Song song); + [CCode (cname="gmpc_metaimage_set_squared")] + public void set_squared(bool squared); + [CCode (cname="gmpc_metaimage_set_hide_on_na")] + public void set_hide_on_na(bool hide); + + + } + [CCode ( cname="GmpcStatsLabel", cheader_filename="gmpc-stats-label.h")] + public class StatsLabel : Gtk.Label { + [CCode (cprefix="")] + public enum Type { + ARTIST_NUM_SONGS, + ARTIST_PLAYTIME_SONGS, + ARTIST_GENRES_SONGS, + ARTIST_DATES_SONGS, + ALBUM_NUM_SONGS, + ALBUM_PLAYTIME_SONGS, + ALBUM_GENRES_SONGS, + ALBUM_DATES_SONGS + } + [CCode (cname="gmpc_stats_label_new")] + public StatsLabel(Type type, MPD.Song song); + } + [CCode ( cname="GmpcMetaTextView", cheader_filename="gmpc-meta-text-view.h")] + public class TextView: Gtk.TextView { + public bool use_monospace; + [CCode (cname="gmpc_meta_text_view_new")] + public TextView(Type type); + [CCode (cname="gmpc_meta_text_view_query_text_from_song")] + public void query_from_song(MPD.Song song); + } + + } + namespace Messages { + [CCode (cprefix = "ERROR_", cheader_filename = "playlist3-messages.h")] + public enum Level{ + INFO, + WARNING, + CRITICAL + } + + [CCode (cname = "playlist3_show_error_message", cheader_filename="playlist3-messages.h")] + void show(string message, Gmpc.Messages.Level level); + } + + namespace AsyncDownload { + [CCode (cname="GEADStatus",cprefix = "GEAD_", cheader_filename = "gmpc_easy_download.h")] + public enum Status { + DONE, + PROGRESS, + FAILED, + CANCELLED + } + + [CCode (cname="GEADAsyncHandler", cheader_filename="gmpc_easy_download.h")] + [Compact] + [Immutable] + [CCode (ref_function="", unref_function ="")] + public class Handle { + [CCode (cname="gmpc_easy_async_cancel", cheader_filename="gmpc_easy_download.h")] + public void cancel (); + + [CCode (cname="gmpc_easy_handler_get_data_vala_wrap", cheader_filename="gmpc_easy_download.h")] + public weak uchar[] get_data(); + [CCode (cname="gmpc_easy_handler_get_uri", cheader_filename="gmpc_easy_download.h")] + public weak string get_uri(); + + [CCode (cname="gmpc_easy_handler_get_user_data", cheader_filename="gmpc_easy_download.h")] + public void * get_user_data(); + + [CCode (cname="gmpc_easy_handler_set_user_data", cheader_filename="gmpc_easy_download.h")] + public void set_user_data(void *user_data); + + [CCode (cname="gmpc_easy_handler_get_content_size", cheader_filename="gmpc_easy_download.h")] + public int64 get_content_size(); + } + + + + public delegate void Callback (Gmpc.AsyncDownload.Handle handle, Gmpc.AsyncDownload.Status status); + + [CCode (cname="gmpc_easy_async_downloader", cheader_filename="gmpc_easy_download.h")] + public weak Gmpc.AsyncDownload.Handle download(string uri, Gmpc.AsyncDownload.Callback callback); + + [CCode (cname="gmpc_easy_download_uri_escape", cheader_filename="gmpc_easy_download.h")] + public string escape_uri(string part); + } + + [CCode (cname="gmpc_get_full_glade_path", cheader_filename="plugin.h")] + public string data_path(string file); + [CCode (cname="gmpc_get_user_path", cheader_filename="plugin.h")] + public string user_path(string file); + [CCode (cname="open_uri", cheader_filename="misc.h")] + public void open_uri(string uri); + + namespace Playlist { + [CCode (cname="(GtkWindow *)playlist3_get_window", cheader_filename="plugin.h")] + public weak Gtk.Window get_window(); +[CCode (cname="playlist3_window_is_hidden", cheader_filename="plugin.h")] + public bool is_hidden(); + + } + + + + [CCode (cname = "config", cheader_filename="plugin.h")] + static Settings config; + [CCode (cheader_filename="config1.h")] + [Compact] + [Immutable] + public class Settings { + [CCode (cname="cfg_get_single_value_as_int_with_default", cheader_filename="config1.h")] + public int get_int_with_default(string class, string key, int value); + [CCode (cname="cfg_set_single_value_as_int", cheader_filename="config1.h")] + public int set_int(string class, string key, int value); + } + + namespace Misc{ + [CCode (cname="colorshift_pixbuf",cheader_filename="misc.h")] + public void colorshift_pixbuf(Gdk.Pixbuf dest, Gdk.Pixbuf src, int shift); + [CCode (cname="misc_header_expose_event",cheader_filename="misc.h")] + public bool misc_header_expose_event(Gtk.Widget widget, Gdk.EventExpose event); + } + + /* Browser */ + namespace Browser{ + [CCode (cname="playlist3_insert_browser")] + public void insert(out Gtk.TreeIter iter, int position); + namespace File { + [CCode (cname="pl3_file_browser_open_path")] + public void open_path(string path); + } + namespace Find { + [CCode (cname="pl3_find2_ec_database")] + public void query_database(void *user_data, string query); + } + namespace Metadata { + [CCode (cname="info2_fill_artist_view")] + public void show_artist(string artist); + + [CCode (cname="info2_fill_album_view")] + public void show_album(string artist,string album); + } + } + namespace Playlist3 { + [CCode (cname="playlist3_get_category_tree_view")] + public unowned Gtk.TreeView get_category_tree_view(); + } + + /* objects */ + namespace MpdData { + [CCode (chader_filename="gmpc-mpddata-treeview.h",cname="GmpcMpdDataTreeview")] + public class TreeView : Gtk.TreeView { + [CCode (cname="gmpc_mpddata_treeview_new")] + public TreeView(string name, bool sort, Gtk.TreeModel model); + [CCode (cname="gmpc_mpddata_treeview_enable_click_fix")] + public void enable_click_fix(); + [CCode (cname="gmpc_mpddata_treeview_right_mouse_intergration")] + public int right_mouse_integration(Gtk.Menu menu); + } + + [CCode (cheader_filename="gmpc-mpddata-model.h")] + public class Model : GLib.Object, Gtk.TreeModel{ + [CCode (has_construct_function = true,cname="gmpc_mpddata_model_new")] + public Model(); + + [CCode (cname="gmpc_mpddata_model_set_mpd_data")] + public void set_mpd_data(owned MPD.Data.Item? list); + + [CCode (cname="gmpc_mpddata_model_set_request_artist")] + public void set_request_artist(string? list); + + [CCode (cname="gmpc_mpddata_model_get_request_artist")] + public weak string get_request_artist(); + public int icon_size; + } + } + + + namespace Misc { + [CCode (cname="mpd_song_checksum",cheader_filename="misc.h")] + public string? song_checksum(MPD.Song? song); + } + namespace MpdInteraction { + [CCode (cname="play_path",cheader_filename="mpdinteraction.h")] + public void play_path(string path); + [CCode (cname="submenu_for_song")] + public void submenu_for_song(Gtk.Widget menu, MPD.Song song); + } +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/src/vala/libmpd.vapi /tmp/zoMIw2cTYT/gmpc-0.19.0/src/vala/libmpd.vapi --- gmpc-0.18.0/src/vala/libmpd.vapi 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/src/vala/libmpd.vapi 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,216 @@ +[CCode (cprefix = "mpd_", cheader_filename = "libmpd/libmpd.h")] + +namespace MPD { + + [CCode (cname = "MpdObj",cprefix="mpd_", cheader_filename="libmpd/libmpd.h")] + [Compact] + public class Server { + + public MPD.Song playlist_get_song(int songid); + public weak MPD.Song playlist_get_current_song(); + public int player_get_next_song_id(); + + } + + + [CCode (cname = "mpd_Song", + free_function = "mpd_freeSong", + copy_function = "mpd_songDup", + cheader_filename = "libmpd/libmpdclient.h,libmpd/libmpd.h")] + [Compact] + [Immutable] + public class Song { + [CCode (cname = "mpd_newSong")] + public Song (); + public string file; + public string artist; + public string title; + public string album; + public string track; + public string name; + public string date; + public string genre; + public string performer; + public string disc; + public string comment; + public string albumartist; + public int time; + public int pos; + public int id; + [CCode (cname="mpd_songDup")] + public unowned MPD.Song copy (); + [CCode (instance_pos = -1)] + public void markup (char[] buffer, int length, string markup); + [CCode (cname = "mpd_freeSong")] + public static void free; + } + namespace Sticker { + namespace Song { + public void set(MPD.Server connection, string file, string tag, string value); + public string get(MPD.Server connection, string file, string tag); + } + public bool supported(MPD.Server connection); + } + namespace Status { + [CCode (cname="ChangedStatusType", cprefix = "MPD_CST_", cheader_filename = "libmpd/libmpd.h")] + public enum Changed { + /** The playlist has changed */ + PLAYLIST = 0x0001, + /** The song position of the playing song has changed*/ + SONGPOS = 0x0002, + /** The songid of the playing song has changed */ + SONGID = 0x0004, + /** The database has changed. */ + DATABASE = 0x0008, + /** the state of updating the database has changed.*/ + UPDATING = 0x0010, + /** the volume has changed */ + VOLUME = 0x0020, + /** The total time of the currently playing song has changed*/ + TOTAL_TIME = 0x0040, + /** The elapsed time of the current song has changed.*/ + ELAPSED_TIME = 0x0080, + /** The crossfade time has changed. */ + CROSSFADE = 0x0100, + /** The random state is changed. */ + RANDOM = 0x0200, + /** repeat state is changed. */ + REPEAT = 0x0400, + /** Not implemented */ + AUDIO = 0x0800, + /** The state of the player has changed.*/ + STATE = 0x1000, + /** The permissions the client has, has changed.*/ + PERMISSION = 0x2000, + /** The bitrate of the playing song has changed. */ + BITRATE = 0x4000, + /** the audio format of the playing song changed.*/ + AUDIOFORMAT = 0x8000, + /** the queue has changed */ + STORED_PLAYLIST = 0x20000, + /** server error */ + SERVER_ERROR = 0x40000, + /** output changed */ + OUTPUT = 0x80000, + /** sticker changed */ + STICKER = 0x100000, + NEXTSONG = 0x200000, + SINGLE_MODE = 0x400000, + CONSUME_MODE = 0x800000 + } + } + namespace Data{ + [CCode (cname="MpdDataType", cprefix = "MPD_DATA_TYPE_", cheader_filename = "libmpd/libmpd.h")] + public enum Type { + NONE, + TAG, + DIRECTORY, + SONG, + PLAYLIST, + OUTPUT_DEV + } + + [CCode (cname = "MpdData", + free_function = "mpd_data_free", + cheader_filename = "libmpd/libmpd.h")] + [Compact] + [Immutable] + public class Item { + public Data.Type type; + public MPD.Song song; + public string tag; + + [CCode (cname="mpd_data_get_next")] + [ReturnsModifiedPointer ()] + public void next_free(); + + + [CCode (cheader_filename="misc.h", cname="misc_sort_mpddata_by_album_disc_track")] + [ReturnsModifiedPointer ()] + public void sort_album_disc_track(); + + [CCode (cname="mpd_data_get_next_real")] + public weak Item? next(bool free); + + [CCode (cname="mpd_data_get_first")] + public weak Item? get_first(); + + [CCode (cname="mpd_data_get_first")] + [ReturnsModifiedPointer ()] + public void first(); + + [CCode (cname="mpd_data_concatenate")] + [ReturnsModifiedPointer ()] + public void concatenate(owned MPD.Data.Item b); + + [CCode (cname="mpd_new_data_struct_append")] + [ReturnsModifiedPointer ()] + public void append_new(); + } + } + namespace PlayQueue { + [CCode (cname="mpd_playlist_add")] + public void add_song(MPD.Server server, string path); + + [CCode (cname="mpd_playlist_queue_add")] + public void queue_add_song(MPD.Server server, string path); + [CCode (cname="mpd_playlist_queue_commit")] + public void queue_commit(MPD.Server server); + [CCode (cname="mpd_playlist_clear")] + public void clear(MPD.Server server); + } + + namespace Player { + [CCode (cname="mpd_player_play")] + public void play(MPD.Server server); + public void next(MPD.Server server); + public void prev(MPD.Server server); + public void pause(MPD.Server server); + public void stop(MPD.Server server); + public MPD.Player.State get_state(MPD.Server server); + [CCode (cprefix="MPD_STATUS_STATE_")] + public enum State{ + UNKNOWN = 0, + STOP = 1, + PLAY = 2, + PAUSE = 3 + } + } + + namespace Database { + public MPD.Data.Item? get_playlist_content(MPD.Server server, string playlist_name); + public void playlist_list_add(MPD.Server server, string playlist_name, string path); + public void playlist_list_delete(MPD.Server server, string playlist_name, int pos); + + [CCode (cname="mpd_database_search_field_start")] + public void search_field_start(MPD.Server server,MPD.Tag.Type type); + + [CCode (cname="mpd_database_search_start")] + public void search_start(MPD.Server server,bool exact); + public MPD.Data.Item? search_commit(MPD.Server server); + + [CCode (cname="mpd_database_search_add_constraint")] + public void search_add_constraint(MPD.Server server, MPD.Tag.Type type, string value); + } + + namespace Tag { + [CCode (cname="mpd_TagItems", cprefix = "MPD_TAG_ITEM_", cheader_filename = "libmpd/libmpdclient.h")] + public enum Type{ + ARTIST, + ALBUM, + TITLE, + TRACK, + NAME, + GENRE, + DATE, + COMPOSER, + PERFORMER, + COMMENT, + DISC, + FILENAME, + ALBUM_ARTIST, + ANY + } + } + +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/config/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/test/config/Makefile.am --- gmpc-0.18.0/test/config/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/config/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,20 @@ +if ENABLE_TEST +noinst_PROGRAMS = \ + read_conf + +read_conf_CFLAGS = @CFLAGS@\ + @glib_CFLAGS@\ + @libmpd_CFLAGS@\ + -I$(top_srcdir)/src + +read_conf_LDADD = @LIBS@\ + @libmpd_LIBS@\ + @glib_LIBS@ + +read_conf_SOURCES = \ + read_conf.c + +nodist_read_conf_SOURCES = \ + $(top_srcdir)/src/config1.c + +endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/config/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/test/config/Makefile.in --- gmpc-0.18.0/test/config/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/config/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,559 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_TEST_TRUE@noinst_PROGRAMS = read_conf$(EXEEXT) +subdir = test/config +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__read_conf_SOURCES_DIST = read_conf.c +@ENABLE_TEST_TRUE@am_read_conf_OBJECTS = \ +@ENABLE_TEST_TRUE@ read_conf-read_conf.$(OBJEXT) +@ENABLE_TEST_TRUE@nodist_read_conf_OBJECTS = \ +@ENABLE_TEST_TRUE@ read_conf-config1.$(OBJEXT) +read_conf_OBJECTS = $(am_read_conf_OBJECTS) \ + $(nodist_read_conf_OBJECTS) +read_conf_DEPENDENCIES = +read_conf_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(read_conf_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(read_conf_SOURCES) $(nodist_read_conf_SOURCES) +DIST_SOURCES = $(am__read_conf_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@ENABLE_TEST_TRUE@read_conf_CFLAGS = @CFLAGS@\ +@ENABLE_TEST_TRUE@ @glib_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libmpd_CFLAGS@\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src + +@ENABLE_TEST_TRUE@read_conf_LDADD = @LIBS@\ +@ENABLE_TEST_TRUE@ @libmpd_LIBS@\ +@ENABLE_TEST_TRUE@ @glib_LIBS@ + +@ENABLE_TEST_TRUE@read_conf_SOURCES = \ +@ENABLE_TEST_TRUE@ read_conf.c + +@ENABLE_TEST_TRUE@nodist_read_conf_SOURCES = \ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/config1.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/config/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/config/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +read_conf$(EXEEXT): $(read_conf_OBJECTS) $(read_conf_DEPENDENCIES) + @rm -f read_conf$(EXEEXT) + $(read_conf_LINK) $(read_conf_OBJECTS) $(read_conf_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_conf-config1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_conf-read_conf.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +read_conf-read_conf.o: read_conf.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -MT read_conf-read_conf.o -MD -MP -MF $(DEPDIR)/read_conf-read_conf.Tpo -c -o read_conf-read_conf.o `test -f 'read_conf.c' || echo '$(srcdir)/'`read_conf.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/read_conf-read_conf.Tpo $(DEPDIR)/read_conf-read_conf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='read_conf.c' object='read_conf-read_conf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -c -o read_conf-read_conf.o `test -f 'read_conf.c' || echo '$(srcdir)/'`read_conf.c + +read_conf-read_conf.obj: read_conf.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -MT read_conf-read_conf.obj -MD -MP -MF $(DEPDIR)/read_conf-read_conf.Tpo -c -o read_conf-read_conf.obj `if test -f 'read_conf.c'; then $(CYGPATH_W) 'read_conf.c'; else $(CYGPATH_W) '$(srcdir)/read_conf.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/read_conf-read_conf.Tpo $(DEPDIR)/read_conf-read_conf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='read_conf.c' object='read_conf-read_conf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -c -o read_conf-read_conf.obj `if test -f 'read_conf.c'; then $(CYGPATH_W) 'read_conf.c'; else $(CYGPATH_W) '$(srcdir)/read_conf.c'; fi` + +read_conf-config1.o: $(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -MT read_conf-config1.o -MD -MP -MF $(DEPDIR)/read_conf-config1.Tpo -c -o read_conf-config1.o `test -f '$(top_srcdir)/src/config1.c' || echo '$(srcdir)/'`$(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/read_conf-config1.Tpo $(DEPDIR)/read_conf-config1.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/config1.c' object='read_conf-config1.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -c -o read_conf-config1.o `test -f '$(top_srcdir)/src/config1.c' || echo '$(srcdir)/'`$(top_srcdir)/src/config1.c + +read_conf-config1.obj: $(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -MT read_conf-config1.obj -MD -MP -MF $(DEPDIR)/read_conf-config1.Tpo -c -o read_conf-config1.obj `if test -f '$(top_srcdir)/src/config1.c'; then $(CYGPATH_W) '$(top_srcdir)/src/config1.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/config1.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/read_conf-config1.Tpo $(DEPDIR)/read_conf-config1.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/config1.c' object='read_conf-config1.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(read_conf_CFLAGS) $(CFLAGS) -c -o read_conf-config1.obj `if test -f '$(top_srcdir)/src/config1.c'; then $(CYGPATH_W) '$(top_srcdir)/src/config1.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/config1.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/config/read_conf.c /tmp/zoMIw2cTYT/gmpc-0.19.0/test/config/read_conf.c --- gmpc-0.18.0/test/config/read_conf.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/config/read_conf.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,41 @@ +#include +#include +#include +#include "config1.h" +void print_all_entries(config_obj *cfg, config_obj *cfg2) +{ + conf_mult_obj *iter, *list; + iter = list = cfg_get_class_list(cfg); + while(iter){ + printf("[%s]\n", iter->key); + conf_mult_obj *kiter, *klist; + kiter = klist = cfg_get_key_list(cfg, iter->key); + while(kiter) + { + cfg_set_single_value_as_string(cfg2, iter->key, kiter->key, kiter->value); + printf("%s=%s\n", kiter->key, kiter->value); + kiter = kiter->next; + } + cfg_free_multiple(klist); + iter = iter->next; + } + cfg_free_multiple(list); +} +int main(int argc, char **argv) +{ + gchar *path= "read_conf_test.db2"; + config_obj *cfg, *cfg2; + if(argc == 2){ + path = argv[1]; + } + /* Open the test file */ + cfg = cfg_open(path); + cfg2 = cfg_open("test-db2"); + print_all_entries(cfg,cfg2); + /* Close the test file */ + cfg_close(cfg); + cfg_close(cfg2); + /* Remove test file */ + g_unlink("test-db2"); + return EXIT_SUCCESS; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/GmpcEasyDownload/ged.c /tmp/zoMIw2cTYT/gmpc-0.19.0/test/GmpcEasyDownload/ged.c --- gmpc-0.18.0/test/GmpcEasyDownload/ged.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/GmpcEasyDownload/ged.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,79 @@ +#include +#include +#include +#include +#include "../../src/gmpc_easy_download.h" + +gpointer config = NULL; + +void playlist3_show_error_message(const char *message, int el) +{ + +} +/** + * Dummy config system + */ +int cfg_get_single_value_as_int_with_default(gpointer *config, const gchar *a, const gchar *b, int def) +{ + return def; +} +gchar * cfg_get_single_value_as_string_with_default(gpointer *config, const gchar *a, const gchar *b, gchar* def) +{ + return g_strdup(def); +} +gchar *cfg_get_single_value_as_string(gpointer *config, const gchar *a, const gchar *b) +{ + return NULL; +} +void cfg_set_single_value_as_string(gpointer *config, const gchar *a, const gchar *b, gchar *def) +{ +} + +void cfg_set_single_value_as_int(gpointer *config, const gchar *a, const gchar *b, int def ) +{ +} + +void downloaded2(const GEADAsyncHandler *handle, GEADStatus status, gpointer user_data) +{ + GMainLoop *loop = user_data; + if(status == GEAD_PROGRESS) return; + else if(status == GEAD_DONE){ + gsize length; + const guchar *data = gmpc_easy_handler_get_data(handle, &length); + printf("Download: %li bytes\n", length); + + }else{ + g_error("Download failed\n"); + } + g_main_loop_quit(loop); +} + +void downloaded(const GEADAsyncHandler *handle, GEADStatus status, gpointer user_data) +{ + GMainLoop *loop = user_data; + if(status == GEAD_PROGRESS) return; + else if(status == GEAD_DONE){ + GEADAsyncHandler *handle2; + gsize length; + const guchar *data = gmpc_easy_handler_get_data(handle, &length); + printf("Download: %li bytes\n", length); + handle2 = gmpc_easy_async_downloader("http://maps.google.com", downloaded2, loop); + }else{ + g_error("Download failed\n"); + g_main_loop_quit(loop); + } +} +int main(int argc, char **argv) +{ + GEADAsyncHandler *handle; + GMainLoop *loop; + g_type_init(); + loop = g_main_loop_new(NULL, FALSE); + if(!g_thread_supported()) + g_thread_init(NULL); + handle = gmpc_easy_async_downloader("http://www.google.com", downloaded, loop); + g_main_loop_run(loop); + gmpc_easy_async_quit(); + g_main_loop_unref(loop); + return EXIT_FAILURE; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/GmpcEasyDownload/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/test/GmpcEasyDownload/Makefile.am --- gmpc-0.18.0/test/GmpcEasyDownload/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/GmpcEasyDownload/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,29 @@ +if ENABLE_TEST +noinst_PROGRAMS = \ + gmpc_easy_download + +gmpc_easy_download_CFLAGS = @CFLAGS@\ + @glib_CFLAGS@\ + @libmpd_CFLAGS@\ + @gtk_CFLAGS@\ + @libsoup_CFLAGS@\ + -I$(top_srcdir)/src\ + -I$(top_srcdir)/src/vala\ + -I$(top_srcdir)/src/gob\ + -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ + -DGLADE_PATH=\""$(pkgdatadir)"\" + +gmpc_easy_download_LDADD = @LIBS@\ + @libmpd_LIBS@\ + @glib_LIBS@\ + @gtk_LIBS@\ + @libsoup_LIBS@ + +gmpc_easy_download_SOURCES = \ + ged.c + +nodist_gmpc_easy_download_SOURCES = \ + $(top_srcdir)/src/misc.c\ + $(top_srcdir)/src/gmpc_easy_download.c + +endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/GmpcEasyDownload/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/test/GmpcEasyDownload/Makefile.in --- gmpc-0.18.0/test/GmpcEasyDownload/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/GmpcEasyDownload/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,586 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_TEST_TRUE@noinst_PROGRAMS = gmpc_easy_download$(EXEEXT) +subdir = test/GmpcEasyDownload +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__gmpc_easy_download_SOURCES_DIST = ged.c +@ENABLE_TEST_TRUE@am_gmpc_easy_download_OBJECTS = \ +@ENABLE_TEST_TRUE@ gmpc_easy_download-ged.$(OBJEXT) +@ENABLE_TEST_TRUE@nodist_gmpc_easy_download_OBJECTS = \ +@ENABLE_TEST_TRUE@ gmpc_easy_download-misc.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ gmpc_easy_download-gmpc_easy_download.$(OBJEXT) +gmpc_easy_download_OBJECTS = $(am_gmpc_easy_download_OBJECTS) \ + $(nodist_gmpc_easy_download_OBJECTS) +gmpc_easy_download_DEPENDENCIES = +gmpc_easy_download_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) \ + $(gmpc_easy_download_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(gmpc_easy_download_SOURCES) \ + $(nodist_gmpc_easy_download_SOURCES) +DIST_SOURCES = $(am__gmpc_easy_download_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@ENABLE_TEST_TRUE@gmpc_easy_download_CFLAGS = @CFLAGS@\ +@ENABLE_TEST_TRUE@ @glib_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libmpd_CFLAGS@\ +@ENABLE_TEST_TRUE@ @gtk_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libsoup_CFLAGS@\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src/vala\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src/gob\ +@ENABLE_TEST_TRUE@ -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ +@ENABLE_TEST_TRUE@ -DGLADE_PATH=\""$(pkgdatadir)"\" + +@ENABLE_TEST_TRUE@gmpc_easy_download_LDADD = @LIBS@\ +@ENABLE_TEST_TRUE@ @libmpd_LIBS@\ +@ENABLE_TEST_TRUE@ @glib_LIBS@\ +@ENABLE_TEST_TRUE@ @gtk_LIBS@\ +@ENABLE_TEST_TRUE@ @libsoup_LIBS@ + +@ENABLE_TEST_TRUE@gmpc_easy_download_SOURCES = \ +@ENABLE_TEST_TRUE@ ged.c + +@ENABLE_TEST_TRUE@nodist_gmpc_easy_download_SOURCES = \ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/misc.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/gmpc_easy_download.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/GmpcEasyDownload/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/GmpcEasyDownload/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +gmpc_easy_download$(EXEEXT): $(gmpc_easy_download_OBJECTS) $(gmpc_easy_download_DEPENDENCIES) + @rm -f gmpc_easy_download$(EXEEXT) + $(gmpc_easy_download_LINK) $(gmpc_easy_download_OBJECTS) $(gmpc_easy_download_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_easy_download-ged.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gmpc_easy_download-misc.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +gmpc_easy_download-ged.o: ged.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-ged.o -MD -MP -MF $(DEPDIR)/gmpc_easy_download-ged.Tpo -c -o gmpc_easy_download-ged.o `test -f 'ged.c' || echo '$(srcdir)/'`ged.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-ged.Tpo $(DEPDIR)/gmpc_easy_download-ged.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ged.c' object='gmpc_easy_download-ged.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-ged.o `test -f 'ged.c' || echo '$(srcdir)/'`ged.c + +gmpc_easy_download-ged.obj: ged.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-ged.obj -MD -MP -MF $(DEPDIR)/gmpc_easy_download-ged.Tpo -c -o gmpc_easy_download-ged.obj `if test -f 'ged.c'; then $(CYGPATH_W) 'ged.c'; else $(CYGPATH_W) '$(srcdir)/ged.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-ged.Tpo $(DEPDIR)/gmpc_easy_download-ged.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ged.c' object='gmpc_easy_download-ged.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-ged.obj `if test -f 'ged.c'; then $(CYGPATH_W) 'ged.c'; else $(CYGPATH_W) '$(srcdir)/ged.c'; fi` + +gmpc_easy_download-misc.o: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-misc.o -MD -MP -MF $(DEPDIR)/gmpc_easy_download-misc.Tpo -c -o gmpc_easy_download-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-misc.Tpo $(DEPDIR)/gmpc_easy_download-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='gmpc_easy_download-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c + +gmpc_easy_download-misc.obj: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-misc.obj -MD -MP -MF $(DEPDIR)/gmpc_easy_download-misc.Tpo -c -o gmpc_easy_download-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-misc.Tpo $(DEPDIR)/gmpc_easy_download-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='gmpc_easy_download-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` + +gmpc_easy_download-gmpc_easy_download.o: $(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-gmpc_easy_download.o -MD -MP -MF $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Tpo -c -o gmpc_easy_download-gmpc_easy_download.o `test -f '$(top_srcdir)/src/gmpc_easy_download.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Tpo $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc_easy_download.c' object='gmpc_easy_download-gmpc_easy_download.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-gmpc_easy_download.o `test -f '$(top_srcdir)/src/gmpc_easy_download.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc_easy_download.c + +gmpc_easy_download-gmpc_easy_download.obj: $(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -MT gmpc_easy_download-gmpc_easy_download.obj -MD -MP -MF $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Tpo -c -o gmpc_easy_download-gmpc_easy_download.obj `if test -f '$(top_srcdir)/src/gmpc_easy_download.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc_easy_download.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc_easy_download.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Tpo $(DEPDIR)/gmpc_easy_download-gmpc_easy_download.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc_easy_download.c' object='gmpc_easy_download-gmpc_easy_download.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gmpc_easy_download_CFLAGS) $(CFLAGS) -c -o gmpc_easy_download-gmpc_easy_download.obj `if test -f '$(top_srcdir)/src/gmpc_easy_download.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc_easy_download.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc_easy_download.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/test/Makefile.am --- gmpc-0.18.0/test/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1 @@ +SUBDIRS = config MpdDataModel GmpcEasyDownload MetaDataCache diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/test/Makefile.in --- gmpc-0.18.0/test/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,558 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = test +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +SUBDIRS = config MpdDataModel GmpcEasyDownload MetaDataCache +all: all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic clean-libtool \ + ctags ctags-recursive distclean distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic \ + mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MetaDataCache/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MetaDataCache/Makefile.am --- gmpc-0.18.0/test/MetaDataCache/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MetaDataCache/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,38 @@ +if ENABLE_TEST +noinst_PROGRAMS = \ + mtc_test + +mtc_test_CFLAGS = @CFLAGS@\ + @gtk_CFLAGS@\ + @glib_CFLAGS@\ + @libmpd_CFLAGS@\ + @sqlite3_CFLAGS@\ + @libsoup_CFLAGS@\ + -DPACKAGE_DATA_DIR="\"\""\ + -DPIXMAP_PATH="\"\""\ + -DGLADE_PATH="\"\""\ + -I$(top_srcdir)/src/gob\ + -I$(top_srcdir)/src/vala\ + -I$(top_srcdir)/src + +mtc_test_LDADD = @LIBS@\ + @libmpd_LIBS@\ + @gtk_LIBS@\ + @sqlite3_LIBS@\ + @libsoup_LIBS@\ + @glib_LIBS@ + +mtc_test_SOURCES = \ + mtc_test.c + +nodist_mtc_test_SOURCES = \ + $(top_srcdir)/src/config1.c\ + $(top_srcdir)/src/metadata.c\ + $(top_srcdir)/src/plugin.c\ + $(top_srcdir)/src/misc.c\ + $(top_srcdir)/src/gmpc_easy_download.c\ + $(top_srcdir)/src/gmpc-meta-watcher.c\ + $(top_srcdir)/src/vala/gmpc-plugin.c\ + $(top_srcdir)/src/metadata-cache.c + +endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MetaDataCache/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MetaDataCache/Makefile.in --- gmpc-0.18.0/test/MetaDataCache/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MetaDataCache/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,687 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_TEST_TRUE@noinst_PROGRAMS = mtc_test$(EXEEXT) +subdir = test/MetaDataCache +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__mtc_test_SOURCES_DIST = mtc_test.c +@ENABLE_TEST_TRUE@am_mtc_test_OBJECTS = mtc_test-mtc_test.$(OBJEXT) +@ENABLE_TEST_TRUE@nodist_mtc_test_OBJECTS = \ +@ENABLE_TEST_TRUE@ mtc_test-config1.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-metadata.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-plugin.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-misc.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-gmpc_easy_download.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-gmpc-meta-watcher.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-gmpc-plugin.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mtc_test-metadata-cache.$(OBJEXT) +mtc_test_OBJECTS = $(am_mtc_test_OBJECTS) $(nodist_mtc_test_OBJECTS) +mtc_test_DEPENDENCIES = +mtc_test_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(mtc_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(mtc_test_SOURCES) $(nodist_mtc_test_SOURCES) +DIST_SOURCES = $(am__mtc_test_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@ENABLE_TEST_TRUE@mtc_test_CFLAGS = @CFLAGS@\ +@ENABLE_TEST_TRUE@ @gtk_CFLAGS@\ +@ENABLE_TEST_TRUE@ @glib_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libmpd_CFLAGS@\ +@ENABLE_TEST_TRUE@ @sqlite3_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libsoup_CFLAGS@\ +@ENABLE_TEST_TRUE@ -DPACKAGE_DATA_DIR="\"\""\ +@ENABLE_TEST_TRUE@ -DPIXMAP_PATH="\"\""\ +@ENABLE_TEST_TRUE@ -DGLADE_PATH="\"\""\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src/gob\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src/vala\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src + +@ENABLE_TEST_TRUE@mtc_test_LDADD = @LIBS@\ +@ENABLE_TEST_TRUE@ @libmpd_LIBS@\ +@ENABLE_TEST_TRUE@ @gtk_LIBS@\ +@ENABLE_TEST_TRUE@ @sqlite3_LIBS@\ +@ENABLE_TEST_TRUE@ @libsoup_LIBS@\ +@ENABLE_TEST_TRUE@ @glib_LIBS@ + +@ENABLE_TEST_TRUE@mtc_test_SOURCES = \ +@ENABLE_TEST_TRUE@ mtc_test.c + +@ENABLE_TEST_TRUE@nodist_mtc_test_SOURCES = \ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/config1.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/metadata.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/plugin.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/misc.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/gmpc_easy_download.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/gmpc-meta-watcher.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/vala/gmpc-plugin.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/metadata-cache.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/MetaDataCache/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/MetaDataCache/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +mtc_test$(EXEEXT): $(mtc_test_OBJECTS) $(mtc_test_DEPENDENCIES) + @rm -f mtc_test$(EXEEXT) + $(mtc_test_LINK) $(mtc_test_OBJECTS) $(mtc_test_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-config1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-gmpc-meta-watcher.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-gmpc-plugin.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-gmpc_easy_download.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-metadata-cache.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-metadata.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-misc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-mtc_test.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtc_test-plugin.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mtc_test-mtc_test.o: mtc_test.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-mtc_test.o -MD -MP -MF $(DEPDIR)/mtc_test-mtc_test.Tpo -c -o mtc_test-mtc_test.o `test -f 'mtc_test.c' || echo '$(srcdir)/'`mtc_test.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-mtc_test.Tpo $(DEPDIR)/mtc_test-mtc_test.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mtc_test.c' object='mtc_test-mtc_test.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-mtc_test.o `test -f 'mtc_test.c' || echo '$(srcdir)/'`mtc_test.c + +mtc_test-mtc_test.obj: mtc_test.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-mtc_test.obj -MD -MP -MF $(DEPDIR)/mtc_test-mtc_test.Tpo -c -o mtc_test-mtc_test.obj `if test -f 'mtc_test.c'; then $(CYGPATH_W) 'mtc_test.c'; else $(CYGPATH_W) '$(srcdir)/mtc_test.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-mtc_test.Tpo $(DEPDIR)/mtc_test-mtc_test.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mtc_test.c' object='mtc_test-mtc_test.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-mtc_test.obj `if test -f 'mtc_test.c'; then $(CYGPATH_W) 'mtc_test.c'; else $(CYGPATH_W) '$(srcdir)/mtc_test.c'; fi` + +mtc_test-config1.o: $(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-config1.o -MD -MP -MF $(DEPDIR)/mtc_test-config1.Tpo -c -o mtc_test-config1.o `test -f '$(top_srcdir)/src/config1.c' || echo '$(srcdir)/'`$(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-config1.Tpo $(DEPDIR)/mtc_test-config1.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/config1.c' object='mtc_test-config1.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-config1.o `test -f '$(top_srcdir)/src/config1.c' || echo '$(srcdir)/'`$(top_srcdir)/src/config1.c + +mtc_test-config1.obj: $(top_srcdir)/src/config1.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-config1.obj -MD -MP -MF $(DEPDIR)/mtc_test-config1.Tpo -c -o mtc_test-config1.obj `if test -f '$(top_srcdir)/src/config1.c'; then $(CYGPATH_W) '$(top_srcdir)/src/config1.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/config1.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-config1.Tpo $(DEPDIR)/mtc_test-config1.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/config1.c' object='mtc_test-config1.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-config1.obj `if test -f '$(top_srcdir)/src/config1.c'; then $(CYGPATH_W) '$(top_srcdir)/src/config1.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/config1.c'; fi` + +mtc_test-metadata.o: $(top_srcdir)/src/metadata.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-metadata.o -MD -MP -MF $(DEPDIR)/mtc_test-metadata.Tpo -c -o mtc_test-metadata.o `test -f '$(top_srcdir)/src/metadata.c' || echo '$(srcdir)/'`$(top_srcdir)/src/metadata.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-metadata.Tpo $(DEPDIR)/mtc_test-metadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/metadata.c' object='mtc_test-metadata.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-metadata.o `test -f '$(top_srcdir)/src/metadata.c' || echo '$(srcdir)/'`$(top_srcdir)/src/metadata.c + +mtc_test-metadata.obj: $(top_srcdir)/src/metadata.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-metadata.obj -MD -MP -MF $(DEPDIR)/mtc_test-metadata.Tpo -c -o mtc_test-metadata.obj `if test -f '$(top_srcdir)/src/metadata.c'; then $(CYGPATH_W) '$(top_srcdir)/src/metadata.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/metadata.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-metadata.Tpo $(DEPDIR)/mtc_test-metadata.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/metadata.c' object='mtc_test-metadata.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-metadata.obj `if test -f '$(top_srcdir)/src/metadata.c'; then $(CYGPATH_W) '$(top_srcdir)/src/metadata.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/metadata.c'; fi` + +mtc_test-plugin.o: $(top_srcdir)/src/plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-plugin.o -MD -MP -MF $(DEPDIR)/mtc_test-plugin.Tpo -c -o mtc_test-plugin.o `test -f '$(top_srcdir)/src/plugin.c' || echo '$(srcdir)/'`$(top_srcdir)/src/plugin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-plugin.Tpo $(DEPDIR)/mtc_test-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/plugin.c' object='mtc_test-plugin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-plugin.o `test -f '$(top_srcdir)/src/plugin.c' || echo '$(srcdir)/'`$(top_srcdir)/src/plugin.c + +mtc_test-plugin.obj: $(top_srcdir)/src/plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-plugin.obj -MD -MP -MF $(DEPDIR)/mtc_test-plugin.Tpo -c -o mtc_test-plugin.obj `if test -f '$(top_srcdir)/src/plugin.c'; then $(CYGPATH_W) '$(top_srcdir)/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/plugin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-plugin.Tpo $(DEPDIR)/mtc_test-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/plugin.c' object='mtc_test-plugin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-plugin.obj `if test -f '$(top_srcdir)/src/plugin.c'; then $(CYGPATH_W) '$(top_srcdir)/src/plugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/plugin.c'; fi` + +mtc_test-misc.o: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-misc.o -MD -MP -MF $(DEPDIR)/mtc_test-misc.Tpo -c -o mtc_test-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-misc.Tpo $(DEPDIR)/mtc_test-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='mtc_test-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c + +mtc_test-misc.obj: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-misc.obj -MD -MP -MF $(DEPDIR)/mtc_test-misc.Tpo -c -o mtc_test-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-misc.Tpo $(DEPDIR)/mtc_test-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='mtc_test-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` + +mtc_test-gmpc_easy_download.o: $(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc_easy_download.o -MD -MP -MF $(DEPDIR)/mtc_test-gmpc_easy_download.Tpo -c -o mtc_test-gmpc_easy_download.o `test -f '$(top_srcdir)/src/gmpc_easy_download.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc_easy_download.Tpo $(DEPDIR)/mtc_test-gmpc_easy_download.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc_easy_download.c' object='mtc_test-gmpc_easy_download.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc_easy_download.o `test -f '$(top_srcdir)/src/gmpc_easy_download.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc_easy_download.c + +mtc_test-gmpc_easy_download.obj: $(top_srcdir)/src/gmpc_easy_download.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc_easy_download.obj -MD -MP -MF $(DEPDIR)/mtc_test-gmpc_easy_download.Tpo -c -o mtc_test-gmpc_easy_download.obj `if test -f '$(top_srcdir)/src/gmpc_easy_download.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc_easy_download.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc_easy_download.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc_easy_download.Tpo $(DEPDIR)/mtc_test-gmpc_easy_download.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc_easy_download.c' object='mtc_test-gmpc_easy_download.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc_easy_download.obj `if test -f '$(top_srcdir)/src/gmpc_easy_download.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc_easy_download.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc_easy_download.c'; fi` + +mtc_test-gmpc-meta-watcher.o: $(top_srcdir)/src/gmpc-meta-watcher.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc-meta-watcher.o -MD -MP -MF $(DEPDIR)/mtc_test-gmpc-meta-watcher.Tpo -c -o mtc_test-gmpc-meta-watcher.o `test -f '$(top_srcdir)/src/gmpc-meta-watcher.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc-meta-watcher.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc-meta-watcher.Tpo $(DEPDIR)/mtc_test-gmpc-meta-watcher.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc-meta-watcher.c' object='mtc_test-gmpc-meta-watcher.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc-meta-watcher.o `test -f '$(top_srcdir)/src/gmpc-meta-watcher.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc-meta-watcher.c + +mtc_test-gmpc-meta-watcher.obj: $(top_srcdir)/src/gmpc-meta-watcher.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc-meta-watcher.obj -MD -MP -MF $(DEPDIR)/mtc_test-gmpc-meta-watcher.Tpo -c -o mtc_test-gmpc-meta-watcher.obj `if test -f '$(top_srcdir)/src/gmpc-meta-watcher.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc-meta-watcher.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc-meta-watcher.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc-meta-watcher.Tpo $(DEPDIR)/mtc_test-gmpc-meta-watcher.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc-meta-watcher.c' object='mtc_test-gmpc-meta-watcher.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc-meta-watcher.obj `if test -f '$(top_srcdir)/src/gmpc-meta-watcher.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc-meta-watcher.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc-meta-watcher.c'; fi` + +mtc_test-gmpc-plugin.o: $(top_srcdir)/src/vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc-plugin.o -MD -MP -MF $(DEPDIR)/mtc_test-gmpc-plugin.Tpo -c -o mtc_test-gmpc-plugin.o `test -f '$(top_srcdir)/src/vala/gmpc-plugin.c' || echo '$(srcdir)/'`$(top_srcdir)/src/vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc-plugin.Tpo $(DEPDIR)/mtc_test-gmpc-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/vala/gmpc-plugin.c' object='mtc_test-gmpc-plugin.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc-plugin.o `test -f '$(top_srcdir)/src/vala/gmpc-plugin.c' || echo '$(srcdir)/'`$(top_srcdir)/src/vala/gmpc-plugin.c + +mtc_test-gmpc-plugin.obj: $(top_srcdir)/src/vala/gmpc-plugin.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-gmpc-plugin.obj -MD -MP -MF $(DEPDIR)/mtc_test-gmpc-plugin.Tpo -c -o mtc_test-gmpc-plugin.obj `if test -f '$(top_srcdir)/src/vala/gmpc-plugin.c'; then $(CYGPATH_W) '$(top_srcdir)/src/vala/gmpc-plugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/vala/gmpc-plugin.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-gmpc-plugin.Tpo $(DEPDIR)/mtc_test-gmpc-plugin.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/vala/gmpc-plugin.c' object='mtc_test-gmpc-plugin.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-gmpc-plugin.obj `if test -f '$(top_srcdir)/src/vala/gmpc-plugin.c'; then $(CYGPATH_W) '$(top_srcdir)/src/vala/gmpc-plugin.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/vala/gmpc-plugin.c'; fi` + +mtc_test-metadata-cache.o: $(top_srcdir)/src/metadata-cache.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-metadata-cache.o -MD -MP -MF $(DEPDIR)/mtc_test-metadata-cache.Tpo -c -o mtc_test-metadata-cache.o `test -f '$(top_srcdir)/src/metadata-cache.c' || echo '$(srcdir)/'`$(top_srcdir)/src/metadata-cache.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-metadata-cache.Tpo $(DEPDIR)/mtc_test-metadata-cache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/metadata-cache.c' object='mtc_test-metadata-cache.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-metadata-cache.o `test -f '$(top_srcdir)/src/metadata-cache.c' || echo '$(srcdir)/'`$(top_srcdir)/src/metadata-cache.c + +mtc_test-metadata-cache.obj: $(top_srcdir)/src/metadata-cache.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -MT mtc_test-metadata-cache.obj -MD -MP -MF $(DEPDIR)/mtc_test-metadata-cache.Tpo -c -o mtc_test-metadata-cache.obj `if test -f '$(top_srcdir)/src/metadata-cache.c'; then $(CYGPATH_W) '$(top_srcdir)/src/metadata-cache.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/metadata-cache.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mtc_test-metadata-cache.Tpo $(DEPDIR)/mtc_test-metadata-cache.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/metadata-cache.c' object='mtc_test-metadata-cache.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mtc_test_CFLAGS) $(CFLAGS) -c -o mtc_test-metadata-cache.obj `if test -f '$(top_srcdir)/src/metadata-cache.c'; then $(CYGPATH_W) '$(top_srcdir)/src/metadata-cache.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/metadata-cache.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MetaDataCache/mtc_test.c /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MetaDataCache/mtc_test.c --- gmpc-0.18.0/test/MetaDataCache/mtc_test.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MetaDataCache/mtc_test.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,71 @@ +#include +#include +#include +#include +#include "gmpc-meta-watcher.h" +#include "gmpc-connection.h" +#include "metadata.h" +#include "metadata-cache.h" + +GObject *config = NULL; +GmpcMetaWatcher *gmw = NULL; +GObject *connection = NULL; + +void playlist3_show_error_message() +{ +} + + +char *artists[] = { + "Eric Clapton", + "Clapton, Eric", + "B.B. King", + "Room Eleven", + "James Brown", + "Brown, James", + "10cc", + "2Pac", + "Pantera", + "Pärt, Arvo", + "XERSDRXER" +}; +int main(int argc, char **argv) +{ + long a; + GTimeVal current,now; + MetaDataResult result; + int i=0,j=1000; + // g_type_init(); + + g_get_current_time(¤t); + metadata_cache_init(); + g_get_current_time(&now); + a = now.tv_usec - current.tv_usec; + printf("elapsed open db: %li us\n", (a<0)?1-a:a); + current = now; + for(;j>0;j--) + { + for(i=0;i<11;i++) + { + MetaData *met = NULL; + mpd_Song *song = mpd_newSong(); + song->artist = g_strdup(artists[i]); + result = meta_data_get_from_cache(song, META_ARTIST_ART, &met); + if(met) meta_data_free(met); + + mpd_freeSong(song); + } + } + + g_get_current_time(&now); + a = now.tv_usec - current.tv_usec; + printf("elapsed 10.000 queries: %li us\n", (a<0)?1-a:a); + current = now; + metadata_cache_destroy(); + + g_get_current_time(&now); + a = now.tv_usec - current.tv_usec; + printf("elapsed closing: %li us\n", (a<0)?1-a:a); + current = now; + return EXIT_SUCCESS; +} diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MpdDataModel/Makefile.am /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MpdDataModel/Makefile.am --- gmpc-0.18.0/test/MpdDataModel/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MpdDataModel/Makefile.am 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,26 @@ +if ENABLE_TEST +noinst_PROGRAMS = \ + mpd_data_model + +mpd_data_model_CFLAGS = @CFLAGS@\ + @glib_CFLAGS@\ + @libmpd_CFLAGS@\ + @gtk_CFLAGS@\ + -I$(top_srcdir)/src\ + -I$(top_srcdir)/src/vala\ + -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ + -DGLADE_PATH=\""$(pkgdatadir)"\" + +mpd_data_model_LDADD = @LIBS@\ + @libmpd_LIBS@\ + @glib_LIBS@\ + @gtk_LIBS@ + +mpd_data_model_SOURCES = \ + mpd_data_model.c + +nodist_mpd_data_model_SOURCES = \ + $(top_srcdir)/src/misc.c\ + $(top_srcdir)/src/gmpc-mpddata-model.c + +endif diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MpdDataModel/Makefile.in /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MpdDataModel/Makefile.in --- gmpc-0.18.0/test/MpdDataModel/Makefile.in 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MpdDataModel/Makefile.in 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,581 @@ +# Makefile.in generated by automake 1.10.2 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +@ENABLE_TEST_TRUE@noinst_PROGRAMS = mpd_data_model$(EXEEXT) +subdir = test/MpdDataModel +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/gob2.m4 \ + $(top_srcdir)/m4/intltool.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am__mpd_data_model_SOURCES_DIST = mpd_data_model.c +@ENABLE_TEST_TRUE@am_mpd_data_model_OBJECTS = \ +@ENABLE_TEST_TRUE@ mpd_data_model-mpd_data_model.$(OBJEXT) +@ENABLE_TEST_TRUE@nodist_mpd_data_model_OBJECTS = \ +@ENABLE_TEST_TRUE@ mpd_data_model-misc.$(OBJEXT) \ +@ENABLE_TEST_TRUE@ mpd_data_model-gmpc-mpddata-model.$(OBJEXT) +mpd_data_model_OBJECTS = $(am_mpd_data_model_OBJECTS) \ + $(nodist_mpd_data_model_OBJECTS) +mpd_data_model_DEPENDENCIES = +mpd_data_model_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(mpd_data_model_CFLAGS) \ + $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ + $(LDFLAGS) -o $@ +SOURCES = $(mpd_data_model_SOURCES) $(nodist_mpd_data_model_SOURCES) +DIST_SOURCES = $(am__mpd_data_model_SOURCES_DIST) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +AMTAR = @AMTAR@ +AM_MAKEFLAGS = @AM_MAKEFLAGS@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CYGPATH_W = @CYGPATH_W@ +DATADIRNAME = @DATADIRNAME@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +EXTRA_CFLAGS = @EXTRA_CFLAGS@ +EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ +EXTRA_VERSION = @EXTRA_VERSION@ +FGREP = @FGREP@ +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +GLIB_REQUIRED = @GLIB_REQUIRED@ +GMOFILES = @GMOFILES@ +GMPC_MAJOR_VERSION = @GMPC_MAJOR_VERSION@ +GMPC_MICRO_VERSION = @GMPC_MICRO_VERSION@ +GMPC_MINOR_VERSION = @GMPC_MINOR_VERSION@ +GMSGFMT = @GMSGFMT@ +GOB2 = @GOB2@ +GREP = @GREP@ +GTK_REQUIRED = @GTK_REQUIRED@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INSTOBJEXT = @INSTOBJEXT@ +INTLLIBS = @INTLLIBS@ +INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ +INTLTOOL_MERGE = @INTLTOOL_MERGE@ +INTLTOOL_PERL = @INTLTOOL_PERL@ +INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEFLAGS = @MAKEFLAGS@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MKINSTALLDIRS = @MKINSTALLDIRS@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_LIBS = @PACKAGE_LIBS@ +PACKAGE_LOCALE_DIR = @PACKAGE_LOCALE_DIR@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +POFILES = @POFILES@ +POSUB = @POSUB@ +PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ +PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHAVE_SAVED_CC = @SHAVE_SAVED_CC@ +SHAVE_SAVED_CXX = @SHAVE_SAVED_CXX@ +SHAVE_SAVED_LIBTOOL = @SHAVE_SAVED_LIBTOOL@ +SHELL = @SHELL@ +SPIFF_LIBS = @SPIFF_LIBS@ +STRIP = @STRIP@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +glib_CFLAGS = @glib_CFLAGS@ +glib_LIBS = @glib_LIBS@ +gmodule_CFLAGS = @gmodule_CFLAGS@ +gmodule_LIBS = @gmodule_LIBS@ +gobject_CFLAGS = @gobject_CFLAGS@ +gobject_LIBS = @gobject_LIBS@ +gthread_CFLAGS = @gthread_CFLAGS@ +gthread_LIBS = @gthread_LIBS@ +gtk_CFLAGS = @gtk_CFLAGS@ +gtk_LIBS = @gtk_LIBS@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +libglade_CFLAGS = @libglade_CFLAGS@ +libglade_LIBS = @libglade_LIBS@ +libmpd_CFLAGS = @libmpd_CFLAGS@ +libmpd_LIBS = @libmpd_LIBS@ +libsexy_CFLAGS = @libsexy_CFLAGS@ +libsexy_LIBS = @libsexy_LIBS@ +libsoup_CFLAGS = @libsoup_CFLAGS@ +libsoup_LIBS = @libsoup_LIBS@ +libxspf_CFLAGS = @libxspf_CFLAGS@ +libxspf_LIBS = @libxspf_LIBS@ +localedir = @localedir@ +localstatedir = @localstatedir@ +lt_ECHO = @lt_ECHO@ +macint_CFLAGS = @macint_CFLAGS@ +macint_LIBS = @macint_LIBS@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +shavedir = @shavedir@ +sqlite3_CFLAGS = @sqlite3_CFLAGS@ +sqlite3_LIBS = @sqlite3_LIBS@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@ENABLE_TEST_TRUE@mpd_data_model_CFLAGS = @CFLAGS@\ +@ENABLE_TEST_TRUE@ @glib_CFLAGS@\ +@ENABLE_TEST_TRUE@ @libmpd_CFLAGS@\ +@ENABLE_TEST_TRUE@ @gtk_CFLAGS@\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src\ +@ENABLE_TEST_TRUE@ -I$(top_srcdir)/src/vala\ +@ENABLE_TEST_TRUE@ -DPIXMAP_PATH=\""$(pkgdatadir)/icons/"\" \ +@ENABLE_TEST_TRUE@ -DGLADE_PATH=\""$(pkgdatadir)"\" + +@ENABLE_TEST_TRUE@mpd_data_model_LDADD = @LIBS@\ +@ENABLE_TEST_TRUE@ @libmpd_LIBS@\ +@ENABLE_TEST_TRUE@ @glib_LIBS@\ +@ENABLE_TEST_TRUE@ @gtk_LIBS@ + +@ENABLE_TEST_TRUE@mpd_data_model_SOURCES = \ +@ENABLE_TEST_TRUE@ mpd_data_model.c + +@ENABLE_TEST_TRUE@nodist_mpd_data_model_SOURCES = \ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/misc.c\ +@ENABLE_TEST_TRUE@ $(top_srcdir)/src/gmpc-mpddata-model.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/MpdDataModel/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu test/MpdDataModel/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +mpd_data_model$(EXEEXT): $(mpd_data_model_OBJECTS) $(mpd_data_model_DEPENDENCIES) + @rm -f mpd_data_model$(EXEEXT) + $(mpd_data_model_LINK) $(mpd_data_model_OBJECTS) $(mpd_data_model_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpd_data_model-misc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mpd_data_model-mpd_data_model.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< + +mpd_data_model-mpd_data_model.o: mpd_data_model.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-mpd_data_model.o -MD -MP -MF $(DEPDIR)/mpd_data_model-mpd_data_model.Tpo -c -o mpd_data_model-mpd_data_model.o `test -f 'mpd_data_model.c' || echo '$(srcdir)/'`mpd_data_model.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-mpd_data_model.Tpo $(DEPDIR)/mpd_data_model-mpd_data_model.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mpd_data_model.c' object='mpd_data_model-mpd_data_model.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-mpd_data_model.o `test -f 'mpd_data_model.c' || echo '$(srcdir)/'`mpd_data_model.c + +mpd_data_model-mpd_data_model.obj: mpd_data_model.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-mpd_data_model.obj -MD -MP -MF $(DEPDIR)/mpd_data_model-mpd_data_model.Tpo -c -o mpd_data_model-mpd_data_model.obj `if test -f 'mpd_data_model.c'; then $(CYGPATH_W) 'mpd_data_model.c'; else $(CYGPATH_W) '$(srcdir)/mpd_data_model.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-mpd_data_model.Tpo $(DEPDIR)/mpd_data_model-mpd_data_model.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='mpd_data_model.c' object='mpd_data_model-mpd_data_model.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-mpd_data_model.obj `if test -f 'mpd_data_model.c'; then $(CYGPATH_W) 'mpd_data_model.c'; else $(CYGPATH_W) '$(srcdir)/mpd_data_model.c'; fi` + +mpd_data_model-misc.o: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-misc.o -MD -MP -MF $(DEPDIR)/mpd_data_model-misc.Tpo -c -o mpd_data_model-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-misc.Tpo $(DEPDIR)/mpd_data_model-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='mpd_data_model-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-misc.o `test -f '$(top_srcdir)/src/misc.c' || echo '$(srcdir)/'`$(top_srcdir)/src/misc.c + +mpd_data_model-misc.obj: $(top_srcdir)/src/misc.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-misc.obj -MD -MP -MF $(DEPDIR)/mpd_data_model-misc.Tpo -c -o mpd_data_model-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-misc.Tpo $(DEPDIR)/mpd_data_model-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/misc.c' object='mpd_data_model-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-misc.obj `if test -f '$(top_srcdir)/src/misc.c'; then $(CYGPATH_W) '$(top_srcdir)/src/misc.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/misc.c'; fi` + +mpd_data_model-gmpc-mpddata-model.o: $(top_srcdir)/src/gmpc-mpddata-model.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-gmpc-mpddata-model.o -MD -MP -MF $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Tpo -c -o mpd_data_model-gmpc-mpddata-model.o `test -f '$(top_srcdir)/src/gmpc-mpddata-model.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc-mpddata-model.c +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Tpo $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc-mpddata-model.c' object='mpd_data_model-gmpc-mpddata-model.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-gmpc-mpddata-model.o `test -f '$(top_srcdir)/src/gmpc-mpddata-model.c' || echo '$(srcdir)/'`$(top_srcdir)/src/gmpc-mpddata-model.c + +mpd_data_model-gmpc-mpddata-model.obj: $(top_srcdir)/src/gmpc-mpddata-model.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -MT mpd_data_model-gmpc-mpddata-model.obj -MD -MP -MF $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Tpo -c -o mpd_data_model-gmpc-mpddata-model.obj `if test -f '$(top_srcdir)/src/gmpc-mpddata-model.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc-mpddata-model.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc-mpddata-model.c'; fi` +@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Tpo $(DEPDIR)/mpd_data_model-gmpc-mpddata-model.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(top_srcdir)/src/gmpc-mpddata-model.c' object='mpd_data_model-gmpc-mpddata-model.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(mpd_data_model_CFLAGS) $(CFLAGS) -c -o mpd_data_model-gmpc-mpddata-model.obj `if test -f '$(top_srcdir)/src/gmpc-mpddata-model.c'; then $(CYGPATH_W) '$(top_srcdir)/src/gmpc-mpddata-model.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/gmpc-mpddata-model.c'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-exec-am: + +install-html: install-html-am + +install-info: install-info-am + +install-man: + +install-pdf: install-pdf-am + +install-ps: install-ps-am + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru /tmp/WNGJmlA6cv/gmpc-0.18.0/test/MpdDataModel/mpd_data_model.c /tmp/zoMIw2cTYT/gmpc-0.19.0/test/MpdDataModel/mpd_data_model.c --- gmpc-0.18.0/test/MpdDataModel/mpd_data_model.c 1970-01-01 01:00:00.000000000 +0100 +++ gmpc-0.19.0/test/MpdDataModel/mpd_data_model.c 2009-09-21 11:15:59.000000000 +0100 @@ -0,0 +1,311 @@ +/* Gnome Music Player Client (GMPC) + * Copyright (C) 2004-2009 Qball Cow + * Project homepage: http://gmpc.wikia.com/ + + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +#include +#include +#include +#include +#include "gmpc-mpddata-model.h" + + +/** + * Stuff to make linker happy + */ +GObject *config = NULL; +GObject *gmw = NULL; +GObject *gmpc_signals = NULL; + +const gchar *meta_data_get_uri(gpointer input) +{ + return NULL; +} + +int cfg_get_single_value_as_int_with_default(GObject *config, const gchar *a, const gchar *b, int def) +{ + return def; +} + +gchar * cfg_get_single_value_as_string_with_default(GObject *config, const gchar *a, const gchar *b, gchar* def) +{ + return g_strdup(def); +} +char * gmpc_signals_get_browser_markup (GObject * self) +{ + return NULL; +} +void gmpc_meta_watcher_get_meta_path_callback() +{ +} +void playlist3_show_error_message() +{ +} +/** + * Create test list + */ +MpdData * get_test_list_songs(int length) +{ + MpdData *retv = NULL; + int i = 0; + for(;itype = MPD_DATA_TYPE_SONG; + retv->song = mpd_newSong(); + retv->song->file = g_strdup_printf("%i", i); + retv->song->title = g_strdup_printf("%i", i); + retv->song->pos = i; + retv->song->time = i; + } + return mpd_data_get_first(retv); +} +MpdData * get_test_list_tags(int length, gboolean reverse) +{ + MpdData *retv = NULL; + int i = 0; + for(;itype = MPD_DATA_TYPE_TAG; + retv->tag= g_strdup_printf("%08i", (reverse)?length-i-1:i); + retv->tag_type = 0; + } + return mpd_data_get_first(retv); +} +void test_songs_data_slow() +{ + GtkTreePath *path; + GtkTreeIter iter; + int length = 10000; + int j = 0; + MpdData *list = get_test_list_tags(length, FALSE); + MpdData *list2 = get_test_list_tags(length-10, TRUE); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + g_assert(list != NULL); + g_assert(list2 != NULL); + g_assert(model != NULL); + + gmpc_mpddata_model_set_mpd_data_slow(GMPC_MPDDATA_MODEL(model), list); + /* this should merge the 2 list, ignoring duplicates */ + gmpc_mpddata_model_set_mpd_data_slow(GMPC_MPDDATA_MODEL(model), list2); + + for(j=0; j< length-10;j++){ + path = gtk_tree_path_new_from_indices(j, -1); + gchar *pos; + + g_assert(gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path)); + gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, MPDDATA_MODEL_COL_SONG_TITLE, &pos,-1); + /* pos always has a 1 offset. this is because if you want to show the index number, you want to start at 1 */ + g_assert(pos != NULL); + g_assert_cmpint(atoi(pos), ==, j); + g_free(pos); + g_assert_cmpint(gmpc_mpddata_model_get_pos(model, &iter), ==, j); + gtk_tree_path_free(path); + } + /* Not allowed to be next iter */ + path = gtk_tree_path_new_from_indices(j, -1); + g_assert(!gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path)); + gtk_tree_path_free(path); + + g_object_unref(model); +} + +/** + * This tests the function that turns a GtkTreePAth into an iter. + * With the has_up + */ +void test_songs_path_to_iter_with_up() +{ + int length = 10000; + int j = 0; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + g_assert(list != NULL); + g_assert(model != NULL); + gmpc_mpddata_model_set_has_up(model, TRUE); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + /* Skip the first, as that is up */ + for(j=1; j< length;j++){ + GtkTreePath *path = gtk_tree_path_new_from_indices(j, -1); + GtkTreeIter iter; + int pos; + mpd_Song *song; + g_assert(gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path)); + gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, MPDDATA_MODEL_COL_SONG_POS, &pos,MPDDATA_MODEL_COL_MPDSONG, &song,-1); + /* pos always has a 1 offset minus the _up_ offset. this is because if you want to show the index number, you want to start at 1 */ + g_assert_cmpint(pos, ==, j); + /* song pos should match */ + g_assert_cmpint(song->pos+1, == , j); + + g_assert_cmpint(gmpc_mpddata_model_get_pos(model, &iter), ==, j); + gtk_tree_path_free(path); + } + + + g_object_unref(model); +} + + +/** + * This tests the function that turns a GtkTreePAth into an iter. + */ +void test_songs_path_to_iter() +{ + int length = 10000; + int j = 0; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(list != NULL); + g_assert(model != NULL); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + + for(j=0; j< length;j++){ + GtkTreePath *path = gtk_tree_path_new_from_indices(j, -1); + GtkTreeIter iter; + int pos; + mpd_Song *song; + g_assert(gtk_tree_model_get_iter(GTK_TREE_MODEL(model), &iter, path)); + gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, MPDDATA_MODEL_COL_SONG_POS, &pos,MPDDATA_MODEL_COL_MPDSONG, &song,-1); + /* pos always has a 1 offset. this is because if you want to show the index number, you want to start at 1 */ + g_assert_cmpint(pos-1, ==, j); + /* song pos should match */ + g_assert_cmpint(song->pos, == , j); + + g_assert_cmpint(gmpc_mpddata_model_get_pos(model, &iter), ==, j); + gtk_tree_path_free(path); + } + + + g_object_unref(model); +} + +void test_songs_total_playtime() +{ + long unsigned playtime = 0; + int length = 10000; + int j = 0; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(list != NULL); + g_assert(model != NULL); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + + playtime = gmpc_mpddata_model_get_playtime(GMPC_MPDDATA_MODEL(model)); + g_assert(playtime == 49995000); + + g_object_unref(model); +} + +void test_songs_num_rows() +{ + + long unsigned playtime = 0; + int length = 10000; + int j = 0; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(list != NULL); + g_assert(model != NULL); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + + g_assert(model->num_rows == length); + g_assert(gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL) == length); + + g_object_unref(model); +} + +void test_songs_num_rows_with_up() +{ + + long unsigned playtime = 0; + int length = 10000; + int j = 0; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(list != NULL); + g_assert(model != NULL); + + gmpc_mpddata_model_set_has_up(model, TRUE); + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + + g_assert(model->num_rows == length+1); + g_assert(gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL) == length+1); + + g_object_unref(model); +} + +void test_iter_children() +{ + long unsigned playtime = 0; + int length = 10000; + int j = 0; + GtkTreeIter iter, parent; + MpdData *list = get_test_list_songs(length); + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(model != NULL); + g_assert(list != NULL); + + g_assert(!gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &iter, NULL)); + + + gmpc_mpddata_model_set_mpd_data(GMPC_MPDDATA_MODEL(model), list); + + g_assert(gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &parent, NULL)); + /* but no child */ + g_assert(!gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &iter, &parent)); + + g_object_unref(model); +} +void test_iter_children_has_up() +{ + long unsigned playtime = 0; + GtkTreeIter iter, parent; + GmpcMpdDataModel *model = gmpc_mpddata_model_new(); + + g_assert(model != NULL); + + g_assert(!gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &iter, NULL)); + gmpc_mpddata_model_set_has_up(model, TRUE); + g_assert(!gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &parent, NULL)); + + /* but no child */ + g_assert(!gtk_tree_model_iter_children (GTK_TREE_MODEL(model), &iter, &parent)); + + g_object_unref(model); +} +int main(int argc, char **argv) +{ + GtkTreeIter iter; + g_type_init(); + g_test_init(&argc, &argv, NULL); + + g_test_add_func("/GmpcMpdDataModel/num_rows", test_songs_num_rows); + g_test_add_func("/GmpcMpdDataModel/num_rows_with_up", test_songs_num_rows_with_up); + g_test_add_func("/GmpcMpdDataModel/path_to_iter", test_songs_path_to_iter); + g_test_add_func("/GmpcMpdDataModel/path_to_iter_with_up", test_songs_path_to_iter_with_up); + g_test_add_func("/GmpcMpdDAtaModel/test_songs_data_slow", test_songs_data_slow); + g_test_add_func("/GmpcMpdDataModel/total_playtime", test_songs_total_playtime); + g_test_add_func("/GmpcMpdDataModel/iter_children", test_iter_children); + g_test_add_func("/GmpcMpdDataModel/iter_children_has_up", test_iter_children_has_up); + + return g_test_run(); +}