diff options
-rwxr-xr-x | configure | 90 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | po/Makefile | 2 | ||||
-rw-r--r-- | po/audacious-plugins.pot | 14 | ||||
-rw-r--r-- | po/be.po | 16 | ||||
-rw-r--r-- | po/ca.po | 16 | ||||
-rw-r--r-- | po/cs.po | 16 | ||||
-rw-r--r-- | po/da.po | 4070 | ||||
-rw-r--r-- | po/de.po | 16 | ||||
-rw-r--r-- | po/el.po | 254 | ||||
-rw-r--r-- | po/en_GB.po | 3980 | ||||
-rw-r--r-- | po/es.po | 148 | ||||
-rw-r--r-- | po/es_AR.po | 16 | ||||
-rw-r--r-- | po/es_MX.po | 16 | ||||
-rw-r--r-- | po/et.po | 16 | ||||
-rw-r--r-- | po/eu.po | 16 | ||||
-rw-r--r-- | po/fi.po | 16 | ||||
-rw-r--r-- | po/fr.po | 22 | ||||
-rw-r--r-- | po/gl.po | 16 | ||||
-rw-r--r-- | po/hu.po | 16 | ||||
-rw-r--r-- | po/id_ID.po | 16 | ||||
-rw-r--r-- | po/it.po | 593 | ||||
-rw-r--r-- | po/ja.po | 16 | ||||
-rw-r--r-- | po/ko.po | 64 | ||||
-rw-r--r-- | po/ky.po | 16 | ||||
-rw-r--r-- | po/lt.po | 16 | ||||
-rw-r--r-- | po/lv.po | 16 | ||||
-rw-r--r-- | po/pl.po | 97 | ||||
-rwxr-xr-x | po/process-transifex-po | 6 | ||||
-rw-r--r-- | po/pt_BR.po | 16 | ||||
-rw-r--r-- | po/pt_PT.po | 16 | ||||
-rw-r--r-- | po/ru.po | 449 | ||||
-rw-r--r-- | po/si.po | 16 | ||||
-rw-r--r-- | po/sk.po | 16 | ||||
-rw-r--r-- | po/sr_RS.po | 16 | ||||
-rw-r--r-- | po/ta.po | 16 | ||||
-rw-r--r-- | po/uk.po | 136 | ||||
-rw-r--r-- | po/zh_CN.po | 16 | ||||
-rw-r--r-- | po/zh_TW.po | 16 | ||||
-rw-r--r-- | src/ffaudio/ffaudio-core.c | 172 | ||||
-rw-r--r-- | src/filewriter/flac.c | 46 | ||||
-rw-r--r-- | src/hotkey/grab.c | 2 | ||||
-rw-r--r-- | src/mpris2/Makefile | 15 | ||||
-rwxr-xr-x | src/mpris2/codegen | 3 | ||||
-rw-r--r-- | src/mpris2/object-core.c | 1724 | ||||
-rw-r--r-- | src/mpris2/object-core.h | 216 | ||||
-rw-r--r-- | src/mpris2/object-player.c | 3276 | ||||
-rw-r--r-- | src/mpris2/object-player.h | 411 | ||||
-rw-r--r-- | src/mpris2/plugin.c | 16 | ||||
-rw-r--r-- | src/neon/neon.c | 7 | ||||
-rw-r--r-- | src/psf/plugin.c | 10 | ||||
-rw-r--r-- | src/sid/xmms-sid.h | 2 | ||||
-rw-r--r-- | src/skins/draw-compat.h | 2 | ||||
-rw-r--r-- | src/skins/ui_skinned_window.c | 1 | ||||
-rw-r--r-- | src/xsf/plugin.c | 14 |
55 files changed, 9767 insertions, 6461 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for audacious-plugins 3.4. +# Generated by GNU Autoconf 2.69 for audacious-plugins 3.4.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -579,8 +579,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='audacious-plugins' PACKAGE_TARNAME='audacious-plugins' -PACKAGE_VERSION='3.4' -PACKAGE_STRING='audacious-plugins 3.4' +PACKAGE_VERSION='3.4.1' +PACKAGE_STRING='audacious-plugins 3.4.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -735,6 +735,7 @@ GMSGFMT MSGFMT GETTEXT_MACRO_VERSION USE_NLS +SED MKDIR_P INSTALL_DATA INSTALL_SCRIPT @@ -1560,7 +1561,7 @@ if test "$ac_init_help" = "long"; then # 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 audacious-plugins 3.4 to adapt to many kinds of systems. +\`configure' configures audacious-plugins 3.4.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1627,7 +1628,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of audacious-plugins 3.4:";; + short | recursive ) echo "Configuration of audacious-plugins 3.4.1:";; esac cat <<\_ACEOF @@ -1915,7 +1916,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -audacious-plugins configure 3.4 +audacious-plugins configure 3.4.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2366,7 +2367,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by audacious-plugins $as_me 3.4, which was +It was created by audacious-plugins $as_me 3.4.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2719,7 +2720,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu PACKAGE=audacious-plugins -VERSION=3.4 +VERSION=3.4.1 cat >>confdefs.h <<_ACEOF @@ -6586,6 +6587,75 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + 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_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } @@ -13674,7 +13744,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by audacious-plugins $as_me 3.4, which was +This file was extended by audacious-plugins $as_me 3.4.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -13740,7 +13810,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -audacious-plugins config.status 3.4 +audacious-plugins config.status 3.4.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 1e952fa..bae175f 100644 --- a/configure.ac +++ b/configure.ac @@ -5,7 +5,7 @@ dnl *** dnl Initialize dnl ========== AC_PREREQ([2.59]) -AC_INIT([audacious-plugins], [3.4]) +AC_INIT([audacious-plugins], [3.4.1]) AC_COPYRIGHT([(C) 2005-2013 Audacious Team]) AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME]) diff --git a/po/Makefile b/po/Makefile index b49874d..e2ab349 100644 --- a/po/Makefile +++ b/po/Makefile @@ -10,8 +10,10 @@ LOCALES = be.po \ ca.po \ cs.po \ + da.po \ de.po \ el.po \ + en_GB.po \ es.po \ es_AR.po \ es_MX.po \ diff --git a/po/audacious-plugins.pot b/po/audacious-plugins.pot index 6732d19..6be1cb8 100644 --- a/po/audacious-plugins.pot +++ b/po/audacious-plugins.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:27+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -35,7 +35,7 @@ msgid "AAC Decoder" msgstr "" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1210,7 +1210,7 @@ msgstr "" msgid "Echo" msgstr "" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1220,7 +1220,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "" @@ -2373,11 +2373,11 @@ msgstr "" msgid "MPG123 Plugin" msgstr "" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "" @@ -2474,7 +2474,7 @@ msgstr "" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" @@ -6,9 +6,9 @@ # Mikalai Udodau <crom-a@tut.by>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Belarusian (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "Дэкодар AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1216,7 +1216,7 @@ msgstr "" msgid "Echo" msgstr "Рэха" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1226,7 +1226,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Плагін FFmpeg" @@ -2381,11 +2381,11 @@ msgstr "" msgid "MPG123 Plugin" msgstr "Плагін MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Плагін Neon HTTP/HTTPS" @@ -2482,7 +2482,7 @@ msgstr "Вывад OSS4" msgid "PLS Playlists" msgstr "Плэйлісты PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Дэкодар OpenPSF PSF1/PSF2" @@ -7,9 +7,9 @@ # frangor <frangor@frangor.info>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-08 23:36+0000\n" "Last-Translator: frangor <frangor@frangor.info>\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1239,7 +1239,7 @@ msgstr "" msgid "Echo" msgstr "" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1249,7 +1249,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "" @@ -2411,11 +2411,11 @@ msgstr "So envolvent" msgid "MPG123 Plugin" msgstr "" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "" @@ -2512,7 +2512,7 @@ msgstr "" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" @@ -10,9 +10,9 @@ # petr.simacek <petr.simacek@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Czech (http://www.transifex.com/projects/p/audacious/language/" @@ -40,7 +40,7 @@ msgid "AAC Decoder" msgstr "AAC Dekodér" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1264,7 +1264,7 @@ msgstr "" msgid "Echo" msgstr "Ozvěna" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1280,7 +1280,7 @@ msgstr "" "Williama Pitcocka <nenolod@nenolod.net>\n" "Matti Hämäläinena <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg Plugin" @@ -2496,11 +2496,11 @@ msgstr "Prostorový zvuk" msgid "MPG123 Plugin" msgstr "MPG123 Plugin" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 Server" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS Plugin" @@ -2602,7 +2602,7 @@ msgstr "OSS4 výstup" msgid "PLS Playlists" msgstr "PLS seznamy skladeb" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 Dekodér" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..913edb2 --- /dev/null +++ b/po/da.po @@ -0,0 +1,4070 @@ +# Danish translation for Audacious Plugins +# Copyright (C) Audacious translators +# This file is distributed under the same license as the Audacious Plugins package. +# +# Translators: +# Joe Hansen <joedalton2@yahoo.dk>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: Audacious Plugins\n" +"Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-28 17:44+0000\n" +"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" +"Language-Team: Danish (http://www.transifex.com/projects/p/audacious/" +"language/da/)\n" +"Language: da\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" + +#: src/aac/libmp4.c:439 src/gtkui/ui_statusbar.c:104 src/skins/ui_main.c:430 +msgid "mono" +msgstr "mono" + +#: src/aac/libmp4.c:439 src/gtkui/ui_statusbar.c:106 src/skins/ui_main.c:429 +msgid "stereo" +msgstr "stereo" + +#: src/aac/libmp4.c:439 src/skins/ui_main.c:429 +msgid "surround" +msgstr "surround" + +#: src/aac/libmp4.c:930 +msgid "AAC Decoder" +msgstr "ACC-afkoder" + +#: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +msgid "sequenced" +msgstr "" + +#: src/adplug/plugin.c:14 +msgid "AdPlug (AdLib Player)" +msgstr "AdPlug (AdLib-afspiller)" + +#: src/alarm/alarm.c:809 +msgid "" +"A plugin that can be used to start playing at a certain time.\n" +"\n" +"Originally written by Adam Feakin and Daniel Stodden." +msgstr "" +"Et udvidelsesmodul som kan bruges til at påbegynde afspilning på et bestemt " +"tidspunkt.\n" +"\n" +"Oprindelig skrevet af Adam Feakin og Daniel Stodden." + +#: src/alarm/alarm.c:814 src/alarm/interface.c:82 +msgid "Alarm" +msgstr "Alarm" + +#: src/alarm/interface.c:28 +msgid "" +"Time\n" +" Alarm at:\n" +" The time for the alarm to come on.\n" +"\n" +" Quiet after:\n" +" Stop alarm after this amount of time.\n" +" (if the wakeup dialog is not closed)\n" +"\n" +"\n" +"Days\n" +" Day:\n" +" Select the days for the alarm to activate.\n" +"\n" +" Time:\n" +" Choose the time for the alarm on each day,\n" +" or select the toggle button to use the default\n" +" time.\n" +"\n" +"\n" +msgstr "" + +#: src/alarm/interface.c:45 +msgid "" +"Volume\n" +" Fading:\n" +" Fade the volume up to the chosen volume\n" +" for this amount of time.\n" +"\n" +" Start at:\n" +" Start fading from this volume.\n" +"\n" +" Final:\n" +" The volume to stop fading at. If the fading\n" +" time is 0 then set volume to this and start\n" +" playing.\n" +"\n" +"\n" +"Options:\n" +" Additional Command:\n" +" Run this command at the alarm time.\n" +"\n" +msgstr "" + +#: src/alarm/interface.c:62 +msgid "" +" Playlist:\n" +" Load this playlist. If no playlist\n" +" is given, the current one will be used.\n" +" The URL of an mp3/ogg stream\n" +" can also be entered here.\n" +"\n" +" Reminder:\n" +" Display a reminder when the alarm goes off.\n" +" Type the reminder in the box and turn on the\n" +" toggle button if you want it to be shown." +msgstr "" + +#: src/alarm/interface.c:81 +msgid "This is your wakeup call." +msgstr "Så gik alarmen." + +#: src/alarm/interface.c:99 +msgid "Your reminder for today is..." +msgstr "" + +#: src/alarm/interface.c:101 src/alarm/interface.c:415 +msgid "Reminder" +msgstr "Påmindelse" + +#: src/alarm/interface.c:140 +msgid "Monday" +msgstr "Mondag" + +#: src/alarm/interface.c:140 +msgid "Tuesday" +msgstr "Tirsdag" + +#: src/alarm/interface.c:140 +msgid "Wednesday" +msgstr "Onsdag" + +#: src/alarm/interface.c:141 +msgid "Thursday" +msgstr "Torsdag" + +#: src/alarm/interface.c:141 +msgid "Friday" +msgstr "Fredag" + +#: src/alarm/interface.c:141 +msgid "Saturday" +msgstr "Lørdag" + +#: src/alarm/interface.c:141 +msgid "Sunday" +msgstr "Søndag" + +#: src/alarm/interface.c:175 +msgid "Alarm Settings" +msgstr "Alarmindstillinger" + +#: src/alarm/interface.c:186 src/alarm/interface.c:250 +#: src/alarm/interface.c:265 +msgid "Time" +msgstr "Tid" + +#: src/alarm/interface.c:193 +msgid "Alarm at (default):" +msgstr "Alarm (standard):" + +#: src/alarm/interface.c:216 +msgid "h" +msgstr "t" + +#: src/alarm/interface.c:220 +msgid "Quiet after:" +msgstr "Stille efter:" + +#: src/alarm/interface.c:234 +msgid "hours" +msgstr "timer" + +#: src/alarm/interface.c:246 +msgid "minutes" +msgstr "minutter" + +#: src/alarm/interface.c:255 +msgid "Choose the days for the alarm to come on" +msgstr "Vælg dagene hvor alarmen skal udløses" + +#: src/alarm/interface.c:262 +msgid "Day" +msgstr "Dag" + +#: src/alarm/interface.c:280 src/bs2b/plugin.c:177 +#: src/skins/ui_equalizer.c:1108 src/skins/ui_manager.c:456 +#: src/skins/ui_manager.c:477 +msgid "Default" +msgstr "Standard" + +#: src/alarm/interface.c:310 +msgid "Days" +msgstr "Dage" + +#: src/alarm/interface.c:319 +msgid "Fading" +msgstr "Overgang" + +#: src/alarm/interface.c:327 src/crossfade/crossfade.c:261 src/lirc/lirc.c:397 +msgid "seconds" +msgstr "sekunder" + +#: src/alarm/interface.c:334 src/alarm/interface.c:381 +msgid "Volume" +msgstr "Lydstyrke" + +#: src/alarm/interface.c:339 +msgid "Start at" +msgstr "Start" + +#: src/alarm/interface.c:357 +msgid "Final" +msgstr "Endelig" + +#: src/alarm/interface.c:372 +msgid "Current" +msgstr "Nuværende" + +#: src/alarm/interface.c:387 +msgid "Additional Command" +msgstr "Yderligere kommando" + +#: src/alarm/interface.c:393 +msgid "enable" +msgstr "aktiver" + +#: src/alarm/interface.c:400 +msgid "Playlist (optional)" +msgstr "Afspilningsliste (valgfri)" + +#: src/alarm/interface.c:407 +msgid "Select a playlist" +msgstr "Vælg en afspilningsliste" + +#: src/alarm/interface.c:419 +msgid "Use reminder" +msgstr "Brug påmindelse" + +#: src/alarm/interface.c:428 +msgid "Options" +msgstr "Indstillinger" + +#: src/alarm/interface.c:433 +msgid "What do these options mean?" +msgstr "Hvad betyder disse indstillinger?" + +#: src/alarm/interface.c:447 src/skins/ui_manager.c:389 +msgid "Help" +msgstr "Hjælp" + +#: src/albumart/albumart.c:143 +msgid "Album Art" +msgstr "Omslag" + +#: src/alsa/config.c:212 +msgid "Default PCM device" +msgstr "Standard-PCM-enhed" + +#: src/alsa/config.c:241 +msgid "Default mixer device" +msgstr "Standardenhed for mikser" + +#: src/alsa/config.c:428 +msgid "ALSA Output Plugin Preferences" +msgstr "Præferencer for ALSA Output Plugin" + +#: src/alsa/config.c:434 +msgid "PCM device:" +msgstr "PCM-enhed:" + +#: src/alsa/config.c:436 +msgid "Mixer device:" +msgstr "Mikserenhed:" + +#: src/alsa/config.c:438 +msgid "Mixer element:" +msgstr "Mikserelement:" + +#: src/alsa/config.c:441 +msgid "Work around drain hangup" +msgstr "Arbejd uden om tømningsafbrydelse" + +#: src/alsa/plugin.c:25 +msgid "" +"ALSA Output Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"My thanks to William Pitcock, author of the ALSA Output Plugin NG, whose " +"code served as a reference when the ALSA manual was not enough." +msgstr "" + +#: src/alsa/plugin.c:32 +msgid "ALSA Output" +msgstr "ALSA-lydkanal" + +#: src/amidi-plug/amidi-plug.c:248 +msgid "" +"You have not selected any sequencer ports for MIDI playback. You can do so " +"in the MIDI plugin preferences." +msgstr "" +"Du har ikke valgt sequncerporte for MIDI-afspilning. Du kan gøre dette under " +"præferencerne for MIDI-udvidelsesmodulet." + +#: src/amidi-plug/amidi-plug.c:708 +msgid "AMIDI-Plug (MIDI Player)" +msgstr "AMIDI-Plug (MIDI-afspiller)" + +#: src/amidi-plug/backend-alsa/b-alsa.c:38 +msgid "ALSA Backend " +msgstr "ALSA-motor" + +#: src/amidi-plug/backend-alsa/b-alsa.c:41 +msgid "" +"This backend sends MIDI events to a group of user-chosen ALSA sequencer " +"ports. The ALSA sequencer interface is very versatile, it can provide ports " +"for audio cards hardware synthesizers (i.e. emu10k1) but also for software " +"synths, external devices, etc.\n" +"This backend does not produce audio, MIDI events are handled directly from " +"devices/programs behind the ALSA ports; in example, MIDI events sent to the " +"hardware synth will be directly played.\n" +"Backend written by Giacomo Lozito." +msgstr "" +"Denne motor sender MiDI-hændelser til en gruppe af brugervalgte ALSA-" +"sequencerporte. ALSA-sequencerbrugerfladen er meget alsidig, den kan tilbyde " +"porte for lydkorts udstyrssynthesizere (dvs. emu10k1) men også for " +"programsynthesizere, eksterne enheder etc.\n" +"Denne motor tilbyder ikke lyd, MIDI-hændelser håndteres direkte fra enheder/" +"programmer bag ALSA-portene; som eksempel vil MIDI-hændelser sendt til " +"udstyrssynthesizeren blive direkte afspillet.\n" +"Motor skrevet af Giacomo Lozito." + +#: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:45 +msgid "FluidSynth Backend " +msgstr "FluidSynth-motor" + +#: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:48 +msgid "" +"This backend produces audio by sending MIDI events to FluidSynth, a real-" +"time software synthesizer based on the SoundFont2 specification (www." +"fluidsynth.org).\n" +"Produced audio can be manipulated via player effect plugins and is processed " +"by chosen output plugin.\n" +"Backend written by Giacomo Lozito." +msgstr "" +"Denne motor laver lyd ved at sende MIDI-hændelser til FluidSynth, en " +"realtids programsynthesizer baseret på SoundFont2-specifikationen (www." +"fluidsynth.org).\n" +"Fremstillet lyd kan manipuleres via effektudvidelsesmoduler for afspilleren " +"og behandles med det valgte udvidelsesmodul for lydkanalen.\n" +"Motor skrevet af Giacomo Lozito." + +#: src/amidi-plug/i_configure-alsa.c:353 +msgid "Port" +msgstr "Port" + +#: src/amidi-plug/i_configure-alsa.c:355 +msgid "Client name" +msgstr "Klientnavn" + +#: src/amidi-plug/i_configure-alsa.c:357 +msgid "Port name" +msgstr "Portnavn" + +#: src/amidi-plug/i_configure-alsa.c:371 +msgid "ALSA output ports" +msgstr "ALSA-porte for lydudgang" + +#: src/amidi-plug/i_configure-alsa.c:432 +msgid "Soundcard: " +msgstr "Lydkort:" + +#: src/amidi-plug/i_configure-alsa.c:434 +msgid "Mixer control: " +msgstr "Mikserstyring:" + +#: src/amidi-plug/i_configure-alsa.c:444 +msgid "Mixer settings" +msgstr "Mikserindstillinger" + +#: src/amidi-plug/i_configure-alsa.c:472 +msgid "" +"<span size=\"smaller\">ALSA\n" +"backend</span>" +msgstr "" +"<span size=\"smaller\">ALSA-\n" +"motor</span>" + +#: src/amidi-plug/i_configure-ap.c:63 +msgid "AMIDI-Plug - backend information" +msgstr "AMIDI-Plug - motorinformation" + +#: src/amidi-plug/i_configure-ap.c:221 +msgid "Backend selection" +msgstr "Motorvalg" + +#: src/amidi-plug/i_configure-ap.c:261 +msgid "Playback settings" +msgstr "Indstillinger for afspilning" + +#: src/amidi-plug/i_configure-ap.c:266 +msgid "Transpose: " +msgstr "Transponer:" + +#: src/amidi-plug/i_configure-ap.c:275 +msgid "Drum shift: " +msgstr "Trommeskift:" + +#: src/amidi-plug/i_configure-ap.c:293 +msgid "Advanced settings" +msgstr "Avancerede indstillinger" + +#: src/amidi-plug/i_configure-ap.c:297 +msgid "pre-calculate length of MIDI files in playlist" +msgstr "forhåndsberegn længde for MIDI-filer i afspilningslisten" + +#: src/amidi-plug/i_configure-ap.c:304 +msgid "extract comments from MIDI file (if available)" +msgstr "udtræk kommentarer fra MIDI-fil (hvis tilgængelig)" + +#: src/amidi-plug/i_configure-ap.c:311 +msgid "extract lyrics from MIDI file (if available)" +msgstr "udtræk sangtekster fra MIDI-fil (hvis tilgængelige)" + +#: src/amidi-plug/i_configure-ap.c:344 +msgid "" +"<span size=\"smaller\">AMIDI\n" +"Plug</span>" +msgstr "" +"<span size=\"smaller\">AMIDI-\n" +"Plug</span>" + +#: src/amidi-plug/i_configure.c:59 +msgid "AMIDI-Plug - select file" +msgstr "AMIDI-Plug - vælg fil" + +#: src/amidi-plug/i_configure.c:104 +msgid "AMIDI-Plug Settings" +msgstr "AMIDI-Plug-indstillinger" + +#: src/amidi-plug/i_configure-fluidsynth.c:63 +msgid "AMIDI-Plug - select SoundFont file" +msgstr "AMIDI-Plug - vælg SoundFont-fil" + +#: src/amidi-plug/i_configure-fluidsynth.c:321 +msgid "SoundFont settings" +msgstr "SoundFont-indstillinger" + +#: src/amidi-plug/i_configure-fluidsynth.c:359 +msgid "Filename" +msgstr "Filnavn" + +#: src/amidi-plug/i_configure-fluidsynth.c:363 +msgid "Size (bytes)" +msgstr "Størrelse (byte)" + +#: src/amidi-plug/i_configure-fluidsynth.c:412 +msgid "Load SF on player start" +msgstr "Indlæs SF ved opstart" + +#: src/amidi-plug/i_configure-fluidsynth.c:416 +msgid "Load SF on first MIDI file play" +msgstr "Indlæs SF ved første MIDI-filafspilning" + +#: src/amidi-plug/i_configure-fluidsynth.c:431 +msgid "Synthesizer settings" +msgstr "Synthesizerindstillinger" + +#: src/amidi-plug/i_configure-fluidsynth.c:440 +msgid "gain" +msgstr "forstærkning" + +#: src/amidi-plug/i_configure-fluidsynth.c:446 +#: src/amidi-plug/i_configure-fluidsynth.c:476 +#: src/amidi-plug/i_configure-fluidsynth.c:506 +#: src/amidi-plug/i_configure-fluidsynth.c:540 +msgid "use default" +msgstr "brug standard" + +#: src/amidi-plug/i_configure-fluidsynth.c:449 +#: src/amidi-plug/i_configure-fluidsynth.c:479 +msgid "value:" +msgstr "værdi:" + +#: src/amidi-plug/i_configure-fluidsynth.c:470 +msgid "polyphony" +msgstr "Polyfoni" + +#: src/amidi-plug/i_configure-fluidsynth.c:500 +msgid "reverb" +msgstr "efterklang" + +#: src/amidi-plug/i_configure-fluidsynth.c:509 +#: src/amidi-plug/i_configure-fluidsynth.c:543 +msgid "yes" +msgstr "ja" + +#: src/amidi-plug/i_configure-fluidsynth.c:511 +#: src/amidi-plug/i_configure-fluidsynth.c:545 +msgid "no" +msgstr "nej" + +#: src/amidi-plug/i_configure-fluidsynth.c:534 +msgid "chorus" +msgstr "kor" + +#: src/amidi-plug/i_configure-fluidsynth.c:568 +msgid "sample rate" +msgstr "samplingsfrekvens" + +#: src/amidi-plug/i_configure-fluidsynth.c:574 +msgid "22050 Hz " +msgstr "22050 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:577 +msgid "44100 Hz " +msgstr "44100 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:580 +msgid "96000 Hz " +msgstr "96000 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:583 +msgid "custom " +msgstr "tilpasset" + +#: src/amidi-plug/i_configure-fluidsynth.c:592 +msgid "Hz " +msgstr "Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:662 +msgid "" +"<span size=\"smaller\">FluidSynth\n" +"backend</span>" +msgstr "" +"<span size=\"smaller\">FluidSynth-\n" +"motor</span>" + +#: src/amidi-plug/i_fileinfo.c:175 +msgid "Name:" +msgstr "Navn:" + +#: src/amidi-plug/i_fileinfo.c:200 +msgid "<span size=\"smaller\"> MIDI Info </span>" +msgstr "<span size=\"smaller\"> MIDI-information </span>" + +#: src/amidi-plug/i_fileinfo.c:214 +msgid "Format:" +msgstr "Format:" + +#: src/amidi-plug/i_fileinfo.c:217 +msgid "Length (msec):" +msgstr "Længde (ms):" + +#: src/amidi-plug/i_fileinfo.c:220 +msgid "No. of Tracks:" +msgstr "Antallet af numre:" + +#: src/amidi-plug/i_fileinfo.c:226 +msgid "variable" +msgstr "variabel" + +#: src/amidi-plug/i_fileinfo.c:228 +msgid "BPM:" +msgstr "BPM:" + +#: src/amidi-plug/i_fileinfo.c:236 +msgid "BPM (wavg):" +msgstr "BPM (wavg):" + +#: src/amidi-plug/i_fileinfo.c:239 +msgid "Time Div:" +msgstr "" + +#: src/amidi-plug/i_fileinfo.c:250 +msgid "<span size=\"smaller\"> MIDI Comments and Lyrics </span>" +msgstr "<span size=\"smaller\"> MIDI-kommentarer og sangtekster </span>" + +#: src/amidi-plug/i_fileinfo.c:301 +msgid "* no comments available in this MIDI file *" +msgstr "* ingen kommentarer tilgængelig i denne MIDI-fil *" + +#: src/amidi-plug/i_fileinfo.c:314 +msgid "* no lyrics available in this MIDI file *" +msgstr "* ingen sangtekster tilgængelige i denne MIDI-fil *" + +#: src/amidi-plug/i_fileinfo.c:367 +msgid " (invalid UTF-8)" +msgstr "(Ugyldig UTF-8)" + +#: src/amidi-plug/i_utils.c:39 +msgid "About AMIDI-Plug" +msgstr "Om AMIDI-Plug" + +#: src/amidi-plug/i_utils.c:53 +msgid "AMIDI-Plug" +msgstr "" + +#: src/amidi-plug/i_utils.c:54 +msgid "" +"\n" +"modular MIDI music player\n" +"http://www.develia.org/projects.php?p=amidiplug\n" +"\n" +"written by Giacomo Lozito\n" +"<james@develia.org>\n" +"\n" +"special thanks to...\n" +"\n" +"Clemens Ladisch and Jaroslav Kysela\n" +"for their cool programs aplaymidi and amixer; those\n" +"were really useful, along with alsa-lib docs, in order\n" +"to learn more about the ALSA API\n" +"\n" +"Alfredo Spadafina\n" +"for the nice midi keyboard logo\n" +"\n" +"Tony Vroon\n" +"for the good help with alpha testing" +msgstr "" + +#: src/aosd/aosd.c:29 +msgid "Audacious OSD " +msgstr "Audacious OSD " + +#: src/aosd/aosd.c:37 +msgid "AOSD (On-Screen Display)" +msgstr "AOSD (On-Screen Display)" + +#: src/aosd/aosd_style.c:75 +msgid "Rectangle" +msgstr "Rektangel" + +#: src/aosd/aosd_style.c:79 +msgid "Rounded Rectangle" +msgstr "Afrundet rektangel" + +#: src/aosd/aosd_style.c:83 +msgid "Concave Rectangle" +msgstr "Konkav rektangel" + +#: src/aosd/aosd_style.c:87 +msgid "None" +msgstr "Ingen" + +#: src/aosd/aosd_trigger.c:74 +msgid "Playback Start" +msgstr "Start for afspilning" + +#: src/aosd/aosd_trigger.c:75 +msgid "Triggers OSD when a playlist entry is played." +msgstr "Udløser OSD når et afspilningspunkt spilles." + +#: src/aosd/aosd_trigger.c:79 +msgid "Title Change" +msgstr "Ændring af titel" + +#: src/aosd/aosd_trigger.c:80 +msgid "" +"Triggers OSD when, during playback, the song title changes but the filename " +"is the same. This is mostly useful to display title changes in internet " +"streams." +msgstr "" +"Udløser OSD når, under afspilning, sangens titel ændres men filnavnet er det " +"samme. Det er hovedsagelig nyttigt til at vise små ændringer i " +"internetudsendelser." + +#: src/aosd/aosd_trigger.c:86 +msgid "Pause On" +msgstr "Pause aktiveret" + +#: src/aosd/aosd_trigger.c:87 +msgid "Triggers OSD when playback is paused." +msgstr "Udløser OSD når afspilning sættes på pause." + +#: src/aosd/aosd_trigger.c:91 +msgid "Pause Off" +msgstr "Pause deaktiveret" + +#: src/aosd/aosd_trigger.c:92 +msgid "Triggers OSD when playback is unpaused." +msgstr "Udløser OSD når pause fjernes fra afspilning " + +#: src/aosd/aosd_ui.c:168 +msgid "Placement" +msgstr "Placering" + +#: src/aosd/aosd_ui.c:200 +msgid "Relative X offset:" +msgstr "Relativ X-forskydning:" + +#: src/aosd/aosd_ui.c:207 +msgid "Relative Y offset:" +msgstr "Relativ Y-forskydning:" + +#: src/aosd/aosd_ui.c:214 +msgid "Max OSD width:" +msgstr "Maks OSD-bredde:" + +#: src/aosd/aosd_ui.c:225 +msgid "Multi-Monitor options" +msgstr "Flerskærmsindstillinger" + +#: src/aosd/aosd_ui.c:229 +msgid "Display OSD using:" +msgstr "Vis OSD med:" + +#: src/aosd/aosd_ui.c:231 +msgid "all monitors" +msgstr "alle skærme" + +#: src/aosd/aosd_ui.c:234 +#, c-format +msgid "monitor %i" +msgstr "skærm %i" + +#: src/aosd/aosd_ui.c:287 +msgid "Timing (ms)" +msgstr "Timing (ms)" + +#: src/aosd/aosd_ui.c:292 +msgid "Display:" +msgstr "Visning:" + +#: src/aosd/aosd_ui.c:297 +msgid "Fade in:" +msgstr "Ton ind:" + +#: src/aosd/aosd_ui.c:302 +msgid "Fade out:" +msgstr "Ton ud:" + +#: src/aosd/aosd_ui.c:383 +msgid "Fonts" +msgstr "Skrifttyper" + +#: src/aosd/aosd_ui.c:391 +#, c-format +msgid "Font %i:" +msgstr "Skrifttype %i:" + +#: src/aosd/aosd_ui.c:409 +msgid "Shadow" +msgstr "Skygge" + +#: src/aosd/aosd_ui.c:439 +msgid "Internationalization" +msgstr "Internationalisering" + +#: src/aosd/aosd_ui.c:445 +msgid "Disable UTF-8 conversion of text (in aosd)" +msgstr "Deaktiver UTF-8-konvertering af tekst (i aosd)" + +#: src/aosd/aosd_ui.c:462 +msgid "Select Skin File" +msgstr "Vælg temafil" + +#: src/aosd/aosd_ui.c:573 +msgid "Render Style" +msgstr "Optegningsstil" + +#: src/aosd/aosd_ui.c:589 +msgid "Colors" +msgstr "Farver" + +#: src/aosd/aosd_ui.c:602 +#, c-format +msgid "Color %i:" +msgstr "Farve %i:" + +#: src/aosd/aosd_ui.c:620 +msgid "Custom Skin" +msgstr "Tilpasset tema" + +#: src/aosd/aosd_ui.c:626 +msgid "Skin file:" +msgstr "Temafil:" + +#: src/aosd/aosd_ui.c:630 +msgid "Browse" +msgstr "Gennemse" + +#: src/aosd/aosd_ui.c:729 +msgid "Enable trigger" +msgstr "Aktiver udløser" + +#: src/aosd/aosd_ui.c:756 +msgid "Event" +msgstr "Hændelse" + +#: src/aosd/aosd_ui.c:784 +msgid "Composite manager detected" +msgstr "Composite-håndtering detekteret" + +#: src/aosd/aosd_ui.c:791 +msgid "" +"Composite manager not detected;\n" +"unless you know that you have one running, please activate a composite " +"manager otherwise the OSD won't work properly" +msgstr "" +"Composite-håndtering blev ikke detekteret;\n" +"med mindre du ved at du har en kørende, så aktiver en composite-håndtering " +"ellers vil OSD'en ikke fungere korrekt" + +#: src/aosd/aosd_ui.c:799 +msgid "Composite manager not required for fake transparency" +msgstr "Composite-håndtering er ikke krævet for falsk gennemsigtighed" + +#: src/aosd/aosd_ui.c:837 +msgid "Transparency" +msgstr "Gennemsigtighed" + +#: src/aosd/aosd_ui.c:843 +msgid "Fake transparency" +msgstr "Falsk gennemsigtighed" + +#: src/aosd/aosd_ui.c:845 +msgid "Real transparency (requires X Composite Ext.)" +msgstr "Reel gennemsigtighed (kræver X Composite Ext.)" + +#: src/aosd/aosd_ui.c:887 +msgid "Composite extension not loaded" +msgstr "Composite-udvidelse er ikke indlæst" + +#: src/aosd/aosd_ui.c:895 +msgid "Composite extension not available" +msgstr "Composite-udvidelse er ikke tilgængelig" + +#: src/aosd/aosd_ui.c:914 +#, c-format +msgid "<span font_desc='%s'>Audacious OSD</span>" +msgstr "<span font_desc='%s'>Audacious OSD</span>" + +#: src/aosd/aosd_ui.c:995 +msgid "Audacious OSD - configuration" +msgstr "Audacious OSD - konfiguration" + +#: src/aosd/aosd_ui.c:1016 +msgid "Test" +msgstr "Test" + +#: src/aosd/aosd_ui.c:1031 +msgid "Position" +msgstr "Position" + +#: src/aosd/aosd_ui.c:1036 +msgid "Animation" +msgstr "Animation" + +#: src/aosd/aosd_ui.c:1041 +msgid "Text" +msgstr "Tekst" + +#: src/aosd/aosd_ui.c:1046 +msgid "Decoration" +msgstr "Dekoration" + +#: src/aosd/aosd_ui.c:1051 +msgid "Trigger" +msgstr "Udløser" + +#: src/aosd/aosd_ui.c:1056 +msgid "Misc" +msgstr "Diverse" + +#: src/asx/asx.c:96 +msgid "ASXv1/ASXv2 Playlists" +msgstr "ASXv1/ASXv2-afspilningslister" + +#: src/audpl/audpl.c:222 +msgid "Audacious Playlists (audpl)" +msgstr "Audacious-afspilningslister (audpl)" + +#: src/blur_scope/blur_scope.c:47 +msgid "<b>Color</b>" +msgstr "<b>Farve</b>" + +#: src/blur_scope/blur_scope.c:56 +msgid "Blur Scope" +msgstr "Sløret omfang" + +#: src/bs2b/plugin.c:136 +msgid "Bauer Stereophonic-to-Binaural Preferences" +msgstr "Stereophonic-til-Binaural-præferencer for Bauer" + +#: src/bs2b/plugin.c:147 +msgid "Feed level:" +msgstr "Nyhedskildeniveau:" + +#: src/bs2b/plugin.c:161 +msgid "Cut frequency:" +msgstr "Klip frekvens:" + +#: src/bs2b/plugin.c:175 +msgid "Presets:" +msgstr "Forhåndsindstillinger:" + +#: src/bs2b/plugin.c:197 +msgid "Bauer Stereophonic-to-Binaural (BS2B)" +msgstr "Bauer Stereophonic-til-Binaural (BS2B)" + +#: src/cairo-spectrum/cairo-spectrum.c:297 +msgid "Spectrum Analyzer" +msgstr "Spektrumanalyseprogram" + +#: src/cdaudio-ng/cdaudio-ng.c:103 +msgid "" +"Copyright (C) 2007-2012 Calin Crisan <ccrisan@gmail.com> and others.\n" +"\n" +"Many thanks to libcdio developers <http://www.gnu.org/software/libcdio/>\n" +"and to libcddb developers <http://libcddb.sourceforge.net/>.\n" +"\n" +"Also thank you to Tony Vroon for mentoring and guiding me.\n" +"\n" +"This was a Google Summer of Code 2007 project." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:121 +msgid "<b>Device</b>" +msgstr "<b>Enhed</b>" + +#: src/cdaudio-ng/cdaudio-ng.c:122 +msgid "Read speed:" +msgstr "Læs hastighed:" + +#: src/cdaudio-ng/cdaudio-ng.c:125 +msgid "Override device:" +msgstr "Tilsidesæt enhed:" + +#: src/cdaudio-ng/cdaudio-ng.c:127 +msgid "<b>Metadata</b>" +msgstr "<b>Metadata</b>" + +#: src/cdaudio-ng/cdaudio-ng.c:128 +msgid "Use CD-Text" +msgstr "Brug CD-Text" + +#: src/cdaudio-ng/cdaudio-ng.c:130 +msgid "Use CDDB" +msgstr "Brug CDDB" + +#: src/cdaudio-ng/cdaudio-ng.c:132 +msgid "Use HTTP instead of CDDBP" +msgstr "Brug HTTP i stedet for CDDBP" + +#: src/cdaudio-ng/cdaudio-ng.c:134 +msgid "Server:" +msgstr "Server:" + +#: src/cdaudio-ng/cdaudio-ng.c:136 +msgid "Path:" +msgstr "Sti:" + +#: src/cdaudio-ng/cdaudio-ng.c:138 +msgid "Port:" +msgstr "Port:" + +#: src/cdaudio-ng/cdaudio-ng.c:148 +msgid "Audio CD Plugin" +msgstr "Lyd-cd-udvidelsesmodul" + +#: src/cdaudio-ng/cdaudio-ng.c:249 +msgid "Failed to initialize cdio subsystem." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:306 +#, c-format +msgid "Invalid URI %s." +msgstr "Ugyldig URI %s." + +#: src/cdaudio-ng/cdaudio-ng.c:308 +#, c-format +msgid "Track %d not found." +msgstr "Nummeret %d blev ikke fundet." + +#: src/cdaudio-ng/cdaudio-ng.c:310 +#, c-format +msgid "Track %d is a data track." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:312 +msgid "Failed to open audio output." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:395 +msgid "Error reading audio CD." +msgstr "Kunne ikke læse lyd-cd." + +#: src/cdaudio-ng/cdaudio-ng.c:505 +msgid "Audio CD" +msgstr "Lyd-cd" + +#: src/cdaudio-ng/cdaudio-ng.c:535 src/cdaudio-ng/cdaudio-ng.c:544 +#, c-format +msgid "Failed to open CD device %s." +msgstr "Kunne ikke åbne cd-enhed %s." + +#: src/cdaudio-ng/cdaudio-ng.c:547 +msgid "No audio capable CD drive found." +msgstr "Intet cd-drev med lyd blev fundet." + +#: src/cdaudio-ng/cdaudio-ng.c:574 +msgid "Failed to finish initializing opened CD drive." +msgstr "Kunne ikke afslutte initialisering af åbnet cd-drev." + +#: src/cdaudio-ng/cdaudio-ng.c:587 +msgid "Failed to retrieve first/last track number." +msgstr "Kunne ikke indhente første/sidste nummer." + +#: src/cdaudio-ng/cdaudio-ng.c:612 +#, c-format +msgid "Cannot read start/end LSN for track %d." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:702 +msgid "Failed to create the cddb connection." +msgstr "Kunne ikke oprette cddb-forbindelsen." + +#: src/cdaudio-ng/cdaudio-ng.c:777 +msgid "Failed to query the CDDB server" +msgstr "Kunne ikke forespørge CDDB-serveren" + +#: src/cdaudio-ng/cdaudio-ng.c:779 +#, c-format +msgid "Failed to query the CDDB server: %s" +msgstr "Kunne ikke forespørge CDDB-serveren: %s" + +#: src/cdaudio-ng/cdaudio-ng.c:803 +#, c-format +msgid "Failed to read the cddb info: %s" +msgstr "Kunne ikke læse cddb-informationen: %s" + +#: src/cdaudio-ng/cdaudio-ng.c:876 +msgid "Drive is empty." +msgstr "Drev er tomt." + +#: src/cdaudio-ng/cdaudio-ng.c:878 +msgid "Unsupported disk type." +msgstr "Disktype er ikke understøttet." + +#: src/cd-menu-items/cd-menu-items.c:30 +msgid "Play CD" +msgstr "Afspil cd" + +#: src/cd-menu-items/cd-menu-items.c:30 +msgid "Add CD" +msgstr "Tilføj cd" + +#: src/cd-menu-items/cd-menu-items.c:57 +msgid "Audio CD Menu Items" +msgstr "Menupunkter for lyd-cd" + +#: src/compressor/plugin.c:35 +msgid "<b>Compression</b>" +msgstr "<b>Komprimering</b>" + +#: src/compressor/plugin.c:36 +msgid "Center volume:" +msgstr "Lydstyrke for centrum:" + +#: src/compressor/plugin.c:39 +msgid "Dynamic range:" +msgstr "Dynamisk interval:" + +#: src/compressor/plugin.c:53 +msgid "" +"Dynamic Range Compression Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" +"Dynamic Range Compression Plugin for Audacious\n" +"Ophavsret 2010-2012 John Lindgren" + +#: src/compressor/plugin.c:58 +msgid "Dynamic Range Compressor" +msgstr "Dynamisk intervalkomprimering" + +#: src/console/configure.c:134 src/console/plugin.c:42 +msgid "Game Console Music Decoder" +msgstr "Musikafkoder for spilkonsol" + +#: src/console/configure.c:151 +msgid "General" +msgstr "Generelt" + +#: src/console/configure.c:153 src/skins/ui_manager.c:175 +msgid "Playback" +msgstr "Afspilning" + +#: src/console/configure.c:168 +msgid "Bass:" +msgstr "Bas:" + +#: src/console/configure.c:172 src/console/configure.c:183 +#: src/console/configure.c:204 +msgid "secs" +msgstr "sek." + +#: src/console/configure.c:179 +msgid "Treble:" +msgstr "Diskant:" + +#: src/console/configure.c:200 +msgid "Default song length:" +msgstr "Standardlængde for sang:" + +#: src/console/configure.c:206 +msgid "Resampling" +msgstr "Gensampling" + +#: src/console/configure.c:212 +msgid "Enable audio resampling" +msgstr "Aktiver gensampling af lyd" + +#: src/console/configure.c:227 +msgid "Resampling rate:" +msgstr "Gensamplingsfrekvens" + +#: src/console/configure.c:231 src/modplug/plugin_main.c:98 +#: src/resample/resample.c:178 src/resample/resample.c:184 +#: src/resample/resample.c:187 src/resample/resample.c:190 +#: src/resample/resample.c:193 src/resample/resample.c:196 +#: src/resample/resample.c:199 src/resample/resample.c:202 +#: src/sox-resampler/sox-resampler.c:153 +msgid "Hz" +msgstr "Hz" + +#: src/console/configure.c:242 +msgid "SPC" +msgstr "SPC" + +#: src/console/configure.c:243 +msgid "Ignore length from SPC tags" +msgstr "Ignorer længde fra SPC-mærker" + +#: src/console/configure.c:244 +msgid "Increase reverb" +msgstr "Øg ekko" + +#: src/console/configure.c:269 +msgid "" +"The default song length, expressed in seconds, is used for songs that do not " +"provide length information (i.e. looping tracks)." +msgstr "" +"Standardlængde for sange, udtrykt i sekunder, bruges for sange som ikke " +"tilbyder længdeinformation (dvs. loopingnumre)." + +#: src/console/plugin.c:27 +msgid "" +"Console music decoder engine based on Game_Music_Emu 0.5.2\n" +"Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n" +"\n" +"Audacious plugin by:\n" +"William Pitcock <nenolod@dereferenced.org>\n" +"Shay Green <gblargg@gmail.com>" +msgstr "" +"Afkodningsmotor for konsolmusik baseret på Game_Music_Emu 0.5.2\n" +"Understøttede formater: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, " +"VGZ\n" +"\n" +"Audaciousudvidelsesmodul lavet af:\n" +"William Pitcock <nenolod@dereferenced.org>\n" +"Shay Green <gblargg@gmail.com>" + +#: src/crossfade/crossfade.c:81 +msgid "" +"Crossfading failed because the songs had a different number of channels. " +"You can use the Channel Mixer to convert the songs to the same number of " +"channels." +msgstr "" +"Glidende overgang mislykkedes da sangene havde forskellige antal kanaler. Du " +"kan bruge kanalmikseren til at konvertere sangene til det samme antal " +"kanaler." + +#: src/crossfade/crossfade.c:88 +msgid "" +"Crossfading failed because the songs had different sample rates. You can " +"use the Sample Rate Converter to convert the songs to the same sample rate." +msgstr "" +"Glidende overgang mislykkedes da sangene havde forskellige " +"samplingshastigheder. Du kan bruge Konvertering af samplingshastighed til at " +"konvertere sangene til den samme samplingshastighed." + +#: src/crossfade/crossfade.c:254 +msgid "" +"Crossfade Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/crossfade/crossfade.c:258 +msgid "<b>Crossfade</b>" +msgstr "<b>Glidende overgang</b>" + +#: src/crossfade/crossfade.c:259 +msgid "Overlap:" +msgstr "" + +#: src/crossfade/crossfade.c:269 +msgid "Crossfade" +msgstr "Glidende overgang" + +#: src/crystalizer/crystalizer.c:40 +msgid "<b>Crystalizer</b>" +msgstr "<b>Crystalizer</b>" + +#: src/crystalizer/crystalizer.c:41 src/stereo_plugin/stereo.c:26 +msgid "Intensity:" +msgstr "Intensitet:" + +#: src/crystalizer/crystalizer.c:51 +msgid "Crystalizer" +msgstr "Crystalizer" + +#: src/cue/cue.c:158 +msgid "Cue Sheet Plugin" +msgstr "Cue Sheet-udvidelsesmodul" + +#: src/echo_plugin/echo.c:24 +msgid "<b>Echo</b>" +msgstr "<b>Ekko</b>" + +#: src/echo_plugin/echo.c:25 src/modplug/plugin_main.c:90 +#: src/modplug/plugin_main.c:104 +msgid "Delay:" +msgstr "Forsinkelse:" + +#: src/echo_plugin/echo.c:27 src/modplug/plugin_main.c:91 +#: src/modplug/plugin_main.c:105 +msgid "ms" +msgstr "ms" + +#: src/echo_plugin/echo.c:28 +msgid "Feedback:" +msgstr "Tilbagemelding:" + +#: src/echo_plugin/echo.c:31 src/modplug/plugin_main.c:109 +msgid "Volume:" +msgstr "Lydstyrke:" + +#: src/echo_plugin/echo.c:114 +msgid "" +"Echo Plugin\n" +"By Johan Levin, 1999\n" +"\n" +"Surround echo by Carl van Schaik, 1999" +msgstr "" + +#: src/echo_plugin/echo.c:120 +msgid "Echo" +msgstr "Echo" + +#: src/ffaudio/ffaudio-core.c:648 +msgid "" +"Multi-format audio decoding plugin for Audacious using\n" +"FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" +"\n" +"Audacious plugin by:\n" +"William Pitcock <nenolod@nenolod.net>\n" +"Matti Hämäläinen <ccr@tnsp.org>" +msgstr "" + +#: src/ffaudio/ffaudio-core.c:695 +msgid "FFmpeg Plugin" +msgstr "FFmpeg-udvidelsesmodul" + +#: src/filewriter/filewriter.c:409 +msgid "FileWriter Configuration" +msgstr "FileWriter-konfiguration" + +#: src/filewriter/filewriter.c:421 +msgid "Output file format:" +msgstr "Filformat for lyden:" + +#: src/filewriter/filewriter.c:439 +msgid "Configure" +msgstr "Konfigurer" + +#: src/filewriter/filewriter.c:449 +msgid "Save into original directory" +msgstr "Gem i oprindelig mappe" + +#: src/filewriter/filewriter.c:454 +msgid "Save into custom directory" +msgstr "Gem i mappe efter eget valg" + +#: src/filewriter/filewriter.c:464 +msgid "Output file folder:" +msgstr "Filmappe for lyd:" + +#: src/filewriter/filewriter.c:468 +msgid "Pick a folder" +msgstr "Vælg en mappe" + +#: src/filewriter/filewriter.c:481 +msgid "Get filename from:" +msgstr "Hent filnavn fra" + +#: src/filewriter/filewriter.c:484 +msgid "original file tags" +msgstr "oprindelige filmærker" + +#: src/filewriter/filewriter.c:490 +msgid "original filename" +msgstr "oprindelig filnavn" + +#: src/filewriter/filewriter.c:497 +msgid "Don't strip file name extension" +msgstr "Fjern ikke filnavnsendelsen" + +#: src/filewriter/filewriter.c:506 +msgid "Prepend track number to filename" +msgstr "Foranstil rækkefølge for numrene til filnavnet" + +#: src/filewriter/filewriter.c:515 +msgid "" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program; if not, write to the Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." +msgstr "" + +#: src/filewriter/filewriter.c:532 +msgid "FileWriter Plugin" +msgstr "FileWriter-udvidelsesmodul" + +#: src/filewriter/mp3.c:37 src/filewriter/mp3.c:748 +msgid "Auto" +msgstr "Auto" + +#: src/filewriter/mp3.c:37 +msgid "Joint Stereo" +msgstr "Fælles stereo" + +#: src/filewriter/mp3.c:38 src/modplug/plugin_main.c:65 +#: src/mpg123/mpg123.c:211 +msgid "Stereo" +msgstr "Stereo" + +#: src/filewriter/mp3.c:38 src/modplug/plugin_main.c:63 +#: src/mpg123/mpg123.c:211 +msgid "Mono" +msgstr "Mono" + +#: src/filewriter/mp3.c:688 +msgid "MP3 Configuration" +msgstr "MP3-konfiguration" + +#: src/filewriter/mp3.c:712 +msgid "Algorithm Quality:" +msgstr "Algoritmekvalitet" + +#: src/filewriter/mp3.c:737 +msgid "Output Samplerate:" +msgstr "Samplingsfrekvens for lydudgang:" + +#: src/filewriter/mp3.c:765 +msgid "(Hz)" +msgstr "(Hz)" + +#: src/filewriter/mp3.c:772 +msgid "Bitrate / Compression ratio:" +msgstr "Bithastighed/komprimeringsforhold:" + +#: src/filewriter/mp3.c:796 +msgid "Bitrate (kbps):" +msgstr "Bithastighed (kbps):" + +#: src/filewriter/mp3.c:829 +msgid "Compression ratio:" +msgstr "Komprimeringsforhold:" + +#: src/filewriter/mp3.c:853 +msgid "Audio Mode:" +msgstr "Lydtilstand:" + +#: src/filewriter/mp3.c:878 +msgid "Misc:" +msgstr "Diverse:" + +#: src/filewriter/mp3.c:889 +msgid "Enforce strict ISO complience" +msgstr "Fremtving streng ISO-overholdelse" + +#: src/filewriter/mp3.c:900 +msgid "Error protection" +msgstr "Fejlbeskyttelse" + +#: src/filewriter/mp3.c:912 src/filewriter/vorbis.c:222 +msgid "Quality" +msgstr "Kvalitet" + +#: src/filewriter/mp3.c:921 +msgid "Enable VBR/ABR" +msgstr "Aktiver VBH/GBH" + +#: src/filewriter/mp3.c:931 +msgid "Type:" +msgstr "Type:" + +#: src/filewriter/mp3.c:964 +msgid "VBR Options:" +msgstr "VBH-indstillinger:" + +#: src/filewriter/mp3.c:980 +msgid "Minimum bitrate (kbps):" +msgstr "Minimum for bithastighed (kbps):" + +#: src/filewriter/mp3.c:1007 +msgid "Maximum bitrate (kbps):" +msgstr "Maksimum for bithastighed (kbps):" + +#: src/filewriter/mp3.c:1030 +msgid "Strictly enforce minimum bitrate" +msgstr "Fremtving strengt minimum for bithastighed" + +#: src/filewriter/mp3.c:1042 +msgid "ABR Options:" +msgstr "GBH-indstillinger:" + +#: src/filewriter/mp3.c:1052 +msgid "Average bitrate (kbps):" +msgstr "Gennemsnitlig bithastighed (kbps):" + +#: src/filewriter/mp3.c:1080 +msgid "VBR quality level:" +msgstr "VBR-kvalitetsniveau:" + +#: src/filewriter/mp3.c:1099 +msgid "Don't write Xing VBR header" +msgstr "Skriv ikke Xing VBH-hoved" + +#: src/filewriter/mp3.c:1112 +msgid "VBR/ABR" +msgstr "VBH/GBH" + +#: src/filewriter/mp3.c:1121 +msgid "Frame parameters:" +msgstr "Billedparametre:" + +#: src/filewriter/mp3.c:1133 +msgid "Mark as copyright" +msgstr "Marker som ophavsret" + +#: src/filewriter/mp3.c:1144 +msgid "Mark as original" +msgstr "Marker som original" + +#: src/filewriter/mp3.c:1156 +msgid "ID3 params:" +msgstr "ID3-parametre:" + +#: src/filewriter/mp3.c:1167 +msgid "Force addition of version 2 tag" +msgstr "Fremtving tilføjelse af version 2-mærke" + +#: src/filewriter/mp3.c:1177 +msgid "Only add v1 tag" +msgstr "Tilføj kun v1-mærke" + +#: src/filewriter/mp3.c:1184 +msgid "Only add v2 tag" +msgstr "Tilføj kun v2-mærke" + +#: src/filewriter/mp3.c:1205 +msgid "Tags" +msgstr "Mærker" + +#: src/filewriter/vorbis.c:212 +msgid "Vorbis Encoder Configuration" +msgstr "Konfiguration af Vorbiskoder" + +#: src/filewriter/vorbis.c:235 +msgid "Quality level (0 - 10):" +msgstr "Kvalitetsniveau (0-10):" + +#: src/flacng/metadata.c:357 src/wavpack/wavpack.c:280 +msgid "lossless" +msgstr "uden kvalitetstab" + +#: src/flacng/plugin.c:269 +msgid "" +"Original code by\n" +"Ralf Ertzinger <ralf@skytale.net>\n" +"\n" +"http://www.skytale.net/projects/bmp-flac2/" +msgstr "" + +#: src/flacng/plugin.c:277 +msgid "FLAC Decoder" +msgstr "FLAC-afkoder" + +#: src/gio/gio.c:300 +msgid "" +"GIO Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren" +msgstr "" + +#: src/gio/gio.c:322 +msgid "GIO Plugin" +msgstr "GIO-udvidelsesmodul" + +#: src/gl-spectrum/gl-spectrum.c:283 +msgid "" +"OpenGL Spectrum Analyzer for Audacious\n" +"Copyright 2013 Christophe Budé and John Lindgren\n" +"\n" +"Based on the XMMS plugin:\n" +"Copyright 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson, and " +"4Front Technologies\n" +"\n" +"License: GPLv2+" +msgstr "" +"OpenGL Spectrum Analyzer for Audacious\n" +"Ophavsret 2013 Christophe Budé og John Lindgren\n" +"\n" +"Baseret på XMMS-udvidelsesmodulet:\n" +"Ophavsret 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson og " +"4Front Technologies\n" +"\n" +"Licens: GPLv2+" + +#: src/gl-spectrum/gl-spectrum.c:292 +msgid "OpenGL Spectrum Analyzer" +msgstr "" + +#: src/gnomeshortcuts/gnomeshortcuts.c:41 +msgid "" +"Gnome Shortcut Plugin\n" +"Lets you control the player with Gnome's shortcuts.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" +msgstr "" + +#: src/gnomeshortcuts/gnomeshortcuts.c:47 +msgid "Gnome Shortcuts" +msgstr "Genvejstaster for GNOME" + +#: src/gtkui/columns.c:32 +msgid "Entry number" +msgstr "Postnummer" + +#: src/gtkui/columns.c:32 +msgid "Title" +msgstr "Titel" + +#: src/gtkui/columns.c:33 +msgid "Artist" +msgstr "Kunstner" + +#: src/gtkui/columns.c:33 +msgid "Year" +msgstr "År" + +#: src/gtkui/columns.c:33 +msgid "Album" +msgstr "Album" + +#: src/gtkui/columns.c:33 +msgid "Track" +msgstr "Nummer" + +#: src/gtkui/columns.c:33 +msgid "Genre" +msgstr "Genre" + +#: src/gtkui/columns.c:34 +msgid "Queue position" +msgstr "Køposition" + +#: src/gtkui/columns.c:34 +msgid "Length" +msgstr "Længde" + +#: src/gtkui/columns.c:34 +msgid "File path" +msgstr "Filsti" + +#: src/gtkui/columns.c:34 +msgid "File name" +msgstr "Filnavn" + +#: src/gtkui/columns.c:35 +msgid "Custom title" +msgstr "Tilpasset titel" + +#: src/gtkui/columns.c:35 +msgid "Bitrate" +msgstr "Bithastighed" + +#: src/gtkui/columns.c:277 +msgid "Choose Columns" +msgstr "Vælg kolonner" + +#: src/gtkui/columns.c:293 +msgid "Available:" +msgstr "Tilgængelige:" + +#: src/gtkui/columns.c:327 +msgid "Chosen:" +msgstr "Valgt:" + +#: src/gtkui/layout.c:119 +msgid "Dock at Left" +msgstr "Dok til venstre" + +#: src/gtkui/layout.c:119 +msgid "Dock at Right" +msgstr "Dok til højre" + +#: src/gtkui/layout.c:120 +msgid "Dock at Top" +msgstr "Dok øverst" + +#: src/gtkui/layout.c:120 +msgid "Dock at Bottom" +msgstr "Dok nederst" + +#: src/gtkui/layout.c:120 +msgid "Undock" +msgstr "Fjern dok" + +#: src/gtkui/layout.c:120 src/ladspa/plugin.c:623 +msgid "Disable" +msgstr "Deaktiver" + +#: src/gtkui/menus.c:170 +msgid "_Open Files ..." +msgstr "_Åbn filer ..." + +#: src/gtkui/menus.c:171 +msgid "Open _URL ..." +msgstr "Åbn a_dresse ..." + +#: src/gtkui/menus.c:172 +msgid "_Add Files ..." +msgstr "_Tilføj filer ..." + +#: src/gtkui/menus.c:173 +msgid "Add U_RL ..." +msgstr "_Tilføj adresse ..." + +#: src/gtkui/menus.c:175 +msgid "_Search Library" +msgstr "_Søg i biblioteket" + +#: src/gtkui/menus.c:177 +msgid "A_bout ..." +msgstr "_Om ..." + +#: src/gtkui/menus.c:178 +msgid "_Preferences ..." +msgstr "_Præferencer ..." + +#: src/gtkui/menus.c:179 src/skins/ui_manager.c:413 +msgid "_Quit" +msgstr "_Afslut" + +#: src/gtkui/menus.c:182 src/gtkui/menus.c:296 +msgid "_Play" +msgstr "_Afspil" + +#: src/gtkui/menus.c:183 +msgid "Paus_e" +msgstr "_Pause" + +#: src/gtkui/menus.c:184 +msgid "_Stop" +msgstr "_Stop" + +#: src/gtkui/menus.c:185 +msgid "Pre_vious" +msgstr "_Forrige" + +#: src/gtkui/menus.c:186 +msgid "_Next" +msgstr "_Næste" + +#: src/gtkui/menus.c:188 +msgid "_Repeat" +msgstr "_Gentag" + +#: src/gtkui/menus.c:189 +msgid "S_huffle" +msgstr "_Bland" + +#: src/gtkui/menus.c:190 +msgid "N_o Playlist Advance" +msgstr "_Ingen næste afspilningsliste" + +#: src/gtkui/menus.c:191 +msgid "Stop A_fter This Song" +msgstr "Stop _Efter denne sang" + +#: src/gtkui/menus.c:193 src/gtkui/menus.c:284 +msgid "Song _Info ..." +msgstr "_Sanginformation ..." + +#: src/gtkui/menus.c:194 +msgid "Jump to _Time ..." +msgstr "_Hop til tid ..." + +#: src/gtkui/menus.c:195 +msgid "_Jump to Song ..." +msgstr "_Hop til sang ..." + +#: src/gtkui/menus.c:197 +msgid "Set Repeat Point _A" +msgstr "" + +#: src/gtkui/menus.c:198 +msgid "Set Repeat Point _B" +msgstr "" + +#: src/gtkui/menus.c:199 +msgid "_Clear Repeat Points" +msgstr "" + +#: src/gtkui/menus.c:202 src/gtkui/menus.c:208 src/gtkui/menus.c:221 +msgid "By _Title" +msgstr "Efter _titel" + +#: src/gtkui/menus.c:203 +msgid "By _Filename" +msgstr "" + +#: src/gtkui/menus.c:204 +msgid "By File _Path" +msgstr "" + +#: src/gtkui/menus.c:207 src/gtkui/menus.c:220 +msgid "By Track _Number" +msgstr "Efter _rækkefølge for nummeret" + +#: src/gtkui/menus.c:209 src/gtkui/menus.c:222 +msgid "By _Artist" +msgstr "Efter _kunstner" + +#: src/gtkui/menus.c:210 src/gtkui/menus.c:223 +msgid "By Al_bum" +msgstr "" + +#: src/gtkui/menus.c:211 src/gtkui/menus.c:224 +msgid "By Release _Date" +msgstr "Efter _udgivelsesdato" + +#: src/gtkui/menus.c:212 src/gtkui/menus.c:225 +msgid "By _Length" +msgstr "" + +#: src/gtkui/menus.c:213 src/gtkui/menus.c:226 +msgid "By _File Path" +msgstr "Efter _filsti" + +#: src/gtkui/menus.c:214 src/gtkui/menus.c:227 +msgid "By _Custom Title" +msgstr "Efter _tilpasset titel" + +#: src/gtkui/menus.c:216 src/gtkui/menus.c:229 +msgid "R_everse Order" +msgstr "_Omvendt rækkefølge" + +#: src/gtkui/menus.c:217 src/gtkui/menus.c:230 +msgid "_Random Order" +msgstr "_Vilkårlig rækkefølge" + +#: src/gtkui/menus.c:233 +msgid "_Play This Playlist" +msgstr "_Start denne afspilningsliste" + +#: src/gtkui/menus.c:234 src/gtkui/menus.c:286 +msgid "_Refresh" +msgstr "_Opdater" + +#: src/gtkui/menus.c:236 +msgid "_Sort" +msgstr "_Sorter" + +#: src/gtkui/menus.c:237 +msgid "Sort S_elected" +msgstr "" + +#: src/gtkui/menus.c:238 +msgid "Remove _Duplicates" +msgstr "" + +#: src/gtkui/menus.c:239 +msgid "Remove _Unavailable Files" +msgstr "Fjern _utilgængelige filer" + +#: src/gtkui/menus.c:241 +msgid "_New" +msgstr "_Ny" + +#: src/gtkui/menus.c:242 +msgid "Ren_ame ..." +msgstr "_Omdøb ..." + +#: src/gtkui/menus.c:243 src/gtkui/menus.c:298 +msgid "_Close" +msgstr "_Luk" + +#: src/gtkui/menus.c:245 +msgid "_Import ..." +msgstr "_Importer ..." + +#: src/gtkui/menus.c:246 +msgid "_Export ..." +msgstr "_Eksporter ..." + +#: src/gtkui/menus.c:248 +msgid "Playlist _Manager ..." +msgstr "" + +#: src/gtkui/menus.c:249 +msgid "_Queue Manager ..." +msgstr "_Køhåndtering ..." + +#: src/gtkui/menus.c:252 +msgid "Volume _Up" +msgstr "Lydstyrke _op" + +#: src/gtkui/menus.c:253 +msgid "Volume _Down" +msgstr "Lydstyrke _ned" + +#: src/gtkui/menus.c:255 +msgid "_Equalizer" +msgstr "_Equalizer" + +#: src/gtkui/menus.c:257 +msgid "E_ffects" +msgstr "_Effekter" + +#: src/gtkui/menus.c:260 +msgid "_Interface" +msgstr "_Grænseflade" + +#: src/gtkui/menus.c:261 +msgid "_Visualizations" +msgstr "_Visualisationer" + +#: src/gtkui/menus.c:263 +msgid "Show _Menu Bar" +msgstr "Vis _menubjælke" + +#: src/gtkui/menus.c:264 +msgid "Show I_nfo Bar" +msgstr "Vis _informationsbjælke" + +#: src/gtkui/menus.c:265 +msgid "Show Info Bar Vis_ualization" +msgstr "Vis _visualisering for informationsbjælken" + +#: src/gtkui/menus.c:266 +msgid "Show _Status Bar" +msgstr "Vis _statusbjælke" + +#: src/gtkui/menus.c:268 +msgid "Show _Remaining Time" +msgstr "" + +#: src/gtkui/menus.c:270 +msgid "Show Close _Buttons" +msgstr "" + +#: src/gtkui/menus.c:271 +msgid "Show Column _Headers" +msgstr "Vis kolonnens _teksthoved" + +#: src/gtkui/menus.c:272 +msgid "Choose _Columns ..." +msgstr "Vælg _kolonner ..." + +#: src/gtkui/menus.c:273 +msgid "Scrol_l on Song Change" +msgstr "_Rul ved sangændring" + +#: src/gtkui/menus.c:276 +msgid "_File" +msgstr "_Fil" + +#: src/gtkui/menus.c:277 +msgid "_Playback" +msgstr "_Afspilning" + +#: src/gtkui/menus.c:278 +msgid "P_laylist" +msgstr "_Afspilningsliste" + +#: src/gtkui/menus.c:279 src/gtkui/menus.c:293 +msgid "_Services" +msgstr "_Tjenester" + +#: src/gtkui/menus.c:280 +msgid "_Output" +msgstr "_Lydudgang" + +#: src/gtkui/menus.c:281 +msgid "_View" +msgstr "_Vis" + +#: src/gtkui/menus.c:285 +msgid "_Queue/Unqueue" +msgstr "_Sæt i kø/fjern fra kø" + +#: src/gtkui/menus.c:288 +msgid "Cu_t" +msgstr "_Klip" + +#: src/gtkui/menus.c:289 +msgid "_Copy" +msgstr "_Kopier" + +#: src/gtkui/menus.c:290 +msgid "_Paste" +msgstr "_Indsæt" + +#: src/gtkui/menus.c:291 +msgid "Select _All" +msgstr "Vælg _alle" + +#: src/gtkui/menus.c:297 +msgid "_Rename ..." +msgstr "_Omdøb ..." + +#: src/gtkui/ui_gtk.c:96 +msgid "GTK Interface" +msgstr "GTK-grænseflade" + +#: src/gtkui/ui_gtk.c:198 src/skins/ui_main.c:306 +#, c-format +msgid "%s - Audacious" +msgstr "%s - Audacious" + +#: src/gtkui/ui_gtk.c:204 +msgid "Buffering ..." +msgstr "Mellemlagrer ..." + +#: src/gtkui/ui_gtk.c:207 src/skins/ui_main.c:308 src/skins/ui_main.c:1451 +msgid "Audacious" +msgstr "Audacious" + +#: src/gtkui/ui_gtk.c:253 src/lyricwiki/lyricwiki.c:208 +#: src/lyricwiki/lyricwiki.c:218 src/lyricwiki/lyricwiki.c:242 +#: src/lyricwiki/lyricwiki.c:252 src/lyricwiki/lyricwiki.c:271 +#: src/skins/plugin.c:176 +msgid "Error" +msgstr "Fejl" + +#: src/gtkui/ui_statusbar.c:108 +#, c-format +msgid "%d channel" +msgid_plural "%d channels" +msgstr[0] "%d kanal" +msgstr[1] "%d kanaler" + +#: src/gtkui/ui_statusbar.c:123 +#, c-format +msgid "%d kbps" +msgstr "%d kbps" + +#: src/hotkey/gui.c:70 +msgid "Previous track" +msgstr "Forrige nummer" + +#: src/hotkey/gui.c:71 src/notify/osd.c:68 src/skins/ui_manager.c:177 +#: src/skins/ui_manager.c:178 +msgid "Play" +msgstr "Afspil" + +#: src/hotkey/gui.c:72 +msgid "Pause/Resume" +msgstr "Pause/genoptag" + +#: src/hotkey/gui.c:73 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184 +msgid "Stop" +msgstr "Stop" + +#: src/hotkey/gui.c:74 +msgid "Next track" +msgstr "Næste nummer" + +#: src/hotkey/gui.c:75 +msgid "Forward 5 seconds" +msgstr "Fremad 5 sekunder" + +#: src/hotkey/gui.c:76 +msgid "Rewind 5 seconds" +msgstr "Tilbage 5 sekunder" + +#: src/hotkey/gui.c:77 +msgid "Mute" +msgstr "Sluk lyden" + +#: src/hotkey/gui.c:78 +msgid "Volume up" +msgstr "Lydstyrke op" + +#: src/hotkey/gui.c:79 +msgid "Volume down" +msgstr "Lydstyrke ned" + +#: src/hotkey/gui.c:80 +msgid "Jump to file" +msgstr "Hop til fil" + +#: src/hotkey/gui.c:81 +msgid "Toggle player window(s)" +msgstr "Skift afspillervinduer" + +#: src/hotkey/gui.c:82 +msgid "Show On-Screen-Display" +msgstr "Vis On-Screen-Display" + +#: src/hotkey/gui.c:83 +msgid "Toggle repeat" +msgstr "Skift gentag" + +#: src/hotkey/gui.c:84 +msgid "Toggle shuffle" +msgstr "Skift bland" + +#: src/hotkey/gui.c:85 +msgid "Toggle stop after current" +msgstr "Skift stop efter nuværende" + +#: src/hotkey/gui.c:86 +msgid "Raise player window(s)" +msgstr "" + +#: src/hotkey/gui.c:96 +msgid "(none)" +msgstr "(ingen)" + +#: src/hotkey/gui.c:233 +msgid "" +"It is not recommended to bind the primary mouse buttons without " +"modificators.\n" +"\n" +"Do you want to continue?" +msgstr "" +"Det anbefales ikke at binde de primære museknapper uden modifikatorer.\n" +"\n" +"Ønsker du at fortsætte?" + +#: src/hotkey/gui.c:235 +msgid "Binding mouse buttons" +msgstr "Binding af museknapper" + +#: src/hotkey/gui.c:385 +msgid "Global Hotkey Plugin Configuration" +msgstr "Konfiguration af udvid.modul for globale genvejstaster" + +#: src/hotkey/gui.c:401 +msgid "" +"Press a key combination inside a text field.\n" +"You can also bind mouse buttons." +msgstr "" +"Tryk på en tastekombination i et tekstfelt.\n" +"Du kan også binde museknapper." + +#: src/hotkey/gui.c:406 +msgid "Hotkeys:" +msgstr "Genvejstaster:" + +#: src/hotkey/gui.c:423 +msgid "<b>Action:</b>" +msgstr "<b>Handling:</b>" + +#: src/hotkey/gui.c:430 +msgid "<b>Key Binding:</b>" +msgstr "<b>Genvejstast:</b>" + +#: src/hotkey/plugin.c:66 +msgid "" +"Global Hotkey Plugin\n" +"Control the player with global key combinations or multimedia keys.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n" +"\n" +"Contributers include:\n" +"Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n" +"Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>,\n" +" Bryn Davies <curious@ihug.com.au>,\n" +" Jonathan A. Davis <davis@jdhouse.org>,\n" +" Jeremy Tan <nsx@nsx.homeip.net>" +msgstr "" + +#: src/hotkey/plugin.c:78 +msgid "Global Hotkeys" +msgstr "Globale genvejstaster" + +#: src/jack/jack.c:410 +msgid "" +"Based on xmms-jack, by Chris Morgan:\n" +"http://xmms-jack.sourceforge.net/\n" +"\n" +"Ported to Audacious by Giacomo Lozito" +msgstr "" + +#: src/jack/jack.c:416 +msgid "JACK Output" +msgstr "JACK-lydkanal" + +#: src/ladspa/plugin.c:493 +#, c-format +msgid "%s Settings" +msgstr "%s-indstillinger" + +#: src/ladspa/plugin.c:561 +msgid "LADSPA Host Settings" +msgstr "Indstillinger for LADSPA-vært" + +#: src/ladspa/plugin.c:570 +msgid "Module paths:" +msgstr "Modulstier:" + +#: src/ladspa/plugin.c:575 +msgid "" +"<small>Separate multiple paths with a colon.\n" +"These paths are searched in addition to LADSPA_PATH.\n" +"After adding new paths, press Enter to scan for new plugins.</small>" +msgstr "" +"<small>Adskil flere stier med et kolon.\n" +"Disse stier er søgbare udover LADSPA_PATH.\n" +"Efter tilføjelse af nye stier, tryk Retur for at skanne for nye " +"udvidelsesmoduler.</small>" + +#: src/ladspa/plugin.c:591 +msgid "Available plugins:" +msgstr "Tilgængelige udvidelsesmoduler:" + +#: src/ladspa/plugin.c:604 src/modplug/plugin_main.c:115 +#: src/modplug/plugin_main.c:119 src/modplug/plugin_main.c:123 +#: src/modplug/plugin_main.c:127 +msgid "Enable" +msgstr "Aktiver" + +#: src/ladspa/plugin.c:610 +msgid "Enabled plugins:" +msgstr "Aktiverede udvidelsesmoduler:" + +#: src/ladspa/plugin.c:626 +msgid "Settings" +msgstr "Indstillinger" + +#: src/ladspa/plugin.c:645 +msgid "" +"LADSPA Host for Audacious\n" +"Copyright 2011 John Lindgren" +msgstr "" + +#: src/ladspa/plugin.c:650 +msgid "LADSPA Host" +msgstr "LADSPA-vært" + +#: src/lirc/lirc.c:76 +#, c-format +msgid "%s: could not init LIRC support\n" +msgstr "%s: Kunne ikke initiere LIRC-understøttelse\n" + +#: src/lirc/lirc.c:83 +#, c-format +msgid "" +"%s: could not read LIRC config file\n" +"%s: please read the documentation of LIRC\n" +"%s: how to create a proper config file\n" +msgstr "" + +#: src/lirc/lirc.c:114 +#, c-format +msgid "%s: trying to reconnect...\n" +msgstr "%s: Forsøger at forbinde igen ...\n" + +#: src/lirc/lirc.c:354 +#, c-format +msgid "%s: unknown command \"%s\"\n" +msgstr "%s: Ukendt kommando »%s«\n" + +#: src/lirc/lirc.c:365 +#, c-format +msgid "%s: disconnected from LIRC\n" +msgstr "%s: Frakoblet fra LIRC\n" + +#: src/lirc/lirc.c:371 +#, c-format +msgid "%s: will try reconnect every %d seconds...\n" +msgstr "%s: Vil forsøge at forbinde igen hver %d sekunder ...\n" + +#: src/lirc/lirc.c:381 +msgid "" +"A simple plugin to control Audacious using the LIRC remote control daemon\n" +"\n" +"Adapted for Audacious by:\n" +"Tony Vroon <chainsaw@gentoo.org>\n" +"Joonas Harjumäki <jharjuma@gmail.com>\n" +"\n" +"Based on the XMMS LIRC plugin by:\n" +"Carl van Schaik <carl@leg.uct.ac.za>\n" +"Christoph Bartelmus <xmms@bartelmus.de>\n" +"Andrew O. Shadoura <bugzilla@tut.by>\n" +"\n" +"For more information about LIRC, see http://lirc.org." +msgstr "" + +#: src/lirc/lirc.c:392 +msgid "<b>Connection</b>" +msgstr "<b>Forbindelse</b>" + +#: src/lirc/lirc.c:393 +msgid "Reconnect to LIRC server" +msgstr "Forbind igen til LIRC-serveren" + +#: src/lirc/lirc.c:395 +msgid "Wait before reconnecting:" +msgstr "Vent før du forbinder igen:" + +#: src/lirc/lirc.c:405 +msgid "LIRC Plugin" +msgstr "LIRC-udvidelsesmodul" + +#: src/lyricwiki/lyricwiki.c:117 +msgid "No lyrics available" +msgstr "Ingen sangtekster er tilgængelige" + +#: src/lyricwiki/lyricwiki.c:207 src/lyricwiki/lyricwiki.c:241 +#, c-format +msgid "Unable to fetch %s" +msgstr "Kunne ikke hente %s" + +#: src/lyricwiki/lyricwiki.c:217 src/lyricwiki/lyricwiki.c:251 +#, c-format +msgid "Unable to parse %s" +msgstr "Kunne ikke fortolke %s" + +#: src/lyricwiki/lyricwiki.c:260 +msgid "Looking for lyrics ..." +msgstr "Kigger efter sangtekster ..." + +#: src/lyricwiki/lyricwiki.c:271 +msgid "Missing song metadata" +msgstr "Manglende sangmetadata" + +#: src/lyricwiki/lyricwiki.c:284 +msgid "Connecting to lyrics.wikia.com ..." +msgstr "Forbinder til lyrics.wikia.com ..." + +#: src/lyricwiki/lyricwiki.c:411 +msgid "LyricWiki Plugin" +msgstr "LyricWiki-udvidelsesmodul" + +#: src/m3u/m3u.c:121 +msgid "M3U Playlists" +msgstr "M3U-afspilningslister" + +#: src/metronom/metronom.c:127 +#, c-format +msgid "Tact generator: %d bpm" +msgstr "Tact-opretter: %d bpm" + +#: src/metronom/metronom.c:129 +#, c-format +msgid "Tact generator: %d bpm %d/%d" +msgstr "Tact-opretter: %d bpm %d/%d" + +#: src/metronom/metronom.c:246 +msgid "" +"A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n" +"\n" +"To use it, add a URL: tact://beats*num/den\n" +"e.g. tact://77 to play 77 beats per minute\n" +"or tact://60*3/4 to play 60 bpm in 3/4 tacts" +msgstr "" + +#: src/metronom/metronom.c:255 +msgid "Tact Generator" +msgstr "" + +#: src/mixer/mixer.c:169 +msgid "" +"Channel Mixer Plugin for Audacious\n" +"Copyright 2011-2012 John Lindgren and Michał Lipski" +msgstr "" + +#: src/mixer/mixer.c:173 +msgid "<b>Channel Mixer</b>" +msgstr "<b>Kanalmikser</b>" + +#: src/mixer/mixer.c:174 +msgid "Output channels:" +msgstr "Kanaler for lydudgang:" + +#: src/mixer/mixer.c:184 +msgid "Channel Mixer" +msgstr "Kanalmikser" + +#: src/mms/mms.c:224 +msgid "MMS Plugin" +msgstr "MMS-udvidelsemodul" + +#: src/modplug/plugin_main.c:57 +msgid "<b>Resolution</b>" +msgstr "" + +#: src/modplug/plugin_main.c:58 +msgid "8-bit" +msgstr "8-bit" + +#: src/modplug/plugin_main.c:60 +msgid "16-bit" +msgstr "16-bit" + +#: src/modplug/plugin_main.c:62 +msgid "<b>Channels</b>" +msgstr "<b>Kanaler</b>" + +#: src/modplug/plugin_main.c:67 +msgid "<b>Resampling</b>" +msgstr "" + +#: src/modplug/plugin_main.c:68 +msgid "Nearest (fastest)" +msgstr "" + +#: src/modplug/plugin_main.c:70 +msgid "Linear (fast)" +msgstr "" + +#: src/modplug/plugin_main.c:72 +msgid "Spline (good)" +msgstr "" + +#: src/modplug/plugin_main.c:74 +msgid "Polyphase (best)" +msgstr "" + +#: src/modplug/plugin_main.c:76 +msgid "<b>Sampling rate</b>" +msgstr "" + +#: src/modplug/plugin_main.c:77 +msgid "22 kHz" +msgstr "22 kHz" + +#: src/modplug/plugin_main.c:79 +msgid "44 kHz" +msgstr "44 kHz" + +#: src/modplug/plugin_main.c:81 +msgid "48 kHz" +msgstr "48 kHz" + +#: src/modplug/plugin_main.c:83 +msgid "96 kHz" +msgstr "96 kHz" + +#: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 +#: src/modplug/plugin_main.c:102 +msgid "Level:" +msgstr "Niveau:" + +#: src/modplug/plugin_main.c:97 +msgid "Cutoff:" +msgstr "" + +#: src/modplug/plugin_main.c:114 +msgid "<b>Reverb</b>" +msgstr "<b>Ekko</b>" + +#: src/modplug/plugin_main.c:118 +msgid "<b>Bass Boost</b>" +msgstr "" + +#: src/modplug/plugin_main.c:122 +msgid "<b>Surround</b>" +msgstr "<b>Surround</b>" + +#: src/modplug/plugin_main.c:126 +msgid "<b>Preamp</b>" +msgstr "" + +#: src/modplug/plugin_main.c:133 +msgid "<b>Miscellaneous</b>" +msgstr "" + +#: src/modplug/plugin_main.c:134 +msgid "Oversample" +msgstr "" + +#: src/modplug/plugin_main.c:136 +msgid "Noise reduction" +msgstr "Støjreduktion" + +#: src/modplug/plugin_main.c:138 +msgid "Play Amiga MODs" +msgstr "Afspil Amiga MOD'er" + +#: src/modplug/plugin_main.c:140 +msgid "<b>Repeat</b>" +msgstr "<b>Gentag</b>" + +#: src/modplug/plugin_main.c:141 +msgid "Repeat count:" +msgstr "Antal gentagelser:" + +#: src/modplug/plugin_main.c:143 +msgid "To repeat forever, set the repeat count to -1." +msgstr "For at gentage for evigt, så sæt antal gentagelser til -1." + +#: src/modplug/plugin_main.c:238 +msgid "ModPlug (Module Player)" +msgstr "ModPlug (Module-afspiller)" + +#: src/mpg123/mpg123.c:211 +msgid "Surround" +msgstr "Surround" + +#: src/mpg123/mpg123.c:569 +msgid "MPG123 Plugin" +msgstr "MPG123-udvidelsesmodul" + +#: src/mpris2/plugin.c:403 +msgid "MPRIS 2 Server" +msgstr "MPRIS 2-server" + +#: src/neon/neon.c:1228 +msgid "Neon HTTP/HTTPS Plugin" +msgstr "Neon HTTP/HTTPS-udvidelsesmodul" + +#: src/notify/event.c:64 +msgid "Stopped" +msgstr "Stoppet" + +#: src/notify/event.c:64 +msgid "Audacious is not playing." +msgstr "Audacious afspiller ikke." + +#: src/notify/notify.c:33 +msgid "" +"Desktop Notifications Plugin for Audacious\n" +"Copyright (C) 2010 Maximilian Bogner\n" +"Copyright (C) 2011-2013 John Lindgren and Jean-Alexandre Anglès d'Auriac\n" +"\n" +"This plugin 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 3 of the License, or (at your option) " +"any later version.\n" +"\n" +"This plugin 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.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"this program. If not, see <http://www.gnu.org/licenses/>." +msgstr "" + +#: src/notify/notify.c:77 +msgid "Show playback controls" +msgstr "" + +#: src/notify/notify.c:80 +msgid "Always show notification" +msgstr "Vis altid påmindelse" + +#: src/notify/notify.c:92 +msgid "Desktop Notifications" +msgstr "Skrivebordspåmindelser" + +#: src/notify/osd.c:57 +msgid "Show" +msgstr "Vis" + +#: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 +msgid "Pause" +msgstr "Pause" + +#: src/notify/osd.c:72 src/skins/ui_manager.c:189 src/skins/ui_manager.c:190 +msgid "Next" +msgstr "Næste" + +#: src/oss4/plugin.c:36 +msgid "1. Default device" +msgstr "1. Standardenhed" + +#: src/oss4/plugin.c:75 src/sndio/sndio.c:393 +msgid "Audio device:" +msgstr "Lydenhed:" + +#: src/oss4/plugin.c:77 +msgid "Use alternate device:" +msgstr "Brug anden enhed:" + +#: src/oss4/plugin.c:81 +msgid "Save volume between sessions." +msgstr "Gem lydstyrke mellem sessioner." + +#: src/oss4/plugin.c:83 +msgid "Enable format conversions made by the OSS software." +msgstr "Aktiver formatkonvertering lavet af OSS-programmer." + +#: src/oss4/plugin.c:85 +msgid "Enable exclusive mode to prevent virtual mixing." +msgstr "Aktiver eksklusiv tilstand for at forhindre virtuel blanding." + +#: src/oss4/plugin.c:108 +msgid "" +"OSS4 Output Plugin for Audacious\n" +"Copyright 2010-2012 Michał Lipski\n" +"\n" +"I would like to thank people on #audacious, especially Tony Vroon and John " +"Lindgren and of course the authors of the previous OSS plugin." +msgstr "" + +#: src/oss4/plugin.c:115 +msgid "OSS4 Output" +msgstr "OSS4-lydkanal" + +#: src/pls/pls.c:113 +msgid "PLS Playlists" +msgstr "PLS-afspilningslister" + +#: src/psf/plugin.c:264 +msgid "OpenPSF PSF1/PSF2 Decoder" +msgstr "OpenPSF PSF1/PSF2-afkoder" + +#: src/pulse_audio/pulse_audio.c:644 +msgid "" +"Audacious PulseAudio Output Plugin\n" +"\n" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program; if not, write to the Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." +msgstr "" + +#: src/pulse_audio/pulse_audio.c:662 +msgid "PulseAudio Output" +msgstr "PulseAudio-lydkanal" + +#: src/resample/resample.c:161 +msgid "" +"Sample Rate Converter Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/resample/resample.c:165 +msgid "Skip/repeat samples" +msgstr "Udelad/gentag samplinger" + +#: src/resample/resample.c:166 +msgid "Linear interpolation" +msgstr "Lineær interpolation" + +#: src/resample/resample.c:167 +msgid "Fast sinc interpolation" +msgstr "Fast sinc-interpolation" + +#: src/resample/resample.c:168 +msgid "Medium sinc interpolation" +msgstr "Medium sinc-interpolation" + +#: src/resample/resample.c:169 +msgid "Best sinc interpolation" +msgstr "Bedste sinc-interpolation" + +#: src/resample/resample.c:172 +msgid "<b>Conversion</b>" +msgstr "" + +#: src/resample/resample.c:173 +msgid "Method:" +msgstr "Metode:" + +#: src/resample/resample.c:176 src/sox-resampler/sox-resampler.c:151 +msgid "Rate:" +msgstr "Hastighed:" + +#: src/resample/resample.c:179 +msgid "<b>Rate Mappings</b>" +msgstr "<b>Hastighedsoversættelser</b>" + +#: src/resample/resample.c:180 +msgid "Use rate mappings" +msgstr "Brug hastighedsoversættelser" + +#: src/resample/resample.c:182 +msgid "8 kHz:" +msgstr "8 kHz:" + +#: src/resample/resample.c:185 +msgid "16 kHz:" +msgstr "16 kHz:" + +#: src/resample/resample.c:188 +msgid "22.05 kHz:" +msgstr "22.05 kHz:" + +#: src/resample/resample.c:191 +msgid "44.1 kHz:" +msgstr "44.1 kHz:" + +#: src/resample/resample.c:194 +msgid "48 kHz:" +msgstr "48 kHz:" + +#: src/resample/resample.c:197 +msgid "96 kHz:" +msgstr "96 kHz:" + +#: src/resample/resample.c:200 +msgid "192 kHz:" +msgstr "192 kHz:" + +#: src/resample/resample.c:210 +msgid "Sample Rate Converter" +msgstr "" + +#: src/scrobbler2/config_window.c:41 +#, c-format +msgid "OK. Scrobbling for user: %s" +msgstr "" + +#: src/scrobbler2/config_window.c:52 +msgid "Permission Denied" +msgstr "Tilladelse nægtet" + +#: src/scrobbler2/config_window.c:54 +msgid "Access the following link to allow Audacious to scrobble your plays:" +msgstr "" + +#: src/scrobbler2/config_window.c:63 +msgid "Keep this window open and click 'Check Permission' again.\n" +msgstr "" + +#: src/scrobbler2/config_window.c:66 src/scrobbler2/config_window.c:77 +msgid "" +"Don't worry. Your scrobbles are saved on your computer.\n" +"They will be submitted as soon as Audacious is allowed to do so." +msgstr "" + +#: src/scrobbler2/config_window.c:74 +msgid "Network Problem." +msgstr "Netværksproblem." + +#: src/scrobbler2/config_window.c:75 +msgid "There was a problem contacting Last.fm. Please try again later." +msgstr "" +"Der opstod et problem under forsøget på at kontakte Last.fm. Prøv igen " +"senere." + +#: src/scrobbler2/config_window.c:107 +msgid "Checking..." +msgstr "Kontrollerer ..." + +#: src/scrobbler2/config_window.c:173 +msgid "C_heck Permission" +msgstr "_Kontroller rettighed" + +#: src/scrobbler2/config_window.c:174 +msgid "_Revoke Permission" +msgstr "_Tilbagekald rettighed" + +#: src/scrobbler2/config_window.c:221 +msgid "" +"You need to allow Audacious to scrobble tracks to your Last.fm account.\n" +msgstr "" + +#: src/scrobbler2/scrobbler.c:233 +msgid "" +"The Scrobbler plugin could not be started.\n" +"There might be a problem with your installation." +msgstr "" + +#: src/scrobbler2/scrobbler.c:311 +msgid "" +"Audacious Scrobbler Plugin 2.0 by Pitxyoki,\n" +"\n" +"Copyright © 2012-2013 Luís M. Picciochi Oliveira <Pitxyoki@Gmail.com>\n" +"\n" +"Thanks to John Lindgren for giving me a hand at the beginning of this " +"project.\n" +"\n" +msgstr "" + +#: src/scrobbler2/scrobbler.c:317 +msgid "Scrobbler 2.0" +msgstr "Scrobbler 2.0" + +#: src/scrobbler2/scrobbler_communication.c:690 +msgid "" +"Audacious is now using an improved version of the Last.fm Scrobbler.\n" +"Please check the Preferences for the Scrobbler plugin." +msgstr "" +"Audacious bruger nu en forbedret version af Last.fm Scrobbler.\n" +"Kontroller præferencerne for Scrobbler-udvidelsesmodulet." + +#: src/sdlout/plugin.c:26 +msgid "" +"SDL Output Plugin for Audacious\n" +"Copyright 2010 John Lindgren" +msgstr "" + +#: src/sdlout/plugin.c:31 +msgid "SDL Output" +msgstr "" + +#: src/search-tool/search-tool.c:111 src/search-tool/search-tool.c:121 +msgid "Library" +msgstr "Bibliotek" + +#: src/search-tool/search-tool.c:219 +msgid "Unknown Artist" +msgstr "Ukendt kunstner" + +#: src/search-tool/search-tool.c:221 +msgid "Unknown Album" +msgstr "Ukendt album" + +#: src/search-tool/search-tool.c:632 +#, c-format +msgid "" +"%s\n" +" on %s by %s" +msgstr "" +"%s\n" +" på %s af %s" + +#: src/search-tool/search-tool.c:638 +#, c-format +msgid "%d album" +msgid_plural "%d albums" +msgstr[0] "%d album" +msgstr[1] "%d albummer" + +#: src/search-tool/search-tool.c:640 +#, c-format +msgid "" +"%s\n" +" %s, %d song" +msgid_plural "" +"%s\n" +" %s, %d songs" +msgstr[0] "" +"%s\n" +" %s, %d sang" +msgstr[1] "" +"%s\n" +" %s, %d sang" + +#: src/search-tool/search-tool.c:646 +#, c-format +msgid "" +"%s\n" +" %d song by %s" +msgid_plural "" +"%s\n" +" %d songs by %s" +msgstr[0] "" +"%s\n" +" %d sang af %s" +msgstr[1] "" +"%s\n" +" %d sange af %s" + +#: src/search-tool/search-tool.c:687 +msgid "_Create Playlist" +msgstr "_Opret afspilningsliste" + +#: src/search-tool/search-tool.c:694 +msgid "_Add to Playlist" +msgstr "_Tilføj til afspilningsliste" + +#: src/search-tool/search-tool.c:734 +msgid "Search library" +msgstr "Søg bibliotek" + +#: src/search-tool/search-tool.c:739 +msgid "" +"To import your music library into Audacious, choose a folder and then click " +"the \"refresh\" icon." +msgstr "" +"For at importere dit musikbibliotek til Audacious skal du vælge en mappe og " +"så klikke på ikonet »Opdater«." + +#: src/search-tool/search-tool.c:747 +msgid "Please wait ..." +msgstr "Vent venligst ..." + +#: src/search-tool/search-tool.c:769 +msgid "Choose Folder" +msgstr "Vælg mappe" + +#: src/search-tool/search-tool.c:808 +msgid "Search Tool" +msgstr "Søgeværktøj" + +#: src/skins/plugin.c:49 +msgid "Winamp Classic Interface" +msgstr "Winamps klassiske brugerflade" + +#: src/skins/skins_cfg.c:204 +msgid "_Player:" +msgstr "_Afspiller:" + +#: src/skins/skins_cfg.c:205 +msgid "Select main player window font:" +msgstr "Vælg skrifttype for hovedafspillerens vindue:" + +#: src/skins/skins_cfg.c:207 +msgid "_Playlist:" +msgstr "_Afspilningsliste:" + +#: src/skins/skins_cfg.c:208 +msgid "Select playlist font:" +msgstr "Vælg skrifttype for afspilningslisten:" + +#: src/skins/skins_cfg.c:212 +msgid "<b>_Fonts</b>" +msgstr "<b>_Skrifttyper</b>" + +#: src/skins/skins_cfg.c:215 +msgid "Use bitmap fonts (supports ASCII only)" +msgstr "Brug bitmap-skrifttyper (understøtter kun ASCII)" + +#: src/skins/skins_cfg.c:217 +msgid "Scroll song title in both directions" +msgstr "Rul sangtitel i begge retninger" + +#: src/skins/skins_cfg.c:295 +msgid "<b>_Skin</b>" +msgstr "<b>_Tema</b>" + +#: src/skins/skins_cfg.c:342 +msgid "Interface Preferences" +msgstr "Grænsefladepræferencer" + +#: src/skins/ui_equalizer.c:328 +msgid "Preamp" +msgstr "" + +#: src/skins/ui_equalizer.c:332 +msgid "31 Hz" +msgstr "31 Hz" + +#: src/skins/ui_equalizer.c:333 +msgid "63 Hz" +msgstr "63 Hz" + +#: src/skins/ui_equalizer.c:333 +msgid "125 Hz" +msgstr "125 Hz" + +#: src/skins/ui_equalizer.c:333 +msgid "250 Hz" +msgstr "250 Hz" + +#: src/skins/ui_equalizer.c:333 +msgid "500 Hz" +msgstr "500 Hz" + +#: src/skins/ui_equalizer.c:333 +msgid "1 kHz" +msgstr "1 kHz" + +#: src/skins/ui_equalizer.c:334 +msgid "2 kHz" +msgstr "2 kHz" + +#: src/skins/ui_equalizer.c:334 +msgid "4 kHz" +msgstr "4 kHz" + +#: src/skins/ui_equalizer.c:334 +msgid "8 kHz" +msgstr "8 kHz" + +#: src/skins/ui_equalizer.c:334 +msgid "16 kHz" +msgstr "16 kHz" + +#: src/skins/ui_equalizer.c:375 +msgid "Audacious Equalizer" +msgstr "Audacious-equalizer" + +#: src/skins/ui_equalizer.c:890 +msgid "Presets" +msgstr "Forhåndsindstillinger" + +#: src/skins/ui_equalizer.c:971 src/skins/ui_manager.c:451 +msgid "Load preset" +msgstr "Indlæs forhåndsindstilling" + +#: src/skins/ui_equalizer.c:988 +msgid "Load auto-preset" +msgstr "Indlæs automatisk forhåndsindstilling" + +#: src/skins/ui_equalizer.c:1018 src/skins/ui_equalizer.c:1036 +#: src/skins/ui_equalizer.c:1052 +msgid "Load equalizer preset" +msgstr "Indlæs equalizerforhåndsindstilling" + +#: src/skins/ui_equalizer.c:1071 src/skins/ui_manager.c:472 +msgid "Save preset" +msgstr "Gem forhåndsindstilling" + +#: src/skins/ui_equalizer.c:1087 +msgid "Save auto-preset" +msgstr "Gem automatisk forhåndsindstilling" + +#: src/skins/ui_equalizer.c:1118 src/skins/ui_equalizer.c:1154 +msgid "Save equalizer preset" +msgstr "Gem equalizerforhåndsindstilling" + +#: src/skins/ui_equalizer.c:1173 src/skins/ui_manager.c:487 +msgid "Delete preset" +msgstr "Slet forhåndsindstilling" + +#: src/skins/ui_equalizer.c:1190 +msgid "Delete auto-preset" +msgstr "Slet automatisk forhåndsindstilling" + +#: src/skins/ui_main.c:414 +msgid "kbps" +msgstr "kbps" + +#: src/skins/ui_main.c:422 +msgid "kHz" +msgstr "kHz" + +#: src/skins/ui_main.c:770 +#, c-format +msgid "Seek to %d:%-2.2d / %d:%-2.2d" +msgstr "Søg til %d:%-2.2d / %d:%-2.2d" + +#: src/skins/ui_main.c:791 +#, c-format +msgid "Volume: %d%%" +msgstr "Lydstyrke: %d%%" + +#: src/skins/ui_main.c:814 +#, c-format +msgid "Balance: %d%% left" +msgstr "Balance: %d%% venstre" + +#: src/skins/ui_main.c:816 +msgid "Balance: center" +msgstr "Balance: centrum" + +#: src/skins/ui_main.c:818 +#, c-format +msgid "Balance: %d%% right" +msgstr "Balance: %d%% højre" + +#: src/skins/ui_main.c:942 +msgid "Options Menu" +msgstr "Menu for indstillinger" + +#: src/skins/ui_main.c:946 +msgid "Disable 'Always On Top'" +msgstr "Deakiver »Altid øverst«" + +#: src/skins/ui_main.c:948 +msgid "Enable 'Always On Top'" +msgstr "Aktiver »Altid øverst«" + +#: src/skins/ui_main.c:951 +msgid "File Info Box" +msgstr "Filinformationsboks" + +#: src/skins/ui_main.c:956 +msgid "Visualization Menu" +msgstr "Visualiseringsmenu" + +#: src/skins/ui_main.c:1591 +msgid "Single mode." +msgstr "Tilstand for én." + +#: src/skins/ui_main.c:1593 +msgid "Playlist mode." +msgstr "Afspilningstilstand." + +#: src/skins/ui_main.c:1615 +msgid "Stopping after song." +msgstr "Stopper efter sang." + +#: src/skins/ui_main.c:1617 +msgid "Not stopping after song." +msgstr "Stopper ikke efter sang." + +#: src/skins/ui_main.c:1752 +msgid "Repeat point A set." +msgstr "" + +#: src/skins/ui_main.c:1757 +msgid "Repeat point B set." +msgstr "" + +#: src/skins/ui_main.c:1766 +msgid "Repeat points cleared." +msgstr "" + +#: src/skins/ui_manager.c:66 src/skins/ui_manager.c:67 +msgid "Autoscroll Song Name" +msgstr "Rul automatisk sangnavn" + +#: src/skins/ui_manager.c:69 src/skins/ui_manager.c:70 +msgid "Stop after Current Song" +msgstr "Stop efter nuværende sang" + +#: src/skins/ui_manager.c:72 src/skins/ui_manager.c:73 +msgid "Peaks" +msgstr "Højdepunkter" + +#: src/skins/ui_manager.c:75 src/skins/ui_manager.c:76 +msgid "Repeat" +msgstr "Gentag" + +#: src/skins/ui_manager.c:78 src/skins/ui_manager.c:79 +msgid "Shuffle" +msgstr "Bland" + +#: src/skins/ui_manager.c:81 src/skins/ui_manager.c:82 +msgid "No Playlist Advance" +msgstr "Ingen næste afspilningsliste" + +#: src/skins/ui_manager.c:84 src/skins/ui_manager.c:85 +msgid "Show Player" +msgstr "Vis afspiller" + +#: src/skins/ui_manager.c:87 src/skins/ui_manager.c:88 +msgid "Show Playlist Editor" +msgstr "Vis redigeringsprogram for afspilningslister" + +#: src/skins/ui_manager.c:90 src/skins/ui_manager.c:91 +msgid "Show Equalizer" +msgstr "Vis equalizer" + +#: src/skins/ui_manager.c:93 src/skins/ui_manager.c:94 +msgid "Always on Top" +msgstr "Altid øverst" + +#: src/skins/ui_manager.c:96 src/skins/ui_manager.c:97 +msgid "Put on All Workspaces" +msgstr "Placer på alle arbejdsrum" + +#: src/skins/ui_manager.c:99 src/skins/ui_manager.c:100 +msgid "Roll up Player" +msgstr "Rul op-afspiller" + +#: src/skins/ui_manager.c:102 src/skins/ui_manager.c:103 +msgid "Roll up Playlist Editor" +msgstr "Rul op-redigeringsprogram for afspilningslister" + +#: src/skins/ui_manager.c:105 src/skins/ui_manager.c:106 +msgid "Roll up Equalizer" +msgstr "Rul op-equalizer" + +#: src/skins/ui_manager.c:114 +msgid "Analyzer" +msgstr "Analyseprogram" + +#: src/skins/ui_manager.c:115 +msgid "Scope" +msgstr "Omfang" + +#: src/skins/ui_manager.c:116 +msgid "Voiceprint" +msgstr "Stemmeaftryk" + +#: src/skins/ui_manager.c:117 +msgid "Off" +msgstr "Slukket" + +#: src/skins/ui_manager.c:121 src/skins/ui_manager.c:138 +#: src/skins/ui_manager.c:144 +msgid "Normal" +msgstr "Normal" + +#: src/skins/ui_manager.c:122 src/skins/ui_manager.c:139 +msgid "Fire" +msgstr "Ild" + +#: src/skins/ui_manager.c:123 +msgid "Vertical Lines" +msgstr "Lodrette linjer" + +#: src/skins/ui_manager.c:127 +msgid "Lines" +msgstr "Linjer" + +#: src/skins/ui_manager.c:128 +msgid "Bars" +msgstr "Bjælker" + +#: src/skins/ui_manager.c:132 +msgid "Dot Scope" +msgstr "Punktumomfang" + +#: src/skins/ui_manager.c:133 +msgid "Line Scope" +msgstr "LInjeomfang" + +#: src/skins/ui_manager.c:134 +msgid "Solid Scope" +msgstr "Fast omfang" + +#: src/skins/ui_manager.c:140 +msgid "Ice" +msgstr "Is" + +#: src/skins/ui_manager.c:145 +msgid "Smooth" +msgstr "Blød" + +#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157 +msgid "Slowest" +msgstr "Langsomst" + +#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158 +msgid "Slow" +msgstr "Langsom" + +#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159 +#: src/sox-resampler/sox-resampler.c:143 +msgid "Medium" +msgstr "Mellem" + +#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160 +msgid "Fast" +msgstr "Hurtig" + +#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161 +msgid "Fastest" +msgstr "Hurtigst" + +#: src/skins/ui_manager.c:165 +msgid "Time Elapsed" +msgstr "Tid forløbet" + +#: src/skins/ui_manager.c:166 +msgid "Time Remaining" +msgstr "Tid tilbage" + +#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187 +msgid "Previous" +msgstr "Forrige" + +#: src/skins/ui_manager.c:195 +msgid "Visualization" +msgstr "Visualisering" + +#: src/skins/ui_manager.c:196 +msgid "Visualization Mode" +msgstr "Visualiseringstilstand" + +#: src/skins/ui_manager.c:197 +msgid "Analyzer Mode" +msgstr "Analysetilstand" + +#: src/skins/ui_manager.c:198 +msgid "Scope Mode" +msgstr "Omfangstilstand" + +#: src/skins/ui_manager.c:199 +msgid "Voiceprint Mode" +msgstr "Stemmeaftrykstilstand" + +#: src/skins/ui_manager.c:200 +msgid "WindowShade VU Mode" +msgstr "WindowsShade VU-tilstand" + +#: src/skins/ui_manager.c:201 +msgid "Analyzer Falloff" +msgstr "" + +#: src/skins/ui_manager.c:202 +msgid "Peaks Falloff" +msgstr "" + +#: src/skins/ui_manager.c:207 +msgid "Playlist" +msgstr "Afspilningsliste" + +#: src/skins/ui_manager.c:209 src/skins/ui_manager.c:210 +msgid "Play Playlist" +msgstr "Start afspilningsliste" + +#: src/skins/ui_manager.c:212 src/skins/ui_manager.c:213 +msgid "New Playlist" +msgstr "Ny afspilningsliste" + +#: src/skins/ui_manager.c:215 src/skins/ui_manager.c:216 +msgid "Select Next Playlist" +msgstr "Vælg næste afspilningsliste" + +#: src/skins/ui_manager.c:218 src/skins/ui_manager.c:219 +msgid "Select Previous Playlist" +msgstr "Vælg forrige afspilningsliste" + +#: src/skins/ui_manager.c:221 src/skins/ui_manager.c:222 +msgid "Delete Playlist" +msgstr "Slet afspilningsliste" + +#: src/skins/ui_manager.c:224 +msgid "Import Playlist" +msgstr "Importer afspilningsliste" + +#: src/skins/ui_manager.c:225 +msgid "Loads a playlist file into the selected playlist." +msgstr "Indlæs en afspilningslistefil i den valgte afspilningsliste." + +#: src/skins/ui_manager.c:228 +msgid "Export Playlist" +msgstr "Eksporter afspilningsliste" + +#: src/skins/ui_manager.c:229 +msgid "Saves the selected playlist." +msgstr "Gem den valgte afspilningsliste." + +#: src/skins/ui_manager.c:231 +msgid "Refresh List" +msgstr "Opdater liste" + +#: src/skins/ui_manager.c:232 +msgid "Refreshes metadata associated with a playlist entry." +msgstr "Opdaterer metadata forbundet med et afspilningslistepunkt." + +#: src/skins/ui_manager.c:235 +msgid "Playlist Manager" +msgstr "Håndtering af afspilningslister" + +#: src/skins/ui_manager.c:238 +msgid "Queue Manager" +msgstr "Køhåndtering" + +#: src/skins/ui_manager.c:243 +msgid "View" +msgstr "Vis" + +#: src/skins/ui_manager.c:244 +msgid "Interface" +msgstr "Grænseflade" + +#: src/skins/ui_manager.c:245 +msgid "Interface Preferences ..." +msgstr "Grænsefladepræferencer ..." + +#: src/skins/ui_manager.c:250 +msgid "Add Internet Address..." +msgstr "Tilføj internetadresse ..." + +#: src/skins/ui_manager.c:251 +msgid "Adds a remote track to the playlist." +msgstr "Tilføjer et eksternt nummer til afspilningslisten." + +#: src/skins/ui_manager.c:254 +msgid "Add Files..." +msgstr "Tilføj filer ..." + +#: src/skins/ui_manager.c:255 +msgid "Adds files to the playlist." +msgstr "Tilføjer filer til afspilningslisten." + +#: src/skins/ui_manager.c:260 +msgid "Search and Select" +msgstr "Søg og vælg" + +#: src/skins/ui_manager.c:261 +msgid "" +"Searches the playlist and selects playlist entries based on specific " +"criteria." +msgstr "" +"Søger i afspilningslisten og vælger afspilningspunkter baseret på specifikke " +"kriterier." + +#: src/skins/ui_manager.c:264 +msgid "Invert Selection" +msgstr "Vend markering om" + +#: src/skins/ui_manager.c:265 +msgid "Inverts the selected and unselected entries." +msgstr "Vend de valgte og uvalgte punkter om." + +#: src/skins/ui_manager.c:268 +msgid "Select All" +msgstr "Vælg alle" + +#: src/skins/ui_manager.c:269 +msgid "Selects all of the playlist entries." +msgstr "Vælg alle punkter i afspilningslisten." + +#: src/skins/ui_manager.c:272 +msgid "Select None" +msgstr "Vælg ingen" + +#: src/skins/ui_manager.c:273 +msgid "Deselects all of the playlist entries." +msgstr "Fravælger alle punkter i afspilningslisten." + +#: src/skins/ui_manager.c:278 +msgid "Remove All" +msgstr "Fjern alle" + +#: src/skins/ui_manager.c:279 +msgid "Removes all entries from the playlist." +msgstr "Fjern alle punkter fra afspilningslisten." + +#: src/skins/ui_manager.c:282 +msgid "Clear Queue" +msgstr "Ryd kø" + +#: src/skins/ui_manager.c:283 +msgid "Clears the queue associated with this playlist." +msgstr "Ryd køen forbundet med denne afspilningsliste." + +#: src/skins/ui_manager.c:286 +msgid "Remove Unavailable Files" +msgstr "Fjern utilgængelige filer" + +#: src/skins/ui_manager.c:287 +msgid "Removes unavailable files from the playlist." +msgstr "Fjern utilgængelige filer fra afspilningslisten." + +#: src/skins/ui_manager.c:290 +msgid "Remove Duplicates" +msgstr "Fjern duplikater" + +#: src/skins/ui_manager.c:292 src/skins/ui_manager.c:324 +#: src/skins/ui_manager.c:354 +msgid "By Title" +msgstr "Efter titel" + +#: src/skins/ui_manager.c:293 +msgid "Removes duplicate entries from the playlist by title." +msgstr "Fjerner duplikater fra afspilningslisten efter titel." + +#: src/skins/ui_manager.c:296 src/skins/ui_manager.c:336 +#: src/skins/ui_manager.c:366 +msgid "By Filename" +msgstr "Efter filnavn" + +#: src/skins/ui_manager.c:297 +msgid "Removes duplicate entries from the playlist by filename." +msgstr "Fjerner duplikate punkter fra afspilningslisten efter filnavn." + +#: src/skins/ui_manager.c:300 src/skins/ui_manager.c:340 +#: src/skins/ui_manager.c:370 +msgid "By Path + Filename" +msgstr "Efter sti + filnavn" + +#: src/skins/ui_manager.c:301 +msgid "Removes duplicate entries from the playlist by their full path." +msgstr "Fjerner ens punkter fra afspilningslisten efter deres fulde sti." + +#: src/skins/ui_manager.c:304 +msgid "Remove Unselected" +msgstr "Fjern dem som ikke er valgt" + +#: src/skins/ui_manager.c:305 +msgid "Remove unselected entries from the playlist." +msgstr "Fjern dem som ikke er valgt fra afspilningslisten." + +#: src/skins/ui_manager.c:308 +msgid "Remove Selected" +msgstr "Fjern de valgte" + +#: src/skins/ui_manager.c:309 +msgid "Remove selected entries from the playlist." +msgstr "Fjern de valgte punkter fra afspilningslisten." + +#: src/skins/ui_manager.c:314 +msgid "Randomize List" +msgstr "Sæt listen i vilkårlig rækkefølge" + +#: src/skins/ui_manager.c:315 +msgid "Randomizes the playlist." +msgstr "Sæt afspilningslisten i vilkårlig rækkefølge" + +#: src/skins/ui_manager.c:318 +msgid "Reverse List" +msgstr "Vend listen om" + +#: src/skins/ui_manager.c:319 +msgid "Reverses the playlist." +msgstr "Vend afspilningslisten om." + +#: src/skins/ui_manager.c:322 +msgid "Sort List" +msgstr "Sorter listen" + +#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355 +msgid "Sorts the list by title." +msgstr "Sorter listen efter titel." + +#: src/skins/ui_manager.c:328 src/skins/ui_manager.c:358 +msgid "By Album" +msgstr "Efter album" + +#: src/skins/ui_manager.c:329 src/skins/ui_manager.c:359 +msgid "Sorts the list by album." +msgstr "Sorterer listen efter album." + +#: src/skins/ui_manager.c:332 src/skins/ui_manager.c:362 +msgid "By Artist" +msgstr "Efter kunstner" + +#: src/skins/ui_manager.c:333 src/skins/ui_manager.c:363 +msgid "Sorts the list by artist." +msgstr "Sorterer listen efter kunstner." + +#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367 +msgid "Sorts the list by filename." +msgstr "Sorterer listen efter filnavn." + +#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371 +msgid "Sorts the list by full pathname." +msgstr "Sorterer listen efter fuld stinavn." + +#: src/skins/ui_manager.c:344 src/skins/ui_manager.c:374 +msgid "By Date" +msgstr "Efter dato" + +#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375 +msgid "Sorts the list by modification time." +msgstr "Sorterer listen efter ændringstidspunkt." + +#: src/skins/ui_manager.c:348 src/skins/ui_manager.c:378 +msgid "By Track Number" +msgstr "Efter rækkefølge" + +#: src/skins/ui_manager.c:349 src/skins/ui_manager.c:379 +msgid "Sorts the list by track number." +msgstr "Sorterer listen efter rækkefølge" + +#: src/skins/ui_manager.c:352 +msgid "Sort Selected" +msgstr "Sorter valgt" + +#: src/skins/ui_manager.c:388 +msgid "File" +msgstr "Fil" + +#: src/skins/ui_manager.c:391 +msgid "Plugin Services" +msgstr "Udvidelsesmodultjenester" + +#: src/skins/ui_manager.c:393 src/skins/ui_manager.c:396 +msgid "View Track Details" +msgstr "Vis deltaljer for nummeret" + +#: src/skins/ui_manager.c:394 src/skins/ui_manager.c:397 +msgid "View track details" +msgstr "Vis detaljer for nummeret" + +#: src/skins/ui_manager.c:399 src/skins/ui_manager.c:400 +msgid "About Audacious" +msgstr "Om Audacious" + +#: src/skins/ui_manager.c:402 +msgid "Play File" +msgstr "Afspil fil" + +#: src/skins/ui_manager.c:403 +msgid "Load and play a file" +msgstr "Indlæs og afspil en fil" + +#: src/skins/ui_manager.c:405 +msgid "Play Location" +msgstr "Afspil sted" + +#: src/skins/ui_manager.c:406 +msgid "Play media from the selected location" +msgstr "Afspil medie fra valgt sted" + +#: src/skins/ui_manager.c:408 +msgid "Plugin services" +msgstr "Udvidelsesmodultjenester" + +#: src/skins/ui_manager.c:410 +msgid "Preferences" +msgstr "Præferencer" + +#: src/skins/ui_manager.c:411 +msgid "Open preferences window" +msgstr "Åbn vindue for præferencer" + +#: src/skins/ui_manager.c:414 +msgid "Quit Audacious" +msgstr "Afslut Audacious" + +#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417 +msgid "Set A-B" +msgstr "Sæt A-B" + +#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420 +msgid "Clear A-B" +msgstr "Ryd A-B" + +#: src/skins/ui_manager.c:422 src/skins/ui_manager.c:423 +msgid "Jump to File" +msgstr "Hop til fil" + +#: src/skins/ui_manager.c:425 src/skins/ui_manager.c:426 +msgid "Jump to Time" +msgstr "Hop til tid" + +#: src/skins/ui_manager.c:428 +msgid "Queue Toggle" +msgstr "Skift køstatus" + +#: src/skins/ui_manager.c:429 +msgid "Enables/disables the entry in the playlist's queue." +msgstr "Aktiverer/deaktiverer punktet i afspilningslistens kø." + +#: src/skins/ui_manager.c:432 +msgid "Copy" +msgstr "Kopier" + +#: src/skins/ui_manager.c:435 +msgid "Cut" +msgstr "Klip" + +#: src/skins/ui_manager.c:438 +msgid "Paste" +msgstr "Indsæt" + +#: src/skins/ui_manager.c:445 +msgid "Load" +msgstr "Indlæs" + +#: src/skins/ui_manager.c:446 +msgid "Import" +msgstr "Importer" + +#: src/skins/ui_manager.c:447 +msgid "Save" +msgstr "Gem" + +#: src/skins/ui_manager.c:448 +msgid "Delete" +msgstr "Slet" + +#: src/skins/ui_manager.c:450 src/skins/ui_manager.c:471 +#: src/skins/ui_manager.c:486 +msgid "Preset" +msgstr "Forhåndsindstilling" + +#: src/skins/ui_manager.c:453 src/skins/ui_manager.c:474 +#: src/skins/ui_manager.c:489 +msgid "Auto-load preset" +msgstr "Automatisk forhåndsindstilling" + +#: src/skins/ui_manager.c:454 +msgid "Load auto-load preset" +msgstr "Indlæs automatisk forhåndsindstilling" + +#: src/skins/ui_manager.c:457 +msgid "Load default preset into equalizer" +msgstr "Indlæs forhåndsindstilling i equalizer" + +#: src/skins/ui_manager.c:459 +msgid "Zero" +msgstr "Nul" + +#: src/skins/ui_manager.c:460 +msgid "Set equalizer preset levels to zero" +msgstr "Sæt equalizerens forhåndsindstillingsniveauer til nul" + +#: src/skins/ui_manager.c:462 +msgid "From file" +msgstr "Fra fil" + +#: src/skins/ui_manager.c:463 +msgid "Load preset from file" +msgstr "Indlæs forhåndsindstilling fra fil" + +#: src/skins/ui_manager.c:465 +msgid "From WinAMP EQF file" +msgstr "Fra WinAMP EQF-fil" + +#: src/skins/ui_manager.c:466 +msgid "Load preset from WinAMP EQF file" +msgstr "Indlæs forhåndsindstilling fra WinAMP EQF-fil" + +#: src/skins/ui_manager.c:468 +msgid "WinAMP Presets" +msgstr "WinAMP-forhåndsindstillinger" + +#: src/skins/ui_manager.c:469 +msgid "Import WinAMP presets" +msgstr "Importer WinAMP-forhåndsindstillinger" + +#: src/skins/ui_manager.c:475 +msgid "Save auto-load preset" +msgstr "Gem automatisk forhåndsindstilling" + +#: src/skins/ui_manager.c:478 +msgid "Save default preset" +msgstr "Gem standardforhåndsindstilling" + +#: src/skins/ui_manager.c:480 +msgid "To file" +msgstr "Til fil" + +#: src/skins/ui_manager.c:481 +msgid "Save preset to file" +msgstr "Gem forhåndsindstilling til fil" + +#: src/skins/ui_manager.c:483 +msgid "To WinAMP EQF file" +msgstr "Til WinAMP EQF-fil" + +#: src/skins/ui_manager.c:484 +msgid "Save preset to WinAMP EQF file" +msgstr "Gem forhåndsindstilling til WinAMP EQF-fil" + +#: src/skins/ui_manager.c:490 +msgid "Delete auto-load preset" +msgstr "Slet automatisk forhåndsindstilling" + +#: src/skins/ui_playlist.c:244 +msgid "Search entries in active playlist" +msgstr "Søg i punkter i aktiv afspilningsliste" + +#: src/skins/ui_playlist.c:251 +msgid "" +"Select entries in playlist by filling one or more fields. Fields use regular " +"expressions syntax, case-insensitive. If you don't know how regular " +"expressions work, simply insert a literal portion of what you're searching " +"for." +msgstr "" +"Vælg punkter i afspilningslisten ved at udfylde et eller flere felter. " +"Felter bruger regulære udtryk, tager ikke hensyn til store/små bogstaver. " +"Hvis du ikke ved hvordan regulære udtryk fungerer, så indsæt bare en lille " +"del af hvad du søger efter." + +#: src/skins/ui_playlist.c:259 +msgid "Title: " +msgstr "Titel:" + +#: src/skins/ui_playlist.c:267 +msgid "Album: " +msgstr "Album:" + +#: src/skins/ui_playlist.c:275 +msgid "Artist: " +msgstr "Kunstner:" + +#: src/skins/ui_playlist.c:283 +msgid "Filename: " +msgstr "Filnavn:" + +#: src/skins/ui_playlist.c:292 +msgid "Clear previous selection before searching" +msgstr "Ryd forrige valg før søgning" + +#: src/skins/ui_playlist.c:295 +msgid "Automatically toggle queue for matching entries" +msgstr "Skift automatisk kø for matchende punkter" + +#: src/skins/ui_playlist.c:298 +msgid "Create a new playlist with matching entries" +msgstr "Opret en ny afspilningsliste med matchende punkter" + +#: src/skins/ui_playlist.c:738 +msgid "Audacious Playlist Editor" +msgstr "Redigeringsprogram for Audacious' afspilningslister" + +#: src/skins/ui_playlist.c:772 +#, c-format +msgid "%s (%d of %d)" +msgstr "%s (%d of %d)" + +#: src/skins/ui_skinselector.c:162 +msgid "Archived Winamp 2.x skin" +msgstr "Arkiveret Winamp 2.x-tema" + +#: src/skins/ui_skinselector.c:167 +msgid "Unarchived Winamp 2.x skin" +msgstr "Winamp 2.x-tema der ikke er i arkiv" + +#: src/skins/util.c:773 +#, c-format +msgid "Could not create directory (%s): %s\n" +msgstr "Kunne ikke oprette mappe (%s): %s\n" + +#: src/sndfile/plugin.c:416 +msgid "" +"Based on the xmms_sndfile plugin:\n" +"Copyright (C) 2000, 2002 Erik de Castro Lopo\n" +"\n" +"Adapted for Audacious by Tony Vroon <chainsaw@gentoo.org>\n" +"\n" +"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.\n" +"\n" +"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.\n" +"\n" +"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." +msgstr "" + +#: src/sndfile/plugin.c:435 +msgid "Sndfile Plugin" +msgstr "Sndfile-udvidelsesmodul" + +#: src/sndio/sndio.c:172 +msgid "About Sndio Output Plugin" +msgstr "Om Sndio Output-udvidelsesmodulet" + +#: src/sndio/sndio.c:173 +msgid "" +"Sndio Output Plugin\n" +"\n" +"Written by Thomas Pfaff <tpfaff@tp76.info>\n" +msgstr "" +"Sndio Output-udvidelsesmodulet\n" +"\n" +"Skrevet af Thomas Pfaff <tpfaff@tp76.info>\n" + +#: src/sndio/sndio.c:248 +msgid "Unsupported format" +msgstr "Format er ikke understøttet" + +#: src/sndio/sndio.c:249 +msgid "" +"A format not supported by the audio device was requested.\n" +"\n" +"Please try again with the sndiod(1) server running." +msgstr "" +"Der blev forespurgt om et format der ikke understøttes af lydenheden.\n" +"\n" +"Prøv igen med sndiod(1)-serveren kørende." + +#: src/sndio/sndio.c:384 +msgid "sndio device" +msgstr "sndio-enhed" + +#: src/sndio/sndio.c:400 +msgid "(empty means default)" +msgstr "(tom er standard)" + +#: src/sndio/sndio.c:416 +msgid "OK" +msgstr "O.k." + +#: src/sndio/sndio.c:424 +msgid "Cancel" +msgstr "Afbryd" + +#: src/song_change/song_change.c:54 +msgid "Song Change" +msgstr "Sangændring" + +#: src/song_change/song_change.c:436 +msgid "Command to run when Audacious starts a new song." +msgstr "Kommando der skal køres når Audacious starter en ny sang." + +#: src/song_change/song_change.c:438 src/song_change/song_change.c:444 +#: src/song_change/song_change.c:450 src/song_change/song_change.c:456 +msgid "Command:" +msgstr "Kommando:" + +#: src/song_change/song_change.c:442 +msgid "Command to run toward the end of a song." +msgstr "Kommando der skal køres mod slutningen af en sang." + +#: src/song_change/song_change.c:448 +msgid "Command to run when Audacious reaches the end of the playlist." +msgstr "" +"Kommandoen der skal køres når Audacious når slutningen af afspilningslisten." + +#: src/song_change/song_change.c:454 +msgid "" +"Command to run when title changes for a song (i.e. network streams titles)." +msgstr "" +"Kommando der skal køres når titlen ændres sig for en sang (dvs. titler for " +"netværksudsendelser)." + +#: src/song_change/song_change.c:460 +msgid "" +"You can use the following format strings which\n" +"will be substituted before calling the command\n" +"(not all are useful for the end-of-playlist command):\n" +"\n" +"%F: Frequency (in hertz)\n" +"%c: Number of channels\n" +"%f: File name (full path)\n" +"%l: Length (in milliseconds)\n" +"%n or %s: Song name\n" +"%r: Rate (in bits per second)\n" +"%t: Playlist position (%02d)\n" +"%p: Currently playing (1 or 0)\n" +"%a: Artist\n" +"%b: Album\n" +"%T: Track title" +msgstr "" +"Du kan bruge de følgende formatsternge som\n" +"vil blive erstattet før kommandoen kaldes\n" +"(ikke alle er nyttige til kommandoen for slut på afspilningslisten)\n" +"\n" +"%F: Frekvens (i hertz)\n" +"%c: Antallet af kanaler\n" +"%f: Filnavn (fuld sti)\n" +"%l: Længde (i milllisekunder)\n" +"%n eller %s: Sangnavn\n" +"%r: Hastighed (i bit per sekund)\n" +"%t: Afspilningslsitens position (%02d)\n" +"%p: Afspiller i øjeblikket (1 eller 0)\n" +"%a: Kunstner\n" +"%b: Album\n" +"%T: Nummerets titel" + +#: src/song_change/song_change.c:487 +msgid "" +"<span size='small'>Parameters passed to the shell should be encapsulated in " +"quotes. Doing otherwise is a security risk.</span>" +msgstr "" +"<span size='small'>Parametre sendt til skallen skal omsluttes af " +"citationstegn. Alt andet er en sikkerhedsrisiko.</span>" + +#: src/song_change/song_change.c:498 +msgid "Commands" +msgstr "Kommandoer" + +#: src/sox-resampler/sox-resampler.c:135 +msgid "" +"SoX Resampler Plugin for Audacious\n" +"Copyright 2013 Michał Lipski\n" +"\n" +"Based on Sample Rate Converter Plugin:\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:141 +msgid "Quick" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:142 +msgid "Low" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:144 +msgid "High" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:145 +msgid "Very High" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:148 +msgid "Quality:" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:162 +msgid "SoX Resampler" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:225 +msgid "<b>Speed and Pitch</b>" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:226 +msgid "Speed:" +msgstr "Hastighed:" + +#: src/speed-pitch/speed-pitch.c:229 +msgid "Pitch:" +msgstr "Tonehøjde:" + +#: src/speed-pitch/speed-pitch.c:264 +msgid "Speed and Pitch" +msgstr "Hastighed og tonehøjde" + +#: src/statusicon/statusicon.c:390 +msgid "" +"Status Icon Plugin\n" +"\n" +"Copyright 2005-2007 Giacomo Lozito <james@develia.org>\n" +"Copyright 2010 Michał Lipski <tallica@o2.pl>\n" +"\n" +"This plugin provides a status icon, placed in\n" +"the system tray area of the window manager." +msgstr "" + +#: src/statusicon/statusicon.c:397 +msgid "<b>Mouse Scroll Action</b>" +msgstr "" + +#: src/statusicon/statusicon.c:398 +msgid "Change volume" +msgstr "Ændr lydstyrke" + +#: src/statusicon/statusicon.c:401 +msgid "Change playing song" +msgstr "Ændr sang der afspilles" + +#: src/statusicon/statusicon.c:404 +msgid "<b>Other Settings</b>" +msgstr "<b>Andre indstillinger</b>" + +#: src/statusicon/statusicon.c:405 +msgid "Disable the popup window" +msgstr "Deaktiver pop op-vinduet" + +#: src/statusicon/statusicon.c:407 +msgid "Close to the system tray" +msgstr "" + +#: src/statusicon/statusicon.c:409 +msgid "Advance in playlist when scrolling upward" +msgstr "Gå fremad i afspilningslisten når der rulles opad" + +#: src/statusicon/statusicon.c:418 +msgid "Status Icon" +msgstr "Statusikon" + +#: src/stereo_plugin/stereo.c:17 +msgid "" +"Extra Stereo Plugin\n" +"\n" +"By Johan Levin, 1999" +msgstr "" + +#: src/stereo_plugin/stereo.c:25 +msgid "<b>Extra Stereo</b>" +msgstr "<b>Ekstra stereo</b>" + +#: src/stereo_plugin/stereo.c:36 +msgid "Extra Stereo" +msgstr "Ekstra stereo" + +#: src/tonegen/tonegen.c:84 +#, c-format +msgid "%s %.1f Hz" +msgstr "%s %.1f Hz" + +#: src/tonegen/tonegen.c:84 +msgid "Tone Generator: " +msgstr "Tonegenerator:" + +#: src/tonegen/tonegen.c:197 +msgid "" +"Sine tone generator by Håvard Kvålen <havardk@xmms.org>\n" +"Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n" +"\n" +"To use it, add a URL: tone://frequency1;frequency2;frequency3;...\n" +"e.g. tone://2000;2005 to play a 2000 Hz tone and a 2005 Hz tone" +msgstr "" + +#: src/tonegen/tonegen.c:206 +msgid "Tone Generator" +msgstr "" + +#: src/unix-io/unix-io.c:243 +msgid "" +"File I/O Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." +msgstr "" + +#: src/unix-io/unix-io.c:266 +msgid "File I/O Plugin" +msgstr "File I/O-udvidelsesmodul" + +#: src/voice_removal/voice_removal.c:58 +msgid "Voice Removal" +msgstr "Stemmefjernelse" + +#: src/vorbis/vorbis.c:555 +msgid "" +"Audacious Ogg Vorbis Decoder\n" +"\n" +"Based on the Xiph.org Foundation's Ogg Vorbis Plugin:\n" +"http://www.xiph.org/\n" +"\n" +"Original code by:\n" +"Tony Arcieri <bascule@inferno.tusculum.edu>\n" +"\n" +"Contributions from:\n" +"Chris Montgomery <monty@xiph.org>\n" +"Peter Alm <peter@xmms.org>\n" +"Michael Smith <msmith@labyrinth.edu.au>\n" +"Jack Moffitt <jack@icecast.org>\n" +"Jorn Baayen <jorn@nl.linux.org>\n" +"Håvard Kvålen <havardk@xmms.org>\n" +"Gian-Carlo Pascutto <gcp@sjeng.org>\n" +"Eugene Zagidullin <e.asphyx@gmail.com>" +msgstr "" + +#: src/vorbis/vorbis.c:575 +msgid "Ogg Vorbis Decoder" +msgstr "Ogg Vorbis-afkoder" + +#: src/vtx/vtx.c:242 +msgid "" +"Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n" +"Based on in_vtx.dll by Roman Sherbakov <v_soft@microfor.ru>\n" +"Audacious plugin by Pavel Vymetalek <pvymetalek@seznam.cz>" +msgstr "" + +#: src/vtx/vtx.c:248 +msgid "VTX Decoder" +msgstr "VTX-afkoder" + +#: src/wavpack/wavpack.c:282 +msgid "lossy (hybrid)" +msgstr "kvalitetstab (hybrid)" + +#: src/wavpack/wavpack.c:284 +msgid "lossy" +msgstr "kvalitetstab" + +#: src/wavpack/wavpack.c:334 +msgid "" +"Copyright 2006 William Pitcock <nenolod@nenolod.net>\n" +"\n" +"Some of the plugin code was by Miles Egan." +msgstr "" + +#: src/wavpack/wavpack.c:341 +msgid "WavPack Decoder" +msgstr "WavPack-afkoder" + +#: src/xsf/plugin.c:272 +msgid "2SF Decoder" +msgstr "2SF-afkoder" + +#: src/xspf/xspf.c:440 +msgid "XML Shareable Playlists (XSPF)" +msgstr "XML Shareable-afspilningslister (XSPF)" @@ -10,9 +10,9 @@ # Cooligan <ppt23@lkj.hopto.org>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:42+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: German (http://www.transifex.com/projects/p/audacious/" @@ -40,7 +40,7 @@ msgid "AAC Decoder" msgstr "AAC Dekodierer" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "Sequenziell" @@ -1349,7 +1349,7 @@ msgstr "" msgid "Echo" msgstr "Echo" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1365,7 +1365,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg Plugin" @@ -2597,11 +2597,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "MPG123 Plugin" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 Server" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS Plugin" @@ -2719,7 +2719,7 @@ msgstr "OSS4 Ausgabe" msgid "PLS Playlists" msgstr "PLS Wiedergabelisten" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 Dekodierer" @@ -4,14 +4,15 @@ # # Translators: # noskamaru <jim.thomas.zks@gmail.com>, 2013 -# Γιάννης Ανθυμίδης <yannanth@gmail.com>, 2012 +# noskamaru <jim.thomas.zks@gmail.com>, 2013 +# Γιάννης Ανθυμίδης <yannanth@gmail.com>, 2012-2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-04 12:38+0000\n" -"Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-08-30 00:36+0000\n" +"Last-Translator: Γιάννης Ανθυμίδης <yannanth@gmail.com>\n" "Language-Team: Greek (http://www.transifex.com/projects/p/audacious/language/" "el/)\n" "Language: el\n" @@ -30,14 +31,14 @@ msgstr "στερεοφωνικό" #: src/aac/libmp4.c:439 src/skins/ui_main.c:429 msgid "surround" -msgstr "περιβάλλων" +msgstr "περιφερειακό" #: src/aac/libmp4.c:930 msgid "AAC Decoder" msgstr "Αποκωδικοποιητής AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -121,7 +122,7 @@ msgstr "Αυτή είναι η κλήση αφύπνισης." #: src/alarm/interface.c:99 msgid "Your reminder for today is..." -msgstr "" +msgstr "Η υπενθύμιση σας για σήμερα είναι..." #: src/alarm/interface.c:101 src/alarm/interface.c:415 msgid "Reminder" @@ -166,7 +167,7 @@ msgstr "Χρόνος" #: src/alarm/interface.c:193 msgid "Alarm at (default):" -msgstr "Ξυπνητήρι στις(προεπιλογή):" +msgstr "Κτύπα στις (προεπιλογή):" #: src/alarm/interface.c:216 msgid "h" @@ -186,7 +187,7 @@ msgstr "λεπτά" #: src/alarm/interface.c:255 msgid "Choose the days for the alarm to come on" -msgstr "Διαλέξτε τις ημέρες που θα χτυπήσει το ξυπνιτήρι" +msgstr "Διαλέξτε τις ημέρες που θα χτυπήσει το ξυπνητήρι" #: src/alarm/interface.c:262 msgid "Day" @@ -260,23 +261,23 @@ msgstr "Βοήθεια" #: src/albumart/albumart.c:143 msgid "Album Art" -msgstr "" +msgstr "Εξώφυλλο Άλμπουμ" #: src/alsa/config.c:212 msgid "Default PCM device" -msgstr "Αυτόματη PCM συσκευή" +msgstr "Προεπιλεγμένη συσκευή PCM " #: src/alsa/config.c:241 msgid "Default mixer device" -msgstr "Αυτόματη συσκευή μείκτη" +msgstr "Προεπιλεγμένη συσκευή μείκτη" #: src/alsa/config.c:428 msgid "ALSA Output Plugin Preferences" -msgstr "ALSA 'Εξοδος Πρόσθετο Προτιμήσεις" +msgstr "Προτιμήσεις Εξόδου Πρόσθετου ALSA" #: src/alsa/config.c:434 msgid "PCM device:" -msgstr "PCM συσκευή:" +msgstr "Συσκευή PCM:" #: src/alsa/config.c:436 msgid "Mixer device:" @@ -301,7 +302,7 @@ msgstr "" #: src/alsa/plugin.c:32 msgid "ALSA Output" -msgstr "ALSA Έξοδος" +msgstr "Έξοδος ALSA" #: src/amidi-plug/amidi-plug.c:248 msgid "" @@ -317,7 +318,7 @@ msgstr "" #: src/amidi-plug/backend-alsa/b-alsa.c:38 msgid "ALSA Backend " -msgstr "ALSA Παρασκήνιο" +msgstr "Σύστημα υποστήριξης ALSA " #: src/amidi-plug/backend-alsa/b-alsa.c:41 msgid "" @@ -359,7 +360,7 @@ msgstr "Όνομα θύρας" #: src/amidi-plug/i_configure-alsa.c:371 msgid "ALSA output ports" -msgstr "ALSA θύρες εξόδου" +msgstr "Θύρες εξόδου ALSA" #: src/amidi-plug/i_configure-alsa.c:432 msgid "Soundcard: " @@ -367,25 +368,27 @@ msgstr "Κάρτα ήχου: " #: src/amidi-plug/i_configure-alsa.c:434 msgid "Mixer control: " -msgstr "Έλεγχος Μείκτη:" +msgstr "Έλεγχος μείκτη:" #: src/amidi-plug/i_configure-alsa.c:444 msgid "Mixer settings" -msgstr "Ρυθμίσεις Μείκτη" +msgstr "Ρυθμίσεις μείκτη" #: src/amidi-plug/i_configure-alsa.c:472 msgid "" "<span size=\"smaller\">ALSA\n" "backend</span>" msgstr "" +"<span size=\"smaller\">Σύστημα υποστήριξης\n" +"ALSA</span>" #: src/amidi-plug/i_configure-ap.c:63 msgid "AMIDI-Plug - backend information" -msgstr "" +msgstr "AMIDI-Plug - πληροφορίες συστήματος υποστήριξης" #: src/amidi-plug/i_configure-ap.c:221 msgid "Backend selection" -msgstr "" +msgstr "Επιλογή συστήματος υποστήριξης" #: src/amidi-plug/i_configure-ap.c:261 msgid "Playback settings" @@ -393,7 +396,7 @@ msgstr "Ρυθμίσεις αναπαραγωγής" #: src/amidi-plug/i_configure-ap.c:266 msgid "Transpose: " -msgstr "" +msgstr "Μεταφορά: " #: src/amidi-plug/i_configure-ap.c:275 msgid "Drum shift: " @@ -420,10 +423,12 @@ msgid "" "<span size=\"smaller\">AMIDI\n" "Plug</span>" msgstr "" +"<span size=\"smaller\">AMIDI\n" +"Plug</span>" #: src/amidi-plug/i_configure.c:59 msgid "AMIDI-Plug - select file" -msgstr "" +msgstr "AMIDI-Plug - επιλέξτε αρχείο" #: src/amidi-plug/i_configure.c:104 msgid "AMIDI-Plug Settings" @@ -431,11 +436,11 @@ msgstr "AMIDI-Plug Ρυθμίσεις" #: src/amidi-plug/i_configure-fluidsynth.c:63 msgid "AMIDI-Plug - select SoundFont file" -msgstr "" +msgstr "AMIDI-Plug - επιλέξτε αρχείο SoundFont" #: src/amidi-plug/i_configure-fluidsynth.c:321 msgid "SoundFont settings" -msgstr "" +msgstr "Ρυθμίσεις SoundFont" #: src/amidi-plug/i_configure-fluidsynth.c:359 msgid "Filename" @@ -443,19 +448,19 @@ msgstr "Όνομα αρχείου" #: src/amidi-plug/i_configure-fluidsynth.c:363 msgid "Size (bytes)" -msgstr "Μέγεθος (bytes)" +msgstr "Μέγεθος (byte)" #: src/amidi-plug/i_configure-fluidsynth.c:412 msgid "Load SF on player start" -msgstr "" +msgstr "Φόρτωση SF κατά την έναρξη του αναπαραγωγέα" #: src/amidi-plug/i_configure-fluidsynth.c:416 msgid "Load SF on first MIDI file play" -msgstr "" +msgstr "Φόρτωση SF κατά την πρώτη αναπαραγωγή αρχείου MIDI" #: src/amidi-plug/i_configure-fluidsynth.c:431 msgid "Synthesizer settings" -msgstr "ρυθμίσεις Synthesizer" +msgstr "Ρυθμίσεις synthesizer" #: src/amidi-plug/i_configure-fluidsynth.c:440 msgid "gain" @@ -466,7 +471,7 @@ msgstr "αποκτά" #: src/amidi-plug/i_configure-fluidsynth.c:506 #: src/amidi-plug/i_configure-fluidsynth.c:540 msgid "use default" -msgstr "χρήση προεπιλεγμένου" +msgstr "χρήση προεπιλογής" #: src/amidi-plug/i_configure-fluidsynth.c:449 #: src/amidi-plug/i_configure-fluidsynth.c:479 @@ -479,7 +484,7 @@ msgstr "πολυφωνία" #: src/amidi-plug/i_configure-fluidsynth.c:500 msgid "reverb" -msgstr "" +msgstr "αντήχηση" #: src/amidi-plug/i_configure-fluidsynth.c:509 #: src/amidi-plug/i_configure-fluidsynth.c:543 @@ -513,7 +518,7 @@ msgstr "96000 Hz " #: src/amidi-plug/i_configure-fluidsynth.c:583 msgid "custom " -msgstr "προσαρμοσμένο" +msgstr "προσαρμοσμένο " #: src/amidi-plug/i_configure-fluidsynth.c:592 msgid "Hz " @@ -524,6 +529,8 @@ msgid "" "<span size=\"smaller\">FluidSynth\n" "backend</span>" msgstr "" +"<span size=\"smaller\">Σύστημα υποστήριξης\n" +"FluidSynth</span>" #: src/amidi-plug/i_fileinfo.c:175 msgid "Name:" @@ -543,7 +550,7 @@ msgstr "Μήκος (ms):" #: src/amidi-plug/i_fileinfo.c:220 msgid "No. of Tracks:" -msgstr "" +msgstr "Αρ. Κομματιών" #: src/amidi-plug/i_fileinfo.c:226 msgid "variable" @@ -583,7 +590,7 @@ msgstr "Σχετικά με το AMIDI-Plug" #: src/amidi-plug/i_utils.c:53 msgid "AMIDI-Plug" -msgstr "" +msgstr "AMIDI-Plug" #: src/amidi-plug/i_utils.c:54 msgid "" @@ -669,7 +676,7 @@ msgstr "" #: src/aosd/aosd_ui.c:168 msgid "Placement" -msgstr "" +msgstr "Τοποθέτηση" #: src/aosd/aosd_ui.c:200 msgid "Relative X offset:" @@ -685,7 +692,7 @@ msgstr "" #: src/aosd/aosd_ui.c:225 msgid "Multi-Monitor options" -msgstr "" +msgstr "Επιλογές για πολλαπλές οθόνες" #: src/aosd/aosd_ui.c:229 msgid "Display OSD using:" @@ -693,12 +700,12 @@ msgstr "Προβολή OSD με χρήση:" #: src/aosd/aosd_ui.c:231 msgid "all monitors" -msgstr "" +msgstr "όλες οι οθόνες" #: src/aosd/aosd_ui.c:234 #, c-format msgid "monitor %i" -msgstr "" +msgstr "οθόνη %i" #: src/aosd/aosd_ui.c:287 msgid "Timing (ms)" @@ -876,7 +883,7 @@ msgstr "" #: src/bs2b/plugin.c:175 msgid "Presets:" -msgstr "" +msgstr "Προεπιλογές:" #: src/bs2b/plugin.c:197 msgid "Bauer Stereophonic-to-Binaural (BS2B)" @@ -884,7 +891,7 @@ msgstr "" #: src/cairo-spectrum/cairo-spectrum.c:297 msgid "Spectrum Analyzer" -msgstr "" +msgstr "Αναλυτής Φάσματος" #: src/cdaudio-ng/cdaudio-ng.c:103 msgid "" @@ -897,6 +904,15 @@ msgid "" "\n" "This was a Google Summer of Code 2007 project." msgstr "" +"Copyright (C) 2007-2012 Calin Crisan <ccrisan@gmail.com> και άλλοι.\n" +"\n" +"Πολύ ευχαριστώ τους δημιουργούς του libcdio <http://www.gnu.org/software/" +"libcdio/>\n" +"και του libcddb <http://libcddb.sourceforge.net/>.\n" +"\n" +"Επίσης ευχαριστώ τον Tony Vroon για την καθοδήγησή του.\n" +"\n" +"Αυτό το πρόσθετο δημιουργήθηκε κατά το Google Summer of Code 2007." #: src/cdaudio-ng/cdaudio-ng.c:121 msgid "<b>Device</b>" @@ -912,7 +928,7 @@ msgstr "Παράκαμψη συσκευής:" #: src/cdaudio-ng/cdaudio-ng.c:127 msgid "<b>Metadata</b>" -msgstr "" +msgstr "<b>Μεταδεδομένα</b>" #: src/cdaudio-ng/cdaudio-ng.c:128 msgid "Use CD-Text" @@ -940,21 +956,21 @@ msgstr "Θύρα:" #: src/cdaudio-ng/cdaudio-ng.c:148 msgid "Audio CD Plugin" -msgstr "" +msgstr "Πρόσθετο Μουσικών CD" #: src/cdaudio-ng/cdaudio-ng.c:249 msgid "Failed to initialize cdio subsystem." -msgstr "" +msgstr "Απέτυχε η αρχικοποίηση του υποσυστήματος cdio." #: src/cdaudio-ng/cdaudio-ng.c:306 #, c-format msgid "Invalid URI %s." -msgstr "" +msgstr "Μη έγκυρο URI %s." #: src/cdaudio-ng/cdaudio-ng.c:308 #, c-format msgid "Track %d not found." -msgstr "" +msgstr "Το κομμάτι %d δεν βρέθηκε." #: src/cdaudio-ng/cdaudio-ng.c:310 #, c-format @@ -1090,11 +1106,11 @@ msgstr "Ανασχεδίαση" #: src/console/configure.c:212 msgid "Enable audio resampling" -msgstr "" +msgstr "Ενεργοποίηση ανασχεδίασης ήχου" #: src/console/configure.c:227 msgid "Resampling rate:" -msgstr "Ρυθμός ανασχεδίασης" +msgstr "Ρυθμός ανασχεδίασης:" #: src/console/configure.c:231 src/modplug/plugin_main.c:98 #: src/resample/resample.c:178 src/resample/resample.c:184 @@ -1107,7 +1123,7 @@ msgstr "Hz" #: src/console/configure.c:242 msgid "SPC" -msgstr "" +msgstr "SPC" #: src/console/configure.c:243 msgid "Ignore length from SPC tags" @@ -1115,7 +1131,7 @@ msgstr "" #: src/console/configure.c:244 msgid "Increase reverb" -msgstr "" +msgstr "Αύξηση αντίχησης" #: src/console/configure.c:269 msgid "" @@ -1132,6 +1148,14 @@ msgid "" "William Pitcock <nenolod@dereferenced.org>\n" "Shay Green <gblargg@gmail.com>" msgstr "" +"Η μηχανή αποκωδικοποίησης μουσικής κονσολών βασίστηκε στο Game_Music_Emu " +"0.5.2\n" +"Υποστηριζόμενοι τύποι αρχείου: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, " +"VGM, VGZ\n" +"\n" +"Πρόσθετο Audacious από τους:\n" +"William Pitcock <nenolod@dereferenced.org>\n" +"Shay Green <gblargg@gmail.com>" #: src/crossfade/crossfade.c:81 msgid "" @@ -1209,12 +1233,16 @@ msgid "" "\n" "Surround echo by Carl van Schaik, 1999" msgstr "" +"Πρόσθετο Ηχού\n" +"Του Johan Levin, 1999\n" +"\n" +"Περιφερειακή ηχώ από τον Carl van Schaik, 1999" #: src/echo_plugin/echo.c:120 msgid "Echo" msgstr "Ηχώ" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1224,7 +1252,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Πρόσθετο FFmpeg" @@ -1334,7 +1362,7 @@ msgstr "(Hz)" #: src/filewriter/mp3.c:772 msgid "Bitrate / Compression ratio:" -msgstr "" +msgstr "Αναλογία ρυθμού μετάδοσης / συμπίεσης:" #: src/filewriter/mp3.c:796 msgid "Bitrate (kbps):" @@ -1342,11 +1370,11 @@ msgstr "Ρυθμός μετάδοσης δεδομένων (kb/s):" #: src/filewriter/mp3.c:829 msgid "Compression ratio:" -msgstr "" +msgstr "Λόγος συμπίεσης:" #: src/filewriter/mp3.c:853 msgid "Audio Mode:" -msgstr "" +msgstr "Λειτουργία Ήχου:" #: src/filewriter/mp3.c:878 msgid "Misc:" @@ -1354,7 +1382,7 @@ msgstr "Διάφορα:" #: src/filewriter/mp3.c:889 msgid "Enforce strict ISO complience" -msgstr "" +msgstr "Εξαναγκασμός αυστηρής συμμόρφωσης με ISO" #: src/filewriter/mp3.c:900 msgid "Error protection" @@ -1378,15 +1406,15 @@ msgstr "Επιλογές VBR:" #: src/filewriter/mp3.c:980 msgid "Minimum bitrate (kbps):" -msgstr "Ελάχιστος ρυθμός bit (kbps):" +msgstr "Ελάχιστος ρυθμός μετάδοσης (kbps):" #: src/filewriter/mp3.c:1007 msgid "Maximum bitrate (kbps):" -msgstr "Μέγιστος ρυθμός bit (kbps):" +msgstr "Μέγιστος ρυθμός μετάδοσης (kbps):" #: src/filewriter/mp3.c:1030 msgid "Strictly enforce minimum bitrate" -msgstr "" +msgstr "Αυστηρά εφάρμοσε ελάχιστο ρυθμό μετάδοσης" #: src/filewriter/mp3.c:1042 msgid "ABR Options:" @@ -1394,7 +1422,7 @@ msgstr "Επιλογές ABR:" #: src/filewriter/mp3.c:1052 msgid "Average bitrate (kbps):" -msgstr "Μέσος ρυθμός bit (kbps):" +msgstr "Μέσος ρυθμός μετάδοσης (kbps):" #: src/filewriter/mp3.c:1080 msgid "VBR quality level:" @@ -1430,11 +1458,11 @@ msgstr "" #: src/filewriter/mp3.c:1177 msgid "Only add v1 tag" -msgstr "" +msgstr "Πρόσθεσε μόνο ετικέτα v1" #: src/filewriter/mp3.c:1184 msgid "Only add v2 tag" -msgstr "" +msgstr "Πρόσθεσε μόνο ετικέτα v2" #: src/filewriter/mp3.c:1205 msgid "Tags" @@ -1552,7 +1580,7 @@ msgstr "Προσαρμοσμένος τίτλος" #: src/gtkui/columns.c:35 msgid "Bitrate" -msgstr "Ρυθμός διαμεταγωγής (bitrate)" +msgstr "Ρυθμός μετάδοσης (bitrate)" #: src/gtkui/columns.c:277 msgid "Choose Columns" @@ -1949,11 +1977,11 @@ msgstr "" #: src/hotkey/gui.c:75 msgid "Forward 5 seconds" -msgstr "" +msgstr "Μπροστά 5 δευτερόλεπτα" #: src/hotkey/gui.c:76 msgid "Rewind 5 seconds" -msgstr "" +msgstr "Πίσω 5 δευτερόλεπτα" #: src/hotkey/gui.c:77 msgid "Mute" @@ -1961,15 +1989,15 @@ msgstr "Σίγαση" #: src/hotkey/gui.c:78 msgid "Volume up" -msgstr "" +msgstr "Αύξηση έντασης" #: src/hotkey/gui.c:79 msgid "Volume down" -msgstr "" +msgstr "Μείωση έντασης" #: src/hotkey/gui.c:80 msgid "Jump to file" -msgstr "" +msgstr "Μεταπήδηση στο αρχείο" #: src/hotkey/gui.c:81 msgid "Toggle player window(s)" @@ -2262,15 +2290,15 @@ msgstr "" #: src/modplug/plugin_main.c:58 msgid "8-bit" -msgstr "" +msgstr "8-bit" #: src/modplug/plugin_main.c:60 msgid "16-bit" -msgstr "" +msgstr "16-bit" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" -msgstr "" +msgstr "<b>Κανάλια</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" @@ -2298,24 +2326,24 @@ msgstr "" #: src/modplug/plugin_main.c:77 msgid "22 kHz" -msgstr "" +msgstr "22 kHz" #: src/modplug/plugin_main.c:79 msgid "44 kHz" -msgstr "" +msgstr "44 kHz" #: src/modplug/plugin_main.c:81 msgid "48 kHz" -msgstr "" +msgstr "48 kHz" #: src/modplug/plugin_main.c:83 msgid "96 kHz" -msgstr "" +msgstr "96 kHz" #: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 #: src/modplug/plugin_main.c:102 msgid "Level:" -msgstr "" +msgstr "Επίπεδο:" #: src/modplug/plugin_main.c:97 msgid "Cutoff:" @@ -2323,7 +2351,7 @@ msgstr "" #: src/modplug/plugin_main.c:114 msgid "<b>Reverb</b>" -msgstr "" +msgstr "<b>Αντίχηση</b>" #: src/modplug/plugin_main.c:118 msgid "<b>Bass Boost</b>" @@ -2331,7 +2359,7 @@ msgstr "" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" -msgstr "" +msgstr "<b>Περιφερειακό</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" @@ -2339,7 +2367,7 @@ msgstr "" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" -msgstr "" +msgstr "<b>Διάφορα</b>" #: src/modplug/plugin_main.c:134 msgid "Oversample" @@ -2347,19 +2375,19 @@ msgstr "" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "" +msgstr "Μείωση θορύβου" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" -msgstr "" +msgstr "Αναπαραγωγή MOD του Amiga" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" -msgstr "" +msgstr "<b>Επανάληψη</b>" #: src/modplug/plugin_main.c:141 msgid "Repeat count:" -msgstr "" +msgstr "Μέτρηση επαναλήψεων:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." @@ -2371,17 +2399,17 @@ msgstr "" #: src/mpg123/mpg123.c:211 msgid "Surround" -msgstr "Περιβάλλων (Surround)" +msgstr "Περιφερειακό" #: src/mpg123/mpg123.c:569 msgid "MPG123 Plugin" msgstr "Πρόσθετο MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Εξυπηρετητής MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Πρόσθετο Neon HTTP/HTTPS" @@ -2427,7 +2455,7 @@ msgstr "" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "Εμφάνιση" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2478,7 +2506,7 @@ msgstr "Έξοδος OSS4" msgid "PLS Playlists" msgstr "Λίστες Αναπαραγωγής PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Αποκωδικοποιητής OpenPSF PSF1/PSF2" @@ -2591,7 +2619,7 @@ msgstr "" #: src/scrobbler2/config_window.c:52 msgid "Permission Denied" -msgstr "" +msgstr "Άρνηση Πρόσβασης" #: src/scrobbler2/config_window.c:54 msgid "Access the following link to allow Audacious to scrobble your plays:" @@ -2617,7 +2645,7 @@ msgstr "" #: src/scrobbler2/config_window.c:107 msgid "Checking..." -msgstr "" +msgstr "Γίνεται έλεγχος..." #: src/scrobbler2/config_window.c:173 msgid "C_heck Permission" @@ -2651,7 +2679,7 @@ msgstr "" #: src/scrobbler2/scrobbler.c:317 msgid "Scrobbler 2.0" -msgstr "" +msgstr "Scrobbler 2.0" #: src/scrobbler2/scrobbler_communication.c:690 msgid "" @@ -2664,6 +2692,8 @@ msgid "" "SDL Output Plugin for Audacious\n" "Copyright 2010 John Lindgren" msgstr "" +"Πρόσθετο Εξόδου SDL για το Audacious\n" +"Copyright 2010 John Lindgren" #: src/sdlout/plugin.c:31 msgid "SDL Output" @@ -2687,6 +2717,8 @@ msgid "" "%s\n" " on %s by %s" msgstr "" +"%s\n" +" στο %s του %s" #: src/search-tool/search-tool.c:638 #, c-format @@ -3045,15 +3077,15 @@ msgstr "" #: src/skins/ui_manager.c:123 msgid "Vertical Lines" -msgstr "" +msgstr "Κατακόρυφες Γραμμές" #: src/skins/ui_manager.c:127 msgid "Lines" -msgstr "" +msgstr "Γραμμές" #: src/skins/ui_manager.c:128 msgid "Bars" -msgstr "" +msgstr "Μπάρες" #: src/skins/ui_manager.c:132 msgid "Dot Scope" @@ -3885,7 +3917,7 @@ msgstr "%s %.1f Hz" #: src/tonegen/tonegen.c:84 msgid "Tone Generator: " -msgstr "" +msgstr "Γεννήτρια Τόνων: " #: src/tonegen/tonegen.c:197 msgid "" @@ -3898,7 +3930,7 @@ msgstr "" #: src/tonegen/tonegen.c:206 msgid "Tone Generator" -msgstr "" +msgstr "Γεννήτρια Τόνων" #: src/unix-io/unix-io.c:243 msgid "" @@ -3907,6 +3939,10 @@ msgid "" "\n" "THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." msgstr "" +"Πρόσθετο Ε/Ε Αρχείων για το Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"ΑΥΤΟ ΤΟ ΠΡΟΣΘΕΤΟ ΕΙΝΑΙ ΑΠΑΙΡΑΙΤΗΤΟ. ΜΗΝ ΤΟ ΑΠΕΝΕΡΓΟΠΟΙΗΣΕΤΕ." #: src/unix-io/unix-io.c:266 msgid "File I/O Plugin" @@ -3936,6 +3972,22 @@ msgid "" "Gian-Carlo Pascutto <gcp@sjeng.org>\n" "Eugene Zagidullin <e.asphyx@gmail.com>" msgstr "" +"Αποκωδικοποιητής Ogg Vorbis\n" +"\n" +"Βασισμένο στο Πρόσθετο Ogg Vorbis του Ιδρύματος Xiph.org\n" +"\n" +"Πρωτότυπος κώδικας του:\n" +"Tony Arcieri <bascule@inferno.tusculum.edu>\n" +"\n" +"Συνεισφορές από τους:\n" +"Chris Montgomery <monty@xiph.org>\n" +"Peter Alm <peter@xmms.org>\n" +"Michael Smith <msmith@labyrinth.edu.au>\n" +"Jack Moffitt <jack@icecast.org>\n" +"Jorn Baayen <jorn@nl.linux.org>\n" +"Håvard Kvålen <havardk@xmms.org>\n" +"Gian-Carlo Pascutto <gcp@sjeng.org>\n" +"Eugene Zagidullin <e.asphyx@gmail.com>" #: src/vorbis/vorbis.c:575 msgid "Ogg Vorbis Decoder" @@ -3947,6 +3999,9 @@ msgid "" "Based on in_vtx.dll by Roman Sherbakov <v_soft@microfor.ru>\n" "Audacious plugin by Pavel Vymetalek <pvymetalek@seznam.cz>" msgstr "" +"Αναπαραγωγέας αρχείων τύπου VTX του Sashnov Alexander <sashnov@ngs.ru>\n" +"Βασισμένο στο in_vtx.dll του Roman Sherbakov <v_soft@microfor.ru>\n" +"Πρόσθετο για το Audacious από τον Pavel Vymetalek <pvymetalek@seznam.cz>" #: src/vtx/vtx.c:248 msgid "VTX Decoder" @@ -3954,11 +4009,11 @@ msgstr "Αποκωδικοποιητής VTX" #: src/wavpack/wavpack.c:282 msgid "lossy (hybrid)" -msgstr "" +msgstr "με απώλεια (υβριδικός)" #: src/wavpack/wavpack.c:284 msgid "lossy" -msgstr "" +msgstr "με απώλεια" #: src/wavpack/wavpack.c:334 msgid "" @@ -3966,6 +4021,9 @@ msgid "" "\n" "Some of the plugin code was by Miles Egan." msgstr "" +"Copyright 2006 William Pitcock <nenolod@nenolod.net>\n" +"\n" +"Μερικός κώδικας εγγράφει από τον Miles Egan." #: src/wavpack/wavpack.c:341 msgid "WavPack Decoder" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..5baead3 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,3980 @@ +# English (United Kingdom) translation for Audacious Plugins +# Copyright (C) Audacious translators +# This file is distributed under the same license as the Audacious Plugins package. +# +# Translators: +# Andi Chandler <andi@gowling.com>, 2013 +msgid "" +msgstr "" +"Project-Id-Version: Audacious Plugins\n" +"Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-05 21:58+0000\n" +"Last-Translator: Andi Chandler <andi@gowling.com>\n" +"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/" +"audacious/language/en_GB/)\n" +"Language: en_GB\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" + +#: src/aac/libmp4.c:439 src/gtkui/ui_statusbar.c:104 src/skins/ui_main.c:430 +msgid "mono" +msgstr "" + +#: src/aac/libmp4.c:439 src/gtkui/ui_statusbar.c:106 src/skins/ui_main.c:429 +msgid "stereo" +msgstr "" + +#: src/aac/libmp4.c:439 src/skins/ui_main.c:429 +msgid "surround" +msgstr "" + +#: src/aac/libmp4.c:930 +msgid "AAC Decoder" +msgstr "" + +#: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +msgid "sequenced" +msgstr "" + +#: src/adplug/plugin.c:14 +msgid "AdPlug (AdLib Player)" +msgstr "" + +#: src/alarm/alarm.c:809 +msgid "" +"A plugin that can be used to start playing at a certain time.\n" +"\n" +"Originally written by Adam Feakin and Daniel Stodden." +msgstr "" + +#: src/alarm/alarm.c:814 src/alarm/interface.c:82 +msgid "Alarm" +msgstr "Alarm" + +#: src/alarm/interface.c:28 +msgid "" +"Time\n" +" Alarm at:\n" +" The time for the alarm to come on.\n" +"\n" +" Quiet after:\n" +" Stop alarm after this amount of time.\n" +" (if the wakeup dialog is not closed)\n" +"\n" +"\n" +"Days\n" +" Day:\n" +" Select the days for the alarm to activate.\n" +"\n" +" Time:\n" +" Choose the time for the alarm on each day,\n" +" or select the toggle button to use the default\n" +" time.\n" +"\n" +"\n" +msgstr "" + +#: src/alarm/interface.c:45 +msgid "" +"Volume\n" +" Fading:\n" +" Fade the volume up to the chosen volume\n" +" for this amount of time.\n" +"\n" +" Start at:\n" +" Start fading from this volume.\n" +"\n" +" Final:\n" +" The volume to stop fading at. If the fading\n" +" time is 0 then set volume to this and start\n" +" playing.\n" +"\n" +"\n" +"Options:\n" +" Additional Command:\n" +" Run this command at the alarm time.\n" +"\n" +msgstr "" + +#: src/alarm/interface.c:62 +msgid "" +" Playlist:\n" +" Load this playlist. If no playlist\n" +" is given, the current one will be used.\n" +" The URL of an mp3/ogg stream\n" +" can also be entered here.\n" +"\n" +" Reminder:\n" +" Display a reminder when the alarm goes off.\n" +" Type the reminder in the box and turn on the\n" +" toggle button if you want it to be shown." +msgstr "" + +#: src/alarm/interface.c:81 +msgid "This is your wakeup call." +msgstr "This is your wakeup call." + +#: src/alarm/interface.c:99 +msgid "Your reminder for today is..." +msgstr "" + +#: src/alarm/interface.c:101 src/alarm/interface.c:415 +msgid "Reminder" +msgstr "Reminder" + +#: src/alarm/interface.c:140 +msgid "Monday" +msgstr "Monday" + +#: src/alarm/interface.c:140 +msgid "Tuesday" +msgstr "Tuesday" + +#: src/alarm/interface.c:140 +msgid "Wednesday" +msgstr "Wednesday" + +#: src/alarm/interface.c:141 +msgid "Thursday" +msgstr "Thursday" + +#: src/alarm/interface.c:141 +msgid "Friday" +msgstr "Friday" + +#: src/alarm/interface.c:141 +msgid "Saturday" +msgstr "Saturday" + +#: src/alarm/interface.c:141 +msgid "Sunday" +msgstr "Sunday" + +#: src/alarm/interface.c:175 +msgid "Alarm Settings" +msgstr "Alarm Settings" + +#: src/alarm/interface.c:186 src/alarm/interface.c:250 +#: src/alarm/interface.c:265 +msgid "Time" +msgstr "Time" + +#: src/alarm/interface.c:193 +msgid "Alarm at (default):" +msgstr "Alarm at (default):" + +#: src/alarm/interface.c:216 +msgid "h" +msgstr "h" + +#: src/alarm/interface.c:220 +msgid "Quiet after:" +msgstr "Quiet after:" + +#: src/alarm/interface.c:234 +msgid "hours" +msgstr "hours" + +#: src/alarm/interface.c:246 +msgid "minutes" +msgstr "minutes" + +#: src/alarm/interface.c:255 +msgid "Choose the days for the alarm to come on" +msgstr "Choose the days for the alarm to come on" + +#: src/alarm/interface.c:262 +msgid "Day" +msgstr "Day" + +#: src/alarm/interface.c:280 src/bs2b/plugin.c:177 +#: src/skins/ui_equalizer.c:1108 src/skins/ui_manager.c:456 +#: src/skins/ui_manager.c:477 +msgid "Default" +msgstr "Default" + +#: src/alarm/interface.c:310 +msgid "Days" +msgstr "Days" + +#: src/alarm/interface.c:319 +msgid "Fading" +msgstr "Fading" + +#: src/alarm/interface.c:327 src/crossfade/crossfade.c:261 src/lirc/lirc.c:397 +msgid "seconds" +msgstr "seconds" + +#: src/alarm/interface.c:334 src/alarm/interface.c:381 +msgid "Volume" +msgstr "Volume" + +#: src/alarm/interface.c:339 +msgid "Start at" +msgstr "Start at" + +#: src/alarm/interface.c:357 +msgid "Final" +msgstr "Final" + +#: src/alarm/interface.c:372 +msgid "Current" +msgstr "Current" + +#: src/alarm/interface.c:387 +msgid "Additional Command" +msgstr "Additional Command" + +#: src/alarm/interface.c:393 +msgid "enable" +msgstr "enable" + +#: src/alarm/interface.c:400 +msgid "Playlist (optional)" +msgstr "Playlist (optional)" + +#: src/alarm/interface.c:407 +msgid "Select a playlist" +msgstr "" + +#: src/alarm/interface.c:419 +msgid "Use reminder" +msgstr "Use reminder" + +#: src/alarm/interface.c:428 +msgid "Options" +msgstr "Options" + +#: src/alarm/interface.c:433 +msgid "What do these options mean?" +msgstr "What do these options mean?" + +#: src/alarm/interface.c:447 src/skins/ui_manager.c:389 +msgid "Help" +msgstr "Help" + +#: src/albumart/albumart.c:143 +msgid "Album Art" +msgstr "" + +#: src/alsa/config.c:212 +msgid "Default PCM device" +msgstr "Default PCM device" + +#: src/alsa/config.c:241 +msgid "Default mixer device" +msgstr "Default mixer device" + +#: src/alsa/config.c:428 +msgid "ALSA Output Plugin Preferences" +msgstr "ALSA Output Plug-in Preferences" + +#: src/alsa/config.c:434 +msgid "PCM device:" +msgstr "PCM device:" + +#: src/alsa/config.c:436 +msgid "Mixer device:" +msgstr "Mixer device:" + +#: src/alsa/config.c:438 +msgid "Mixer element:" +msgstr "Mixer element:" + +#: src/alsa/config.c:441 +msgid "Work around drain hangup" +msgstr "Work around drain hangup" + +#: src/alsa/plugin.c:25 +msgid "" +"ALSA Output Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"My thanks to William Pitcock, author of the ALSA Output Plugin NG, whose " +"code served as a reference when the ALSA manual was not enough." +msgstr "" + +#: src/alsa/plugin.c:32 +msgid "ALSA Output" +msgstr "" + +#: src/amidi-plug/amidi-plug.c:248 +msgid "" +"You have not selected any sequencer ports for MIDI playback. You can do so " +"in the MIDI plugin preferences." +msgstr "" +"You have not selected any sequencer ports for MIDI playback. You can do so " +"in the MIDI plug-in preferences." + +#: src/amidi-plug/amidi-plug.c:708 +msgid "AMIDI-Plug (MIDI Player)" +msgstr "" + +#: src/amidi-plug/backend-alsa/b-alsa.c:38 +msgid "ALSA Backend " +msgstr "ALSA Backend " + +#: src/amidi-plug/backend-alsa/b-alsa.c:41 +msgid "" +"This backend sends MIDI events to a group of user-chosen ALSA sequencer " +"ports. The ALSA sequencer interface is very versatile, it can provide ports " +"for audio cards hardware synthesizers (i.e. emu10k1) but also for software " +"synths, external devices, etc.\n" +"This backend does not produce audio, MIDI events are handled directly from " +"devices/programs behind the ALSA ports; in example, MIDI events sent to the " +"hardware synth will be directly played.\n" +"Backend written by Giacomo Lozito." +msgstr "" +"This backend sends MIDI events to a group of user-chosen ALSA sequencer " +"ports. The ALSA sequencer interface is very versatile, it can provide ports " +"for audio cards hardware synthesisers (i.e. emu10k1) but also for software " +"synths, external devices, etc.\n" +"This backend does not produce audio, MIDI events are handled directly from " +"devices/programs behind the ALSA ports; in example, MIDI events sent to the " +"hardware synth will be directly played.\n" +"Backend written by Giacomo Lozito." + +#: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:45 +msgid "FluidSynth Backend " +msgstr "FluidSynth Backend " + +#: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:48 +msgid "" +"This backend produces audio by sending MIDI events to FluidSynth, a real-" +"time software synthesizer based on the SoundFont2 specification (www." +"fluidsynth.org).\n" +"Produced audio can be manipulated via player effect plugins and is processed " +"by chosen output plugin.\n" +"Backend written by Giacomo Lozito." +msgstr "" + +#: src/amidi-plug/i_configure-alsa.c:353 +msgid "Port" +msgstr "Port" + +#: src/amidi-plug/i_configure-alsa.c:355 +msgid "Client name" +msgstr "Client name" + +#: src/amidi-plug/i_configure-alsa.c:357 +msgid "Port name" +msgstr "Port name" + +#: src/amidi-plug/i_configure-alsa.c:371 +msgid "ALSA output ports" +msgstr "ALSA output ports" + +#: src/amidi-plug/i_configure-alsa.c:432 +msgid "Soundcard: " +msgstr "Soundcard: " + +#: src/amidi-plug/i_configure-alsa.c:434 +msgid "Mixer control: " +msgstr "Mixer control: " + +#: src/amidi-plug/i_configure-alsa.c:444 +msgid "Mixer settings" +msgstr "Mixer settings" + +#: src/amidi-plug/i_configure-alsa.c:472 +msgid "" +"<span size=\"smaller\">ALSA\n" +"backend</span>" +msgstr "" +"<span size=\"smaller\">ALSA\n" +"backend</span>" + +#: src/amidi-plug/i_configure-ap.c:63 +msgid "AMIDI-Plug - backend information" +msgstr "AMIDI-Plug - backend information" + +#: src/amidi-plug/i_configure-ap.c:221 +msgid "Backend selection" +msgstr "Backend selection" + +#: src/amidi-plug/i_configure-ap.c:261 +msgid "Playback settings" +msgstr "Playback settings" + +#: src/amidi-plug/i_configure-ap.c:266 +msgid "Transpose: " +msgstr "Transpose: " + +#: src/amidi-plug/i_configure-ap.c:275 +msgid "Drum shift: " +msgstr "Drum shift: " + +#: src/amidi-plug/i_configure-ap.c:293 +msgid "Advanced settings" +msgstr "Advanced settings" + +#: src/amidi-plug/i_configure-ap.c:297 +msgid "pre-calculate length of MIDI files in playlist" +msgstr "pre-calculate length of MIDI files in playlist" + +#: src/amidi-plug/i_configure-ap.c:304 +msgid "extract comments from MIDI file (if available)" +msgstr "extract comments from MIDI file (if available)" + +#: src/amidi-plug/i_configure-ap.c:311 +msgid "extract lyrics from MIDI file (if available)" +msgstr "extract lyrics from MIDI file (if available)" + +#: src/amidi-plug/i_configure-ap.c:344 +msgid "" +"<span size=\"smaller\">AMIDI\n" +"Plug</span>" +msgstr "" +"<span size=\"smaller\">AMIDI\n" +"Plug</span>" + +#: src/amidi-plug/i_configure.c:59 +msgid "AMIDI-Plug - select file" +msgstr "AMIDI-Plug - select file" + +#: src/amidi-plug/i_configure.c:104 +msgid "AMIDI-Plug Settings" +msgstr "" + +#: src/amidi-plug/i_configure-fluidsynth.c:63 +msgid "AMIDI-Plug - select SoundFont file" +msgstr "AMIDI-Plug - select SoundFont file" + +#: src/amidi-plug/i_configure-fluidsynth.c:321 +msgid "SoundFont settings" +msgstr "SoundFont settings" + +#: src/amidi-plug/i_configure-fluidsynth.c:359 +msgid "Filename" +msgstr "Filename" + +#: src/amidi-plug/i_configure-fluidsynth.c:363 +msgid "Size (bytes)" +msgstr "Size (bytes)" + +#: src/amidi-plug/i_configure-fluidsynth.c:412 +msgid "Load SF on player start" +msgstr "Load SF on player start" + +#: src/amidi-plug/i_configure-fluidsynth.c:416 +msgid "Load SF on first MIDI file play" +msgstr "" + +#: src/amidi-plug/i_configure-fluidsynth.c:431 +msgid "Synthesizer settings" +msgstr "Synthesiser settings" + +#: src/amidi-plug/i_configure-fluidsynth.c:440 +msgid "gain" +msgstr "gain" + +#: src/amidi-plug/i_configure-fluidsynth.c:446 +#: src/amidi-plug/i_configure-fluidsynth.c:476 +#: src/amidi-plug/i_configure-fluidsynth.c:506 +#: src/amidi-plug/i_configure-fluidsynth.c:540 +msgid "use default" +msgstr "use default" + +#: src/amidi-plug/i_configure-fluidsynth.c:449 +#: src/amidi-plug/i_configure-fluidsynth.c:479 +msgid "value:" +msgstr "value:" + +#: src/amidi-plug/i_configure-fluidsynth.c:470 +msgid "polyphony" +msgstr "" + +#: src/amidi-plug/i_configure-fluidsynth.c:500 +msgid "reverb" +msgstr "reverb" + +#: src/amidi-plug/i_configure-fluidsynth.c:509 +#: src/amidi-plug/i_configure-fluidsynth.c:543 +msgid "yes" +msgstr "yes" + +#: src/amidi-plug/i_configure-fluidsynth.c:511 +#: src/amidi-plug/i_configure-fluidsynth.c:545 +msgid "no" +msgstr "no" + +#: src/amidi-plug/i_configure-fluidsynth.c:534 +msgid "chorus" +msgstr "chorus" + +#: src/amidi-plug/i_configure-fluidsynth.c:568 +msgid "sample rate" +msgstr "sample rate" + +#: src/amidi-plug/i_configure-fluidsynth.c:574 +msgid "22050 Hz " +msgstr "22050 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:577 +msgid "44100 Hz " +msgstr "44100 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:580 +msgid "96000 Hz " +msgstr "96000 Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:583 +msgid "custom " +msgstr "custom " + +#: src/amidi-plug/i_configure-fluidsynth.c:592 +msgid "Hz " +msgstr "Hz " + +#: src/amidi-plug/i_configure-fluidsynth.c:662 +msgid "" +"<span size=\"smaller\">FluidSynth\n" +"backend</span>" +msgstr "" +"<span size=\"smaller\">FluidSynth\n" +"backend</span>" + +#: src/amidi-plug/i_fileinfo.c:175 +msgid "Name:" +msgstr "Name:" + +#: src/amidi-plug/i_fileinfo.c:200 +msgid "<span size=\"smaller\"> MIDI Info </span>" +msgstr "<span size=\"smaller\"> MIDI Info </span>" + +#: src/amidi-plug/i_fileinfo.c:214 +msgid "Format:" +msgstr "Format:" + +#: src/amidi-plug/i_fileinfo.c:217 +msgid "Length (msec):" +msgstr "Length (msec):" + +#: src/amidi-plug/i_fileinfo.c:220 +msgid "No. of Tracks:" +msgstr "" + +#: src/amidi-plug/i_fileinfo.c:226 +msgid "variable" +msgstr "variable" + +#: src/amidi-plug/i_fileinfo.c:228 +msgid "BPM:" +msgstr "BPM:" + +#: src/amidi-plug/i_fileinfo.c:236 +msgid "BPM (wavg):" +msgstr "BPM (wavg):" + +#: src/amidi-plug/i_fileinfo.c:239 +msgid "Time Div:" +msgstr "Time Div:" + +#: src/amidi-plug/i_fileinfo.c:250 +msgid "<span size=\"smaller\"> MIDI Comments and Lyrics </span>" +msgstr "<span size=\"smaller\"> MIDI Comments and Lyrics </span>" + +#: src/amidi-plug/i_fileinfo.c:301 +msgid "* no comments available in this MIDI file *" +msgstr "* no comments available in this MIDI file *" + +#: src/amidi-plug/i_fileinfo.c:314 +msgid "* no lyrics available in this MIDI file *" +msgstr "* no lyrics available in this MIDI file *" + +#: src/amidi-plug/i_fileinfo.c:367 +msgid " (invalid UTF-8)" +msgstr " (invalid UTF-8)" + +#: src/amidi-plug/i_utils.c:39 +msgid "About AMIDI-Plug" +msgstr "" + +#: src/amidi-plug/i_utils.c:53 +msgid "AMIDI-Plug" +msgstr "" + +#: src/amidi-plug/i_utils.c:54 +msgid "" +"\n" +"modular MIDI music player\n" +"http://www.develia.org/projects.php?p=amidiplug\n" +"\n" +"written by Giacomo Lozito\n" +"<james@develia.org>\n" +"\n" +"special thanks to...\n" +"\n" +"Clemens Ladisch and Jaroslav Kysela\n" +"for their cool programs aplaymidi and amixer; those\n" +"were really useful, along with alsa-lib docs, in order\n" +"to learn more about the ALSA API\n" +"\n" +"Alfredo Spadafina\n" +"for the nice midi keyboard logo\n" +"\n" +"Tony Vroon\n" +"for the good help with alpha testing" +msgstr "" + +#: src/aosd/aosd.c:29 +msgid "Audacious OSD " +msgstr "" + +#: src/aosd/aosd.c:37 +msgid "AOSD (On-Screen Display)" +msgstr "" + +#: src/aosd/aosd_style.c:75 +msgid "Rectangle" +msgstr "Rectangle" + +#: src/aosd/aosd_style.c:79 +msgid "Rounded Rectangle" +msgstr "Rounded Rectangle" + +#: src/aosd/aosd_style.c:83 +msgid "Concave Rectangle" +msgstr "Concave Rectangle" + +#: src/aosd/aosd_style.c:87 +msgid "None" +msgstr "None" + +#: src/aosd/aosd_trigger.c:74 +msgid "Playback Start" +msgstr "Playback Start" + +#: src/aosd/aosd_trigger.c:75 +msgid "Triggers OSD when a playlist entry is played." +msgstr "Triggers OSD when a playlist entry is played." + +#: src/aosd/aosd_trigger.c:79 +msgid "Title Change" +msgstr "Title Change" + +#: src/aosd/aosd_trigger.c:80 +msgid "" +"Triggers OSD when, during playback, the song title changes but the filename " +"is the same. This is mostly useful to display title changes in internet " +"streams." +msgstr "" +"Triggers OSD when, during playback, the song title changes but the filename " +"is the same. This is mostly useful to display title changes in Internet " +"streams." + +#: src/aosd/aosd_trigger.c:86 +msgid "Pause On" +msgstr "Pause On" + +#: src/aosd/aosd_trigger.c:87 +msgid "Triggers OSD when playback is paused." +msgstr "Triggers OSD when playback is paused." + +#: src/aosd/aosd_trigger.c:91 +msgid "Pause Off" +msgstr "Pause Off" + +#: src/aosd/aosd_trigger.c:92 +msgid "Triggers OSD when playback is unpaused." +msgstr "Triggers OSD when playback is unpaused." + +#: src/aosd/aosd_ui.c:168 +msgid "Placement" +msgstr "Placement" + +#: src/aosd/aosd_ui.c:200 +msgid "Relative X offset:" +msgstr "Relative X offset:" + +#: src/aosd/aosd_ui.c:207 +msgid "Relative Y offset:" +msgstr "Relative Y offset:" + +#: src/aosd/aosd_ui.c:214 +msgid "Max OSD width:" +msgstr "Max OSD width:" + +#: src/aosd/aosd_ui.c:225 +msgid "Multi-Monitor options" +msgstr "Multi-Monitor options" + +#: src/aosd/aosd_ui.c:229 +msgid "Display OSD using:" +msgstr "Display OSD using:" + +#: src/aosd/aosd_ui.c:231 +msgid "all monitors" +msgstr "all monitors" + +#: src/aosd/aosd_ui.c:234 +#, c-format +msgid "monitor %i" +msgstr "monitor %i" + +#: src/aosd/aosd_ui.c:287 +msgid "Timing (ms)" +msgstr "Timing (ms)" + +#: src/aosd/aosd_ui.c:292 +msgid "Display:" +msgstr "Display:" + +#: src/aosd/aosd_ui.c:297 +msgid "Fade in:" +msgstr "Fade in:" + +#: src/aosd/aosd_ui.c:302 +msgid "Fade out:" +msgstr "Fade out:" + +#: src/aosd/aosd_ui.c:383 +msgid "Fonts" +msgstr "Fonts" + +#: src/aosd/aosd_ui.c:391 +#, c-format +msgid "Font %i:" +msgstr "Font %i:" + +#: src/aosd/aosd_ui.c:409 +msgid "Shadow" +msgstr "Shadow" + +#: src/aosd/aosd_ui.c:439 +msgid "Internationalization" +msgstr "Internationalisation" + +#: src/aosd/aosd_ui.c:445 +msgid "Disable UTF-8 conversion of text (in aosd)" +msgstr "Disable UTF-8 conversion of text (in aosd)" + +#: src/aosd/aosd_ui.c:462 +msgid "Select Skin File" +msgstr "Select Skin File" + +#: src/aosd/aosd_ui.c:573 +msgid "Render Style" +msgstr "Render Style" + +#: src/aosd/aosd_ui.c:589 +msgid "Colors" +msgstr "Colours" + +#: src/aosd/aosd_ui.c:602 +#, c-format +msgid "Color %i:" +msgstr "Colour %i:" + +#: src/aosd/aosd_ui.c:620 +msgid "Custom Skin" +msgstr "Custom Skin" + +#: src/aosd/aosd_ui.c:626 +msgid "Skin file:" +msgstr "Skin file:" + +#: src/aosd/aosd_ui.c:630 +msgid "Browse" +msgstr "Browse" + +#: src/aosd/aosd_ui.c:729 +msgid "Enable trigger" +msgstr "Enable trigger" + +#: src/aosd/aosd_ui.c:756 +msgid "Event" +msgstr "Event" + +#: src/aosd/aosd_ui.c:784 +msgid "Composite manager detected" +msgstr "Composite manager detected" + +#: src/aosd/aosd_ui.c:791 +msgid "" +"Composite manager not detected;\n" +"unless you know that you have one running, please activate a composite " +"manager otherwise the OSD won't work properly" +msgstr "" +"Composite manager not detected;\n" +"unless you know that you have one running, please activate a composite " +"manager otherwise the OSD will not work properly" + +#: src/aosd/aosd_ui.c:799 +msgid "Composite manager not required for fake transparency" +msgstr "Composite manager not required for fake transparency" + +#: src/aosd/aosd_ui.c:837 +msgid "Transparency" +msgstr "Transparency" + +#: src/aosd/aosd_ui.c:843 +msgid "Fake transparency" +msgstr "Fake transparency" + +#: src/aosd/aosd_ui.c:845 +msgid "Real transparency (requires X Composite Ext.)" +msgstr "Real transparency (requires X Composite Ext.)" + +#: src/aosd/aosd_ui.c:887 +msgid "Composite extension not loaded" +msgstr "Composite extension not loaded" + +#: src/aosd/aosd_ui.c:895 +msgid "Composite extension not available" +msgstr "Composite extension not available" + +#: src/aosd/aosd_ui.c:914 +#, c-format +msgid "<span font_desc='%s'>Audacious OSD</span>" +msgstr "<span font_desc='%s'>Audacious OSD</span>" + +#: src/aosd/aosd_ui.c:995 +msgid "Audacious OSD - configuration" +msgstr "Audacious OSD - configuration" + +#: src/aosd/aosd_ui.c:1016 +msgid "Test" +msgstr "Test" + +#: src/aosd/aosd_ui.c:1031 +msgid "Position" +msgstr "Position" + +#: src/aosd/aosd_ui.c:1036 +msgid "Animation" +msgstr "Animation" + +#: src/aosd/aosd_ui.c:1041 +msgid "Text" +msgstr "Text" + +#: src/aosd/aosd_ui.c:1046 +msgid "Decoration" +msgstr "Decoration" + +#: src/aosd/aosd_ui.c:1051 +msgid "Trigger" +msgstr "Trigger" + +#: src/aosd/aosd_ui.c:1056 +msgid "Misc" +msgstr "Misc" + +#: src/asx/asx.c:96 +msgid "ASXv1/ASXv2 Playlists" +msgstr "" + +#: src/audpl/audpl.c:222 +msgid "Audacious Playlists (audpl)" +msgstr "" + +#: src/blur_scope/blur_scope.c:47 +msgid "<b>Color</b>" +msgstr "" + +#: src/blur_scope/blur_scope.c:56 +msgid "Blur Scope" +msgstr "" + +#: src/bs2b/plugin.c:136 +msgid "Bauer Stereophonic-to-Binaural Preferences" +msgstr "" + +#: src/bs2b/plugin.c:147 +msgid "Feed level:" +msgstr "" + +#: src/bs2b/plugin.c:161 +msgid "Cut frequency:" +msgstr "" + +#: src/bs2b/plugin.c:175 +msgid "Presets:" +msgstr "" + +#: src/bs2b/plugin.c:197 +msgid "Bauer Stereophonic-to-Binaural (BS2B)" +msgstr "" + +#: src/cairo-spectrum/cairo-spectrum.c:297 +msgid "Spectrum Analyzer" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:103 +msgid "" +"Copyright (C) 2007-2012 Calin Crisan <ccrisan@gmail.com> and others.\n" +"\n" +"Many thanks to libcdio developers <http://www.gnu.org/software/libcdio/>\n" +"and to libcddb developers <http://libcddb.sourceforge.net/>.\n" +"\n" +"Also thank you to Tony Vroon for mentoring and guiding me.\n" +"\n" +"This was a Google Summer of Code 2007 project." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:121 +msgid "<b>Device</b>" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:122 +msgid "Read speed:" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:125 +msgid "Override device:" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:127 +msgid "<b>Metadata</b>" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:128 +msgid "Use CD-Text" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:130 +msgid "Use CDDB" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:132 +msgid "Use HTTP instead of CDDBP" +msgstr "Use HTTP instead of CDDBP" + +#: src/cdaudio-ng/cdaudio-ng.c:134 +msgid "Server:" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:136 +msgid "Path:" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:138 +msgid "Port:" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:148 +msgid "Audio CD Plugin" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:249 +msgid "Failed to initialize cdio subsystem." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:306 +#, c-format +msgid "Invalid URI %s." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:308 +#, c-format +msgid "Track %d not found." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:310 +#, c-format +msgid "Track %d is a data track." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:312 +msgid "Failed to open audio output." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:395 +msgid "Error reading audio CD." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:505 +msgid "Audio CD" +msgstr "Audio CD" + +#: src/cdaudio-ng/cdaudio-ng.c:535 src/cdaudio-ng/cdaudio-ng.c:544 +#, c-format +msgid "Failed to open CD device %s." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:547 +msgid "No audio capable CD drive found." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:574 +msgid "Failed to finish initializing opened CD drive." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:587 +msgid "Failed to retrieve first/last track number." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:612 +#, c-format +msgid "Cannot read start/end LSN for track %d." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:702 +msgid "Failed to create the cddb connection." +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:777 +msgid "Failed to query the CDDB server" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:779 +#, c-format +msgid "Failed to query the CDDB server: %s" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:803 +#, c-format +msgid "Failed to read the cddb info: %s" +msgstr "" + +#: src/cdaudio-ng/cdaudio-ng.c:876 +msgid "Drive is empty." +msgstr "Drive is empty." + +#: src/cdaudio-ng/cdaudio-ng.c:878 +msgid "Unsupported disk type." +msgstr "Unsupported disk type." + +#: src/cd-menu-items/cd-menu-items.c:30 +msgid "Play CD" +msgstr "Play CD" + +#: src/cd-menu-items/cd-menu-items.c:30 +msgid "Add CD" +msgstr "Add CD" + +#: src/cd-menu-items/cd-menu-items.c:57 +msgid "Audio CD Menu Items" +msgstr "" + +#: src/compressor/plugin.c:35 +msgid "<b>Compression</b>" +msgstr "" + +#: src/compressor/plugin.c:36 +msgid "Center volume:" +msgstr "Centre volume:" + +#: src/compressor/plugin.c:39 +msgid "Dynamic range:" +msgstr "Dynamic range:" + +#: src/compressor/plugin.c:53 +msgid "" +"Dynamic Range Compression Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/compressor/plugin.c:58 +msgid "Dynamic Range Compressor" +msgstr "" + +#: src/console/configure.c:134 src/console/plugin.c:42 +msgid "Game Console Music Decoder" +msgstr "Game Console Music Decoder" + +#: src/console/configure.c:151 +msgid "General" +msgstr "General" + +#: src/console/configure.c:153 src/skins/ui_manager.c:175 +msgid "Playback" +msgstr "Playback" + +#: src/console/configure.c:168 +msgid "Bass:" +msgstr "Bass:" + +#: src/console/configure.c:172 src/console/configure.c:183 +#: src/console/configure.c:204 +msgid "secs" +msgstr "secs" + +#: src/console/configure.c:179 +msgid "Treble:" +msgstr "Treble:" + +#: src/console/configure.c:200 +msgid "Default song length:" +msgstr "Default song length:" + +#: src/console/configure.c:206 +msgid "Resampling" +msgstr "Resampling" + +#: src/console/configure.c:212 +msgid "Enable audio resampling" +msgstr "Enable audio resampling" + +#: src/console/configure.c:227 +msgid "Resampling rate:" +msgstr "Resampling rate:" + +#: src/console/configure.c:231 src/modplug/plugin_main.c:98 +#: src/resample/resample.c:178 src/resample/resample.c:184 +#: src/resample/resample.c:187 src/resample/resample.c:190 +#: src/resample/resample.c:193 src/resample/resample.c:196 +#: src/resample/resample.c:199 src/resample/resample.c:202 +#: src/sox-resampler/sox-resampler.c:153 +msgid "Hz" +msgstr "Hz" + +#: src/console/configure.c:242 +msgid "SPC" +msgstr "SPC" + +#: src/console/configure.c:243 +msgid "Ignore length from SPC tags" +msgstr "Ignore length from SPC tags" + +#: src/console/configure.c:244 +msgid "Increase reverb" +msgstr "Increase reverb" + +#: src/console/configure.c:269 +msgid "" +"The default song length, expressed in seconds, is used for songs that do not " +"provide length information (i.e. looping tracks)." +msgstr "" +"The default song length, expressed in seconds, is used for songs that do not " +"provide length information (i.e. looping tracks)." + +#: src/console/plugin.c:27 +msgid "" +"Console music decoder engine based on Game_Music_Emu 0.5.2\n" +"Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n" +"\n" +"Audacious plugin by:\n" +"William Pitcock <nenolod@dereferenced.org>\n" +"Shay Green <gblargg@gmail.com>" +msgstr "" + +#: src/crossfade/crossfade.c:81 +msgid "" +"Crossfading failed because the songs had a different number of channels. " +"You can use the Channel Mixer to convert the songs to the same number of " +"channels." +msgstr "" + +#: src/crossfade/crossfade.c:88 +msgid "" +"Crossfading failed because the songs had different sample rates. You can " +"use the Sample Rate Converter to convert the songs to the same sample rate." +msgstr "" + +#: src/crossfade/crossfade.c:254 +msgid "" +"Crossfade Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/crossfade/crossfade.c:258 +msgid "<b>Crossfade</b>" +msgstr "" + +#: src/crossfade/crossfade.c:259 +msgid "Overlap:" +msgstr "" + +#: src/crossfade/crossfade.c:269 +msgid "Crossfade" +msgstr "" + +#: src/crystalizer/crystalizer.c:40 +msgid "<b>Crystalizer</b>" +msgstr "" + +#: src/crystalizer/crystalizer.c:41 src/stereo_plugin/stereo.c:26 +msgid "Intensity:" +msgstr "" + +#: src/crystalizer/crystalizer.c:51 +msgid "Crystalizer" +msgstr "" + +#: src/cue/cue.c:158 +msgid "Cue Sheet Plugin" +msgstr "" + +#: src/echo_plugin/echo.c:24 +msgid "<b>Echo</b>" +msgstr "" + +#: src/echo_plugin/echo.c:25 src/modplug/plugin_main.c:90 +#: src/modplug/plugin_main.c:104 +msgid "Delay:" +msgstr "" + +#: src/echo_plugin/echo.c:27 src/modplug/plugin_main.c:91 +#: src/modplug/plugin_main.c:105 +msgid "ms" +msgstr "" + +#: src/echo_plugin/echo.c:28 +msgid "Feedback:" +msgstr "" + +#: src/echo_plugin/echo.c:31 src/modplug/plugin_main.c:109 +msgid "Volume:" +msgstr "" + +#: src/echo_plugin/echo.c:114 +msgid "" +"Echo Plugin\n" +"By Johan Levin, 1999\n" +"\n" +"Surround echo by Carl van Schaik, 1999" +msgstr "" + +#: src/echo_plugin/echo.c:120 +msgid "Echo" +msgstr "" + +#: src/ffaudio/ffaudio-core.c:648 +msgid "" +"Multi-format audio decoding plugin for Audacious using\n" +"FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" +"\n" +"Audacious plugin by:\n" +"William Pitcock <nenolod@nenolod.net>\n" +"Matti Hämäläinen <ccr@tnsp.org>" +msgstr "" + +#: src/ffaudio/ffaudio-core.c:695 +msgid "FFmpeg Plugin" +msgstr "" + +#: src/filewriter/filewriter.c:409 +msgid "FileWriter Configuration" +msgstr "" + +#: src/filewriter/filewriter.c:421 +msgid "Output file format:" +msgstr "Output file format:" + +#: src/filewriter/filewriter.c:439 +msgid "Configure" +msgstr "Configure" + +#: src/filewriter/filewriter.c:449 +msgid "Save into original directory" +msgstr "Save into original directory" + +#: src/filewriter/filewriter.c:454 +msgid "Save into custom directory" +msgstr "Save into custom directory" + +#: src/filewriter/filewriter.c:464 +msgid "Output file folder:" +msgstr "Output file folder:" + +#: src/filewriter/filewriter.c:468 +msgid "Pick a folder" +msgstr "Pick a folder" + +#: src/filewriter/filewriter.c:481 +msgid "Get filename from:" +msgstr "Get filename from:" + +#: src/filewriter/filewriter.c:484 +msgid "original file tags" +msgstr "original file tags" + +#: src/filewriter/filewriter.c:490 +msgid "original filename" +msgstr "original filename" + +#: src/filewriter/filewriter.c:497 +msgid "Don't strip file name extension" +msgstr "Do not strip file name extension" + +#: src/filewriter/filewriter.c:506 +msgid "Prepend track number to filename" +msgstr "Prepend track number to filename" + +#: src/filewriter/filewriter.c:515 +msgid "" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program; if not, write to the Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." +msgstr "" + +#: src/filewriter/filewriter.c:532 +msgid "FileWriter Plugin" +msgstr "" + +#: src/filewriter/mp3.c:37 src/filewriter/mp3.c:748 +msgid "Auto" +msgstr "Auto" + +#: src/filewriter/mp3.c:37 +msgid "Joint Stereo" +msgstr "Joint Stereo" + +#: src/filewriter/mp3.c:38 src/modplug/plugin_main.c:65 +#: src/mpg123/mpg123.c:211 +msgid "Stereo" +msgstr "Stereo" + +#: src/filewriter/mp3.c:38 src/modplug/plugin_main.c:63 +#: src/mpg123/mpg123.c:211 +msgid "Mono" +msgstr "Mono" + +#: src/filewriter/mp3.c:688 +msgid "MP3 Configuration" +msgstr "MP3 Configuration" + +#: src/filewriter/mp3.c:712 +msgid "Algorithm Quality:" +msgstr "Algorithm Quality:" + +#: src/filewriter/mp3.c:737 +msgid "Output Samplerate:" +msgstr "Output Sample rate:" + +#: src/filewriter/mp3.c:765 +msgid "(Hz)" +msgstr "(Hz)" + +#: src/filewriter/mp3.c:772 +msgid "Bitrate / Compression ratio:" +msgstr "Bitrate / Compression ratio:" + +#: src/filewriter/mp3.c:796 +msgid "Bitrate (kbps):" +msgstr "Bitrate (kbps):" + +#: src/filewriter/mp3.c:829 +msgid "Compression ratio:" +msgstr "Compression ratio:" + +#: src/filewriter/mp3.c:853 +msgid "Audio Mode:" +msgstr "Audio Mode:" + +#: src/filewriter/mp3.c:878 +msgid "Misc:" +msgstr "Misc:" + +#: src/filewriter/mp3.c:889 +msgid "Enforce strict ISO complience" +msgstr "" + +#: src/filewriter/mp3.c:900 +msgid "Error protection" +msgstr "" + +#: src/filewriter/mp3.c:912 src/filewriter/vorbis.c:222 +msgid "Quality" +msgstr "" + +#: src/filewriter/mp3.c:921 +msgid "Enable VBR/ABR" +msgstr "" + +#: src/filewriter/mp3.c:931 +msgid "Type:" +msgstr "" + +#: src/filewriter/mp3.c:964 +msgid "VBR Options:" +msgstr "" + +#: src/filewriter/mp3.c:980 +msgid "Minimum bitrate (kbps):" +msgstr "" + +#: src/filewriter/mp3.c:1007 +msgid "Maximum bitrate (kbps):" +msgstr "" + +#: src/filewriter/mp3.c:1030 +msgid "Strictly enforce minimum bitrate" +msgstr "" + +#: src/filewriter/mp3.c:1042 +msgid "ABR Options:" +msgstr "" + +#: src/filewriter/mp3.c:1052 +msgid "Average bitrate (kbps):" +msgstr "" + +#: src/filewriter/mp3.c:1080 +msgid "VBR quality level:" +msgstr "" + +#: src/filewriter/mp3.c:1099 +msgid "Don't write Xing VBR header" +msgstr "" + +#: src/filewriter/mp3.c:1112 +msgid "VBR/ABR" +msgstr "" + +#: src/filewriter/mp3.c:1121 +msgid "Frame parameters:" +msgstr "" + +#: src/filewriter/mp3.c:1133 +msgid "Mark as copyright" +msgstr "" + +#: src/filewriter/mp3.c:1144 +msgid "Mark as original" +msgstr "" + +#: src/filewriter/mp3.c:1156 +msgid "ID3 params:" +msgstr "" + +#: src/filewriter/mp3.c:1167 +msgid "Force addition of version 2 tag" +msgstr "" + +#: src/filewriter/mp3.c:1177 +msgid "Only add v1 tag" +msgstr "" + +#: src/filewriter/mp3.c:1184 +msgid "Only add v2 tag" +msgstr "" + +#: src/filewriter/mp3.c:1205 +msgid "Tags" +msgstr "" + +#: src/filewriter/vorbis.c:212 +msgid "Vorbis Encoder Configuration" +msgstr "" + +#: src/filewriter/vorbis.c:235 +msgid "Quality level (0 - 10):" +msgstr "" + +#: src/flacng/metadata.c:357 src/wavpack/wavpack.c:280 +msgid "lossless" +msgstr "" + +#: src/flacng/plugin.c:269 +msgid "" +"Original code by\n" +"Ralf Ertzinger <ralf@skytale.net>\n" +"\n" +"http://www.skytale.net/projects/bmp-flac2/" +msgstr "" + +#: src/flacng/plugin.c:277 +msgid "FLAC Decoder" +msgstr "" + +#: src/gio/gio.c:300 +msgid "" +"GIO Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren" +msgstr "" + +#: src/gio/gio.c:322 +msgid "GIO Plugin" +msgstr "" + +#: src/gl-spectrum/gl-spectrum.c:283 +msgid "" +"OpenGL Spectrum Analyzer for Audacious\n" +"Copyright 2013 Christophe Budé and John Lindgren\n" +"\n" +"Based on the XMMS plugin:\n" +"Copyright 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson, and " +"4Front Technologies\n" +"\n" +"License: GPLv2+" +msgstr "" + +#: src/gl-spectrum/gl-spectrum.c:292 +msgid "OpenGL Spectrum Analyzer" +msgstr "" + +#: src/gnomeshortcuts/gnomeshortcuts.c:41 +msgid "" +"Gnome Shortcut Plugin\n" +"Lets you control the player with Gnome's shortcuts.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" +msgstr "" + +#: src/gnomeshortcuts/gnomeshortcuts.c:47 +msgid "Gnome Shortcuts" +msgstr "" + +#: src/gtkui/columns.c:32 +msgid "Entry number" +msgstr "" + +#: src/gtkui/columns.c:32 +msgid "Title" +msgstr "" + +#: src/gtkui/columns.c:33 +msgid "Artist" +msgstr "" + +#: src/gtkui/columns.c:33 +msgid "Year" +msgstr "" + +#: src/gtkui/columns.c:33 +msgid "Album" +msgstr "" + +#: src/gtkui/columns.c:33 +msgid "Track" +msgstr "" + +#: src/gtkui/columns.c:33 +msgid "Genre" +msgstr "" + +#: src/gtkui/columns.c:34 +msgid "Queue position" +msgstr "" + +#: src/gtkui/columns.c:34 +msgid "Length" +msgstr "" + +#: src/gtkui/columns.c:34 +msgid "File path" +msgstr "" + +#: src/gtkui/columns.c:34 +msgid "File name" +msgstr "" + +#: src/gtkui/columns.c:35 +msgid "Custom title" +msgstr "" + +#: src/gtkui/columns.c:35 +msgid "Bitrate" +msgstr "" + +#: src/gtkui/columns.c:277 +msgid "Choose Columns" +msgstr "" + +#: src/gtkui/columns.c:293 +msgid "Available:" +msgstr "" + +#: src/gtkui/columns.c:327 +msgid "Chosen:" +msgstr "" + +#: src/gtkui/layout.c:119 +msgid "Dock at Left" +msgstr "" + +#: src/gtkui/layout.c:119 +msgid "Dock at Right" +msgstr "" + +#: src/gtkui/layout.c:120 +msgid "Dock at Top" +msgstr "" + +#: src/gtkui/layout.c:120 +msgid "Dock at Bottom" +msgstr "" + +#: src/gtkui/layout.c:120 +msgid "Undock" +msgstr "" + +#: src/gtkui/layout.c:120 src/ladspa/plugin.c:623 +msgid "Disable" +msgstr "" + +#: src/gtkui/menus.c:170 +msgid "_Open Files ..." +msgstr "" + +#: src/gtkui/menus.c:171 +msgid "Open _URL ..." +msgstr "" + +#: src/gtkui/menus.c:172 +msgid "_Add Files ..." +msgstr "" + +#: src/gtkui/menus.c:173 +msgid "Add U_RL ..." +msgstr "" + +#: src/gtkui/menus.c:175 +msgid "_Search Library" +msgstr "" + +#: src/gtkui/menus.c:177 +msgid "A_bout ..." +msgstr "" + +#: src/gtkui/menus.c:178 +msgid "_Preferences ..." +msgstr "" + +#: src/gtkui/menus.c:179 src/skins/ui_manager.c:413 +msgid "_Quit" +msgstr "" + +#: src/gtkui/menus.c:182 src/gtkui/menus.c:296 +msgid "_Play" +msgstr "" + +#: src/gtkui/menus.c:183 +msgid "Paus_e" +msgstr "" + +#: src/gtkui/menus.c:184 +msgid "_Stop" +msgstr "" + +#: src/gtkui/menus.c:185 +msgid "Pre_vious" +msgstr "" + +#: src/gtkui/menus.c:186 +msgid "_Next" +msgstr "" + +#: src/gtkui/menus.c:188 +msgid "_Repeat" +msgstr "" + +#: src/gtkui/menus.c:189 +msgid "S_huffle" +msgstr "" + +#: src/gtkui/menus.c:190 +msgid "N_o Playlist Advance" +msgstr "" + +#: src/gtkui/menus.c:191 +msgid "Stop A_fter This Song" +msgstr "" + +#: src/gtkui/menus.c:193 src/gtkui/menus.c:284 +msgid "Song _Info ..." +msgstr "" + +#: src/gtkui/menus.c:194 +msgid "Jump to _Time ..." +msgstr "" + +#: src/gtkui/menus.c:195 +msgid "_Jump to Song ..." +msgstr "" + +#: src/gtkui/menus.c:197 +msgid "Set Repeat Point _A" +msgstr "" + +#: src/gtkui/menus.c:198 +msgid "Set Repeat Point _B" +msgstr "" + +#: src/gtkui/menus.c:199 +msgid "_Clear Repeat Points" +msgstr "" + +#: src/gtkui/menus.c:202 src/gtkui/menus.c:208 src/gtkui/menus.c:221 +msgid "By _Title" +msgstr "" + +#: src/gtkui/menus.c:203 +msgid "By _Filename" +msgstr "" + +#: src/gtkui/menus.c:204 +msgid "By File _Path" +msgstr "" + +#: src/gtkui/menus.c:207 src/gtkui/menus.c:220 +msgid "By Track _Number" +msgstr "" + +#: src/gtkui/menus.c:209 src/gtkui/menus.c:222 +msgid "By _Artist" +msgstr "" + +#: src/gtkui/menus.c:210 src/gtkui/menus.c:223 +msgid "By Al_bum" +msgstr "" + +#: src/gtkui/menus.c:211 src/gtkui/menus.c:224 +msgid "By Release _Date" +msgstr "" + +#: src/gtkui/menus.c:212 src/gtkui/menus.c:225 +msgid "By _Length" +msgstr "" + +#: src/gtkui/menus.c:213 src/gtkui/menus.c:226 +msgid "By _File Path" +msgstr "" + +#: src/gtkui/menus.c:214 src/gtkui/menus.c:227 +msgid "By _Custom Title" +msgstr "" + +#: src/gtkui/menus.c:216 src/gtkui/menus.c:229 +msgid "R_everse Order" +msgstr "" + +#: src/gtkui/menus.c:217 src/gtkui/menus.c:230 +msgid "_Random Order" +msgstr "" + +#: src/gtkui/menus.c:233 +msgid "_Play This Playlist" +msgstr "" + +#: src/gtkui/menus.c:234 src/gtkui/menus.c:286 +msgid "_Refresh" +msgstr "" + +#: src/gtkui/menus.c:236 +msgid "_Sort" +msgstr "" + +#: src/gtkui/menus.c:237 +msgid "Sort S_elected" +msgstr "" + +#: src/gtkui/menus.c:238 +msgid "Remove _Duplicates" +msgstr "" + +#: src/gtkui/menus.c:239 +msgid "Remove _Unavailable Files" +msgstr "" + +#: src/gtkui/menus.c:241 +msgid "_New" +msgstr "" + +#: src/gtkui/menus.c:242 +msgid "Ren_ame ..." +msgstr "" + +#: src/gtkui/menus.c:243 src/gtkui/menus.c:298 +msgid "_Close" +msgstr "" + +#: src/gtkui/menus.c:245 +msgid "_Import ..." +msgstr "" + +#: src/gtkui/menus.c:246 +msgid "_Export ..." +msgstr "" + +#: src/gtkui/menus.c:248 +msgid "Playlist _Manager ..." +msgstr "" + +#: src/gtkui/menus.c:249 +msgid "_Queue Manager ..." +msgstr "" + +#: src/gtkui/menus.c:252 +msgid "Volume _Up" +msgstr "" + +#: src/gtkui/menus.c:253 +msgid "Volume _Down" +msgstr "" + +#: src/gtkui/menus.c:255 +msgid "_Equalizer" +msgstr "" + +#: src/gtkui/menus.c:257 +msgid "E_ffects" +msgstr "" + +#: src/gtkui/menus.c:260 +msgid "_Interface" +msgstr "" + +#: src/gtkui/menus.c:261 +msgid "_Visualizations" +msgstr "" + +#: src/gtkui/menus.c:263 +msgid "Show _Menu Bar" +msgstr "" + +#: src/gtkui/menus.c:264 +msgid "Show I_nfo Bar" +msgstr "" + +#: src/gtkui/menus.c:265 +msgid "Show Info Bar Vis_ualization" +msgstr "" + +#: src/gtkui/menus.c:266 +msgid "Show _Status Bar" +msgstr "" + +#: src/gtkui/menus.c:268 +msgid "Show _Remaining Time" +msgstr "" + +#: src/gtkui/menus.c:270 +msgid "Show Close _Buttons" +msgstr "" + +#: src/gtkui/menus.c:271 +msgid "Show Column _Headers" +msgstr "" + +#: src/gtkui/menus.c:272 +msgid "Choose _Columns ..." +msgstr "" + +#: src/gtkui/menus.c:273 +msgid "Scrol_l on Song Change" +msgstr "" + +#: src/gtkui/menus.c:276 +msgid "_File" +msgstr "" + +#: src/gtkui/menus.c:277 +msgid "_Playback" +msgstr "" + +#: src/gtkui/menus.c:278 +msgid "P_laylist" +msgstr "" + +#: src/gtkui/menus.c:279 src/gtkui/menus.c:293 +msgid "_Services" +msgstr "" + +#: src/gtkui/menus.c:280 +msgid "_Output" +msgstr "" + +#: src/gtkui/menus.c:281 +msgid "_View" +msgstr "" + +#: src/gtkui/menus.c:285 +msgid "_Queue/Unqueue" +msgstr "" + +#: src/gtkui/menus.c:288 +msgid "Cu_t" +msgstr "" + +#: src/gtkui/menus.c:289 +msgid "_Copy" +msgstr "" + +#: src/gtkui/menus.c:290 +msgid "_Paste" +msgstr "" + +#: src/gtkui/menus.c:291 +msgid "Select _All" +msgstr "" + +#: src/gtkui/menus.c:297 +msgid "_Rename ..." +msgstr "" + +#: src/gtkui/ui_gtk.c:96 +msgid "GTK Interface" +msgstr "" + +#: src/gtkui/ui_gtk.c:198 src/skins/ui_main.c:306 +#, c-format +msgid "%s - Audacious" +msgstr "" + +#: src/gtkui/ui_gtk.c:204 +msgid "Buffering ..." +msgstr "" + +#: src/gtkui/ui_gtk.c:207 src/skins/ui_main.c:308 src/skins/ui_main.c:1451 +msgid "Audacious" +msgstr "" + +#: src/gtkui/ui_gtk.c:253 src/lyricwiki/lyricwiki.c:208 +#: src/lyricwiki/lyricwiki.c:218 src/lyricwiki/lyricwiki.c:242 +#: src/lyricwiki/lyricwiki.c:252 src/lyricwiki/lyricwiki.c:271 +#: src/skins/plugin.c:176 +msgid "Error" +msgstr "" + +#: src/gtkui/ui_statusbar.c:108 +#, c-format +msgid "%d channel" +msgid_plural "%d channels" +msgstr[0] "" +msgstr[1] "" + +#: src/gtkui/ui_statusbar.c:123 +#, c-format +msgid "%d kbps" +msgstr "" + +#: src/hotkey/gui.c:70 +msgid "Previous track" +msgstr "" + +#: src/hotkey/gui.c:71 src/notify/osd.c:68 src/skins/ui_manager.c:177 +#: src/skins/ui_manager.c:178 +msgid "Play" +msgstr "" + +#: src/hotkey/gui.c:72 +msgid "Pause/Resume" +msgstr "" + +#: src/hotkey/gui.c:73 src/skins/ui_manager.c:183 src/skins/ui_manager.c:184 +msgid "Stop" +msgstr "" + +#: src/hotkey/gui.c:74 +msgid "Next track" +msgstr "" + +#: src/hotkey/gui.c:75 +msgid "Forward 5 seconds" +msgstr "" + +#: src/hotkey/gui.c:76 +msgid "Rewind 5 seconds" +msgstr "" + +#: src/hotkey/gui.c:77 +msgid "Mute" +msgstr "" + +#: src/hotkey/gui.c:78 +msgid "Volume up" +msgstr "" + +#: src/hotkey/gui.c:79 +msgid "Volume down" +msgstr "" + +#: src/hotkey/gui.c:80 +msgid "Jump to file" +msgstr "" + +#: src/hotkey/gui.c:81 +msgid "Toggle player window(s)" +msgstr "" + +#: src/hotkey/gui.c:82 +msgid "Show On-Screen-Display" +msgstr "" + +#: src/hotkey/gui.c:83 +msgid "Toggle repeat" +msgstr "" + +#: src/hotkey/gui.c:84 +msgid "Toggle shuffle" +msgstr "" + +#: src/hotkey/gui.c:85 +msgid "Toggle stop after current" +msgstr "" + +#: src/hotkey/gui.c:86 +msgid "Raise player window(s)" +msgstr "" + +#: src/hotkey/gui.c:96 +msgid "(none)" +msgstr "" + +#: src/hotkey/gui.c:233 +msgid "" +"It is not recommended to bind the primary mouse buttons without " +"modificators.\n" +"\n" +"Do you want to continue?" +msgstr "" + +#: src/hotkey/gui.c:235 +msgid "Binding mouse buttons" +msgstr "" + +#: src/hotkey/gui.c:385 +msgid "Global Hotkey Plugin Configuration" +msgstr "" + +#: src/hotkey/gui.c:401 +msgid "" +"Press a key combination inside a text field.\n" +"You can also bind mouse buttons." +msgstr "" + +#: src/hotkey/gui.c:406 +msgid "Hotkeys:" +msgstr "" + +#: src/hotkey/gui.c:423 +msgid "<b>Action:</b>" +msgstr "" + +#: src/hotkey/gui.c:430 +msgid "<b>Key Binding:</b>" +msgstr "" + +#: src/hotkey/plugin.c:66 +msgid "" +"Global Hotkey Plugin\n" +"Control the player with global key combinations or multimedia keys.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n" +"\n" +"Contributers include:\n" +"Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n" +"Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>,\n" +" Bryn Davies <curious@ihug.com.au>,\n" +" Jonathan A. Davis <davis@jdhouse.org>,\n" +" Jeremy Tan <nsx@nsx.homeip.net>" +msgstr "" + +#: src/hotkey/plugin.c:78 +msgid "Global Hotkeys" +msgstr "" + +#: src/jack/jack.c:410 +msgid "" +"Based on xmms-jack, by Chris Morgan:\n" +"http://xmms-jack.sourceforge.net/\n" +"\n" +"Ported to Audacious by Giacomo Lozito" +msgstr "" + +#: src/jack/jack.c:416 +msgid "JACK Output" +msgstr "" + +#: src/ladspa/plugin.c:493 +#, c-format +msgid "%s Settings" +msgstr "" + +#: src/ladspa/plugin.c:561 +msgid "LADSPA Host Settings" +msgstr "" + +#: src/ladspa/plugin.c:570 +msgid "Module paths:" +msgstr "" + +#: src/ladspa/plugin.c:575 +msgid "" +"<small>Separate multiple paths with a colon.\n" +"These paths are searched in addition to LADSPA_PATH.\n" +"After adding new paths, press Enter to scan for new plugins.</small>" +msgstr "" + +#: src/ladspa/plugin.c:591 +msgid "Available plugins:" +msgstr "" + +#: src/ladspa/plugin.c:604 src/modplug/plugin_main.c:115 +#: src/modplug/plugin_main.c:119 src/modplug/plugin_main.c:123 +#: src/modplug/plugin_main.c:127 +msgid "Enable" +msgstr "" + +#: src/ladspa/plugin.c:610 +msgid "Enabled plugins:" +msgstr "" + +#: src/ladspa/plugin.c:626 +msgid "Settings" +msgstr "" + +#: src/ladspa/plugin.c:645 +msgid "" +"LADSPA Host for Audacious\n" +"Copyright 2011 John Lindgren" +msgstr "" + +#: src/ladspa/plugin.c:650 +msgid "LADSPA Host" +msgstr "" + +#: src/lirc/lirc.c:76 +#, c-format +msgid "%s: could not init LIRC support\n" +msgstr "" + +#: src/lirc/lirc.c:83 +#, c-format +msgid "" +"%s: could not read LIRC config file\n" +"%s: please read the documentation of LIRC\n" +"%s: how to create a proper config file\n" +msgstr "" + +#: src/lirc/lirc.c:114 +#, c-format +msgid "%s: trying to reconnect...\n" +msgstr "" + +#: src/lirc/lirc.c:354 +#, c-format +msgid "%s: unknown command \"%s\"\n" +msgstr "" + +#: src/lirc/lirc.c:365 +#, c-format +msgid "%s: disconnected from LIRC\n" +msgstr "" + +#: src/lirc/lirc.c:371 +#, c-format +msgid "%s: will try reconnect every %d seconds...\n" +msgstr "" + +#: src/lirc/lirc.c:381 +msgid "" +"A simple plugin to control Audacious using the LIRC remote control daemon\n" +"\n" +"Adapted for Audacious by:\n" +"Tony Vroon <chainsaw@gentoo.org>\n" +"Joonas Harjumäki <jharjuma@gmail.com>\n" +"\n" +"Based on the XMMS LIRC plugin by:\n" +"Carl van Schaik <carl@leg.uct.ac.za>\n" +"Christoph Bartelmus <xmms@bartelmus.de>\n" +"Andrew O. Shadoura <bugzilla@tut.by>\n" +"\n" +"For more information about LIRC, see http://lirc.org." +msgstr "" + +#: src/lirc/lirc.c:392 +msgid "<b>Connection</b>" +msgstr "" + +#: src/lirc/lirc.c:393 +msgid "Reconnect to LIRC server" +msgstr "" + +#: src/lirc/lirc.c:395 +msgid "Wait before reconnecting:" +msgstr "" + +#: src/lirc/lirc.c:405 +msgid "LIRC Plugin" +msgstr "" + +#: src/lyricwiki/lyricwiki.c:117 +msgid "No lyrics available" +msgstr "" + +#: src/lyricwiki/lyricwiki.c:207 src/lyricwiki/lyricwiki.c:241 +#, c-format +msgid "Unable to fetch %s" +msgstr "" + +#: src/lyricwiki/lyricwiki.c:217 src/lyricwiki/lyricwiki.c:251 +#, c-format +msgid "Unable to parse %s" +msgstr "" + +#: src/lyricwiki/lyricwiki.c:260 +msgid "Looking for lyrics ..." +msgstr "" + +#: src/lyricwiki/lyricwiki.c:271 +msgid "Missing song metadata" +msgstr "" + +#: src/lyricwiki/lyricwiki.c:284 +msgid "Connecting to lyrics.wikia.com ..." +msgstr "" + +#: src/lyricwiki/lyricwiki.c:411 +msgid "LyricWiki Plugin" +msgstr "" + +#: src/m3u/m3u.c:121 +msgid "M3U Playlists" +msgstr "" + +#: src/metronom/metronom.c:127 +#, c-format +msgid "Tact generator: %d bpm" +msgstr "" + +#: src/metronom/metronom.c:129 +#, c-format +msgid "Tact generator: %d bpm %d/%d" +msgstr "" + +#: src/metronom/metronom.c:246 +msgid "" +"A Tact Generator by Martin Strauss <mys@faveve.uni-stuttgart.de>\n" +"\n" +"To use it, add a URL: tact://beats*num/den\n" +"e.g. tact://77 to play 77 beats per minute\n" +"or tact://60*3/4 to play 60 bpm in 3/4 tacts" +msgstr "" + +#: src/metronom/metronom.c:255 +msgid "Tact Generator" +msgstr "" + +#: src/mixer/mixer.c:169 +msgid "" +"Channel Mixer Plugin for Audacious\n" +"Copyright 2011-2012 John Lindgren and Michał Lipski" +msgstr "" + +#: src/mixer/mixer.c:173 +msgid "<b>Channel Mixer</b>" +msgstr "" + +#: src/mixer/mixer.c:174 +msgid "Output channels:" +msgstr "" + +#: src/mixer/mixer.c:184 +msgid "Channel Mixer" +msgstr "" + +#: src/mms/mms.c:224 +msgid "MMS Plugin" +msgstr "" + +#: src/modplug/plugin_main.c:57 +msgid "<b>Resolution</b>" +msgstr "" + +#: src/modplug/plugin_main.c:58 +msgid "8-bit" +msgstr "" + +#: src/modplug/plugin_main.c:60 +msgid "16-bit" +msgstr "" + +#: src/modplug/plugin_main.c:62 +msgid "<b>Channels</b>" +msgstr "" + +#: src/modplug/plugin_main.c:67 +msgid "<b>Resampling</b>" +msgstr "" + +#: src/modplug/plugin_main.c:68 +msgid "Nearest (fastest)" +msgstr "" + +#: src/modplug/plugin_main.c:70 +msgid "Linear (fast)" +msgstr "" + +#: src/modplug/plugin_main.c:72 +msgid "Spline (good)" +msgstr "" + +#: src/modplug/plugin_main.c:74 +msgid "Polyphase (best)" +msgstr "" + +#: src/modplug/plugin_main.c:76 +msgid "<b>Sampling rate</b>" +msgstr "" + +#: src/modplug/plugin_main.c:77 +msgid "22 kHz" +msgstr "" + +#: src/modplug/plugin_main.c:79 +msgid "44 kHz" +msgstr "" + +#: src/modplug/plugin_main.c:81 +msgid "48 kHz" +msgstr "" + +#: src/modplug/plugin_main.c:83 +msgid "96 kHz" +msgstr "" + +#: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 +#: src/modplug/plugin_main.c:102 +msgid "Level:" +msgstr "" + +#: src/modplug/plugin_main.c:97 +msgid "Cutoff:" +msgstr "" + +#: src/modplug/plugin_main.c:114 +msgid "<b>Reverb</b>" +msgstr "" + +#: src/modplug/plugin_main.c:118 +msgid "<b>Bass Boost</b>" +msgstr "" + +#: src/modplug/plugin_main.c:122 +msgid "<b>Surround</b>" +msgstr "" + +#: src/modplug/plugin_main.c:126 +msgid "<b>Preamp</b>" +msgstr "" + +#: src/modplug/plugin_main.c:133 +msgid "<b>Miscellaneous</b>" +msgstr "" + +#: src/modplug/plugin_main.c:134 +msgid "Oversample" +msgstr "" + +#: src/modplug/plugin_main.c:136 +msgid "Noise reduction" +msgstr "" + +#: src/modplug/plugin_main.c:138 +msgid "Play Amiga MODs" +msgstr "" + +#: src/modplug/plugin_main.c:140 +msgid "<b>Repeat</b>" +msgstr "" + +#: src/modplug/plugin_main.c:141 +msgid "Repeat count:" +msgstr "" + +#: src/modplug/plugin_main.c:143 +msgid "To repeat forever, set the repeat count to -1." +msgstr "" + +#: src/modplug/plugin_main.c:238 +msgid "ModPlug (Module Player)" +msgstr "" + +#: src/mpg123/mpg123.c:211 +msgid "Surround" +msgstr "" + +#: src/mpg123/mpg123.c:569 +msgid "MPG123 Plugin" +msgstr "" + +#: src/mpris2/plugin.c:403 +msgid "MPRIS 2 Server" +msgstr "" + +#: src/neon/neon.c:1228 +msgid "Neon HTTP/HTTPS Plugin" +msgstr "" + +#: src/notify/event.c:64 +msgid "Stopped" +msgstr "" + +#: src/notify/event.c:64 +msgid "Audacious is not playing." +msgstr "" + +#: src/notify/notify.c:33 +msgid "" +"Desktop Notifications Plugin for Audacious\n" +"Copyright (C) 2010 Maximilian Bogner\n" +"Copyright (C) 2011-2013 John Lindgren and Jean-Alexandre Anglès d'Auriac\n" +"\n" +"This plugin 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 3 of the License, or (at your option) " +"any later version.\n" +"\n" +"This plugin 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.\n" +"\n" +"You should have received a copy of the GNU General Public License along with " +"this program. If not, see <http://www.gnu.org/licenses/>." +msgstr "" + +#: src/notify/notify.c:77 +msgid "Show playback controls" +msgstr "" + +#: src/notify/notify.c:80 +msgid "Always show notification" +msgstr "" + +#: src/notify/notify.c:92 +msgid "Desktop Notifications" +msgstr "" + +#: src/notify/osd.c:57 +msgid "Show" +msgstr "" + +#: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 +msgid "Pause" +msgstr "" + +#: src/notify/osd.c:72 src/skins/ui_manager.c:189 src/skins/ui_manager.c:190 +msgid "Next" +msgstr "" + +#: src/oss4/plugin.c:36 +msgid "1. Default device" +msgstr "" + +#: src/oss4/plugin.c:75 src/sndio/sndio.c:393 +msgid "Audio device:" +msgstr "" + +#: src/oss4/plugin.c:77 +msgid "Use alternate device:" +msgstr "" + +#: src/oss4/plugin.c:81 +msgid "Save volume between sessions." +msgstr "" + +#: src/oss4/plugin.c:83 +msgid "Enable format conversions made by the OSS software." +msgstr "" + +#: src/oss4/plugin.c:85 +msgid "Enable exclusive mode to prevent virtual mixing." +msgstr "" + +#: src/oss4/plugin.c:108 +msgid "" +"OSS4 Output Plugin for Audacious\n" +"Copyright 2010-2012 Michał Lipski\n" +"\n" +"I would like to thank people on #audacious, especially Tony Vroon and John " +"Lindgren and of course the authors of the previous OSS plugin." +msgstr "" + +#: src/oss4/plugin.c:115 +msgid "OSS4 Output" +msgstr "" + +#: src/pls/pls.c:113 +msgid "PLS Playlists" +msgstr "" + +#: src/psf/plugin.c:264 +msgid "OpenPSF PSF1/PSF2 Decoder" +msgstr "" + +#: src/pulse_audio/pulse_audio.c:644 +msgid "" +"Audacious PulseAudio Output Plugin\n" +"\n" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 2 of the License, or\n" +"(at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful,\n" +"but WITHOUT ANY WARRANTY; without even the implied warranty of\n" +"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" +"GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License\n" +"along with this program; if not, write to the Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." +msgstr "" + +#: src/pulse_audio/pulse_audio.c:662 +msgid "PulseAudio Output" +msgstr "" + +#: src/resample/resample.c:161 +msgid "" +"Sample Rate Converter Plugin for Audacious\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/resample/resample.c:165 +msgid "Skip/repeat samples" +msgstr "" + +#: src/resample/resample.c:166 +msgid "Linear interpolation" +msgstr "" + +#: src/resample/resample.c:167 +msgid "Fast sinc interpolation" +msgstr "" + +#: src/resample/resample.c:168 +msgid "Medium sinc interpolation" +msgstr "" + +#: src/resample/resample.c:169 +msgid "Best sinc interpolation" +msgstr "" + +#: src/resample/resample.c:172 +msgid "<b>Conversion</b>" +msgstr "" + +#: src/resample/resample.c:173 +msgid "Method:" +msgstr "" + +#: src/resample/resample.c:176 src/sox-resampler/sox-resampler.c:151 +msgid "Rate:" +msgstr "" + +#: src/resample/resample.c:179 +msgid "<b>Rate Mappings</b>" +msgstr "" + +#: src/resample/resample.c:180 +msgid "Use rate mappings" +msgstr "" + +#: src/resample/resample.c:182 +msgid "8 kHz:" +msgstr "" + +#: src/resample/resample.c:185 +msgid "16 kHz:" +msgstr "" + +#: src/resample/resample.c:188 +msgid "22.05 kHz:" +msgstr "" + +#: src/resample/resample.c:191 +msgid "44.1 kHz:" +msgstr "" + +#: src/resample/resample.c:194 +msgid "48 kHz:" +msgstr "" + +#: src/resample/resample.c:197 +msgid "96 kHz:" +msgstr "" + +#: src/resample/resample.c:200 +msgid "192 kHz:" +msgstr "" + +#: src/resample/resample.c:210 +msgid "Sample Rate Converter" +msgstr "" + +#: src/scrobbler2/config_window.c:41 +#, c-format +msgid "OK. Scrobbling for user: %s" +msgstr "" + +#: src/scrobbler2/config_window.c:52 +msgid "Permission Denied" +msgstr "" + +#: src/scrobbler2/config_window.c:54 +msgid "Access the following link to allow Audacious to scrobble your plays:" +msgstr "" + +#: src/scrobbler2/config_window.c:63 +msgid "Keep this window open and click 'Check Permission' again.\n" +msgstr "" + +#: src/scrobbler2/config_window.c:66 src/scrobbler2/config_window.c:77 +msgid "" +"Don't worry. Your scrobbles are saved on your computer.\n" +"They will be submitted as soon as Audacious is allowed to do so." +msgstr "" + +#: src/scrobbler2/config_window.c:74 +msgid "Network Problem." +msgstr "" + +#: src/scrobbler2/config_window.c:75 +msgid "There was a problem contacting Last.fm. Please try again later." +msgstr "" + +#: src/scrobbler2/config_window.c:107 +msgid "Checking..." +msgstr "" + +#: src/scrobbler2/config_window.c:173 +msgid "C_heck Permission" +msgstr "" + +#: src/scrobbler2/config_window.c:174 +msgid "_Revoke Permission" +msgstr "" + +#: src/scrobbler2/config_window.c:221 +msgid "" +"You need to allow Audacious to scrobble tracks to your Last.fm account.\n" +msgstr "" + +#: src/scrobbler2/scrobbler.c:233 +msgid "" +"The Scrobbler plugin could not be started.\n" +"There might be a problem with your installation." +msgstr "" + +#: src/scrobbler2/scrobbler.c:311 +msgid "" +"Audacious Scrobbler Plugin 2.0 by Pitxyoki,\n" +"\n" +"Copyright © 2012-2013 Luís M. Picciochi Oliveira <Pitxyoki@Gmail.com>\n" +"\n" +"Thanks to John Lindgren for giving me a hand at the beginning of this " +"project.\n" +"\n" +msgstr "" + +#: src/scrobbler2/scrobbler.c:317 +msgid "Scrobbler 2.0" +msgstr "" + +#: src/scrobbler2/scrobbler_communication.c:690 +msgid "" +"Audacious is now using an improved version of the Last.fm Scrobbler.\n" +"Please check the Preferences for the Scrobbler plugin." +msgstr "" + +#: src/sdlout/plugin.c:26 +msgid "" +"SDL Output Plugin for Audacious\n" +"Copyright 2010 John Lindgren" +msgstr "" + +#: src/sdlout/plugin.c:31 +msgid "SDL Output" +msgstr "" + +#: src/search-tool/search-tool.c:111 src/search-tool/search-tool.c:121 +msgid "Library" +msgstr "" + +#: src/search-tool/search-tool.c:219 +msgid "Unknown Artist" +msgstr "" + +#: src/search-tool/search-tool.c:221 +msgid "Unknown Album" +msgstr "" + +#: src/search-tool/search-tool.c:632 +#, c-format +msgid "" +"%s\n" +" on %s by %s" +msgstr "" + +#: src/search-tool/search-tool.c:638 +#, c-format +msgid "%d album" +msgid_plural "%d albums" +msgstr[0] "" +msgstr[1] "" + +#: src/search-tool/search-tool.c:640 +#, c-format +msgid "" +"%s\n" +" %s, %d song" +msgid_plural "" +"%s\n" +" %s, %d songs" +msgstr[0] "" +msgstr[1] "" + +#: src/search-tool/search-tool.c:646 +#, c-format +msgid "" +"%s\n" +" %d song by %s" +msgid_plural "" +"%s\n" +" %d songs by %s" +msgstr[0] "" +msgstr[1] "" + +#: src/search-tool/search-tool.c:687 +msgid "_Create Playlist" +msgstr "" + +#: src/search-tool/search-tool.c:694 +msgid "_Add to Playlist" +msgstr "" + +#: src/search-tool/search-tool.c:734 +msgid "Search library" +msgstr "" + +#: src/search-tool/search-tool.c:739 +msgid "" +"To import your music library into Audacious, choose a folder and then click " +"the \"refresh\" icon." +msgstr "" + +#: src/search-tool/search-tool.c:747 +msgid "Please wait ..." +msgstr "" + +#: src/search-tool/search-tool.c:769 +msgid "Choose Folder" +msgstr "" + +#: src/search-tool/search-tool.c:808 +msgid "Search Tool" +msgstr "" + +#: src/skins/plugin.c:49 +msgid "Winamp Classic Interface" +msgstr "" + +#: src/skins/skins_cfg.c:204 +msgid "_Player:" +msgstr "" + +#: src/skins/skins_cfg.c:205 +msgid "Select main player window font:" +msgstr "" + +#: src/skins/skins_cfg.c:207 +msgid "_Playlist:" +msgstr "" + +#: src/skins/skins_cfg.c:208 +msgid "Select playlist font:" +msgstr "" + +#: src/skins/skins_cfg.c:212 +msgid "<b>_Fonts</b>" +msgstr "" + +#: src/skins/skins_cfg.c:215 +msgid "Use bitmap fonts (supports ASCII only)" +msgstr "" + +#: src/skins/skins_cfg.c:217 +msgid "Scroll song title in both directions" +msgstr "" + +#: src/skins/skins_cfg.c:295 +msgid "<b>_Skin</b>" +msgstr "" + +#: src/skins/skins_cfg.c:342 +msgid "Interface Preferences" +msgstr "" + +#: src/skins/ui_equalizer.c:328 +msgid "Preamp" +msgstr "" + +#: src/skins/ui_equalizer.c:332 +msgid "31 Hz" +msgstr "" + +#: src/skins/ui_equalizer.c:333 +msgid "63 Hz" +msgstr "" + +#: src/skins/ui_equalizer.c:333 +msgid "125 Hz" +msgstr "" + +#: src/skins/ui_equalizer.c:333 +msgid "250 Hz" +msgstr "" + +#: src/skins/ui_equalizer.c:333 +msgid "500 Hz" +msgstr "" + +#: src/skins/ui_equalizer.c:333 +msgid "1 kHz" +msgstr "" + +#: src/skins/ui_equalizer.c:334 +msgid "2 kHz" +msgstr "" + +#: src/skins/ui_equalizer.c:334 +msgid "4 kHz" +msgstr "" + +#: src/skins/ui_equalizer.c:334 +msgid "8 kHz" +msgstr "" + +#: src/skins/ui_equalizer.c:334 +msgid "16 kHz" +msgstr "" + +#: src/skins/ui_equalizer.c:375 +msgid "Audacious Equalizer" +msgstr "" + +#: src/skins/ui_equalizer.c:890 +msgid "Presets" +msgstr "" + +#: src/skins/ui_equalizer.c:971 src/skins/ui_manager.c:451 +msgid "Load preset" +msgstr "" + +#: src/skins/ui_equalizer.c:988 +msgid "Load auto-preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1018 src/skins/ui_equalizer.c:1036 +#: src/skins/ui_equalizer.c:1052 +msgid "Load equalizer preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1071 src/skins/ui_manager.c:472 +msgid "Save preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1087 +msgid "Save auto-preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1118 src/skins/ui_equalizer.c:1154 +msgid "Save equalizer preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1173 src/skins/ui_manager.c:487 +msgid "Delete preset" +msgstr "" + +#: src/skins/ui_equalizer.c:1190 +msgid "Delete auto-preset" +msgstr "" + +#: src/skins/ui_main.c:414 +msgid "kbps" +msgstr "" + +#: src/skins/ui_main.c:422 +msgid "kHz" +msgstr "" + +#: src/skins/ui_main.c:770 +#, c-format +msgid "Seek to %d:%-2.2d / %d:%-2.2d" +msgstr "" + +#: src/skins/ui_main.c:791 +#, c-format +msgid "Volume: %d%%" +msgstr "" + +#: src/skins/ui_main.c:814 +#, c-format +msgid "Balance: %d%% left" +msgstr "" + +#: src/skins/ui_main.c:816 +msgid "Balance: center" +msgstr "" + +#: src/skins/ui_main.c:818 +#, c-format +msgid "Balance: %d%% right" +msgstr "" + +#: src/skins/ui_main.c:942 +msgid "Options Menu" +msgstr "" + +#: src/skins/ui_main.c:946 +msgid "Disable 'Always On Top'" +msgstr "" + +#: src/skins/ui_main.c:948 +msgid "Enable 'Always On Top'" +msgstr "" + +#: src/skins/ui_main.c:951 +msgid "File Info Box" +msgstr "" + +#: src/skins/ui_main.c:956 +msgid "Visualization Menu" +msgstr "" + +#: src/skins/ui_main.c:1591 +msgid "Single mode." +msgstr "" + +#: src/skins/ui_main.c:1593 +msgid "Playlist mode." +msgstr "" + +#: src/skins/ui_main.c:1615 +msgid "Stopping after song." +msgstr "" + +#: src/skins/ui_main.c:1617 +msgid "Not stopping after song." +msgstr "" + +#: src/skins/ui_main.c:1752 +msgid "Repeat point A set." +msgstr "" + +#: src/skins/ui_main.c:1757 +msgid "Repeat point B set." +msgstr "" + +#: src/skins/ui_main.c:1766 +msgid "Repeat points cleared." +msgstr "" + +#: src/skins/ui_manager.c:66 src/skins/ui_manager.c:67 +msgid "Autoscroll Song Name" +msgstr "" + +#: src/skins/ui_manager.c:69 src/skins/ui_manager.c:70 +msgid "Stop after Current Song" +msgstr "" + +#: src/skins/ui_manager.c:72 src/skins/ui_manager.c:73 +msgid "Peaks" +msgstr "" + +#: src/skins/ui_manager.c:75 src/skins/ui_manager.c:76 +msgid "Repeat" +msgstr "" + +#: src/skins/ui_manager.c:78 src/skins/ui_manager.c:79 +msgid "Shuffle" +msgstr "" + +#: src/skins/ui_manager.c:81 src/skins/ui_manager.c:82 +msgid "No Playlist Advance" +msgstr "" + +#: src/skins/ui_manager.c:84 src/skins/ui_manager.c:85 +msgid "Show Player" +msgstr "" + +#: src/skins/ui_manager.c:87 src/skins/ui_manager.c:88 +msgid "Show Playlist Editor" +msgstr "" + +#: src/skins/ui_manager.c:90 src/skins/ui_manager.c:91 +msgid "Show Equalizer" +msgstr "" + +#: src/skins/ui_manager.c:93 src/skins/ui_manager.c:94 +msgid "Always on Top" +msgstr "" + +#: src/skins/ui_manager.c:96 src/skins/ui_manager.c:97 +msgid "Put on All Workspaces" +msgstr "" + +#: src/skins/ui_manager.c:99 src/skins/ui_manager.c:100 +msgid "Roll up Player" +msgstr "" + +#: src/skins/ui_manager.c:102 src/skins/ui_manager.c:103 +msgid "Roll up Playlist Editor" +msgstr "" + +#: src/skins/ui_manager.c:105 src/skins/ui_manager.c:106 +msgid "Roll up Equalizer" +msgstr "" + +#: src/skins/ui_manager.c:114 +msgid "Analyzer" +msgstr "" + +#: src/skins/ui_manager.c:115 +msgid "Scope" +msgstr "" + +#: src/skins/ui_manager.c:116 +msgid "Voiceprint" +msgstr "" + +#: src/skins/ui_manager.c:117 +msgid "Off" +msgstr "" + +#: src/skins/ui_manager.c:121 src/skins/ui_manager.c:138 +#: src/skins/ui_manager.c:144 +msgid "Normal" +msgstr "" + +#: src/skins/ui_manager.c:122 src/skins/ui_manager.c:139 +msgid "Fire" +msgstr "" + +#: src/skins/ui_manager.c:123 +msgid "Vertical Lines" +msgstr "" + +#: src/skins/ui_manager.c:127 +msgid "Lines" +msgstr "" + +#: src/skins/ui_manager.c:128 +msgid "Bars" +msgstr "" + +#: src/skins/ui_manager.c:132 +msgid "Dot Scope" +msgstr "" + +#: src/skins/ui_manager.c:133 +msgid "Line Scope" +msgstr "" + +#: src/skins/ui_manager.c:134 +msgid "Solid Scope" +msgstr "" + +#: src/skins/ui_manager.c:140 +msgid "Ice" +msgstr "" + +#: src/skins/ui_manager.c:145 +msgid "Smooth" +msgstr "" + +#: src/skins/ui_manager.c:149 src/skins/ui_manager.c:157 +msgid "Slowest" +msgstr "" + +#: src/skins/ui_manager.c:150 src/skins/ui_manager.c:158 +msgid "Slow" +msgstr "" + +#: src/skins/ui_manager.c:151 src/skins/ui_manager.c:159 +#: src/sox-resampler/sox-resampler.c:143 +msgid "Medium" +msgstr "" + +#: src/skins/ui_manager.c:152 src/skins/ui_manager.c:160 +msgid "Fast" +msgstr "" + +#: src/skins/ui_manager.c:153 src/skins/ui_manager.c:161 +msgid "Fastest" +msgstr "" + +#: src/skins/ui_manager.c:165 +msgid "Time Elapsed" +msgstr "" + +#: src/skins/ui_manager.c:166 +msgid "Time Remaining" +msgstr "" + +#: src/skins/ui_manager.c:186 src/skins/ui_manager.c:187 +msgid "Previous" +msgstr "" + +#: src/skins/ui_manager.c:195 +msgid "Visualization" +msgstr "" + +#: src/skins/ui_manager.c:196 +msgid "Visualization Mode" +msgstr "" + +#: src/skins/ui_manager.c:197 +msgid "Analyzer Mode" +msgstr "" + +#: src/skins/ui_manager.c:198 +msgid "Scope Mode" +msgstr "" + +#: src/skins/ui_manager.c:199 +msgid "Voiceprint Mode" +msgstr "" + +#: src/skins/ui_manager.c:200 +msgid "WindowShade VU Mode" +msgstr "" + +#: src/skins/ui_manager.c:201 +msgid "Analyzer Falloff" +msgstr "" + +#: src/skins/ui_manager.c:202 +msgid "Peaks Falloff" +msgstr "" + +#: src/skins/ui_manager.c:207 +msgid "Playlist" +msgstr "" + +#: src/skins/ui_manager.c:209 src/skins/ui_manager.c:210 +msgid "Play Playlist" +msgstr "" + +#: src/skins/ui_manager.c:212 src/skins/ui_manager.c:213 +msgid "New Playlist" +msgstr "" + +#: src/skins/ui_manager.c:215 src/skins/ui_manager.c:216 +msgid "Select Next Playlist" +msgstr "" + +#: src/skins/ui_manager.c:218 src/skins/ui_manager.c:219 +msgid "Select Previous Playlist" +msgstr "" + +#: src/skins/ui_manager.c:221 src/skins/ui_manager.c:222 +msgid "Delete Playlist" +msgstr "" + +#: src/skins/ui_manager.c:224 +msgid "Import Playlist" +msgstr "" + +#: src/skins/ui_manager.c:225 +msgid "Loads a playlist file into the selected playlist." +msgstr "" + +#: src/skins/ui_manager.c:228 +msgid "Export Playlist" +msgstr "" + +#: src/skins/ui_manager.c:229 +msgid "Saves the selected playlist." +msgstr "" + +#: src/skins/ui_manager.c:231 +msgid "Refresh List" +msgstr "" + +#: src/skins/ui_manager.c:232 +msgid "Refreshes metadata associated with a playlist entry." +msgstr "" + +#: src/skins/ui_manager.c:235 +msgid "Playlist Manager" +msgstr "" + +#: src/skins/ui_manager.c:238 +msgid "Queue Manager" +msgstr "" + +#: src/skins/ui_manager.c:243 +msgid "View" +msgstr "" + +#: src/skins/ui_manager.c:244 +msgid "Interface" +msgstr "" + +#: src/skins/ui_manager.c:245 +msgid "Interface Preferences ..." +msgstr "" + +#: src/skins/ui_manager.c:250 +msgid "Add Internet Address..." +msgstr "" + +#: src/skins/ui_manager.c:251 +msgid "Adds a remote track to the playlist." +msgstr "" + +#: src/skins/ui_manager.c:254 +msgid "Add Files..." +msgstr "" + +#: src/skins/ui_manager.c:255 +msgid "Adds files to the playlist." +msgstr "" + +#: src/skins/ui_manager.c:260 +msgid "Search and Select" +msgstr "" + +#: src/skins/ui_manager.c:261 +msgid "" +"Searches the playlist and selects playlist entries based on specific " +"criteria." +msgstr "" + +#: src/skins/ui_manager.c:264 +msgid "Invert Selection" +msgstr "" + +#: src/skins/ui_manager.c:265 +msgid "Inverts the selected and unselected entries." +msgstr "" + +#: src/skins/ui_manager.c:268 +msgid "Select All" +msgstr "" + +#: src/skins/ui_manager.c:269 +msgid "Selects all of the playlist entries." +msgstr "" + +#: src/skins/ui_manager.c:272 +msgid "Select None" +msgstr "" + +#: src/skins/ui_manager.c:273 +msgid "Deselects all of the playlist entries." +msgstr "" + +#: src/skins/ui_manager.c:278 +msgid "Remove All" +msgstr "" + +#: src/skins/ui_manager.c:279 +msgid "Removes all entries from the playlist." +msgstr "" + +#: src/skins/ui_manager.c:282 +msgid "Clear Queue" +msgstr "" + +#: src/skins/ui_manager.c:283 +msgid "Clears the queue associated with this playlist." +msgstr "" + +#: src/skins/ui_manager.c:286 +msgid "Remove Unavailable Files" +msgstr "" + +#: src/skins/ui_manager.c:287 +msgid "Removes unavailable files from the playlist." +msgstr "" + +#: src/skins/ui_manager.c:290 +msgid "Remove Duplicates" +msgstr "" + +#: src/skins/ui_manager.c:292 src/skins/ui_manager.c:324 +#: src/skins/ui_manager.c:354 +msgid "By Title" +msgstr "" + +#: src/skins/ui_manager.c:293 +msgid "Removes duplicate entries from the playlist by title." +msgstr "" + +#: src/skins/ui_manager.c:296 src/skins/ui_manager.c:336 +#: src/skins/ui_manager.c:366 +msgid "By Filename" +msgstr "" + +#: src/skins/ui_manager.c:297 +msgid "Removes duplicate entries from the playlist by filename." +msgstr "" + +#: src/skins/ui_manager.c:300 src/skins/ui_manager.c:340 +#: src/skins/ui_manager.c:370 +msgid "By Path + Filename" +msgstr "" + +#: src/skins/ui_manager.c:301 +msgid "Removes duplicate entries from the playlist by their full path." +msgstr "" + +#: src/skins/ui_manager.c:304 +msgid "Remove Unselected" +msgstr "" + +#: src/skins/ui_manager.c:305 +msgid "Remove unselected entries from the playlist." +msgstr "" + +#: src/skins/ui_manager.c:308 +msgid "Remove Selected" +msgstr "" + +#: src/skins/ui_manager.c:309 +msgid "Remove selected entries from the playlist." +msgstr "" + +#: src/skins/ui_manager.c:314 +msgid "Randomize List" +msgstr "" + +#: src/skins/ui_manager.c:315 +msgid "Randomizes the playlist." +msgstr "" + +#: src/skins/ui_manager.c:318 +msgid "Reverse List" +msgstr "" + +#: src/skins/ui_manager.c:319 +msgid "Reverses the playlist." +msgstr "" + +#: src/skins/ui_manager.c:322 +msgid "Sort List" +msgstr "" + +#: src/skins/ui_manager.c:325 src/skins/ui_manager.c:355 +msgid "Sorts the list by title." +msgstr "" + +#: src/skins/ui_manager.c:328 src/skins/ui_manager.c:358 +msgid "By Album" +msgstr "" + +#: src/skins/ui_manager.c:329 src/skins/ui_manager.c:359 +msgid "Sorts the list by album." +msgstr "" + +#: src/skins/ui_manager.c:332 src/skins/ui_manager.c:362 +msgid "By Artist" +msgstr "" + +#: src/skins/ui_manager.c:333 src/skins/ui_manager.c:363 +msgid "Sorts the list by artist." +msgstr "" + +#: src/skins/ui_manager.c:337 src/skins/ui_manager.c:367 +msgid "Sorts the list by filename." +msgstr "" + +#: src/skins/ui_manager.c:341 src/skins/ui_manager.c:371 +msgid "Sorts the list by full pathname." +msgstr "" + +#: src/skins/ui_manager.c:344 src/skins/ui_manager.c:374 +msgid "By Date" +msgstr "" + +#: src/skins/ui_manager.c:345 src/skins/ui_manager.c:375 +msgid "Sorts the list by modification time." +msgstr "" + +#: src/skins/ui_manager.c:348 src/skins/ui_manager.c:378 +msgid "By Track Number" +msgstr "" + +#: src/skins/ui_manager.c:349 src/skins/ui_manager.c:379 +msgid "Sorts the list by track number." +msgstr "" + +#: src/skins/ui_manager.c:352 +msgid "Sort Selected" +msgstr "" + +#: src/skins/ui_manager.c:388 +msgid "File" +msgstr "" + +#: src/skins/ui_manager.c:391 +msgid "Plugin Services" +msgstr "" + +#: src/skins/ui_manager.c:393 src/skins/ui_manager.c:396 +msgid "View Track Details" +msgstr "" + +#: src/skins/ui_manager.c:394 src/skins/ui_manager.c:397 +msgid "View track details" +msgstr "" + +#: src/skins/ui_manager.c:399 src/skins/ui_manager.c:400 +msgid "About Audacious" +msgstr "" + +#: src/skins/ui_manager.c:402 +msgid "Play File" +msgstr "" + +#: src/skins/ui_manager.c:403 +msgid "Load and play a file" +msgstr "" + +#: src/skins/ui_manager.c:405 +msgid "Play Location" +msgstr "" + +#: src/skins/ui_manager.c:406 +msgid "Play media from the selected location" +msgstr "" + +#: src/skins/ui_manager.c:408 +msgid "Plugin services" +msgstr "" + +#: src/skins/ui_manager.c:410 +msgid "Preferences" +msgstr "" + +#: src/skins/ui_manager.c:411 +msgid "Open preferences window" +msgstr "" + +#: src/skins/ui_manager.c:414 +msgid "Quit Audacious" +msgstr "" + +#: src/skins/ui_manager.c:416 src/skins/ui_manager.c:417 +msgid "Set A-B" +msgstr "" + +#: src/skins/ui_manager.c:419 src/skins/ui_manager.c:420 +msgid "Clear A-B" +msgstr "" + +#: src/skins/ui_manager.c:422 src/skins/ui_manager.c:423 +msgid "Jump to File" +msgstr "" + +#: src/skins/ui_manager.c:425 src/skins/ui_manager.c:426 +msgid "Jump to Time" +msgstr "" + +#: src/skins/ui_manager.c:428 +msgid "Queue Toggle" +msgstr "" + +#: src/skins/ui_manager.c:429 +msgid "Enables/disables the entry in the playlist's queue." +msgstr "" + +#: src/skins/ui_manager.c:432 +msgid "Copy" +msgstr "" + +#: src/skins/ui_manager.c:435 +msgid "Cut" +msgstr "" + +#: src/skins/ui_manager.c:438 +msgid "Paste" +msgstr "" + +#: src/skins/ui_manager.c:445 +msgid "Load" +msgstr "" + +#: src/skins/ui_manager.c:446 +msgid "Import" +msgstr "" + +#: src/skins/ui_manager.c:447 +msgid "Save" +msgstr "" + +#: src/skins/ui_manager.c:448 +msgid "Delete" +msgstr "" + +#: src/skins/ui_manager.c:450 src/skins/ui_manager.c:471 +#: src/skins/ui_manager.c:486 +msgid "Preset" +msgstr "" + +#: src/skins/ui_manager.c:453 src/skins/ui_manager.c:474 +#: src/skins/ui_manager.c:489 +msgid "Auto-load preset" +msgstr "" + +#: src/skins/ui_manager.c:454 +msgid "Load auto-load preset" +msgstr "" + +#: src/skins/ui_manager.c:457 +msgid "Load default preset into equalizer" +msgstr "" + +#: src/skins/ui_manager.c:459 +msgid "Zero" +msgstr "" + +#: src/skins/ui_manager.c:460 +msgid "Set equalizer preset levels to zero" +msgstr "" + +#: src/skins/ui_manager.c:462 +msgid "From file" +msgstr "" + +#: src/skins/ui_manager.c:463 +msgid "Load preset from file" +msgstr "" + +#: src/skins/ui_manager.c:465 +msgid "From WinAMP EQF file" +msgstr "" + +#: src/skins/ui_manager.c:466 +msgid "Load preset from WinAMP EQF file" +msgstr "" + +#: src/skins/ui_manager.c:468 +msgid "WinAMP Presets" +msgstr "" + +#: src/skins/ui_manager.c:469 +msgid "Import WinAMP presets" +msgstr "" + +#: src/skins/ui_manager.c:475 +msgid "Save auto-load preset" +msgstr "" + +#: src/skins/ui_manager.c:478 +msgid "Save default preset" +msgstr "" + +#: src/skins/ui_manager.c:480 +msgid "To file" +msgstr "" + +#: src/skins/ui_manager.c:481 +msgid "Save preset to file" +msgstr "" + +#: src/skins/ui_manager.c:483 +msgid "To WinAMP EQF file" +msgstr "" + +#: src/skins/ui_manager.c:484 +msgid "Save preset to WinAMP EQF file" +msgstr "" + +#: src/skins/ui_manager.c:490 +msgid "Delete auto-load preset" +msgstr "" + +#: src/skins/ui_playlist.c:244 +msgid "Search entries in active playlist" +msgstr "" + +#: src/skins/ui_playlist.c:251 +msgid "" +"Select entries in playlist by filling one or more fields. Fields use regular " +"expressions syntax, case-insensitive. If you don't know how regular " +"expressions work, simply insert a literal portion of what you're searching " +"for." +msgstr "" + +#: src/skins/ui_playlist.c:259 +msgid "Title: " +msgstr "" + +#: src/skins/ui_playlist.c:267 +msgid "Album: " +msgstr "" + +#: src/skins/ui_playlist.c:275 +msgid "Artist: " +msgstr "" + +#: src/skins/ui_playlist.c:283 +msgid "Filename: " +msgstr "" + +#: src/skins/ui_playlist.c:292 +msgid "Clear previous selection before searching" +msgstr "" + +#: src/skins/ui_playlist.c:295 +msgid "Automatically toggle queue for matching entries" +msgstr "" + +#: src/skins/ui_playlist.c:298 +msgid "Create a new playlist with matching entries" +msgstr "" + +#: src/skins/ui_playlist.c:738 +msgid "Audacious Playlist Editor" +msgstr "" + +#: src/skins/ui_playlist.c:772 +#, c-format +msgid "%s (%d of %d)" +msgstr "" + +#: src/skins/ui_skinselector.c:162 +msgid "Archived Winamp 2.x skin" +msgstr "" + +#: src/skins/ui_skinselector.c:167 +msgid "Unarchived Winamp 2.x skin" +msgstr "" + +#: src/skins/util.c:773 +#, c-format +msgid "Could not create directory (%s): %s\n" +msgstr "" + +#: src/sndfile/plugin.c:416 +msgid "" +"Based on the xmms_sndfile plugin:\n" +"Copyright (C) 2000, 2002 Erik de Castro Lopo\n" +"\n" +"Adapted for Audacious by Tony Vroon <chainsaw@gentoo.org>\n" +"\n" +"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.\n" +"\n" +"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.\n" +"\n" +"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." +msgstr "" + +#: src/sndfile/plugin.c:435 +msgid "Sndfile Plugin" +msgstr "" + +#: src/sndio/sndio.c:172 +msgid "About Sndio Output Plugin" +msgstr "" + +#: src/sndio/sndio.c:173 +msgid "" +"Sndio Output Plugin\n" +"\n" +"Written by Thomas Pfaff <tpfaff@tp76.info>\n" +msgstr "" + +#: src/sndio/sndio.c:248 +msgid "Unsupported format" +msgstr "" + +#: src/sndio/sndio.c:249 +msgid "" +"A format not supported by the audio device was requested.\n" +"\n" +"Please try again with the sndiod(1) server running." +msgstr "" + +#: src/sndio/sndio.c:384 +msgid "sndio device" +msgstr "" + +#: src/sndio/sndio.c:400 +msgid "(empty means default)" +msgstr "" + +#: src/sndio/sndio.c:416 +msgid "OK" +msgstr "OK" + +#: src/sndio/sndio.c:424 +msgid "Cancel" +msgstr "Cancel" + +#: src/song_change/song_change.c:54 +msgid "Song Change" +msgstr "" + +#: src/song_change/song_change.c:436 +msgid "Command to run when Audacious starts a new song." +msgstr "" + +#: src/song_change/song_change.c:438 src/song_change/song_change.c:444 +#: src/song_change/song_change.c:450 src/song_change/song_change.c:456 +msgid "Command:" +msgstr "" + +#: src/song_change/song_change.c:442 +msgid "Command to run toward the end of a song." +msgstr "" + +#: src/song_change/song_change.c:448 +msgid "Command to run when Audacious reaches the end of the playlist." +msgstr "" + +#: src/song_change/song_change.c:454 +msgid "" +"Command to run when title changes for a song (i.e. network streams titles)." +msgstr "" + +#: src/song_change/song_change.c:460 +msgid "" +"You can use the following format strings which\n" +"will be substituted before calling the command\n" +"(not all are useful for the end-of-playlist command):\n" +"\n" +"%F: Frequency (in hertz)\n" +"%c: Number of channels\n" +"%f: File name (full path)\n" +"%l: Length (in milliseconds)\n" +"%n or %s: Song name\n" +"%r: Rate (in bits per second)\n" +"%t: Playlist position (%02d)\n" +"%p: Currently playing (1 or 0)\n" +"%a: Artist\n" +"%b: Album\n" +"%T: Track title" +msgstr "" + +#: src/song_change/song_change.c:487 +msgid "" +"<span size='small'>Parameters passed to the shell should be encapsulated in " +"quotes. Doing otherwise is a security risk.</span>" +msgstr "" + +#: src/song_change/song_change.c:498 +msgid "Commands" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:135 +msgid "" +"SoX Resampler Plugin for Audacious\n" +"Copyright 2013 Michał Lipski\n" +"\n" +"Based on Sample Rate Converter Plugin:\n" +"Copyright 2010-2012 John Lindgren" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:141 +msgid "Quick" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:142 +msgid "Low" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:144 +msgid "High" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:145 +msgid "Very High" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:148 +msgid "Quality:" +msgstr "" + +#: src/sox-resampler/sox-resampler.c:162 +msgid "SoX Resampler" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:225 +msgid "<b>Speed and Pitch</b>" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:226 +msgid "Speed:" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:229 +msgid "Pitch:" +msgstr "" + +#: src/speed-pitch/speed-pitch.c:264 +msgid "Speed and Pitch" +msgstr "" + +#: src/statusicon/statusicon.c:390 +msgid "" +"Status Icon Plugin\n" +"\n" +"Copyright 2005-2007 Giacomo Lozito <james@develia.org>\n" +"Copyright 2010 Michał Lipski <tallica@o2.pl>\n" +"\n" +"This plugin provides a status icon, placed in\n" +"the system tray area of the window manager." +msgstr "" + +#: src/statusicon/statusicon.c:397 +msgid "<b>Mouse Scroll Action</b>" +msgstr "" + +#: src/statusicon/statusicon.c:398 +msgid "Change volume" +msgstr "" + +#: src/statusicon/statusicon.c:401 +msgid "Change playing song" +msgstr "" + +#: src/statusicon/statusicon.c:404 +msgid "<b>Other Settings</b>" +msgstr "" + +#: src/statusicon/statusicon.c:405 +msgid "Disable the popup window" +msgstr "" + +#: src/statusicon/statusicon.c:407 +msgid "Close to the system tray" +msgstr "" + +#: src/statusicon/statusicon.c:409 +msgid "Advance in playlist when scrolling upward" +msgstr "" + +#: src/statusicon/statusicon.c:418 +msgid "Status Icon" +msgstr "" + +#: src/stereo_plugin/stereo.c:17 +msgid "" +"Extra Stereo Plugin\n" +"\n" +"By Johan Levin, 1999" +msgstr "" + +#: src/stereo_plugin/stereo.c:25 +msgid "<b>Extra Stereo</b>" +msgstr "" + +#: src/stereo_plugin/stereo.c:36 +msgid "Extra Stereo" +msgstr "" + +#: src/tonegen/tonegen.c:84 +#, c-format +msgid "%s %.1f Hz" +msgstr "" + +#: src/tonegen/tonegen.c:84 +msgid "Tone Generator: " +msgstr "" + +#: src/tonegen/tonegen.c:197 +msgid "" +"Sine tone generator by Håvard Kvålen <havardk@xmms.org>\n" +"Modified by Daniel J. Peng <danielpeng@bigfoot.com>\n" +"\n" +"To use it, add a URL: tone://frequency1;frequency2;frequency3;...\n" +"e.g. tone://2000;2005 to play a 2000 Hz tone and a 2005 Hz tone" +msgstr "" + +#: src/tonegen/tonegen.c:206 +msgid "Tone Generator" +msgstr "" + +#: src/unix-io/unix-io.c:243 +msgid "" +"File I/O Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." +msgstr "" + +#: src/unix-io/unix-io.c:266 +msgid "File I/O Plugin" +msgstr "" + +#: src/voice_removal/voice_removal.c:58 +msgid "Voice Removal" +msgstr "" + +#: src/vorbis/vorbis.c:555 +msgid "" +"Audacious Ogg Vorbis Decoder\n" +"\n" +"Based on the Xiph.org Foundation's Ogg Vorbis Plugin:\n" +"http://www.xiph.org/\n" +"\n" +"Original code by:\n" +"Tony Arcieri <bascule@inferno.tusculum.edu>\n" +"\n" +"Contributions from:\n" +"Chris Montgomery <monty@xiph.org>\n" +"Peter Alm <peter@xmms.org>\n" +"Michael Smith <msmith@labyrinth.edu.au>\n" +"Jack Moffitt <jack@icecast.org>\n" +"Jorn Baayen <jorn@nl.linux.org>\n" +"Håvard Kvålen <havardk@xmms.org>\n" +"Gian-Carlo Pascutto <gcp@sjeng.org>\n" +"Eugene Zagidullin <e.asphyx@gmail.com>" +msgstr "" + +#: src/vorbis/vorbis.c:575 +msgid "Ogg Vorbis Decoder" +msgstr "" + +#: src/vtx/vtx.c:242 +msgid "" +"Vortex file format player by Sashnov Alexander <sashnov@ngs.ru>\n" +"Based on in_vtx.dll by Roman Sherbakov <v_soft@microfor.ru>\n" +"Audacious plugin by Pavel Vymetalek <pvymetalek@seznam.cz>" +msgstr "" + +#: src/vtx/vtx.c:248 +msgid "VTX Decoder" +msgstr "" + +#: src/wavpack/wavpack.c:282 +msgid "lossy (hybrid)" +msgstr "" + +#: src/wavpack/wavpack.c:284 +msgid "lossy" +msgstr "" + +#: src/wavpack/wavpack.c:334 +msgid "" +"Copyright 2006 William Pitcock <nenolod@nenolod.net>\n" +"\n" +"Some of the plugin code was by Miles Egan." +msgstr "" + +#: src/wavpack/wavpack.c:341 +msgid "WavPack Decoder" +msgstr "" + +#: src/xsf/plugin.c:272 +msgid "2SF Decoder" +msgstr "" + +#: src/xspf/xspf.c:440 +msgid "XML Shareable Playlists (XSPF)" +msgstr "" @@ -3,10 +3,11 @@ # This file is distributed under the same license as the Audacious Plugins package. # # Translators: -# Adolfo Jayme <fitoschido@gmail.com>, 2013 +# Adolfo Jayme Barrientos <fitoschido@ubuntu.com>, 2013 # Adrián Ramirez Escalante <buried.prophet@gmail.com>, 2012 # Cosme Domínguez Díaz <cosme.ddiaz@gmail.com>, 2010 # frangor <frangor@frangor.info>, 2013 +# Excelente <dny1020@aol.com>, 2013 # Jorge Andrés <winninglero@gmail.com>, 2011 # Lucía Balsa <lucia.balsa.prados@gmail.com>, 2012 # Marco Antonio Frias Butrón <marcoantoniofrias@gmail.com>, 2012 @@ -17,9 +18,9 @@ msgid "" msgstr "" "Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" -"PO-Revision-Date: 2013-06-17 06:58+0000\n" -"Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-08-20 12:11+0000\n" +"Last-Translator: Excelente <dny1020@aol.com>\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/audacious/" "language/es/)\n" "Language: es\n" @@ -45,9 +46,9 @@ msgid "AAC Decoder" msgstr "Decodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" -msgstr "" +msgstr "secuenciado" #: src/adplug/plugin.c:14 msgid "AdPlug (AdLib Player)" @@ -165,7 +166,7 @@ msgstr "Domingo" #: src/alarm/interface.c:175 msgid "Alarm Settings" -msgstr "Ajustes de alarma" +msgstr "Ajustes de Alarma" #: src/alarm/interface.c:186 src/alarm/interface.c:250 #: src/alarm/interface.c:265 @@ -894,7 +895,7 @@ msgstr "<b>Color</b>" #: src/blur_scope/blur_scope.c:56 msgid "Blur Scope" -msgstr "" +msgstr "Borroso" #: src/bs2b/plugin.c:136 msgid "Bauer Stereophonic-to-Binaural Preferences" @@ -988,7 +989,7 @@ msgstr "" #: src/cdaudio-ng/cdaudio-ng.c:308 #, c-format msgid "Track %d not found." -msgstr "" +msgstr "Pista %d no encontrada." #: src/cdaudio-ng/cdaudio-ng.c:310 #, c-format @@ -1245,12 +1246,16 @@ msgid "" "\n" "Surround echo by Carl van Schaik, 1999" msgstr "" +"Complemento de Eco⏎\n" +"Por Johan Levin, 1999⏎\n" +"⏎\n" +"Eco envolvente por Carl van Schaik, 1999" #: src/echo_plugin/echo.c:120 msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1260,7 +1265,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Complemento de FFmpeg" @@ -1329,6 +1334,20 @@ msgid "" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." msgstr "" +"Este programa es software gratis, puede redistribuirlo y/o modificarlo ⏎\n" +"bajo los términos de la Licencia Pública General GNU publicada por ⏎\n" +"the Free Software Foundation; sea versión 2 de la Licencia, o ⏎\n" +"(a su elección) cualquier versión posterior. ⏎\n" +"⏎\n" +"Este programa se distribuye con la esperanza de que sea útil, ⏎\n" +"pero SIN NINGUNA GARANTÍA; incluso sin la garantía implícita de ⏎\n" +"COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la ⏎\n" +"GNU General Public License para más detalles. ⏎\n" +"⏎\n" +"Debería haber recibido una copia de GNU General Public License ⏎\n" +"junto con este programa, y si no, escriba a Free Software ⏎\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,⏎\n" +"USA." #: src/filewriter/filewriter.c:532 msgid "FileWriter Plugin" @@ -1708,15 +1727,15 @@ msgstr "Saltar a la _canción ..." #: src/gtkui/menus.c:197 msgid "Set Repeat Point _A" -msgstr "" +msgstr "Establecer Punto de Repetición _A" #: src/gtkui/menus.c:198 msgid "Set Repeat Point _B" -msgstr "" +msgstr "Establecer Punto de Repetición _B" #: src/gtkui/menus.c:199 msgid "_Clear Repeat Points" -msgstr "" +msgstr "_Borrar Punto de Repetición" #: src/gtkui/menus.c:202 src/gtkui/menus.c:208 src/gtkui/menus.c:221 msgid "By _Title" @@ -1748,7 +1767,7 @@ msgstr "Por _fecha de estreno" #: src/gtkui/menus.c:212 src/gtkui/menus.c:225 msgid "By _Length" -msgstr "" +msgstr "Por_Longitud" #: src/gtkui/menus.c:213 src/gtkui/menus.c:226 msgid "By _File Path" @@ -1784,7 +1803,7 @@ msgstr "" #: src/gtkui/menus.c:238 msgid "Remove _Duplicates" -msgstr "" +msgstr "Eliminar_Duplicados" #: src/gtkui/menus.c:239 msgid "Remove _Unavailable Files" @@ -1860,11 +1879,11 @@ msgstr "Mostrar barra de _estado" #: src/gtkui/menus.c:268 msgid "Show _Remaining Time" -msgstr "" +msgstr "Mostrar_Tiempo Restante" #: src/gtkui/menus.c:270 msgid "Show Close _Buttons" -msgstr "" +msgstr "Mostrar " #: src/gtkui/menus.c:271 msgid "Show Column _Headers" @@ -1997,15 +2016,15 @@ msgstr "Silenciar" #: src/hotkey/gui.c:78 msgid "Volume up" -msgstr "" +msgstr "Subir volumen" #: src/hotkey/gui.c:79 msgid "Volume down" -msgstr "" +msgstr "Bajar volumen" #: src/hotkey/gui.c:80 msgid "Jump to file" -msgstr "" +msgstr "Ir al archivo" #: src/hotkey/gui.c:81 msgid "Toggle player window(s)" @@ -2233,7 +2252,7 @@ msgstr "No hay letras disponibles." #: src/lyricwiki/lyricwiki.c:207 src/lyricwiki/lyricwiki.c:241 #, c-format msgid "Unable to fetch %s" -msgstr "" +msgstr "No es posible obtener %s" #: src/lyricwiki/lyricwiki.c:217 src/lyricwiki/lyricwiki.c:251 #, c-format @@ -2242,7 +2261,7 @@ msgstr "" #: src/lyricwiki/lyricwiki.c:260 msgid "Looking for lyrics ..." -msgstr "" +msgstr "Buscando letras ..." #: src/lyricwiki/lyricwiki.c:271 msgid "Missing song metadata" @@ -2319,7 +2338,7 @@ msgstr "" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" -msgstr "" +msgstr "<b>Canales</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" @@ -2327,11 +2346,11 @@ msgstr "" #: src/modplug/plugin_main.c:68 msgid "Nearest (fastest)" -msgstr "" +msgstr "Más cercano (más rápido)" #: src/modplug/plugin_main.c:70 msgid "Linear (fast)" -msgstr "" +msgstr "Lineal (rápido)" #: src/modplug/plugin_main.c:72 msgid "Spline (good)" @@ -2396,7 +2415,7 @@ msgstr "" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "" +msgstr "Reducción de ruido" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" @@ -2404,15 +2423,15 @@ msgstr "" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" -msgstr "" +msgstr "<b>Repetir</b>" #: src/modplug/plugin_main.c:141 msgid "Repeat count:" -msgstr "" +msgstr "Cuenta de repetición:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." -msgstr "" +msgstr "Para repetir siempre, establezca el número de repeticiones en -1." #: src/modplug/plugin_main.c:238 msgid "ModPlug (Module Player)" @@ -2426,11 +2445,11 @@ msgstr "Envolvente" msgid "MPG123 Plugin" msgstr "" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "" @@ -2476,7 +2495,7 @@ msgstr "" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "Mostrar" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2527,7 +2546,7 @@ msgstr "" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" @@ -2583,7 +2602,7 @@ msgstr "" #: src/resample/resample.c:172 msgid "<b>Conversion</b>" -msgstr "" +msgstr "<b>Conversión</b>" #: src/resample/resample.c:173 msgid "Method:" @@ -2631,20 +2650,20 @@ msgstr "192 kHz:" #: src/resample/resample.c:210 msgid "Sample Rate Converter" -msgstr "" +msgstr "Muestra de convertidor de frecuencia" #: src/scrobbler2/config_window.c:41 #, c-format msgid "OK. Scrobbling for user: %s" -msgstr "" +msgstr "Aprovado. Scrobbling para usario: %s" #: src/scrobbler2/config_window.c:52 msgid "Permission Denied" -msgstr "" +msgstr "Permiso Denegado" #: src/scrobbler2/config_window.c:54 msgid "Access the following link to allow Audacious to scrobble your plays:" -msgstr "" +msgstr "Acceda a esta página para permitir scrobbling en Audacious:" #: src/scrobbler2/config_window.c:63 msgid "Keep this window open and click 'Check Permission' again.\n" @@ -2658,34 +2677,39 @@ msgstr "" #: src/scrobbler2/config_window.c:74 msgid "Network Problem." -msgstr "" +msgstr "Problema de la red" #: src/scrobbler2/config_window.c:75 msgid "There was a problem contacting Last.fm. Please try again later." msgstr "" +"Hubo un problema al contactar con Last.fm. Por favor inténtelo de nuevo más " +"tarde." #: src/scrobbler2/config_window.c:107 msgid "Checking..." -msgstr "" +msgstr "Comprobando..." #: src/scrobbler2/config_window.c:173 msgid "C_heck Permission" -msgstr "" +msgstr "C_omprobar el permiso" #: src/scrobbler2/config_window.c:174 msgid "_Revoke Permission" -msgstr "" +msgstr "Revocar el Permiso" #: src/scrobbler2/config_window.c:221 msgid "" "You need to allow Audacious to scrobble tracks to your Last.fm account.\n" msgstr "" +"Usted necesidad permitir scrobbling a Audacious a su cuenta de Last.fm. ⏎\n" #: src/scrobbler2/scrobbler.c:233 msgid "" "The Scrobbler plugin could not be started.\n" "There might be a problem with your installation." msgstr "" +"El plugin Scrobbler no se pudo iniciar. ⏎\n" +"Puede haber un problema con la instalación." #: src/scrobbler2/scrobbler.c:311 msgid "" @@ -2697,6 +2721,12 @@ msgid "" "project.\n" "\n" msgstr "" +"Complemento Audacious Scrobbler 2.0 por Pitxyoki, ⏎\n" +"⏎\n" +"Copyright © 2012-2013 Luís M. Picciochi Oliveira <Pitxyoki@Gmail.com> ⏎\n" +"⏎\n" +"Gracias a John Lindgren por darme una mano en el inicio de este proyecto. ⏎\n" +"⏎\n" #: src/scrobbler2/scrobbler.c:317 msgid "Scrobbler 2.0" @@ -2735,7 +2765,7 @@ msgstr "Álbum Desconocido" msgid "" "%s\n" " on %s by %s" -msgstr "" +msgstr " %s⏎ en %s de %s " #: src/search-tool/search-tool.c:638 #, c-format @@ -2753,7 +2783,11 @@ msgid_plural "" "%s\n" " %s, %d songs" msgstr[0] "" +"%s⏎\n" +"%s, %d cancion" msgstr[1] "" +"%s⏎\n" +"%s, %d canciones" #: src/search-tool/search-tool.c:646 #, c-format @@ -2764,7 +2798,11 @@ msgid_plural "" "%s\n" " %d songs by %s" msgstr[0] "" +"%s⏎\n" +"%d cancion de %s" msgstr[1] "" +"%s⏎\n" +"%d canciones de %s" #: src/search-tool/search-tool.c:687 msgid "_Create Playlist" @@ -2993,15 +3031,15 @@ msgstr "No parar después de la canción." #: src/skins/ui_main.c:1752 msgid "Repeat point A set." -msgstr "" +msgstr "Repetir punto de establecimiento A." #: src/skins/ui_main.c:1757 msgid "Repeat point B set." -msgstr "" +msgstr "Repetir punto de establecimiento B." #: src/skins/ui_main.c:1766 msgid "Repeat points cleared." -msgstr "" +msgstr "Repetir punto de establecimiento borrados." #: src/skins/ui_manager.c:66 src/skins/ui_manager.c:67 msgid "Autoscroll Song Name" @@ -3722,7 +3760,7 @@ msgstr "" #: src/sndio/sndio.c:172 msgid "About Sndio Output Plugin" -msgstr "" +msgstr "Acerca del complemento de salida Sndio" #: src/sndio/sndio.c:173 msgid "" @@ -3744,7 +3782,7 @@ msgstr "" #: src/sndio/sndio.c:384 msgid "sndio device" -msgstr "" +msgstr "dispositivo sndio" #: src/sndio/sndio.c:400 msgid "(empty means default)" @@ -3830,23 +3868,23 @@ msgstr "" #: src/sox-resampler/sox-resampler.c:141 msgid "Quick" -msgstr "" +msgstr "Rapido" #: src/sox-resampler/sox-resampler.c:142 msgid "Low" -msgstr "" +msgstr "Bajo" #: src/sox-resampler/sox-resampler.c:144 msgid "High" -msgstr "" +msgstr "Alto" #: src/sox-resampler/sox-resampler.c:145 msgid "Very High" -msgstr "" +msgstr "Muy Alto" #: src/sox-resampler/sox-resampler.c:148 msgid "Quality:" -msgstr "" +msgstr "Calidad" #: src/sox-resampler/sox-resampler.c:162 msgid "SoX Resampler" @@ -3854,7 +3892,7 @@ msgstr "" #: src/speed-pitch/speed-pitch.c:225 msgid "<b>Speed and Pitch</b>" -msgstr "" +msgstr "<b>Velocidad y Tono</b>" #: src/speed-pitch/speed-pitch.c:226 msgid "Speed:" diff --git a/po/es_AR.po b/po/es_AR.po index 2073e59..9ae5668 100644 --- a/po/es_AR.po +++ b/po/es_AR.po @@ -9,9 +9,9 @@ # xukosky <xukosky@yahoo.es>, 2011 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/" @@ -39,7 +39,7 @@ msgid "AAC Decoder" msgstr "Decodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1262,7 +1262,7 @@ msgstr "" msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1272,7 +1272,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Plugin FFmpeg" @@ -2437,11 +2437,11 @@ msgstr "Envolvente" msgid "MPG123 Plugin" msgstr "MPG123 Plugin" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 Server" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS Plugin" @@ -2538,7 +2538,7 @@ msgstr "Salida OSS4" msgid "PLS Playlists" msgstr "Listas PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Abrir el decodificador PSF PSF1/PSF2" diff --git a/po/es_MX.po b/po/es_MX.po index 4c3d177..6e1ab3f 100644 --- a/po/es_MX.po +++ b/po/es_MX.po @@ -6,9 +6,9 @@ # Jorge A. García Sosa <jagsmd@gmail.com>, 2012-2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-07 05:02+0000\n" "Last-Translator: Jorge A. García Sosa <jagsmd@gmail.com>\n" "Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/" @@ -36,7 +36,7 @@ msgid "AAC Decoder" msgstr "Descodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "secuencializado" @@ -1351,7 +1351,7 @@ msgstr "" msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1367,7 +1367,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Plugin FFmpeg" @@ -2602,11 +2602,11 @@ msgstr "Envolvente" msgid "MPG123 Plugin" msgstr "Plugin MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Servidor MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Plugin Neon HTTP/HTTPS" @@ -2724,7 +2724,7 @@ msgstr "Salida OSS4" msgid "PLS Playlists" msgstr "Listas de reproducción PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Descodificador OpenPSF PSF1/PSF2" @@ -7,9 +7,9 @@ # Ivar Smolin <okul@linux.ee>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Estonian (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1226,7 +1226,7 @@ msgstr "" msgid "Echo" msgstr "Kaja" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1236,7 +1236,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "" @@ -2401,11 +2401,11 @@ msgstr "Ruumiline heli" msgid "MPG123 Plugin" msgstr "" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS-plugin" @@ -2502,7 +2502,7 @@ msgstr "" msgid "PLS Playlists" msgstr "PLS-esitusnimekirjad" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" @@ -8,9 +8,9 @@ # Osoitz <oelkoro@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-06-03 12:50+0000\n" "Last-Translator: asier <asier.fernandez.iribar@gmail.com>\n" "Language-Team: Basque (http://www.transifex.com/projects/p/audacious/" @@ -38,7 +38,7 @@ msgid "AAC Decoder" msgstr "AAC Deskodetzailea" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1239,7 +1239,7 @@ msgstr "" msgid "Echo" msgstr "" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1249,7 +1249,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg plugina" @@ -2410,11 +2410,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "MPG123 plugina" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS plugina" @@ -2511,7 +2511,7 @@ msgstr "" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 Deskodetzailea" @@ -6,9 +6,9 @@ # Jaergenoth <jstuomisto@gmail.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Finnish (http://www.transifex.com/projects/p/audacious/" @@ -36,7 +36,7 @@ msgid "AAC Decoder" msgstr "AAC-dekooderi" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sarjoitettu" @@ -1339,7 +1339,7 @@ msgstr "" msgid "Echo" msgstr "Kaikuefekti" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1355,7 +1355,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg-liitännäinen" @@ -2580,11 +2580,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "MPG123-liitännäinen" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 -palvelin" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS -liitännäinen" @@ -2686,7 +2686,7 @@ msgstr "OSS4-lähtö" msgid "PLS Playlists" msgstr "PLS-soittolistat" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 -dekooderi" @@ -9,11 +9,11 @@ # Jean-Alexandre Anglès d'Auriac <jagw40k@free.fr>, 2011 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-04 21:24+0000\n" -"Last-Translator: Oxayotl <jagw40k@free.fr>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-30 13:08+0000\n" +"Last-Translator: Alain-Olivier Breysse <yahoe.001@gmail.com>\n" "Language-Team: French (http://www.transifex.com/projects/p/audacious/" "language/fr/)\n" "Language: fr\n" @@ -39,7 +39,7 @@ msgid "AAC Decoder" msgstr "Décodeur AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "séquencé" @@ -1357,7 +1357,7 @@ msgstr "" msgid "Echo" msgstr "Écho" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1373,7 +1373,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Greffon FFmpeg" @@ -2048,7 +2048,7 @@ msgstr "_Affichage" #: src/gtkui/menus.c:285 msgid "_Queue/Unqueue" -msgstr "_Mettre/enlever dans la file" +msgstr "_Ajouté / retiré de la file" #: src/gtkui/menus.c:288 msgid "Cu_t" @@ -2611,11 +2611,11 @@ msgstr "Son ambiophonique" msgid "MPG123 Plugin" msgstr "Greffon MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Serveur MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Greffon HTTP/HTTPS neon" @@ -2735,7 +2735,7 @@ msgstr "Sortie OSS4" msgid "PLS Playlists" msgstr "Listes de lecture PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Décodeur OpenPSF PSF1/PSF2" @@ -9,9 +9,9 @@ # mbouzada <mbouzada@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:40+0000\n" "Last-Translator: mbouzada <mbouzada@gmail.com>\n" "Language-Team: Galician (http://www.transifex.com/projects/p/audacious/" @@ -39,7 +39,7 @@ msgid "AAC Decoder" msgstr "Descodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "secuenciado" @@ -1354,7 +1354,7 @@ msgstr "" msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1370,7 +1370,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Engadido FFmpeg" @@ -2604,11 +2604,11 @@ msgstr "Son envolvente" msgid "MPG123 Plugin" msgstr "Engadido MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Servidor MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Engadido Neon HTTP/HTTPS" @@ -2726,7 +2726,7 @@ msgstr "Saída OSS4" msgid "PLS Playlists" msgstr "Listas de reprodución PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Descodificador OpenPSF PSF1/PSF2" @@ -7,9 +7,9 @@ # Péter Polonkai <polesz@nedudu.hu>, 2011-2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "AAC Dekóder" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1223,7 +1223,7 @@ msgstr "" msgid "Echo" msgstr "Visszhang" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1233,7 +1233,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg bővítméyn" @@ -2392,11 +2392,11 @@ msgstr "Térhatású" msgid "MPG123 Plugin" msgstr "MPG123 bővítmény" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 szerver" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS bővítmény" @@ -2493,7 +2493,7 @@ msgstr "" msgid "PLS Playlists" msgstr "PLS lejásztólisták" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" diff --git a/po/id_ID.po b/po/id_ID.po index f14675e..2d92008 100644 --- a/po/id_ID.po +++ b/po/id_ID.po @@ -21,9 +21,9 @@ # <yustrizal24@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-15 13:29+0000\n" "Last-Translator: operamaniac <rizkiaulia.r@gmail.com>\n" "Language-Team: Indonesian (Indonesia) (http://www.transifex.com/projects/p/" @@ -51,7 +51,7 @@ msgid "AAC Decoder" msgstr "Dekoder AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1249,7 +1249,7 @@ msgstr "" msgid "Echo" msgstr "Echo" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1259,7 +1259,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Pengaya FFmpeg" @@ -2420,11 +2420,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "Pengaya MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Server MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Pengaya Neon HTTP/HTTPS" @@ -2521,7 +2521,7 @@ msgstr "Keluaran OSS4" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" @@ -4,15 +4,17 @@ # # Translators: # davros74 <davros74@gmail.com>, 2012 +# Federico.Torsello <federico421@hotmail.it>, 2013 # Jacopo Lorenzetti <jacopo.jl@gmail.com>, 2011-2012 # Jacopo Lorenzetti <jacopol@cyan.xubiq.com>, 2012-2013 +# Marco91, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-04 12:38+0000\n" -"Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-08-19 08:03+0000\n" +"Last-Translator: Marco91\n" "Language-Team: Italian (http://www.transifex.com/projects/p/audacious/" "language/it/)\n" "Language: it\n" @@ -38,9 +40,9 @@ msgid "AAC Decoder" msgstr "Decodificatore AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" -msgstr "" +msgstr "sequenziato" #: src/adplug/plugin.c:14 msgid "AdPlug (AdLib Player)" @@ -52,6 +54,10 @@ msgid "" "\n" "Originally written by Adam Feakin and Daniel Stodden." msgstr "" +"Un plugin che può essere usato per iniziare l'esecuzione in un certo " +"momento.\n" +"\n" +"Originariamente scritto da Adam Feakin e Daniel Stodden." #: src/alarm/alarm.c:814 src/alarm/interface.c:82 msgid "Alarm" @@ -79,6 +85,25 @@ msgid "" "\n" "\n" msgstr "" +"Tempo\n" +"Allarme a:\n" +"Tempo per l'arrivo dell'allarme.\n" +"\n" +"Pausa dopo:\n" +"Ferma l'allarme dopo questa quantità di tempio.\n" +"(se la finestra di dialogo di sveglia non è chiusa)\n" +"\n" +"\n" +"Giorni\n" +"Giorno:\n" +"Seleziona i giorni in cui attivare l'allarme.\n" +"\n" +"Tempo:\n" +"Scegli il tempo per l'allarme di ogni giorno,\n" +"oppure scegli l'interruttore per usare il tempo\n" +"predefinito.\n" +"\n" +"\n" #: src/alarm/interface.c:45 msgid "" @@ -101,6 +126,23 @@ msgid "" " Run this command at the alarm time.\n" "\n" msgstr "" +"Volume\n" +"Dissolvenza:\n" +"Dissolvi il volume al volume scelto\n" +"per questa quantità di tempo.\n" +"\n" +"Inizia a:\n" +"Inizia dissolvenza da questo volume..\n" +"\n" +"Finale:\n" +"Il volume per fermare la dissolvenza. Se il tempo di\n" +"dissolvenza è 0 allora imposta il volume a questo e inizia\n" +"ad avviare.\n" +"\n" +"\n" +"Opzioni:\n" +"Comando addizionale:\n" +"Avvia questo comando al tempo di allarme.\n" #: src/alarm/interface.c:62 msgid "" @@ -115,6 +157,16 @@ msgid "" " Type the reminder in the box and turn on the\n" " toggle button if you want it to be shown." msgstr "" +"Lista di riproduzione:\n" +"Carica quasta lista di riproduzione. Se non è data\n" +"alcuna lista di riproduzione, verrà usata quella corrente.\n" +"L'URL di un flusso mp3/ogg\n" +"può anche essere inserito qui.\n" +"\n" +"Promemoria:\n" +"Mostra un promemoria quando sispegne l'allarme.\n" +"Seleziona l'allarme nella casella e accendi\n" +"l'interruttore se vuoi che venga mostrato." #: src/alarm/interface.c:81 msgid "This is your wakeup call." @@ -122,7 +174,7 @@ msgstr "Questa è la tua sveglia." #: src/alarm/interface.c:99 msgid "Your reminder for today is..." -msgstr "" +msgstr "Il tuo promemoria per oggi è..." #: src/alarm/interface.c:101 src/alarm/interface.c:415 msgid "Reminder" @@ -299,6 +351,12 @@ msgid "" "My thanks to William Pitcock, author of the ALSA Output Plugin NG, whose " "code served as a reference when the ALSA manual was not enough." msgstr "" +"ALSA Output Plugin for Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"I miei ringraziamenti a William Pitcock, autore dell'ALSA Output Plugin NG, " +"il cui codice serve come riferimento quando il manuale ALSA non è " +"sufficiente." #: src/alsa/plugin.c:32 msgid "ALSA Output" @@ -600,7 +658,7 @@ msgstr "Informazioni sul plug-in AMIDI" #: src/amidi-plug/i_utils.c:53 msgid "AMIDI-Plug" -msgstr "" +msgstr "AMIDI-Plug " #: src/amidi-plug/i_utils.c:54 msgid "" @@ -624,10 +682,29 @@ msgid "" "Tony Vroon\n" "for the good help with alpha testing" msgstr "" +"\n" +"Riproduttore musicale MIDI modulare\n" +"http://www.develia.org/projects.php?p=amidiplug⏎\n" +"\n" +"scritto da Giacomo Lozito\n" +"<james@develia.org>\n" +"\n" +"Ringraziamenti speciali a...\n" +"\n" +"Clemens Ladisch e Jaroslav Kysela⏎\n" +"per i loro bei programmi aplaymidi e amixer; questi\n" +"erano realmente utili, insieme con alsa-lib docs, allo scopo di\n" +"imparare di più sull'API ALSA\n" +"\n" +"Alfredo Spadafina\n" +"per il bel logo midi della tastiera\n" +"\n" +"Tony Vroon\n" +"per il buono aiuto nell alfa test" #: src/aosd/aosd.c:29 msgid "Audacious OSD " -msgstr "" +msgstr "Audacious OSD " #: src/aosd/aosd.c:37 msgid "AOSD (On-Screen Display)" @@ -920,6 +997,15 @@ msgid "" "\n" "This was a Google Summer of Code 2007 project." msgstr "" +"Copyright (C) 2007-2012 Calin Crisan <ccrisan@gmail.com> e altri.\n" +"\n" +"Molte grazie agli sviluppatori libcdio <http://www.gnu.org/software/libcdio/" +">\n" +"e agli sviluppatori libcddb <http://libcddb.sourceforge.net/>.\n" +"\n" +"Grazie anche a Tony Vroon per avermi fatto da tutor e guidato.\n" +"\n" +"Questo era un progetto Google Summer of Code 2007." #: src/cdaudio-ng/cdaudio-ng.c:121 msgid "<b>Device</b>" @@ -967,30 +1053,30 @@ msgstr "Plugin CD Audio" #: src/cdaudio-ng/cdaudio-ng.c:249 msgid "Failed to initialize cdio subsystem." -msgstr "" +msgstr "Errore nell'inizializzazione del sottosistema cdio." #: src/cdaudio-ng/cdaudio-ng.c:306 #, c-format msgid "Invalid URI %s." -msgstr "" +msgstr "URI %s non valido." #: src/cdaudio-ng/cdaudio-ng.c:308 #, c-format msgid "Track %d not found." -msgstr "" +msgstr "Traccia %d non trovata." #: src/cdaudio-ng/cdaudio-ng.c:310 #, c-format msgid "Track %d is a data track." -msgstr "" +msgstr "La traccia %d è una traccia dati." #: src/cdaudio-ng/cdaudio-ng.c:312 msgid "Failed to open audio output." -msgstr "" +msgstr "Errore nell'apertura dell'output audio." #: src/cdaudio-ng/cdaudio-ng.c:395 msgid "Error reading audio CD." -msgstr "" +msgstr "Errore durante la lettura del CD Audio." #: src/cdaudio-ng/cdaudio-ng.c:505 msgid "Audio CD" @@ -999,42 +1085,42 @@ msgstr "CD Audio" #: src/cdaudio-ng/cdaudio-ng.c:535 src/cdaudio-ng/cdaudio-ng.c:544 #, c-format msgid "Failed to open CD device %s." -msgstr "" +msgstr "Errore nell'apertura del lettore CD %s." #: src/cdaudio-ng/cdaudio-ng.c:547 msgid "No audio capable CD drive found." -msgstr "" +msgstr "Nessuna unità CD audio adatta trovata." #: src/cdaudio-ng/cdaudio-ng.c:574 msgid "Failed to finish initializing opened CD drive." -msgstr "" +msgstr "Errore alla fine dell'inizializzazione dell'unità CD aperta." #: src/cdaudio-ng/cdaudio-ng.c:587 msgid "Failed to retrieve first/last track number." -msgstr "" +msgstr "Errore nella ricerca del primo/ultimo numero della traccia." #: src/cdaudio-ng/cdaudio-ng.c:612 #, c-format msgid "Cannot read start/end LSN for track %d." -msgstr "" +msgstr "Impossibile leggere inizio/fine dell'LNS per la traccia %d." #: src/cdaudio-ng/cdaudio-ng.c:702 msgid "Failed to create the cddb connection." -msgstr "" +msgstr "Errore nella creazione della connessione al cddb." #: src/cdaudio-ng/cdaudio-ng.c:777 msgid "Failed to query the CDDB server" -msgstr "" +msgstr "Errore nella richiesta al server CDDB." #: src/cdaudio-ng/cdaudio-ng.c:779 #, c-format msgid "Failed to query the CDDB server: %s" -msgstr "" +msgstr "Errore nella richiesta al server CDDB: %s" #: src/cdaudio-ng/cdaudio-ng.c:803 #, c-format msgid "Failed to read the cddb info: %s" -msgstr "" +msgstr "Errore nella lettura delle informazioni del cddb: %s" #: src/cdaudio-ng/cdaudio-ng.c:876 msgid "Drive is empty." @@ -1073,6 +1159,8 @@ msgid "" "Dynamic Range Compression Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Dynamic Range Compression Plugin per Audacious\n" +"Copyright 2010-2012 John Lindgren" #: src/compressor/plugin.c:58 msgid "Dynamic Range Compressor" @@ -1158,6 +1246,12 @@ msgid "" "William Pitcock <nenolod@dereferenced.org>\n" "Shay Green <gblargg@gmail.com>" msgstr "" +"Motore del decodificatore musica console basato su Game_Music_Emu 0.5.2\n" +"Formati supportati: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n" +"\n" +"Plugin di Audacious prodotto da:\n" +"William Pitcock <nenolod@dereferenced.org>\n" +"Shay Green <gblargg@gmail.com>" #: src/crossfade/crossfade.c:81 msgid "" @@ -1183,6 +1277,8 @@ msgid "" "Crossfade Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Crossfade Plugin per Audacious\n" +"Copyright 2010-2012 John Lindgren" #: src/crossfade/crossfade.c:258 msgid "<b>Crossfade</b>" @@ -1206,11 +1302,11 @@ msgstr "Intensità: " #: src/crystalizer/crystalizer.c:51 msgid "Crystalizer" -msgstr "" +msgstr "Crystalizer" #: src/cue/cue.c:158 msgid "Cue Sheet Plugin" -msgstr "" +msgstr "Plugin Cue Sheet" #: src/echo_plugin/echo.c:24 msgid "<b>Echo</b>" @@ -1241,12 +1337,16 @@ msgid "" "\n" "Surround echo by Carl van Schaik, 1999" msgstr "" +"Echo Plugin\n" +"Realizzato da Johan Levin, 1999\n" +"\n" +"Echo surround realizzato da Carl van Schaik, 1999" #: src/echo_plugin/echo.c:120 msgid "Echo" -msgstr "" +msgstr "Echo" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1255,14 +1355,20 @@ msgid "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" +"Il multi-format audio decoding plugin per Audacious usa\n" +"il framework multimediale FFmpeg (http://www.ffmpeg.org/)\n" +"\n" +"Plugin Audacious realizzato da:\n" +"William Pitcock <nenolod@nenolod.net>\n" +"Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" -msgstr "" +msgstr "Plugin FFmpeg" #: src/filewriter/filewriter.c:409 msgid "FileWriter Configuration" -msgstr "" +msgstr "Configurazione di FileWriter" #: src/filewriter/filewriter.c:421 msgid "Output file format:" @@ -1325,10 +1431,25 @@ msgid "" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." msgstr "" +"Il programma è un software gratuito; puoi ridistribuirlo e/o modificarlo\n" +"sotto i termini della licenza GNU General Public License come pubblicato " +"dalla\n" +"Free Software Foundation; sia la versione 2 della Licenza, sia\n" +"(a propria scelta) qualsiasi altra versione.\n" +"\n" +"Questo programma è distribuito nella speranza che sarà utile,\n" +"ma SENZA ALCUNA GARANZIA; anche senza l'implicita garanzia di\n" +"COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la\n" +"GNU General Public License per maggiori dettagli.\n" +"\n" +"Dovresti aver ricevuto una copia della licenza GNU General Public License\n" +"insieme al programma; se così non fosse, scrivi alla Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." #: src/filewriter/filewriter.c:532 msgid "FileWriter Plugin" -msgstr "" +msgstr "Plugin FileWriter" #: src/filewriter/mp3.c:37 src/filewriter/mp3.c:748 msgid "Auto" @@ -1482,7 +1603,7 @@ msgstr "Livello di qualità (0 - 10):" #: src/flacng/metadata.c:357 src/wavpack/wavpack.c:280 msgid "lossless" -msgstr "" +msgstr "senza perdita" #: src/flacng/plugin.c:269 msgid "" @@ -1491,20 +1612,26 @@ msgid "" "\n" "http://www.skytale.net/projects/bmp-flac2/" msgstr "" +"Codice originale realizzato da\n" +"Ralf Ertzinger <ralf@skytale.net>\n" +"\n" +"http://www.skytale.net/projects/bmp-flac2/" #: src/flacng/plugin.c:277 msgid "FLAC Decoder" -msgstr "" +msgstr "Decodificatore FLAC" #: src/gio/gio.c:300 msgid "" "GIO Plugin for Audacious\n" "Copyright 2009-2012 John Lindgren" msgstr "" +"GIO Plugin per Audacious\n" +"Copyright 2009-2012 John Lindgren" #: src/gio/gio.c:322 msgid "GIO Plugin" -msgstr "" +msgstr "Plugin GIO" #: src/gl-spectrum/gl-spectrum.c:283 msgid "" @@ -1517,10 +1644,18 @@ msgid "" "\n" "License: GPLv2+" msgstr "" +"OpenGL Spectrum Analyzer per Audacious\n" +"Copyright 2013 Christophe Budé e John Lindgren\n" +"\n" +"Basato sul plugin XMMS:\n" +"Copyright 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson, and " +"4Front Technologies\n" +"\n" +"Licenza: GPLv2+" #: src/gl-spectrum/gl-spectrum.c:292 msgid "OpenGL Spectrum Analyzer" -msgstr "" +msgstr "OpenGL Spectrum Analyzer" #: src/gnomeshortcuts/gnomeshortcuts.c:41 msgid "" @@ -1529,10 +1664,15 @@ msgid "" "\n" "Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" msgstr "" +"Gnome Shortcut Plugin\n" +"Ti permette di controllare il riproduttore con i tasti di scelta rapida di " +"Gnome.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" #: src/gnomeshortcuts/gnomeshortcuts.c:47 msgid "Gnome Shortcuts" -msgstr "" +msgstr "Scorciatoie Gnome" #: src/gtkui/columns.c:32 msgid "Entry number" @@ -1688,7 +1828,7 @@ msgstr "N_on avanzare nella playlist" #: src/gtkui/menus.c:191 msgid "Stop A_fter This Song" -msgstr "" +msgstr "Ferma _dopo questo brano" #: src/gtkui/menus.c:193 src/gtkui/menus.c:284 msgid "Song _Info ..." @@ -1704,15 +1844,15 @@ msgstr "Sa_lta al brano…" #: src/gtkui/menus.c:197 msgid "Set Repeat Point _A" -msgstr "" +msgstr "Imposta Punto di Ripetizione _A" #: src/gtkui/menus.c:198 msgid "Set Repeat Point _B" -msgstr "" +msgstr "Imposta Punto di Ripetizione _B" #: src/gtkui/menus.c:199 msgid "_Clear Repeat Points" -msgstr "" +msgstr "_Cancella Punti di Ripetizione" #: src/gtkui/menus.c:202 src/gtkui/menus.c:208 src/gtkui/menus.c:221 msgid "By _Title" @@ -1720,11 +1860,11 @@ msgstr "Per _titolo" #: src/gtkui/menus.c:203 msgid "By _Filename" -msgstr "" +msgstr "Da _Nome del file" #: src/gtkui/menus.c:204 msgid "By File _Path" -msgstr "" +msgstr "Da _Percorso del File" #: src/gtkui/menus.c:207 src/gtkui/menus.c:220 msgid "By Track _Number" @@ -1736,7 +1876,7 @@ msgstr "Per _artista" #: src/gtkui/menus.c:210 src/gtkui/menus.c:223 msgid "By Al_bum" -msgstr "" +msgstr "Da Al_bum" #: src/gtkui/menus.c:211 src/gtkui/menus.c:224 msgid "By Release _Date" @@ -1744,7 +1884,7 @@ msgstr "Per _data di pubblicazione" #: src/gtkui/menus.c:212 src/gtkui/menus.c:225 msgid "By _Length" -msgstr "" +msgstr "Da _Lunghezza" #: src/gtkui/menus.c:213 src/gtkui/menus.c:226 msgid "By _File Path" @@ -1776,11 +1916,11 @@ msgstr "_Ordina" #: src/gtkui/menus.c:237 msgid "Sort S_elected" -msgstr "" +msgstr "Ordinamento S_elezionato" #: src/gtkui/menus.c:238 msgid "Remove _Duplicates" -msgstr "" +msgstr "Rimuovi _Duplicati" #: src/gtkui/menus.c:239 msgid "Remove _Unavailable Files" @@ -1856,7 +1996,7 @@ msgstr "Mostra barra di _stato" #: src/gtkui/menus.c:268 msgid "Show _Remaining Time" -msgstr "" +msgstr "Mostra Tempo _Rimasto" #: src/gtkui/menus.c:270 msgid "Show Close _Buttons" @@ -1960,7 +2100,7 @@ msgstr "%d kbps" #: src/hotkey/gui.c:70 msgid "Previous track" -msgstr "" +msgstr "Traccia precedente" #: src/hotkey/gui.c:71 src/notify/osd.c:68 src/skins/ui_manager.c:177 #: src/skins/ui_manager.c:178 @@ -1977,15 +2117,15 @@ msgstr "Ferma" #: src/hotkey/gui.c:74 msgid "Next track" -msgstr "" +msgstr "Traccia successiva" #: src/hotkey/gui.c:75 msgid "Forward 5 seconds" -msgstr "" +msgstr "Avanza di 5 secondi" #: src/hotkey/gui.c:76 msgid "Rewind 5 seconds" -msgstr "" +msgstr "Riavvolgi di 5 secondi" #: src/hotkey/gui.c:77 msgid "Mute" @@ -1993,19 +2133,19 @@ msgstr "Silenzia" #: src/hotkey/gui.c:78 msgid "Volume up" -msgstr "" +msgstr "Alza volume" #: src/hotkey/gui.c:79 msgid "Volume down" -msgstr "" +msgstr "Abbassa volume" #: src/hotkey/gui.c:80 msgid "Jump to file" -msgstr "" +msgstr "Salta al file" #: src/hotkey/gui.c:81 msgid "Toggle player window(s)" -msgstr "" +msgstr "Mostra/nascondi finestra(e) di riproduzione" #: src/hotkey/gui.c:82 msgid "Show On-Screen-Display" @@ -2013,19 +2153,19 @@ msgstr "Mostra On-screen-display" #: src/hotkey/gui.c:83 msgid "Toggle repeat" -msgstr "" +msgstr "Attiva/disattiva ripetizione" #: src/hotkey/gui.c:84 msgid "Toggle shuffle" -msgstr "" +msgstr "Attiva/disattiva shuffle" #: src/hotkey/gui.c:85 msgid "Toggle stop after current" -msgstr "" +msgstr "Attiva/Disattiva lo stop dopo la corrente" #: src/hotkey/gui.c:86 msgid "Raise player window(s)" -msgstr "" +msgstr "Mostra finestra(e) di riproduzione" #: src/hotkey/gui.c:96 msgid "(none)" @@ -2085,10 +2225,22 @@ msgid "" " Jonathan A. Davis <davis@jdhouse.org>,\n" " Jeremy Tan <nsx@nsx.homeip.net>" msgstr "" +"Global Hotkey Plugin\n" +"Controlla il riproduttore con combinazioni di tasti globali o tasti " +"multimediali.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n" +"\n" +"Contributori:⏎\n" +"Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n" +"Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>,\n" +"Bryn Davies <curious@ihug.com.au>,\n" +"Jonathan A. Davis <davis@jdhouse.org>,\n" +"Jeremy Tan <nsx@nsx.homeip.net>" #: src/hotkey/plugin.c:78 msgid "Global Hotkeys" -msgstr "" +msgstr "Hotkeys globali" #: src/jack/jack.c:410 msgid "" @@ -2097,10 +2249,14 @@ msgid "" "\n" "Ported to Audacious by Giacomo Lozito" msgstr "" +"Basato su xmms-jack, da Chris Morgan:\n" +"http://xmms-jack.sourceforge.net/\n" +"\n" +"Converito per Audacious da Giacomo Lozito" #: src/jack/jack.c:416 msgid "JACK Output" -msgstr "" +msgstr "Uscita JACK" #: src/ladspa/plugin.c:493 #, c-format @@ -2149,10 +2305,12 @@ msgid "" "LADSPA Host for Audacious\n" "Copyright 2011 John Lindgren" msgstr "" +"LADSPA Host per Audacious\n" +"Copyright 2011 John Lindgren" #: src/ladspa/plugin.c:650 msgid "LADSPA Host" -msgstr "" +msgstr "Host LADSPA" #: src/lirc/lirc.c:76 #, c-format @@ -2205,6 +2363,19 @@ msgid "" "\n" "For more information about LIRC, see http://lirc.org." msgstr "" +"Un semplice plugin per controllare Audacious usando il demone per il " +"controllo remoto LIRC \n" +"\n" +"Adattato per Audacious da:\n" +"Tony Vroon <chainsaw@gentoo.org>\n" +"Joonas Harjumäki <jharjuma@gmail.com>\n" +"\n" +"Basato sul plugin XMMS LIRC da:\n" +"Carl van Schaik <carl@leg.uct.ac.za>\n" +"Christoph Bartelmus <xmms@bartelmus.de>\n" +"Andrew O. Shadoura <bugzilla@tut.by>\n" +"\n" +"Per maggiori informazioni su LIRC, vedi http://lirc.org." #: src/lirc/lirc.c:392 msgid "<b>Connection</b>" @@ -2216,11 +2387,11 @@ msgstr "Riconnetti al server LIRC" #: src/lirc/lirc.c:395 msgid "Wait before reconnecting:" -msgstr "" +msgstr "Attesa prima della riconnessione:" #: src/lirc/lirc.c:405 msgid "LIRC Plugin" -msgstr "" +msgstr "Plugin LIRC" #: src/lyricwiki/lyricwiki.c:117 msgid "No lyrics available" @@ -2250,11 +2421,11 @@ msgstr "Connessione a lyrics.wikia.com ..." #: src/lyricwiki/lyricwiki.c:411 msgid "LyricWiki Plugin" -msgstr "" +msgstr "Plugin LyricWiki" #: src/m3u/m3u.c:121 msgid "M3U Playlists" -msgstr "" +msgstr "Playlists M3U" #: src/metronom/metronom.c:127 #, c-format @@ -2274,6 +2445,12 @@ msgid "" "e.g. tact://77 to play 77 beats per minute\n" "or tact://60*3/4 to play 60 bpm in 3/4 tacts" msgstr "" +"Un Generatore di Tact realizzato da Martin Strauss <mys@faveve.uni-stuttgart." +"de>⏎\n" +"\n" +"Per usarlo, aggiungi un URL: tact://beats*num/den\n" +"ad esempio tact://77 per avviare 77 battiti al minuto\n" +"o tact://60*3/4 per avviare 60 bpm in 3/4 tact" #: src/metronom/metronom.c:255 msgid "Tact Generator" @@ -2284,6 +2461,8 @@ msgid "" "Channel Mixer Plugin for Audacious\n" "Copyright 2011-2012 John Lindgren and Michał Lipski" msgstr "" +"Channel Mixer Plugin per Audacious⏎\n" +"Copyright 2011-2012 John Lindgren e Michał Lipski" #: src/mixer/mixer.c:173 msgid "<b>Channel Mixer</b>" @@ -2299,120 +2478,120 @@ msgstr "Mixer Canale" #: src/mms/mms.c:224 msgid "MMS Plugin" -msgstr "" +msgstr "Plugin MMS" #: src/modplug/plugin_main.c:57 msgid "<b>Resolution</b>" -msgstr "" +msgstr "<b>Risoluzione</b>" #: src/modplug/plugin_main.c:58 msgid "8-bit" -msgstr "" +msgstr "8-bit" #: src/modplug/plugin_main.c:60 msgid "16-bit" -msgstr "" +msgstr "16-bit" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" -msgstr "" +msgstr "<b>Canali</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" -msgstr "" +msgstr "<b>Resampling</b>" #: src/modplug/plugin_main.c:68 msgid "Nearest (fastest)" -msgstr "" +msgstr "Più vicino (più veloce)" #: src/modplug/plugin_main.c:70 msgid "Linear (fast)" -msgstr "" +msgstr "Lineare (veloce)" #: src/modplug/plugin_main.c:72 msgid "Spline (good)" -msgstr "" +msgstr "Spline (buono)" #: src/modplug/plugin_main.c:74 msgid "Polyphase (best)" -msgstr "" +msgstr "Polifase (il migliore)" #: src/modplug/plugin_main.c:76 msgid "<b>Sampling rate</b>" -msgstr "" +msgstr "<b>Frequenza di Sampling</b>" #: src/modplug/plugin_main.c:77 msgid "22 kHz" -msgstr "" +msgstr "22 kHz" #: src/modplug/plugin_main.c:79 msgid "44 kHz" -msgstr "" +msgstr "44 kHz" #: src/modplug/plugin_main.c:81 msgid "48 kHz" -msgstr "" +msgstr "48 kHz:" #: src/modplug/plugin_main.c:83 msgid "96 kHz" -msgstr "" +msgstr "96 kHz:" #: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 #: src/modplug/plugin_main.c:102 msgid "Level:" -msgstr "" +msgstr "Livello:" #: src/modplug/plugin_main.c:97 msgid "Cutoff:" -msgstr "" +msgstr "Taglio:" #: src/modplug/plugin_main.c:114 msgid "<b>Reverb</b>" -msgstr "" +msgstr "<b>Riverbero</b>" #: src/modplug/plugin_main.c:118 msgid "<b>Bass Boost</b>" -msgstr "" +msgstr "<b>Aumento del Basso</b>" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" -msgstr "" +msgstr "<b>Surround</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" -msgstr "" +msgstr "<b>Preamplificatore</b>" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" -msgstr "" +msgstr "<b>Varie</b>" #: src/modplug/plugin_main.c:134 msgid "Oversample" -msgstr "" +msgstr "Sovracampionamento" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "" +msgstr "Riduzione del rumore" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" -msgstr "" +msgstr "Avvia MOD Amiga" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" -msgstr "" +msgstr "<b>Ripeti</b>" #: src/modplug/plugin_main.c:141 msgid "Repeat count:" -msgstr "" +msgstr "Contatore di ripetizioni:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." -msgstr "" +msgstr "Per ripetere per sempre, imposta il contatore di ripetizioni a -1." #: src/modplug/plugin_main.c:238 msgid "ModPlug (Module Player)" -msgstr "" +msgstr "ModPlug (Riproduttore del Modulo)" #: src/mpg123/mpg123.c:211 msgid "Surround" @@ -2420,15 +2599,15 @@ msgstr "Surround" #: src/mpg123/mpg123.c:569 msgid "MPG123 Plugin" -msgstr "" +msgstr "Plugin MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" -msgstr "" +msgstr "Server MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" -msgstr "" +msgstr "Plugin Neon HTTP/HTTPS" #: src/notify/event.c:64 msgid "Stopped" @@ -2457,14 +2636,30 @@ msgid "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see <http://www.gnu.org/licenses/>." msgstr "" +"Desktop Notifications Plugin per Audacious⏎\n" +"Copyright (C) 2010 Maximilian Bogner⏎\n" +"Copyright (C) 2011-2013 John Lindgren e Jean-Alexandre Anglès d'Auriac⏎\n" +"\n" +"Questo plugin è un software gratuito; puoi ridistribuirlo e/o modificarlo " +"sotto i termini della licenza GNU General Public License come pubblicato " +"dalla Free Software Foundation; sia la versione 3 della Licenza, sia (a " +"propria scelta) qualsiasi altra versione.\n" +"\n" +"Questo programma è distribuito nella speranza che sarà utile, ma SENZA " +"ALCUNA GARANZIA; anche senza l'implicita garanzia di COMMERCIABILITÀ o " +"IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la GNU General Public License per " +"maggiori dettagli.\n" +"\n" +"Dovresti aver ricevuto una copia della licenza GNU General Public License " +"insieme al programma; se così non fosse, vedi <http://www.gnu.org/licenses/>." #: src/notify/notify.c:77 msgid "Show playback controls" -msgstr "" +msgstr "Mostra controlli di riproduzione" #: src/notify/notify.c:80 msgid "Always show notification" -msgstr "" +msgstr "Permette di mostrare le notifiche" #: src/notify/notify.c:92 msgid "Desktop Notifications" @@ -2472,7 +2667,7 @@ msgstr "Notifiche Desktop" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "Mostra" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2514,6 +2709,11 @@ msgid "" "I would like to thank people on #audacious, especially Tony Vroon and John " "Lindgren and of course the authors of the previous OSS plugin." msgstr "" +"OSS4 Output Plugin per Audacious\n" +"Copyright 2010-2012 Michał Lipski\n" +"\n" +"Vorrei ringrazire le persone su #audacious, specialmente Tony Vroon e John " +"Lindgren e sicuramente gli autori del precedente OSS plugin." #: src/oss4/plugin.c:115 msgid "OSS4 Output" @@ -2521,11 +2721,11 @@ msgstr "Uscita OSS4" #: src/pls/pls.c:113 msgid "PLS Playlists" -msgstr "" +msgstr "Playlist PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" -msgstr "" +msgstr "Decodificatore OpenPSF PSF1/PSF2" #: src/pulse_audio/pulse_audio.c:644 msgid "" @@ -2546,6 +2746,23 @@ msgid "" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." msgstr "" +"Audacious PulseAudio Output Plugin⏎\n" +"\n" +"Il programma è un software gratuito; puoi ridistribuirlo e/o modificarlo\n" +"sotto i termini della licenza GNU General Public License come pubblicato " +"dalla\n" +"Free Software Foundation; sia la versione 2 della Licenza, sia\n" +"(a propria scelta) qualsiasi altra versione.\n" +"\n" +"Questo programma è distribuito nella speranza che sarà utile,\n" +"ma SENZA ALCUNA GARANZIA; anche senza l'implicita garanzia di\n" +"COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la\n" +"GNU General Public License per maggiori dettagli.\n" +"\n" +"Dovresti aver ricevuto una copia della licenza GNU General Public License\n" +"insieme al programma; se così non fosse, scrivi alla Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"USA." #: src/pulse_audio/pulse_audio.c:662 msgid "PulseAudio Output" @@ -2556,30 +2773,32 @@ msgid "" "Sample Rate Converter Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Sample Rate Converter Plugin per Audacious⏎\n" +"Copyright 2010-2012 John Lindgren" #: src/resample/resample.c:165 msgid "Skip/repeat samples" -msgstr "" +msgstr "Salta/ripeti gli esempi" #: src/resample/resample.c:166 msgid "Linear interpolation" -msgstr "" +msgstr "Interpolazione lineare" #: src/resample/resample.c:167 msgid "Fast sinc interpolation" -msgstr "" +msgstr "Interpolazione di Shannon veloce" #: src/resample/resample.c:168 msgid "Medium sinc interpolation" -msgstr "" +msgstr "Interpolazione di Shannon media" #: src/resample/resample.c:169 msgid "Best sinc interpolation" -msgstr "" +msgstr "Interpolazione di Shannon migliore" #: src/resample/resample.c:172 msgid "<b>Conversion</b>" -msgstr "" +msgstr "<b>Conversione</b>" #: src/resample/resample.c:173 msgid "Method:" @@ -2587,43 +2806,43 @@ msgstr "Metodo:" #: src/resample/resample.c:176 src/sox-resampler/sox-resampler.c:151 msgid "Rate:" -msgstr "" +msgstr "Frequenza:" #: src/resample/resample.c:179 msgid "<b>Rate Mappings</b>" -msgstr "" +msgstr "<b>Mappature della frequenza</b>" #: src/resample/resample.c:180 msgid "Use rate mappings" -msgstr "" +msgstr "Usa le mappature della frequenza" #: src/resample/resample.c:182 msgid "8 kHz:" -msgstr "" +msgstr "8 kHz:" #: src/resample/resample.c:185 msgid "16 kHz:" -msgstr "" +msgstr "16 kHz:" #: src/resample/resample.c:188 msgid "22.05 kHz:" -msgstr "" +msgstr "22.05 kHz:" #: src/resample/resample.c:191 msgid "44.1 kHz:" -msgstr "" +msgstr "44.1 kHz:" #: src/resample/resample.c:194 msgid "48 kHz:" -msgstr "" +msgstr "48 kHz:" #: src/resample/resample.c:197 msgid "96 kHz:" -msgstr "" +msgstr "96 kHz:" #: src/resample/resample.c:200 msgid "192 kHz:" -msgstr "" +msgstr "192 kHz:" #: src/resample/resample.c:210 msgid "Sample Rate Converter" @@ -2632,56 +2851,66 @@ msgstr "Convertitore Sample Rate" #: src/scrobbler2/config_window.c:41 #, c-format msgid "OK. Scrobbling for user: %s" -msgstr "" +msgstr "OK. Processo di scrobbling per l'utente: %s" #: src/scrobbler2/config_window.c:52 msgid "Permission Denied" -msgstr "" +msgstr "Permesso Negato." #: src/scrobbler2/config_window.c:54 msgid "Access the following link to allow Audacious to scrobble your plays:" msgstr "" +"Accedi al seguente link per permettere ad Audacious di eseguire lo " +"scrobbling dei tuoi avvii:" #: src/scrobbler2/config_window.c:63 msgid "Keep this window open and click 'Check Permission' again.\n" msgstr "" +"Mantieni aperta questa finestra e clicca ancora su 'Controlla Permesso'.\n" #: src/scrobbler2/config_window.c:66 src/scrobbler2/config_window.c:77 msgid "" "Don't worry. Your scrobbles are saved on your computer.\n" "They will be submitted as soon as Audacious is allowed to do so." msgstr "" +"Non preoccuparti. I tuoi scrobble sono stati salvati sul tuo computer.\n" +"Loro saranno inviati appena Audacious avrà il permesso di farlo." #: src/scrobbler2/config_window.c:74 msgid "Network Problem." -msgstr "" +msgstr "Problema di Rete." #: src/scrobbler2/config_window.c:75 msgid "There was a problem contacting Last.fm. Please try again later." msgstr "" +"C'era un problema nel contattare Last.fm. Per favore riprova più tardi." #: src/scrobbler2/config_window.c:107 msgid "Checking..." -msgstr "" +msgstr "In controllo..." #: src/scrobbler2/config_window.c:173 msgid "C_heck Permission" -msgstr "" +msgstr "C_ontrolla Permesso" #: src/scrobbler2/config_window.c:174 msgid "_Revoke Permission" -msgstr "" +msgstr "_Revoca Permesso" #: src/scrobbler2/config_window.c:221 msgid "" "You need to allow Audacious to scrobble tracks to your Last.fm account.\n" msgstr "" +"Hai bisogno di permettere ad Audacious di eseguire lo scrobbling delle " +"tracce al tuo account Last.fm.\n" #: src/scrobbler2/scrobbler.c:233 msgid "" "The Scrobbler plugin could not be started.\n" "There might be a problem with your installation." msgstr "" +"Lo Scrobbler plugin non può essere avviato.\n" +"Ci potrebbe essere un problema con l'installazione." #: src/scrobbler2/scrobbler.c:311 msgid "" @@ -2693,16 +2922,24 @@ msgid "" "project.\n" "\n" msgstr "" +"Audacious Scrobbler Plugin 2.0 realizzato da Pitxyoki,\n" +"\n" +"Copyright © 2012-2013 Luís M. Picciochi Oliveira <Pitxyoki@Gmail.com>\n" +"\n" +"Grazie a John Lindgren per avermi dato una mano all'inizio del progetto.\n" #: src/scrobbler2/scrobbler.c:317 msgid "Scrobbler 2.0" -msgstr "" +msgstr "Scrobbler 2.0" #: src/scrobbler2/scrobbler_communication.c:690 msgid "" "Audacious is now using an improved version of the Last.fm Scrobbler.\n" "Please check the Preferences for the Scrobbler plugin." msgstr "" +"Audacious adesso sta usando una versione migliorata dello Scrobbler Last." +"fm.\n" +"Per favore controlla le impostazioni per il plugin Scrobbler." #: src/sdlout/plugin.c:26 msgid "" @@ -2714,7 +2951,7 @@ msgstr "" #: src/sdlout/plugin.c:31 msgid "SDL Output" -msgstr "" +msgstr "Uscita SDL" #: src/search-tool/search-tool.c:111 src/search-tool/search-tool.c:121 msgid "Library" @@ -3001,15 +3238,15 @@ msgstr "La riproduzione non si fermerà alla fine del brano." #: src/skins/ui_main.c:1752 msgid "Repeat point A set." -msgstr "" +msgstr "Punto di Ripetizione _A impostato" #: src/skins/ui_main.c:1757 msgid "Repeat point B set." -msgstr "" +msgstr "Punto di Ripetizione _B impostato" #: src/skins/ui_main.c:1766 msgid "Repeat points cleared." -msgstr "" +msgstr "Punti di Ripetizione Cancellati" #: src/skins/ui_manager.c:66 src/skins/ui_manager.c:67 msgid "Autoscroll Song Name" @@ -3718,10 +3955,29 @@ msgid "" "this program; if not, write to the Free Software Foundation, Inc., 51 " "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." msgstr "" +"Basato sul plugin xmms_sndfile:\n" +"Copyright (C) 2000, 2002 Erik de Castro Lopo\n" +"\n" +"Convertito per Audacious da Tony Vroon <chainsaw@gentoo.org>\n" +"\n" +"Questo programma è un software gratuito; puoi ridistribuirlo e/o modificarlo " +"sotto i termini della licenza GNU General Public License come pubblicato " +"dalla Free Software Foundation; sia la versione 2 della Licenza, sia (a " +"propria scelta) qualsiasi altra versione.\n" +"\n" +"Questo programma è distribuito nella speranza che sarà utile, ma SENZA " +"ALCUNA GARANZIA; anche senza l'implicita garanzia di COMMERCIABILITÀ o " +"IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la GNU General Public License per " +"maggiori dettagli.\n" +"\n" +"Dovresti aver ricevuto una copia della licenza GNU General Public License " +"insieme al programma; se così non fosse, scrivi alla Free Software " +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, " +"USA." #: src/sndfile/plugin.c:435 msgid "Sndfile Plugin" -msgstr "" +msgstr "Plugin Sndfile" #: src/sndio/sndio.c:172 msgid "About Sndio Output Plugin" @@ -3850,30 +4106,35 @@ msgid "" "Based on Sample Rate Converter Plugin:\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"SoX Resampler Plugin per Audacious\n" +"Copyright 2013 Michał Lipski⏎\n" +"\n" +"Basato sul Plugin Sample Rate Converter:\n" +"Copyright 2010-2012 John Lindgren" #: src/sox-resampler/sox-resampler.c:141 msgid "Quick" -msgstr "" +msgstr "Veloce" #: src/sox-resampler/sox-resampler.c:142 msgid "Low" -msgstr "" +msgstr "Basso" #: src/sox-resampler/sox-resampler.c:144 msgid "High" -msgstr "" +msgstr "Alto" #: src/sox-resampler/sox-resampler.c:145 msgid "Very High" -msgstr "" +msgstr "Molto Alto" #: src/sox-resampler/sox-resampler.c:148 msgid "Quality:" -msgstr "" +msgstr "Qualità:" #: src/sox-resampler/sox-resampler.c:162 msgid "SoX Resampler" -msgstr "" +msgstr "SoX Resampler" #: src/speed-pitch/speed-pitch.c:225 msgid "<b>Speed and Pitch</b>" @@ -3901,6 +4162,13 @@ msgid "" "This plugin provides a status icon, placed in\n" "the system tray area of the window manager." msgstr "" +"Status Icon Plugin\n" +"\n" +"Copyright 2005-2007 Giacomo Lozito <james@develia.org>\n" +"Copyright 2010 Michał Lipski <tallica@o2.pl>\n" +"\n" +"Questo plugin fornisce un'icona di stato, posizionata nell'\n" +"area di notifica del gestore delle finestre di sistema." #: src/statusicon/statusicon.c:397 msgid "<b>Mouse Scroll Action</b>" @@ -3924,7 +4192,7 @@ msgstr "Disabilita la finestra popup" #: src/statusicon/statusicon.c:407 msgid "Close to the system tray" -msgstr "" +msgstr "Chiudi nell'area di notifica (system tray)" #: src/statusicon/statusicon.c:409 msgid "Advance in playlist when scrolling upward" @@ -3940,6 +4208,9 @@ msgid "" "\n" "By Johan Levin, 1999" msgstr "" +"Extra Stereo Plugin\n" +"\n" +"Realizzato da Johan Levin, 1999" #: src/stereo_plugin/stereo.c:25 msgid "<b>Extra Stereo</b>" @@ -3966,6 +4237,12 @@ msgid "" "To use it, add a URL: tone://frequency1;frequency2;frequency3;...\n" "e.g. tone://2000;2005 to play a 2000 Hz tone and a 2005 Hz tone" msgstr "" +"Sine tone generator realizzato da Håvard Kvålen <havardk@xmms.org>⏎\n" +"Modificato da Daniel J. Peng <danielpeng@bigfoot.com>⏎\n" +"⏎\n" +"Per usarlo, aggiungi una URL: tone://frequency1;frequency2;frequency3;...\n" +"ad esempio tone://2000;2005 per avviare un tono di 2000 Hz e un tono di 2005 " +"Hz" #: src/tonegen/tonegen.c:206 msgid "Tone Generator" @@ -3978,6 +4255,10 @@ msgid "" "\n" "THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." msgstr "" +"File I/O Plugin per Audacious\n" +"Copyright 2009-2012 John Lindgren\n" +"\n" +"QUESTO PLUGIN E' NECESSARIO. NON DISABILITARLO." #: src/unix-io/unix-io.c:266 msgid "File I/O Plugin" @@ -4007,6 +4288,23 @@ msgid "" "Gian-Carlo Pascutto <gcp@sjeng.org>\n" "Eugene Zagidullin <e.asphyx@gmail.com>" msgstr "" +"Audacious Ogg Vorbis Decoder\n" +"\n" +"Basato sul plugin Xiph.org della Fondazione Ogg Vorbis:\n" +"http://www.xiph.org/\n" +"\n" +"codice originale realizzato da:\n" +"Tony Arcieri <bascule@inferno.tusculum.edu>\n" +"\n" +"Hanno contribuito:\n" +"Chris Montgomery <monty@xiph.org>\n" +"Peter Alm <peter@xmms.org>\n" +"Michael Smith <msmith@labyrinth.edu.au>\n" +"Jack Moffitt <jack@icecast.org>\n" +"Jorn Baayen <jorn@nl.linux.org>\n" +"Håvard Kvålen <havardk@xmms.org>\n" +"Gian-Carlo Pascutto <gcp@sjeng.org>\n" +"Eugene Zagidullin <e.asphyx@gmail.com>" #: src/vorbis/vorbis.c:575 msgid "Ogg Vorbis Decoder" @@ -4018,6 +4316,10 @@ msgid "" "Based on in_vtx.dll by Roman Sherbakov <v_soft@microfor.ru>\n" "Audacious plugin by Pavel Vymetalek <pvymetalek@seznam.cz>" msgstr "" +"Riproduttaro di file in formato vortex realizzato da Sashnov Alexander " +"<sashnov@ngs.ru>\n" +"Basato su in_vtx.dll realizzato da Roman Sherbakov <v_soft@microfor.ru>\n" +"Plugin Audacious realizzato da Pavel Vymetalek <pvymetalek@seznam.cz>" #: src/vtx/vtx.c:248 msgid "VTX Decoder" @@ -4025,11 +4327,11 @@ msgstr "Decodificatore VTX" #: src/wavpack/wavpack.c:282 msgid "lossy (hybrid)" -msgstr "" +msgstr "senza perdita (ibrido)" #: src/wavpack/wavpack.c:284 msgid "lossy" -msgstr "" +msgstr "con perdita" #: src/wavpack/wavpack.c:334 msgid "" @@ -4037,6 +4339,9 @@ msgid "" "\n" "Some of the plugin code was by Miles Egan." msgstr "" +"Copyright 2006 William Pitcock <nenolod@nenolod.net>\n" +"\n" +"Una parte del codice del plugin era di Miles Egan." #: src/wavpack/wavpack.c:341 msgid "WavPack Decoder" @@ -12,9 +12,9 @@ # 読み専(先行量産型) <hallconnen2+transifex@gmail.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 13:56+0000\n" "Last-Translator: Shuuji Takahashi <shuuji3@gmail.com>\n" "Language-Team: Japanese (http://www.transifex.com/projects/p/audacious/" @@ -42,7 +42,7 @@ msgid "AAC Decoder" msgstr "AAC デコーダ" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "シーケンス" @@ -1302,7 +1302,7 @@ msgstr "" msgid "Echo" msgstr "エコー" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1318,7 +1318,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg プラグイン" @@ -2556,11 +2556,11 @@ msgstr "サラウンド" msgid "MPG123 Plugin" msgstr "MPG123 プラグイン" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 サーバ" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS プラグイン" @@ -2663,7 +2663,7 @@ msgstr "OSS4 出力" msgid "PLS Playlists" msgstr "PLS プレイリスト" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 デコーダ" @@ -12,11 +12,11 @@ # Darkcircle <darkcircle.0426@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-04 12:38+0000\n" -"Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-07 08:39+0000\n" +"Last-Translator: Darkcircle <darkcircle.0426@gmail.com>\n" "Language-Team: Korean (http://www.transifex.com/projects/p/audacious/" "language/ko/)\n" "Language: ko\n" @@ -42,7 +42,7 @@ msgid "AAC Decoder" msgstr "AAC 디코더" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "순차" @@ -1343,7 +1343,7 @@ msgstr "" msgid "Echo" msgstr "울림" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1359,7 +1359,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg 플러그인" @@ -1637,10 +1637,18 @@ msgid "" "\n" "License: GPLv2+" msgstr "" +"Audacious용 OpenGL 스펙트럼 분석기⏎\n" +"Copyright 2013 Christophe Budé and John Lindgren⏎\n" +"⏎\n" +"XMMS 플러그인을 기반으로 함:⏎\n" +"Copyright 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson, and " +"4Front Technologies⏎\n" +"⏎\n" +"라이선스: GPLv2+" #: src/gl-spectrum/gl-spectrum.c:292 msgid "OpenGL Spectrum Analyzer" -msgstr "" +msgstr "OpenGL 스펙트럼 분석기" #: src/gnomeshortcuts/gnomeshortcuts.c:41 msgid "" @@ -2532,11 +2540,11 @@ msgstr "<b>저음 증폭</b>" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" -msgstr "" +msgstr "<b>서라운드</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" -msgstr "" +msgstr "<b>프리앰프</b>" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" @@ -2548,7 +2556,7 @@ msgstr "오버샘플링" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "노이즈 감소" +msgstr "노이즈 감쇄" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" @@ -2578,11 +2586,11 @@ msgstr "서라운드" msgid "MPG123 Plugin" msgstr "MPG123 플러그인" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 서버" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS 플러그인" @@ -2613,14 +2621,28 @@ msgid "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see <http://www.gnu.org/licenses/>." msgstr "" +"Audacious용 데스크톱 알림 플러그인⏎\n" +"Copyright (C) 2010 Maximilian Bogner⏎\n" +"Copyright (C) 2011-2013 John Lindgren and Jean-Alexandre Anglès d'Auriac⏎\n" +"⏎\n" +"이 플러그인은 자유 소프트웨어입니다; 자유 소프트웨어 재단이 공표한 GNU 일반 " +"공중 사용허가서 3판 (또는 여러분의 의사에 따라) 이상의 조항에 따라 재배포 또" +"는 수정할 수 있습니다.⏎\n" +"⏎\n" +"이 프로그램이 유용하게 사용되길 바라지만 그 어떤 보증도 없으며 심지어는 상업" +"적 보증이나 일부 목적의 적합성에 대한 암시적 보증도 하지 않습니다. 자세한 내" +"용은 GNU 일반 공중 사용허가서를 보십시오.⏎\n" +"⏎\n" +"이 프로그램과 함께 GNU 일반 공중 사용 허가서 사본을 받아야 합니다. 만약 사본" +"이 없다면 <http://www.gnu.org/licenses/> 링크를 참조하십시오." #: src/notify/notify.c:77 msgid "Show playback controls" -msgstr "" +msgstr "재생 컨트롤 보이기" #: src/notify/notify.c:80 msgid "Always show notification" -msgstr "" +msgstr "알림 항상 보이기" #: src/notify/notify.c:92 msgid "Desktop Notifications" @@ -2628,7 +2650,7 @@ msgstr "데스크톱 알림" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "보이기" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2684,7 +2706,7 @@ msgstr "OSS4 출력" msgid "PLS Playlists" msgstr "PLS 재생 목록" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 디코더" @@ -2808,7 +2830,7 @@ msgstr "샘플주파수 변환기" #: src/scrobbler2/config_window.c:41 #, c-format msgid "OK. Scrobbling for user: %s" -msgstr "" +msgstr "네. %s 사용자의 스크로블링을 진행합니다" #: src/scrobbler2/config_window.c:52 msgid "Permission Denied" @@ -2821,7 +2843,7 @@ msgstr "" #: src/scrobbler2/config_window.c:63 msgid "Keep this window open and click 'Check Permission' again.\n" -msgstr "" +msgstr "이 창을 연 상태로 다시 '권한 확인'을 누르십시오.\n" #: src/scrobbler2/config_window.c:66 src/scrobbler2/config_window.c:77 msgid "" @@ -2849,7 +2871,7 @@ msgstr "권한 확인(_H)" #: src/scrobbler2/config_window.c:174 msgid "_Revoke Permission" -msgstr "" +msgstr "권한 취소(_R)" #: src/scrobbler2/config_window.c:221 msgid "" @@ -2890,6 +2912,8 @@ msgid "" "Audacious is now using an improved version of the Last.fm Scrobbler.\n" "Please check the Preferences for the Scrobbler plugin." msgstr "" +"Audacious가 이제부터 Last.fm 스크로블러 개선 버전을 사용중입니다.⏎\n" +"스크로블러 플러그인의 기본 설정을 확인하십시오." #: src/sdlout/plugin.c:26 msgid "" @@ -7,9 +7,9 @@ # chingis <translatorky@lavabit.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Kirgyz (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "AAC декодери" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1212,7 +1212,7 @@ msgstr "" msgid "Echo" msgstr "Эхо" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1222,7 +1222,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg плагини" @@ -2374,11 +2374,11 @@ msgstr "Көлөмдүү тыбыш" msgid "MPG123 Plugin" msgstr "MPG123 плагини" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 сервери" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS плагини" @@ -2475,7 +2475,7 @@ msgstr "OSS4 чыгышы" msgid "PLS Playlists" msgstr "PLS ойнотуу тизмелери" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 чыгышы" @@ -10,9 +10,9 @@ # gymka <gymka@mail.ru>, 2011 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:51+0000\n" "Last-Translator: Algimantas Margevičius <gymka@archlinux.lt>\n" "Language-Team: Lithuanian (http://www.transifex.com/projects/p/audacious/" @@ -41,7 +41,7 @@ msgid "AAC Decoder" msgstr "AAC dekoderis" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "nuoseklus" @@ -1339,7 +1339,7 @@ msgstr "" msgid "Echo" msgstr "Aidas" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1355,7 +1355,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg įskiepis" @@ -2588,11 +2588,11 @@ msgstr "Erdvinis garsas" msgid "MPG123 Plugin" msgstr "MPG123 įskiepis" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 Serveris" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS įskiepis" @@ -2710,7 +2710,7 @@ msgstr "OSS4 išvestis" msgid "PLS Playlists" msgstr "PLS grojaraščiai" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 dekoderis" @@ -6,9 +6,9 @@ # hairy_latvian <einars8@gmail.com>, 2009,2011-2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-06 11:31+0000\n" "Last-Translator: hairy_latvian <einars8@gmail.com>\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/audacious/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "AAC dekodētājs" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sekvencēts" @@ -1342,7 +1342,7 @@ msgstr "" msgid "Echo" msgstr "Atbalss" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1358,7 +1358,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg spraudnis" @@ -2592,11 +2592,11 @@ msgstr "Ieskaušana" msgid "MPG123 Plugin" msgstr "MPG123 spraudnis" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 serveris" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS spraudnis" @@ -2713,7 +2713,7 @@ msgstr "OSS4 izvade" msgid "PLS Playlists" msgstr "PLS repertuāri" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 dekodētājs" @@ -4,20 +4,25 @@ # # Translators: # CH <259095+transifex@gmail.com>, 2012 +# CH <259095+transifex@gmail.com>, 2012 +# felikstayson <felikstayson@o2.pl>, 2012 # felikstayson <felikstayson@o2.pl>, 2012 +# mkkot <marcin2006@gmail.com>, 2013 +# mgrvnwald <marco@mgrvnwald.com>, 2013 # mgrvnwald <marco@mgrvnwald.com>, 2013 # mgrvnwald <marco@mgrvnwald.com>, 2013 # Piotr Sokół <psokol@jabster.pl>, 2012 # Szymon Weihs <sz.weihs@gmail.com>, 2011 # Szymon Weihs <sz.weihs@gmail.com>, 2011-2012 # vojcek <vojcek@tlen.pl>, 2013 +# vojcek <vojcek@tlen.pl>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-25 07:01+0000\n" -"Last-Translator: vojcek <vojcek@tlen.pl>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-07 13:21+0000\n" +"Last-Translator: mkkot <marcin2006@gmail.com>\n" "Language-Team: Polish (http://www.transifex.com/projects/p/audacious/" "language/pl/)\n" "Language: pl\n" @@ -44,7 +49,7 @@ msgid "AAC Decoder" msgstr "Dekoder AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sekwencjonowane" @@ -362,7 +367,7 @@ msgstr "" #: src/alsa/plugin.c:32 msgid "ALSA Output" -msgstr "Wyjście ALSA" +msgstr "ALSA" #: src/amidi-plug/amidi-plug.c:248 msgid "" @@ -1348,7 +1353,7 @@ msgstr "" msgid "Echo" msgstr "Echo" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1364,7 +1369,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Wtyczka FFmpeg" @@ -1624,7 +1629,7 @@ msgid "" "GIO Plugin for Audacious\n" "Copyright 2009-2012 John Lindgren" msgstr "" -"GIO Plugin for Audacious\n" +"Wtyczka GIO Audaciousa\n" "Copyright 2009-2012 John Lindgren" #: src/gio/gio.c:322 @@ -2254,7 +2259,7 @@ msgstr "" #: src/jack/jack.c:416 msgid "JACK Output" -msgstr "Wyjście JACK" +msgstr "JACK" #: src/ladspa/plugin.c:493 #, c-format @@ -2485,15 +2490,15 @@ msgstr "Wtyczka MMS" #: src/modplug/plugin_main.c:57 msgid "<b>Resolution</b>" -msgstr "<b>Rozdzielczość</b>" +msgstr "<b>Rozdzielczość bitowa</b>" #: src/modplug/plugin_main.c:58 msgid "8-bit" -msgstr "8-bit" +msgstr "8 bitów" #: src/modplug/plugin_main.c:60 msgid "16-bit" -msgstr "16-bit" +msgstr "16 bitów" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" @@ -2501,27 +2506,29 @@ msgstr "<b>Kanały</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" -msgstr "<b>Resamplowanie</b>" +msgstr "" +"<b>Konwersja częstotliwości\n" +"próbkowania</b>" #: src/modplug/plugin_main.c:68 msgid "Nearest (fastest)" -msgstr "Najbliższy (najszybszy)" +msgstr "Najbliższa (najszybsza)" #: src/modplug/plugin_main.c:70 msgid "Linear (fast)" -msgstr "Liniowy (szybki)" +msgstr "Liniowa (szybka)" #: src/modplug/plugin_main.c:72 msgid "Spline (good)" -msgstr "Spline (dobry)" +msgstr "Krzywa (dobra)" #: src/modplug/plugin_main.c:74 msgid "Polyphase (best)" -msgstr "Polyphase (najlepszy)" +msgstr "Przesunięcie fazowe (najlepsza)" #: src/modplug/plugin_main.c:76 msgid "<b>Sampling rate</b>" -msgstr "<b>Częstotliwość sampli</b>" +msgstr "<b>Częstotliwość próbkowania</b>" #: src/modplug/plugin_main.c:77 msgid "22 kHz" @@ -2550,11 +2557,11 @@ msgstr "Odcięcie:" #: src/modplug/plugin_main.c:114 msgid "<b>Reverb</b>" -msgstr "" +msgstr "<b>Echo</b>" #: src/modplug/plugin_main.c:118 msgid "<b>Bass Boost</b>" -msgstr "<b>Podbicie Basów</b>" +msgstr "<b>Podbicie basów</b>" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" @@ -2562,7 +2569,7 @@ msgstr "<b>Dźwięk przestrzenny</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" -msgstr "" +msgstr "<b>Przedwzmacniacz</b>" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" @@ -2570,7 +2577,7 @@ msgstr "<b>Różne</b>" #: src/modplug/plugin_main.c:134 msgid "Oversample" -msgstr "" +msgstr "Próbkowanie nadmiarowe" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" @@ -2578,7 +2585,7 @@ msgstr "Redukcja szumów" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" -msgstr "Odtwórz MODy Amigi" +msgstr "Odtwórz MOD-y Amigi" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" @@ -2590,25 +2597,25 @@ msgstr "Ilość powtórzeń:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." -msgstr "By powtarzać bez końca ustaw -1 dla powtarzania." +msgstr "By powtarzać bez końca ustaw -1." #: src/modplug/plugin_main.c:238 msgid "ModPlug (Module Player)" -msgstr "ModPlug (odtwarzacz modułowy)" +msgstr "ModPlug (odtwarzacz modułów)" #: src/mpg123/mpg123.c:211 msgid "Surround" -msgstr "Surround" +msgstr "Dźwięk przestrzenny" #: src/mpg123/mpg123.c:569 msgid "MPG123 Plugin" msgstr "Wtyczka MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Serwer MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Wtyczka Neon HTTP/HTTPS" @@ -2639,6 +2646,24 @@ msgid "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see <http://www.gnu.org/licenses/>." msgstr "" +"Wtyczka powiadomień pulpitowych Audaciousa\n" +"Prawa autorskie (C) 2010: Maximilian Bogner\n" +"Prawa autorskie (C) 2011-2013 John Lindgren and Jean-Alexandre Anglès " +"d'Auriac\n" +"\n" +"Niniejsza wtyczka jest wolnym oprogramowaniem; można ją rozprowadzać dalej i/" +"lub modyfikować na warunkach Powszechnej Licencji Publicznej GNU, wydanej " +"przez Fundację Wolnego Oprogramowania - według wersji trzeciej tej Licencji " +"lub którejś z późniejszych wersji.\n" +"\n" +"Wtyczka jest rozpowszechniana jest z nadzieją, iż będzie użyteczna, jednak " +"BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI " +"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ. W celu uzyskania " +"bliższych informacji przeczytaj Powszechną Licencję Publiczną GNU.\n" +"\n" +" Z pewnością wraz z wtyczką otrzymałeś też egzemplarz Powszechnej Licencji " +"Publicznej GNU (GNU General Public License); jeśli nie, odwiedź <http://www." +"gnu.org/licenses/>." #: src/notify/notify.c:77 msgid "Show playback controls" @@ -2704,13 +2729,13 @@ msgstr "" #: src/oss4/plugin.c:115 msgid "OSS4 Output" -msgstr "Wyjście OSS4" +msgstr "OSS4" #: src/pls/pls.c:113 msgid "PLS Playlists" msgstr "Listy odtwarzania PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Dekoder OpenPSF PSF1/PSF2" @@ -2748,7 +2773,7 @@ msgstr "" #: src/pulse_audio/pulse_audio.c:662 msgid "PulseAudio Output" -msgstr "Wyjście PulseAudio" +msgstr "PulseAudio" #: src/resample/resample.c:161 msgid "" @@ -2931,7 +2956,7 @@ msgstr "" #: src/sdlout/plugin.c:31 msgid "SDL Output" -msgstr "Wyjście SDL" +msgstr "SDL" #: src/search-tool/search-tool.c:111 src/search-tool/search-tool.c:121 msgid "Library" @@ -4006,7 +4031,7 @@ msgstr "Anuluj" #: src/song_change/song_change.c:54 msgid "Song Change" -msgstr "Ustawienia wtyczki Song Change" +msgstr "Polecenie przy zmianie ścieżki" #: src/song_change/song_change.c:436 msgid "Command to run when Audacious starts a new song." @@ -4193,7 +4218,7 @@ msgstr "<b>Dodatkowe Stereo</b>" #: src/stereo_plugin/stereo.c:36 msgid "Extra Stereo" -msgstr "Extra stereo" +msgstr "Dodatkowe stereo" #: src/tonegen/tonegen.c:84 #, c-format @@ -4229,7 +4254,7 @@ msgid "" "\n" "THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." msgstr "" -"File I/O Plugin for Audacious\n" +"Operacje wejścia/wyjścia na plikach dla Audaciousa\n" "Copyright 2009-2012 John Lindgren\n" "TA WTYCZKA JEST NIEZBĘDNA, NIE WYŁĄCZAJ JEJ." diff --git a/po/process-transifex-po b/po/process-transifex-po index b7a64b5..8471f3d 100755 --- a/po/process-transifex-po +++ b/po/process-transifex-po @@ -13,12 +13,18 @@ ca.po) cs.po) LANGUAGE="Czech" ;; +da.po) + LANGUAGE="Danish" + ;; de.po) LANGUAGE="German" ;; el.po) LANGUAGE="Greek" ;; +en_GB.po) + LANGUAGE="English (United Kingdom)" + ;; es.po) LANGUAGE="Spanish" ;; diff --git a/po/pt_BR.po b/po/pt_BR.po index 9cde1b7..26a11ac 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -15,9 +15,9 @@ # salmora8 <shorterfire@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-07 12:29+0000\n" "Last-Translator: salmora8 <shorterfire@gmail.com>\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/" @@ -45,7 +45,7 @@ msgid "AAC Decoder" msgstr "Decodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sequenciado" @@ -1353,7 +1353,7 @@ msgstr "" msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1370,7 +1370,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>." -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Plugin FFmpeg" @@ -2612,11 +2612,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "Plugin MPG 123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Servidor MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Plugin Neon HTTP/HTTPS" @@ -2733,7 +2733,7 @@ msgstr "Saída OSS4" msgid "PLS Playlists" msgstr "Listas de Reproduções PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Decodificador OpenPSF PDF1/PSF2" diff --git a/po/pt_PT.po b/po/pt_PT.po index bc84132..363b87f 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -9,9 +9,9 @@ # salmora8 <shorterfire@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 23:00+0000\n" "Last-Translator: Pitxyoki <Pitxyoki@gmail.com>\n" "Language-Team: Portuguese (Portugal) (http://www.transifex.com/projects/p/" @@ -39,7 +39,7 @@ msgid "AAC Decoder" msgstr "Descodificador AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sequencial" @@ -1347,7 +1347,7 @@ msgstr "" msgid "Echo" msgstr "Eco" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1363,7 +1363,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Suplemento FFmpeg" @@ -2598,11 +2598,11 @@ msgstr "Surround" msgid "MPG123 Plugin" msgstr "Suplemento MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Servidor MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Suplemento Neon HTTP/HTTPS" @@ -2721,7 +2721,7 @@ msgstr "Sistema OSS4" msgid "PLS Playlists" msgstr "Listas de reprodução PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Descodificador OpenPSF PSF1/PSF2" @@ -16,13 +16,14 @@ # senyalutyi <senyalutyi@ya.ru>, 2013 # Sergey V. Mironov <serg0@ulx.ru>, 2009 # serg0 <sergo@bk.ru>, 2010 +# NEKURIM <kvadrocu7@gmail.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" -"PO-Revision-Date: 2013-05-04 12:38+0000\n" -"Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-05 10:19+0000\n" +"Last-Translator: NEKURIM <kvadrocu7@gmail.com>\n" "Language-Team: Russian (http://www.transifex.com/projects/p/audacious/" "language/ru/)\n" "Language: ru\n" @@ -49,9 +50,9 @@ msgid "AAC Decoder" msgstr "Декодер AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" -msgstr "" +msgstr "последовательный" #: src/adplug/plugin.c:14 msgid "AdPlug (AdLib Player)" @@ -63,6 +64,9 @@ msgid "" "\n" "Originally written by Adam Feakin and Daniel Stodden." msgstr "" +"Плагин, который используется для проигрывания и завершения проигрывания в " +"определенное время.\n" +"Изначально написан Adam Feakin и Daniel Stodden." #: src/alarm/alarm.c:814 src/alarm/interface.c:82 msgid "Alarm" @@ -90,6 +94,23 @@ msgid "" "\n" "\n" msgstr "" +"Время\n" +"Сигнал после:\n" +"Время сигнала после.\n" +"\n" +"Тихий режим после:\n" +"Сигнал стоп посе истечения этого промежутка времени.\n" +"(если диалог пробуждения не закрыт)\n" +"\n" +"\n" +"Дни\n" +"День:\n" +"Выберите дни для активации сигнала.\n" +"\n" +"Время:\n" +"Выберите время сигнала на каждый день\n" +"или выберите переключатель для времени по умолчанию.\n" +"\n" #: src/alarm/interface.c:45 msgid "" @@ -112,6 +133,23 @@ msgid "" " Run this command at the alarm time.\n" "\n" msgstr "" +"Громкость\n" +"Затухание:\n" +"Уменьшить громкость до нужного уровня\n" +"за этот промежуток времени.\n" +"\n" +"Начало в:\n" +"Начало затухания с этой громкости.\n" +"\n" +"Завершение:\n" +"Остановить угасание громкости. Если время\n" +"угасания 0, то установить эту громкость и начать\n" +"воспроизведение.\n" +"\n" +"\n" +"Параметры:\n" +"Дополнительные команды:\n" +"Выполнить эту команду при срабатывании сигнала.\n" #: src/alarm/interface.c:62 msgid "" @@ -126,6 +164,15 @@ msgid "" " Type the reminder in the box and turn on the\n" " toggle button if you want it to be shown." msgstr "" +"Список:\n" +"Загрузить этот список. Если нет списка\n" +"учитываю, что он будет использоваться.\n" +"Адрес mp3/ogg потока может также быть введен здесь.\n" +"\n" +"Напоминание:\n" +"Отображать напоминание, когда звучит сигнал.\n" +"Введите в поле напоминание и включите\n" +"- переключатель, если вы хотите, чтобы это было показано." #: src/alarm/interface.c:81 msgid "This is your wakeup call." @@ -133,7 +180,7 @@ msgstr "Это ваш звонок будильника." #: src/alarm/interface.c:99 msgid "Your reminder for today is..." -msgstr "" +msgstr "Напоминание на сегодняшний день..." #: src/alarm/interface.c:101 src/alarm/interface.c:415 msgid "Reminder" @@ -310,6 +357,11 @@ msgid "" "My thanks to William Pitcock, author of the ALSA Output Plugin NG, whose " "code served as a reference when the ALSA manual was not enough." msgstr "" +"ALSA Плагин вывода для Audacious\n" +"Авторство 2009-2012 John Lindgren\n" +"\n" +"Моя благодарность Уильяму Pitcock, автор Вывода ALSA NG, чей код служит " +"ориентиром когда руководства по ALSA было недостаточно." #: src/alsa/plugin.c:32 msgid "ALSA Output" @@ -617,7 +669,7 @@ msgstr "Об AMIDI-Plug" #: src/amidi-plug/i_utils.c:53 msgid "AMIDI-Plug" -msgstr "" +msgstr "Модуль AMIDI-Plug" #: src/amidi-plug/i_utils.c:54 msgid "" @@ -641,6 +693,26 @@ msgid "" "Tony Vroon\n" "for the good help with alpha testing" msgstr "" +"\n" +"модульный проигрыватель MIDI\n" +"http://www.develia.org/projects.php?p=amidiplug\n" +"\n" +"написан Giacomo Lozito\n" +"< james@develia.org >\n" +"\n" +"\n" +"отдельные благодарности...\n" +"\n" +"Clemens Ladisch и Jaroslav Kysela\n" +"за их отличные программы aplaymidi и amixer; они\n" +"действительно полезные, как и документация alsa-lib для того,\n" +"чтобы узнать больше об интерфейсе библиотеки ALSA\n" +"\n" +"Alfredo Spadafina\n" +"за прекрасный логотип миди-клавиатуры\n" +"\n" +"Tony Vroon\n" +"за большую помощь в альфа-тестировании" #: src/aosd/aosd.c:29 msgid "Audacious OSD " @@ -938,6 +1010,18 @@ msgid "" "\n" "This was a Google Summer of Code 2007 project." msgstr "" +"Copyright (c) 2007 Calin Crisan <ccrisan@gmail.com> и команда разработчиков " +"Audacious.\n" +"\n" +"Автор выражает благодарность разработчикам библиотеки libcdio <http://www." +"gnu.org/software/libcdio/>\n" +"\tи разработчикам библиотеки libcddb <http://libcddb.sourceforge.net/>.\n" +"\n" +"Также спасибо тебе, Tony Vroon, за наставления.\n" +"\n" +"Этот модуль разработан в рамках проекта Google Summer of Code 2007.\n" +"\n" +"Copyright 2009 John Lindgren" #: src/cdaudio-ng/cdaudio-ng.c:121 msgid "<b>Device</b>" @@ -985,7 +1069,7 @@ msgstr "Плагин Audio CD" #: src/cdaudio-ng/cdaudio-ng.c:249 msgid "Failed to initialize cdio subsystem." -msgstr "" +msgstr "Ошибка при инициализации CD." #: src/cdaudio-ng/cdaudio-ng.c:306 #, c-format @@ -1000,7 +1084,7 @@ msgstr "Трек %d не найден." #: src/cdaudio-ng/cdaudio-ng.c:310 #, c-format msgid "Track %d is a data track." -msgstr "" +msgstr "Дорожка %d это данные дорожки." #: src/cdaudio-ng/cdaudio-ng.c:312 msgid "Failed to open audio output." @@ -1029,7 +1113,7 @@ msgstr "Ошибка при инициализации CD." #: src/cdaudio-ng/cdaudio-ng.c:587 msgid "Failed to retrieve first/last track number." -msgstr "" +msgstr "Failed to retrieve first/last track number." #: src/cdaudio-ng/cdaudio-ng.c:612 #, c-format @@ -1038,21 +1122,21 @@ msgstr "Невозможно считать начало/конец LSN для #: src/cdaudio-ng/cdaudio-ng.c:702 msgid "Failed to create the cddb connection." -msgstr "" +msgstr "Не удалось создать cddb соеденения." #: src/cdaudio-ng/cdaudio-ng.c:777 msgid "Failed to query the CDDB server" -msgstr "" +msgstr "Не удалось выполнить запрос к базе CDDB сервера" #: src/cdaudio-ng/cdaudio-ng.c:779 #, c-format msgid "Failed to query the CDDB server: %s" -msgstr "" +msgstr "Не удалось выполнить запрос к базе CDDB сервера: %s" #: src/cdaudio-ng/cdaudio-ng.c:803 #, c-format msgid "Failed to read the cddb info: %s" -msgstr "" +msgstr "Не удалось прочитать cddb информацию: %s" #: src/cdaudio-ng/cdaudio-ng.c:876 msgid "Drive is empty." @@ -1091,6 +1175,8 @@ msgid "" "Dynamic Range Compression Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Сжатие динамического Диапазона Плагин для Audacious\n" +"Авторство 2010-2012 Джон Линдгрен" #: src/compressor/plugin.c:58 msgid "Dynamic Range Compressor" @@ -1176,6 +1262,13 @@ msgid "" "William Pitcock <nenolod@dereferenced.org>\n" "Shay Green <gblargg@gmail.com>" msgstr "" +"Модуль поддержки звука игровых консолей основан на движке Game_Music_Emu " +"0.5.2\n" +"Поддерживаемые форматы: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, " +"VGZ\n" +"Audacious plugin by:⏎\n" +"William Pitcock <nenolod@dereferenced.org>⏎\n" +"Shay Green <gblargg@gmail.com>" #: src/crossfade/crossfade.c:81 msgid "" @@ -1201,6 +1294,8 @@ msgid "" "Crossfade Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Плагин перекрестного затухания для Audacious⏎\n" +"Авторство 2010-2012 John Lindgren" #: src/crossfade/crossfade.c:258 msgid "<b>Crossfade</b>" @@ -1259,12 +1354,16 @@ msgid "" "\n" "Surround echo by Carl van Schaik, 1999" msgstr "" +"Модуль Эхо\n" +"Автор Johan Levin, 1999.\n" +"\n" +"Объёмное эхо добавил Carl van Schaik 1999" #: src/echo_plugin/echo.c:120 msgid "Echo" msgstr "Эхо" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1273,8 +1372,14 @@ msgid "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" +"Мульти-формат плагина аудио-декодера для Audacious\n" +" основан на FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" +"\n" +"Авторы плагина для Audacious:\n" +" William Pitcock <nenolod@nenolod.net>,\n" +" Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Плагин FFmpeg" @@ -1343,6 +1448,21 @@ msgid "" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." msgstr "" +"Это свободная программа; вы можете повторно распространять ее и/или " +"модифицировать\n" +"его в соответствии с условиями GNU General Public License, опубликованной\n" +"Free Software Foundation; либо версии 2 Лицензии, либо\n" +"(по вашему выбору) любой более поздней версии.\n" +"\n" +"Эта программа распространяется в надежде, что она будет полезной,\n" +"но БЕЗ всякой ГАРАНТИИ; даже без подразумеваемых гарантий\n" +"Коммерческой ценности или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См.\n" +"GNU General Public License for more details.\n" +"\n" +"Вы должны были получить копию лицензии GNU General Public License\n" +"вместе с этой программой; если нет, напишите в Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"США." #: src/filewriter/filewriter.c:532 msgid "FileWriter Plugin" @@ -1509,6 +1629,10 @@ msgid "" "\n" "http://www.skytale.net/projects/bmp-flac2/" msgstr "" +"Оригинальный код написал\n" +"Ralf Ertzinger <ralf@skytale.net>\n" +"\n" +"http://www.skytale.net/projects/bmp-flac2/" #: src/flacng/plugin.c:277 msgid "FLAC Decoder" @@ -1519,6 +1643,8 @@ msgid "" "GIO Plugin for Audacious\n" "Copyright 2009-2012 John Lindgren" msgstr "" +"GIO Плагин для Audacious⏎\n" +"Copyright 2009-2012 John Lindgren" #: src/gio/gio.c:322 msgid "GIO Plugin" @@ -1535,10 +1661,18 @@ msgid "" "\n" "License: GPLv2+" msgstr "" +"OpenGL Спектральный Анализатор для Audacious⏎\n" +"Copyright 2013 Christophe Budé and John Lindgren⏎\n" +"⏎\n" +"Основан на XMMS плагине:⏎\n" +"Copyright 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson, and " +"4Front Technologies⏎\n" +"⏎\n" +"License: GPLv2+" #: src/gl-spectrum/gl-spectrum.c:292 msgid "OpenGL Spectrum Analyzer" -msgstr "" +msgstr "OpenGL Спектральный Анализатор" #: src/gnomeshortcuts/gnomeshortcuts.c:41 msgid "" @@ -1547,6 +1681,11 @@ msgid "" "\n" "Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" msgstr "" +"Модуль \"Горячие клавиши\" для Gnome\n" +"Управление проигрывателем при помощи \"горячих\n" +"клавиш\", указанных в настройках Gnome.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>" #: src/gnomeshortcuts/gnomeshortcuts.c:47 msgid "Gnome Shortcuts" @@ -1706,7 +1845,7 @@ msgstr "Н_е передвигаться по списку" #: src/gtkui/menus.c:191 msgid "Stop A_fter This Song" -msgstr "" +msgstr "Остановка после етой песни" #: src/gtkui/menus.c:193 src/gtkui/menus.c:284 msgid "Song _Info ..." @@ -1722,15 +1861,15 @@ msgstr "_Перейти к песне ..." #: src/gtkui/menus.c:197 msgid "Set Repeat Point _A" -msgstr "" +msgstr "Повтор установки _A" #: src/gtkui/menus.c:198 msgid "Set Repeat Point _B" -msgstr "" +msgstr "Повтор установки _B" #: src/gtkui/menus.c:199 msgid "_Clear Repeat Points" -msgstr "" +msgstr "_Повтор чистых пунктов" #: src/gtkui/menus.c:202 src/gtkui/menus.c:208 src/gtkui/menus.c:221 msgid "By _Title" @@ -1738,11 +1877,11 @@ msgstr "По _названию" #: src/gtkui/menus.c:203 msgid "By _Filename" -msgstr "" +msgstr "По _Имени" #: src/gtkui/menus.c:204 msgid "By File _Path" -msgstr "" +msgstr "Путь к файлу" #: src/gtkui/menus.c:207 src/gtkui/menus.c:220 msgid "By Track _Number" @@ -1754,7 +1893,7 @@ msgstr "По _исполнителю" #: src/gtkui/menus.c:210 src/gtkui/menus.c:223 msgid "By Al_bum" -msgstr "" +msgstr "По Альбому" #: src/gtkui/menus.c:211 src/gtkui/menus.c:224 msgid "By Release _Date" @@ -1762,7 +1901,7 @@ msgstr "По _дате выпуска" #: src/gtkui/menus.c:212 src/gtkui/menus.c:225 msgid "By _Length" -msgstr "" +msgstr "По _Длинне" #: src/gtkui/menus.c:213 src/gtkui/menus.c:226 msgid "By _File Path" @@ -1794,11 +1933,11 @@ msgstr "_Сортировать" #: src/gtkui/menus.c:237 msgid "Sort S_elected" -msgstr "" +msgstr "Сортировать Выделенное" #: src/gtkui/menus.c:238 msgid "Remove _Duplicates" -msgstr "" +msgstr "Удалить _Дубликаты" #: src/gtkui/menus.c:239 msgid "Remove _Unavailable Files" @@ -1874,7 +2013,7 @@ msgstr "Показывать _строку состояния" #: src/gtkui/menus.c:268 msgid "Show _Remaining Time" -msgstr "" +msgstr "Показать _Оставшееся время" #: src/gtkui/menus.c:270 msgid "Show Close _Buttons" @@ -1979,7 +2118,7 @@ msgstr "%d кбит/с" #: src/hotkey/gui.c:70 msgid "Previous track" -msgstr "" +msgstr "Предыдущая дорожка" #: src/hotkey/gui.c:71 src/notify/osd.c:68 src/skins/ui_manager.c:177 #: src/skins/ui_manager.c:178 @@ -1996,7 +2135,7 @@ msgstr "Остановить" #: src/hotkey/gui.c:74 msgid "Next track" -msgstr "" +msgstr "Следующая дорожка" #: src/hotkey/gui.c:75 msgid "Forward 5 seconds" @@ -2032,19 +2171,19 @@ msgstr "Отобразить экранное сообщение (OSD)" #: src/hotkey/gui.c:83 msgid "Toggle repeat" -msgstr "" +msgstr "Повтор" #: src/hotkey/gui.c:84 msgid "Toggle shuffle" -msgstr "" +msgstr "Перетасовка" #: src/hotkey/gui.c:85 msgid "Toggle stop after current" -msgstr "" +msgstr "Остановить после текущего" #: src/hotkey/gui.c:86 msgid "Raise player window(s)" -msgstr "" +msgstr "Поднять окно(а) плеера" #: src/hotkey/gui.c:96 msgid "(none)" @@ -2104,6 +2243,18 @@ msgid "" " Jonathan A. Davis <davis@jdhouse.org>,\n" " Jeremy Tan <nsx@nsx.homeip.net>" msgstr "" +"Модуль Глобальные \"горячие клавиши\"\n" +"Управление проигрывателем при помощи сочетаний клавиш\n" +"или специальных клавиш мультимедийных клавиатур.\n" +"\n" +"Copyright (C) 2007-2008 Sascha Hlusiak <contact@saschahlusiak.de>\n" +"\n" +"В разработке принимали участие:\n" +"Copyright (C) 2006-2007 Vladimir Paskov <vlado.paskov@gmail.com>\n" +"Copyright (C) 2000-2002 Ville Syrjälä <syrjala@sci.fi>\n" +"\t\t\tBryn Davies <curious@ihug.com.au>\n" +"\t\t\tJonathan A. Davis <davis@jdhouse.org>\n" +"\t\t\tJeremy Tan <nsx@nsx.homeip.net>" #: src/hotkey/plugin.c:78 msgid "Global Hotkeys" @@ -2116,6 +2267,10 @@ msgid "" "\n" "Ported to Audacious by Giacomo Lozito" msgstr "" +"Основан на xmms-jack, by Chris Morgan:\n" +"http://xmms-jack.sourceforge.net/\n" +"\n" +"Портирован в Audacious Giacomo Lozito" #: src/jack/jack.c:416 msgid "JACK Output" @@ -2167,6 +2322,8 @@ msgid "" "LADSPA Host for Audacious\n" "Copyright 2011 John Lindgren" msgstr "" +"LADSPA Хост для Audacious\n" +"Авторство 2011 John Lindgren" #: src/ladspa/plugin.c:650 msgid "LADSPA Host" @@ -2223,6 +2380,19 @@ msgid "" "\n" "For more information about LIRC, see http://lirc.org." msgstr "" +"Простой плагин для управления Дерзкий, используя LIRC демон дистанционного " +"управления\n" +"\n" +"Адаптирован для Audacious:\n" +"Tony Vroon <chainsaw@gentoo.org>\n" +"Joonas Harjumäki <jharjuma@gmail.com>\n" +"\n" +"Основан на XMMS LIRC плагине:\n" +"Carl van Schaik <carl@leg.uct.ac.za>\n" +"Christoph Bartelmus <xmms@bartelmus.de>\n" +"Andrew O. Shadoura <bugzilla@tut.by>\n" +"\n" +"Больше инфромации про LIRC, смотрите http://lirc.org." #: src/lirc/lirc.c:392 msgid "<b>Connection</b>" @@ -2292,6 +2462,11 @@ msgid "" "e.g. tact://77 to play 77 beats per minute\n" "or tact://60*3/4 to play 60 bpm in 3/4 tacts" msgstr "" +"Тактовый генератор Martin Strauss <mys@faveve.uni-stuttgart.de>⏎\n" +"\n" +"Чтобы использовать его, добавить URL: tact://beats*num/den\n" +"например tact://77 to play 77 beats per minute\n" +"или tact://60*3/4 to play 60 bpm in 3/4 tacts" #: src/metronom/metronom.c:255 msgid "Tact Generator" @@ -2302,6 +2477,8 @@ msgid "" "Channel Mixer Plugin for Audacious\n" "Copyright 2011-2012 John Lindgren and Michał Lipski" msgstr "" +"Плагин смешивания каналов Audacious\n" +"Авторство 2011-2012 John Lindgren and Michał Lipski" #: src/mixer/mixer.c:173 msgid "<b>Channel Mixer</b>" @@ -2321,112 +2498,112 @@ msgstr "Плагин MMS" #: src/modplug/plugin_main.c:57 msgid "<b>Resolution</b>" -msgstr "" +msgstr "<b>Разрешение</b>" #: src/modplug/plugin_main.c:58 msgid "8-bit" -msgstr "" +msgstr "8-бит" #: src/modplug/plugin_main.c:60 msgid "16-bit" -msgstr "" +msgstr "16-бит" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" -msgstr "" +msgstr "<b>Каналы</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" -msgstr "" +msgstr "<b>Передискретизация</b>" #: src/modplug/plugin_main.c:68 msgid "Nearest (fastest)" -msgstr "" +msgstr "Ближайший (самый быстрый)" #: src/modplug/plugin_main.c:70 msgid "Linear (fast)" -msgstr "" +msgstr "Линейный (быстрый)" #: src/modplug/plugin_main.c:72 msgid "Spline (good)" -msgstr "" +msgstr "Сплайн (хороший)" #: src/modplug/plugin_main.c:74 msgid "Polyphase (best)" -msgstr "" +msgstr "Многофазный (лучший)" #: src/modplug/plugin_main.c:76 msgid "<b>Sampling rate</b>" -msgstr "" +msgstr "<b>Частота дискретизации</b>" #: src/modplug/plugin_main.c:77 msgid "22 kHz" -msgstr "" +msgstr "22 кГц:" #: src/modplug/plugin_main.c:79 msgid "44 kHz" -msgstr "" +msgstr "44 кГц:" #: src/modplug/plugin_main.c:81 msgid "48 kHz" -msgstr "" +msgstr "48 кГц:" #: src/modplug/plugin_main.c:83 msgid "96 kHz" -msgstr "" +msgstr "96 кГц:" #: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 #: src/modplug/plugin_main.c:102 msgid "Level:" -msgstr "" +msgstr "Уровень:" #: src/modplug/plugin_main.c:97 msgid "Cutoff:" -msgstr "" +msgstr "Отключение:" #: src/modplug/plugin_main.c:114 msgid "<b>Reverb</b>" -msgstr "" +msgstr "<b>Реверберация</b>" #: src/modplug/plugin_main.c:118 msgid "<b>Bass Boost</b>" -msgstr "" +msgstr "<b>Усиление басов</b>" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" -msgstr "" +msgstr "<b>Окружение</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" -msgstr "" +msgstr "<b>Предусилитель</b>" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" -msgstr "" +msgstr "<b>Разное</b>" #: src/modplug/plugin_main.c:134 msgid "Oversample" -msgstr "" +msgstr "Перекрытие" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "" +msgstr "Шумоподавление" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" -msgstr "" +msgstr "Воспроизвести модификацию Amiga" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" -msgstr "" +msgstr "<b>Повторить</b>" #: src/modplug/plugin_main.c:141 msgid "Repeat count:" -msgstr "" +msgstr "Счетчик повторений:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." -msgstr "" +msgstr "Повторять всегда, задать число повторов до -1." #: src/modplug/plugin_main.c:238 msgid "ModPlug (Module Player)" @@ -2440,11 +2617,11 @@ msgstr "Объёмное звучание" msgid "MPG123 Plugin" msgstr "Плагин MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Сервер MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Плагин Neon HTTP/HTTPS" @@ -2475,14 +2652,25 @@ msgid "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see <http://www.gnu.org/licenses/>." msgstr "" +"Плагин уведомлений рабочего стола для Audacious\n" +"Авторство (C) 2010 Maximilian Bogner⏎\n" +"Авторство (C) 2011-2013 John Lindgren and Jean-Alexandre Anglès d'Auriac\n" +"\n" +"Этот плагин является свободным программным обеспечением, вы можете " +"распространять его или модифицировать его в соответствии с Общественной " +"Лицензии GNU , опубликованной Free Software Foundation; либо 3 версию " +"Лицензии, либо (по вашему выбору) любой более поздней версии.\n" +"\n" +"Вы должны были получить копию стандартной Общественной Лицензии GNU вместе с " +"этой программой. Если нет,смотрите <http://www.gnu.org/licenses/>." #: src/notify/notify.c:77 msgid "Show playback controls" -msgstr "" +msgstr "Показать кнопки управления воспроизведением" #: src/notify/notify.c:80 msgid "Always show notification" -msgstr "" +msgstr "Всегда показывать уведомления" #: src/notify/notify.c:92 msgid "Desktop Notifications" @@ -2490,7 +2678,7 @@ msgstr "Всплывающие сообщения" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "Показать" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2532,6 +2720,11 @@ msgid "" "I would like to thank people on #audacious, especially Tony Vroon and John " "Lindgren and of course the authors of the previous OSS plugin." msgstr "" +"OSS4 Плагин вывода для Audacious\n" +"Авторство 2010-2012 Michał Lipski\n" +"\n" +"Я хочу поблагодарить тех людей #audacious, особенно Тони Vroon и Джон " +"Линдгрен и, конечно же авторов предыдущих OSS плагин." #: src/oss4/plugin.c:115 msgid "OSS4 Output" @@ -2541,7 +2734,7 @@ msgstr "Вывод OSS4" msgid "PLS Playlists" msgstr "Списки воспроизведения PLS" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Декодер OpenPSF PSF1/PSF2" @@ -2564,6 +2757,24 @@ msgid "" "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." msgstr "" +"Audacious PulseAudio Плагин вывода\n" +"\n" +" \n" +"Это свободная программа; вы можете повторно распространять ее и/или " +"модифицировать\n" +"его в соответствии с условиями GNU General Public License, опубликованной\n" +"Free Software Foundation; либо версии 2 Лицензии, либо\n" +"(по вашему выбору) любой более поздней версии\n" +"\n" +"Эта программа распространяется в надежде, что она будет полезной,\n" +"но БЕЗ всякой ГАРАНТИИ; даже без подразумеваемых гарантий\n" +"Коммерческой ценности или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См.\n" +"GNU General Public License.\n" +"\n" +"Вы должны были получить копию лицензии GNU General Public License\n" +"вместе с этой программой; если нет, напишите в Free Software\n" +"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" +"США." #: src/pulse_audio/pulse_audio.c:662 msgid "PulseAudio Output" @@ -2574,6 +2785,8 @@ msgid "" "Sample Rate Converter Plugin for Audacious\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"Конвертер частоты дискретизации Плагин для Audacious\n" +"Авторство 2010-2012 Джон Линдгрен" #: src/resample/resample.c:165 msgid "Skip/repeat samples" @@ -2650,7 +2863,7 @@ msgstr "Конвертер частоты" #: src/scrobbler2/config_window.c:41 #, c-format msgid "OK. Scrobbling for user: %s" -msgstr "" +msgstr "OK.Прослушивание для пользователя: %s" #: src/scrobbler2/config_window.c:52 msgid "Permission Denied" @@ -2659,16 +2872,21 @@ msgstr "Отказано в доступе" #: src/scrobbler2/config_window.c:54 msgid "Access the following link to allow Audacious to scrobble your plays:" msgstr "" +"Воспользуйтесь следующей ссылкой чтобы разрешить Audacious прослушивать ваши " +"композиции:" #: src/scrobbler2/config_window.c:63 msgid "Keep this window open and click 'Check Permission' again.\n" msgstr "" +"Оставте это окно открытым, и нажмите кнопку \" Проверить Разрешение' снова.\n" #: src/scrobbler2/config_window.c:66 src/scrobbler2/config_window.c:77 msgid "" "Don't worry. Your scrobbles are saved on your computer.\n" "They will be submitted as soon as Audacious is allowed to do so." msgstr "" +"Не беспокойтесь. Ваш прослушивания сохраняются на вашем компьютере.\n" +"Они будут представлены как только Audacious разрешит это сделать." #: src/scrobbler2/config_window.c:74 msgid "Network Problem." @@ -2684,22 +2902,25 @@ msgstr "Проверка..." #: src/scrobbler2/config_window.c:173 msgid "C_heck Permission" -msgstr "" +msgstr "С_черт Разрешено" #: src/scrobbler2/config_window.c:174 msgid "_Revoke Permission" -msgstr "" +msgstr "_Отменить Разрешение" #: src/scrobbler2/config_window.c:221 msgid "" "You need to allow Audacious to scrobble tracks to your Last.fm account.\n" msgstr "" +"Вы должны разрешить Audacious прослушивать дорожки вашего аккаунта Last.fm.\n" #: src/scrobbler2/scrobbler.c:233 msgid "" "The Scrobbler plugin could not be started.\n" "There might be a problem with your installation." msgstr "" +"Плагин scrobbler не может быть запущен.\n" +"Могут быть проблемы с установкой." #: src/scrobbler2/scrobbler.c:311 msgid "" @@ -2711,22 +2932,32 @@ msgid "" "project.\n" "\n" msgstr "" +"Audacious Scrobbler Plugin 2.0 by Pitxyoki,\n" +"\n" +"Авторство © 2012-2013 Luís M. Picciochi Oliveira <Pitxyoki@Gmail.com>\n" +"\n" +"Спасибо Джону Линдгрен что подал мне руку в начале этого проекта.\n" #: src/scrobbler2/scrobbler.c:317 msgid "Scrobbler 2.0" -msgstr "" +msgstr "Скробблер 2.0" #: src/scrobbler2/scrobbler_communication.c:690 msgid "" "Audacious is now using an improved version of the Last.fm Scrobbler.\n" "Please check the Preferences for the Scrobbler plugin." msgstr "" +"Audacious теперь использует усовершенствованную версию модуля Last.fm " +"Scrobbler" #: src/sdlout/plugin.c:26 msgid "" "SDL Output Plugin for Audacious\n" "Copyright 2010 John Lindgren" msgstr "" +" \n" +"SDL модуль Вывода для Audacious\n" +"Авторство 2010 Джон Линдгрен" #: src/sdlout/plugin.c:31 msgid "SDL Output" @@ -3024,15 +3255,15 @@ msgstr "Не останавливать после дорожки." #: src/skins/ui_main.c:1752 msgid "Repeat point A set." -msgstr "" +msgstr "Повторить установки A." #: src/skins/ui_main.c:1757 msgid "Repeat point B set." -msgstr "" +msgstr "Повторить установки B." #: src/skins/ui_main.c:1766 msgid "Repeat points cleared." -msgstr "" +msgstr "Повторить очищенные пункты." #: src/skins/ui_manager.c:66 src/skins/ui_manager.c:67 msgid "Autoscroll Song Name" @@ -3746,6 +3977,24 @@ msgid "" "this program; if not, write to the Free Software Foundation, Inc., 51 " "Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." msgstr "" +"Based on the xmms_sndfile plugin:⏎\n" +"Авторство (C) 2000, 2002 Erik de Castro Lopo\n" +"\n" +"Адаптация для Audacious Tony Vroon <chainsaw@gentoo.org>\n" +"\n" +"Это свободная программа; вы можете повторно распространять ее или " +"модифицировать ее в соответствии с условиями GNU General Public License, " +"опубликованной Free Software Foundation; либо версии 2 Лицензии, либо (по " +"вашему выбору) любой более поздней версии.\n" +"\n" +"Эта программа распространяется в надежде, что она будет полезной, но БЕЗ " +"КАКИХ-либо ГАРАНТИЙ; даже без подразумеваемых гарантий коммерческой ценности " +"или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Смотрите больше деталей GNU General " +"Public License.\n" +"\n" +"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." #: src/sndfile/plugin.c:435 msgid "Sndfile Plugin" @@ -3869,10 +4118,15 @@ msgid "" "Based on Sample Rate Converter Plugin:\n" "Copyright 2010-2012 John Lindgren" msgstr "" +"SoX Ресемплер Плагин для Audacious\n" +"Авторство 2013 Michał Lipski\n" +"\n" +"Основан на плагине конвертора частоты дискретизации:\n" +"Авторство 2010-2012 John Lindgren" #: src/sox-resampler/sox-resampler.c:141 msgid "Quick" -msgstr "" +msgstr "Быстро" #: src/sox-resampler/sox-resampler.c:142 msgid "Low" @@ -3892,7 +4146,7 @@ msgstr "Качество:" #: src/sox-resampler/sox-resampler.c:162 msgid "SoX Resampler" -msgstr "" +msgstr "SoX Ресемплер" #: src/speed-pitch/speed-pitch.c:225 msgid "<b>Speed and Pitch</b>" @@ -3920,6 +4174,13 @@ msgid "" "This plugin provides a status icon, placed in\n" "the system tray area of the window manager." msgstr "" +"Модуль Статус\n" +"\n" +"Copyright 2005-2007 Giacomo Lozito <james@develia.org>\n" +"Copyright 2010 Michał Lipski <tallica@o2.pl>\n" +"\n" +"Этот модуль отображает значок программы\n" +"в системном лотке." #: src/statusicon/statusicon.c:397 msgid "<b>Mouse Scroll Action</b>" @@ -3959,6 +4220,9 @@ msgid "" "\n" "By Johan Levin, 1999" msgstr "" +"Модуль Дополнительное стерео\n" +"\n" +"Johan Levin 1999." #: src/stereo_plugin/stereo.c:25 msgid "<b>Extra Stereo</b>" @@ -3985,6 +4249,12 @@ msgid "" "To use it, add a URL: tone://frequency1;frequency2;frequency3;...\n" "e.g. tone://2000;2005 to play a 2000 Hz tone and a 2005 Hz tone" msgstr "" +"Генератор синусоидальных сигналов, Haavard Kvaalen <havardk@xmms.org>\n" +"Изменения, Daniel J. Peng <danielpeng@bigfoot.com>\n" +"\n" +"Чтобы использовать его, добавьте в проигрыватель следующий адрес: tone://" +"частота1;частота2;частота3;...\n" +"Например, tone://2000;2005 для воспроизведения сигналов 2000 Гц и 2005 Гц" #: src/tonegen/tonegen.c:206 msgid "Tone Generator" @@ -3997,6 +4267,10 @@ msgid "" "\n" "THIS PLUGIN IS REQUIRED. DO NOT DISABLE IT." msgstr "" +"Файл I/O плагин для Audacious\n" +"Авторство 2009-2012 John Lindgren\n" +"\n" +"ЭТОТ ПЛАГИН ЯВЛЯЕТСЯ ОБЯЗАТЕЛЬНЫМ. НЕ ОТКЛЮЧАЙТЕ ЕГО." #: src/unix-io/unix-io.c:266 msgid "File I/O Plugin" @@ -4026,6 +4300,21 @@ msgid "" "Gian-Carlo Pascutto <gcp@sjeng.org>\n" "Eugene Zagidullin <e.asphyx@gmail.com>" msgstr "" +"Модуль Ogg Vorbis от Xiph.org Foundation\n" +"\n" +"Начальный код был написан\n" +"Tony Arcieri <bascule@inferno.tusculum.edu>\n" +"Вклад внесли\n" +"Chris Montgomery <monty@xiph.org>\n" +"Peter Alm <peter@xmms.org>\n" +"Michael Smith <msmith@labyrinth.edu.au>\n" +"Jack Moffitt <jack@icecast.org>\n" +"Jorn Baayen <jorn@nl.linux.org>\n" +"Haavard Kvaalen <havardk@xmms.org>\n" +"Gian-Carlo Pascutto <gcp@sjeng.org>\n" +"Eugene Zagidullin <e.asphyx@gmail.com>\n" +"\n" +"Посетите сайт Xiph.org Foundation по адресу http://www.xiph.org/" #: src/vorbis/vorbis.c:575 msgid "Ogg Vorbis Decoder" @@ -4037,6 +4326,9 @@ msgid "" "Based on in_vtx.dll by Roman Sherbakov <v_soft@microfor.ru>\n" "Audacious plugin by Pavel Vymetalek <pvymetalek@seznam.cz>" msgstr "" +"Проигрыватель файлов Vortex от Sashnov Alexander <sashnov@ngs.ru>\n" +"Основан на коде in_vtx.dll от Roman Sherbakov <v_soft@microfor.ru>\n" +"Реализацию для Audacious выполнил Pavel Vymetalek <pvymetalek@seznam.cz>" #: src/vtx/vtx.c:248 msgid "VTX Decoder" @@ -4056,6 +4348,9 @@ msgid "" "\n" "Some of the plugin code was by Miles Egan." msgstr "" +"Авторство 2006 William Pitcock <nenolod@nenolod.net>\n" +"\n" +"Некоторый код плагина Miles Egan." #: src/wavpack/wavpack.c:341 msgid "WavPack Decoder" @@ -8,9 +8,9 @@ # P.I.Balasinghe <pushpika.indrachapa@gmail.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-06-03 17:20+0000\n" "Last-Translator: ashintha89 <ashintha@gmail.com>\n" "Language-Team: Sinhala (http://www.transifex.com/projects/p/audacious/" @@ -38,7 +38,7 @@ msgid "AAC Decoder" msgstr "AAC විකේතකය" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "අනුපිළිවෙළ" @@ -1332,7 +1332,7 @@ msgstr "" msgid "Echo" msgstr "ප්රතිරාව" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1348,7 +1348,7 @@ msgstr "" "විලියම් පිට්කොක් <nenolod@nenolod.net>⏎\n" "මැටී හැමලේයිනෙන් <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg පේනු මෘදුකාංගය " @@ -2575,11 +2575,11 @@ msgstr "සිසාළ " msgid "MPG123 Plugin" msgstr "MPG123 පේනු මෘදුකාංගය" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 සේවාදායකය" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "නිඕන් HTTP/HTTPS පේනු මෘදුකාංගය" @@ -2695,7 +2695,7 @@ msgstr "OSS4 ප්රතිදානය" msgid "PLS Playlists" msgstr "PLS ධාවන ලැයිස්තුව" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "PSF PSF1/PSF2 විකේතකය විවෘත කරන්න " @@ -10,9 +10,9 @@ # Corduroy <vdcorduroy@gmail.com>, 2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-04 12:38+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Slovak (http://www.transifex.com/projects/p/audacious/" @@ -40,7 +40,7 @@ msgid "AAC Decoder" msgstr "AAC dekóder" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "sekvenčný" @@ -1300,7 +1300,7 @@ msgstr "" msgid "Echo" msgstr "Ozvena" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1317,7 +1317,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg zásuvný modul" @@ -2544,11 +2544,11 @@ msgstr "Priestorový zvuk" msgid "MPG123 Plugin" msgstr "MPG123 zásuvný modul" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 Server" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS zásuvný modul" @@ -2650,7 +2650,7 @@ msgstr "OSS4 výstup" msgid "PLS Playlists" msgstr "PLS zoznamy skladieb" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 dekodér" diff --git a/po/sr_RS.po b/po/sr_RS.po index 643d196..554d8f0 100644 --- a/po/sr_RS.po +++ b/po/sr_RS.po @@ -6,9 +6,9 @@ # MirosNik <miroslavnikolic@rocketmail.com>, 2011-2012 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-31 17:04+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Serbian (Serbia) (http://www.transifex.com/projects/p/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "ААЦ декодер" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "низовни" @@ -1276,7 +1276,7 @@ msgstr "" msgid "Echo" msgstr "Одјек" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1292,7 +1292,7 @@ msgstr "" "Вилијам Питкок <nenolod@nenolod.net>\n" "Мати Хамалајнен <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Прикључак ФФмпег-а" @@ -2520,11 +2520,11 @@ msgstr "Окружење" msgid "MPG123 Plugin" msgstr "МПГ123 прикључак" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "МПРИС 2 сервер" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Неон ХТТП/ХХТПС прикључак" @@ -2626,7 +2626,7 @@ msgstr "ОСС4 излаз" msgid "PLS Playlists" msgstr "ПЛС спискови нумера" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "ОпенПСФ ПСФ1/ПСФ2 декодер" @@ -7,9 +7,9 @@ # nar7esh <rajnareshwar@gmail.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-06-03 19:30+0000\n" "Last-Translator: Gobi <gobikrishnant@gmail.com>\n" "Language-Team: Tamil (http://www.transifex.com/projects/p/audacious/language/" @@ -37,7 +37,7 @@ msgid "AAC Decoder" msgstr "AAC குறிவிலக்கி" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1250,7 +1250,7 @@ msgstr "" msgid "Echo" msgstr "எதிரொலி " -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1260,7 +1260,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg நீட்சி" @@ -2427,11 +2427,11 @@ msgstr "சூழ்ந்த" msgid "MPG123 Plugin" msgstr "MPG123 நீட்சி" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 சேவையகம் " -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS நீட்சி " @@ -2528,7 +2528,7 @@ msgstr "OSS4 வெளியீடு " msgid "PLS Playlists" msgstr "PLS பாடல் பட்டியல்" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 குறிவிலக்கி " @@ -20,9 +20,9 @@ msgid "" msgstr "" "Project-Id-Version: Audacious Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-06-29 01:19+0200\n" -"PO-Revision-Date: 2013-05-31 17:05+0000\n" -"Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" +"PO-Revision-Date: 2013-07-11 13:11+0000\n" +"Last-Translator: rustam <rustam.tsurik@gmail.com>\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/audacious/" "language/uk/)\n" "Language: uk\n" @@ -49,7 +49,7 @@ msgid "AAC Decoder" msgstr "Декодер AAC" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "послідовний" @@ -93,6 +93,25 @@ msgid "" "\n" "\n" msgstr "" +"Час⏎\n" +"Починати о:⏎\n" +"Час, коли спрацьовує будильник.⏎\n" +"⏎\n" +"Закінчити через:⏎\n" +"Зупинити сигнал через цей проміжок часу.⏎\n" +"(якщо діалог будильника не було закрито)⏎\n" +"⏎\n" +"⏎\n" +"Дні⏎\n" +"День:⏎\n" +"Виберіть дні, у які буде активовано будильник.⏎\n" +"⏎\n" +"Час:⏎\n" +"Виберіть час у який спрацьовуватиме будильник для кожного дня,⏎\n" +"або виберіть опцію для застосування часу згідно типових⏎\n" +"налаштувань.⏎\n" +"⏎\n" +"⏎\n" #: src/alarm/interface.c:45 msgid "" @@ -147,6 +166,16 @@ msgid "" " Type the reminder in the box and turn on the\n" " toggle button if you want it to be shown." msgstr "" +"Список відтворення:⏎\n" +"Завантажувати список відтворення. Якщо не надано⏎\n" +"список відтворення, то буде застосовано поточний список.⏎\n" +"Тут також може бути наданий URL⏎\n" +"для mp3/ogg потоку.⏎\n" +"⏎\n" +"Нагадування:⏎\n" +"Показувати нагадування після того як будильник вимикається.⏎\n" +"Введіть нагадування у полі та увімкніть⏎\n" +"кнопку-прапорець, якщо ви хочете, щоб його було показано." #: src/alarm/interface.c:81 msgid "This is your wakeup call." @@ -1322,7 +1351,7 @@ msgstr "" msgid "Echo" msgstr "Відлуння" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1340,7 +1369,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "Плаґін FFmpeg" @@ -1624,10 +1653,18 @@ msgid "" "\n" "License: GPLv2+" msgstr "" +"OpenGL аналізатор спектру для Audacious⏎\n" +"Авторське право 2013 Christophe Budé та John Lindgren⏎\n" +"⏎\n" +"Базується на коді плагіна для XMMS:⏎\n" +"Авторське право 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas " +"Nilsson та 4Front Technologies⏎\n" +"⏎\n" +"Ліцензія: GPLv2+" #: src/gl-spectrum/gl-spectrum.c:292 msgid "OpenGL Spectrum Analyzer" -msgstr "" +msgstr "OpenGL аналізатор спектру" #: src/gnomeshortcuts/gnomeshortcuts.c:41 msgid "" @@ -2454,112 +2491,112 @@ msgstr "Плаґін MMS" #: src/modplug/plugin_main.c:57 msgid "<b>Resolution</b>" -msgstr "" +msgstr "<b>Роздільна здатність</b>" #: src/modplug/plugin_main.c:58 msgid "8-bit" -msgstr "" +msgstr "8-біт" #: src/modplug/plugin_main.c:60 msgid "16-bit" -msgstr "" +msgstr "16-біт" #: src/modplug/plugin_main.c:62 msgid "<b>Channels</b>" -msgstr "" +msgstr "<b>Канали</b>" #: src/modplug/plugin_main.c:67 msgid "<b>Resampling</b>" -msgstr "" +msgstr "<b>Ресемплінг</b>" #: src/modplug/plugin_main.c:68 msgid "Nearest (fastest)" -msgstr "" +msgstr "Найближчий (найшвидший)" #: src/modplug/plugin_main.c:70 msgid "Linear (fast)" -msgstr "" +msgstr "Лінійний (швидкий)" #: src/modplug/plugin_main.c:72 msgid "Spline (good)" -msgstr "" +msgstr "Сплайн (якісний)" #: src/modplug/plugin_main.c:74 msgid "Polyphase (best)" -msgstr "" +msgstr "Поліфазний (найкращий)" #: src/modplug/plugin_main.c:76 msgid "<b>Sampling rate</b>" -msgstr "" +msgstr "<b>Частота дискретизації</b>" #: src/modplug/plugin_main.c:77 msgid "22 kHz" -msgstr "" +msgstr "22 кГц" #: src/modplug/plugin_main.c:79 msgid "44 kHz" -msgstr "" +msgstr "44 кГц" #: src/modplug/plugin_main.c:81 msgid "48 kHz" -msgstr "" +msgstr "48 кГц" #: src/modplug/plugin_main.c:83 msgid "96 kHz" -msgstr "" +msgstr "96 кГц" #: src/modplug/plugin_main.c:88 src/modplug/plugin_main.c:95 #: src/modplug/plugin_main.c:102 msgid "Level:" -msgstr "" +msgstr "Рівень:" #: src/modplug/plugin_main.c:97 msgid "Cutoff:" -msgstr "" +msgstr "Границя:" #: src/modplug/plugin_main.c:114 msgid "<b>Reverb</b>" -msgstr "" +msgstr "<b>Реверберація</b>" #: src/modplug/plugin_main.c:118 msgid "<b>Bass Boost</b>" -msgstr "" +msgstr "<b>Додатковий бас</b>" #: src/modplug/plugin_main.c:122 msgid "<b>Surround</b>" -msgstr "" +msgstr "<b>Об’ємне звучання</b>" #: src/modplug/plugin_main.c:126 msgid "<b>Preamp</b>" -msgstr "" +msgstr "<b>Попереднє підсилення</b>" #: src/modplug/plugin_main.c:133 msgid "<b>Miscellaneous</b>" -msgstr "" +msgstr "<b>Різне</b>" #: src/modplug/plugin_main.c:134 msgid "Oversample" -msgstr "" +msgstr "Передискретизація" #: src/modplug/plugin_main.c:136 msgid "Noise reduction" -msgstr "" +msgstr "Зменшення шуму" #: src/modplug/plugin_main.c:138 msgid "Play Amiga MODs" -msgstr "" +msgstr "Грати Amiga MOD-файли" #: src/modplug/plugin_main.c:140 msgid "<b>Repeat</b>" -msgstr "" +msgstr "<b>Повторення</b>" #: src/modplug/plugin_main.c:141 msgid "Repeat count:" -msgstr "" +msgstr "Кількість повторень:" #: src/modplug/plugin_main.c:143 msgid "To repeat forever, set the repeat count to -1." -msgstr "" +msgstr "Для безкінечного повторення, встановіть кількість повторень в -1." #: src/modplug/plugin_main.c:238 msgid "ModPlug (Module Player)" @@ -2573,11 +2610,11 @@ msgstr "Об’ємний звук" msgid "MPG123 Plugin" msgstr "Плаґін MPG123" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "Сервер MPRIS 2" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Плаґін Neon HTTP/HTTPS" @@ -2608,14 +2645,31 @@ msgid "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see <http://www.gnu.org/licenses/>." msgstr "" +"Плагін сповіщень для Audacious⏎\n" +"Авторське право (C) 2010 Maximilian Bogner⏎\n" +"Авторське право (C) 2011-2013 John Lindgren та Jean-Alexandre Anglès " +"d'Auriac⏎\n" +"⏎\n" +"Цей плагін є вільним програмним забезпеченням — ви можете розповсюджувати та/" +"чи модифікувати його відповідно до умов Загальної публічної ліцензії GNU " +"третьої або (на ваш розсуд) будь-якої новішої версії у тому вигляді, в якому " +"її опублікував Фонд вільного програмного забезпечення.⏎\n" +"⏎\n" +"Цей плагін розповсюджується зі сподіванням, що він виявиться корисним, але " +"БЕЗ ЖОДНОЇ ГАРАНТІЇ; навіть без умовної гарантії КОМЕРЦІЙНОЇ ПРИДАТНОСТІ чи " +"ПРИДАТНОСТІ ДО ПЕВНОГО ЗАСТОСУВАННЯ. Зверніться до Загальної публічної " +"ліцензії GNU за подробицями.⏎\n" +"⏎\n" +"Ви мали отримати копію Загальної публічної ліцензії GNU разом із цією " +"програмою. В іншому випадку, дивіться <http://www.gnu.org/licenses/>." #: src/notify/notify.c:77 msgid "Show playback controls" -msgstr "" +msgstr "Показати елементи керування відтворенням" #: src/notify/notify.c:80 msgid "Always show notification" -msgstr "" +msgstr "Завжди показувати повідомлення" #: src/notify/notify.c:92 msgid "Desktop Notifications" @@ -2623,7 +2677,7 @@ msgstr "Сповіщення" #: src/notify/osd.c:57 msgid "Show" -msgstr "" +msgstr "Показати" #: src/notify/osd.c:65 src/skins/ui_manager.c:180 src/skins/ui_manager.c:181 msgid "Pause" @@ -2680,7 +2734,7 @@ msgstr "OSS4-вивід" msgid "PLS Playlists" msgstr "PLS-списки відтворення" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "Декодер OpenPSF PSF1/PSF2" @@ -2896,6 +2950,8 @@ msgid "" "Audacious is now using an improved version of the Last.fm Scrobbler.\n" "Please check the Preferences for the Scrobbler plugin." msgstr "" +"На даний час Audacious використовує покращену версію скробблера Last.fm.⏎\n" +"Будь-ласка перевірте Налаштування для плаґіна Scrobbler." #: src/sdlout/plugin.c:26 msgid "" diff --git a/po/zh_CN.po b/po/zh_CN.po index d108e77..704e050 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -11,9 +11,9 @@ # 4679kun <btchina@live.com>, 2013 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-14 07:15+0000\n" "Last-Translator: 4679kun <btchina@live.com>\n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/" @@ -41,7 +41,7 @@ msgid "AAC Decoder" msgstr "" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "" @@ -1228,7 +1228,7 @@ msgstr "" msgid "Echo" msgstr "" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1238,7 +1238,7 @@ msgid "" "Matti Hämäläinen <ccr@tnsp.org>" msgstr "" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "" @@ -2390,11 +2390,11 @@ msgstr "环绕音" msgid "MPG123 Plugin" msgstr "" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "" @@ -2491,7 +2491,7 @@ msgstr "" msgid "PLS Playlists" msgstr "" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index c4914fe..bfd7045 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -6,9 +6,9 @@ # Ruei-Yuan Lu <RueiYuan.Lu@gmail.com>, 2011 msgid "" msgstr "" -"Project-Id-Version: Audacious Plugins Plugins\n" +"Project-Id-Version: Audacious Plugins Plugins Plugins\n" "Report-Msgid-Bugs-To: http://redmine.audacious-media-player.org/\n" -"POT-Creation-Date: 2013-05-31 19:01+0200\n" +"POT-Creation-Date: 2013-09-01 21:09+0200\n" "PO-Revision-Date: 2013-05-16 12:36+0000\n" "Last-Translator: Radioactiveman <thomas-lange2@gmx.de>\n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/" @@ -36,7 +36,7 @@ msgid "AAC Decoder" msgstr "AAC 解碼器" #: src/adplug/adplug-xmms.cc:147 src/modplug/modplugbmp.cxx:407 -#: src/psf/plugin.c:125 src/vtx/vtx.c:69 src/xsf/plugin.c:85 +#: src/psf/plugin.c:124 src/vtx/vtx.c:69 src/xsf/plugin.c:85 msgid "sequenced" msgstr "編曲機" @@ -1335,7 +1335,7 @@ msgstr "" msgid "Echo" msgstr "回音" -#: src/ffaudio/ffaudio-core.c:656 +#: src/ffaudio/ffaudio-core.c:648 msgid "" "Multi-format audio decoding plugin for Audacious using\n" "FFmpeg multimedia framework (http://www.ffmpeg.org/)\n" @@ -1351,7 +1351,7 @@ msgstr "" "William Pitcock <nenolod@nenolod.net>\n" "Matti Hämäläinen <ccr@tnsp.org>" -#: src/ffaudio/ffaudio-core.c:703 +#: src/ffaudio/ffaudio-core.c:695 msgid "FFmpeg Plugin" msgstr "FFmpeg 外掛" @@ -2582,11 +2582,11 @@ msgstr "環繞" msgid "MPG123 Plugin" msgstr "MPG123 外掛" -#: src/mpris2/plugin.c:415 +#: src/mpris2/plugin.c:403 msgid "MPRIS 2 Server" msgstr "MPRIS 2 伺服器" -#: src/neon/neon.c:1229 +#: src/neon/neon.c:1228 msgid "Neon HTTP/HTTPS Plugin" msgstr "Neon HTTP/HTTPS 外掛" @@ -2704,7 +2704,7 @@ msgstr "OSS4 輸出" msgid "PLS Playlists" msgstr "PLS 播放清單" -#: src/psf/plugin.c:262 +#: src/psf/plugin.c:264 msgid "OpenPSF PSF1/PSF2 Decoder" msgstr "OpenPSF PSF1/PSF2 解碼器" diff --git a/src/ffaudio/ffaudio-core.c b/src/ffaudio/ffaudio-core.c index 5793f87..d541edd 100644 --- a/src/ffaudio/ffaudio-core.c +++ b/src/ffaudio/ffaudio-core.c @@ -43,6 +43,15 @@ static gboolean stop_flag = FALSE; static pthread_mutex_t data_mutex = PTHREAD_MUTEX_INITIALIZER; static GHashTable * extension_dict = NULL; +typedef struct +{ + int stream_idx; + AVStream * stream; + AVCodecContext * context; + AVCodec * codec; +} +CodecInfo; + /* str_unref() may be a macro */ static void str_unref_cb (void * str) { @@ -246,6 +255,33 @@ static void close_input_file (AVFormatContext * c) io_context_free (io); } +static bool_t find_codec (AVFormatContext * c, CodecInfo * cinfo) +{ + avformat_find_stream_info (c, NULL); + + for (int i = 0; i < c->nb_streams; i++) + { + AVStream * stream = c->streams[i]; + + if (stream && stream->codec && stream->codec->codec_type == AVMEDIA_TYPE_AUDIO) + { + AVCodec * codec = avcodec_find_decoder (stream->codec->codec_id); + + if (codec) + { + cinfo->stream_idx = i; + cinfo->stream = stream; + cinfo->context = stream->codec; + cinfo->codec = codec; + + return TRUE; + } + } + } + + return FALSE; +} + static gboolean ffaudio_codec_is_seekable(AVCodec *codec) { @@ -291,82 +327,53 @@ static const ffaudio_meta_t metaentries[] = { {TUPLE_INT, FIELD_TRACK_NUMBER, {"track", "WM/TrackNumber", NULL}}, }; -static const gint n_metaentries = sizeof(metaentries) / sizeof(metaentries[0]); - -static void -ffaudio_get_meta(Tuple *tuple, AVFormatContext *ic, const ffaudio_meta_t *m) +static void read_metadata_dict (Tuple * tuple, AVDictionary * dict) { - if (! ic->metadata) - return; - - AVDictionaryEntry *tag = NULL; - - for (gint i = 0; ! tag && m->keys[i]; i ++) - tag = av_dict_get (ic->metadata, m->keys[i], NULL, 0); - - if (tag != NULL) + for (int i = 0; i < G_N_ELEMENTS (metaentries); i ++) { - switch (m->ttype) { - case TUPLE_STRING: - tuple_set_str (tuple, m->field, NULL, tag->value); - break; + const ffaudio_meta_t * m = & metaentries[i]; + AVDictionaryEntry * entry = NULL; - case TUPLE_INT: - tuple_set_int (tuple, m->field, NULL, atoi(tag->value)); - break; + for (int j = 0; ! entry && m->keys[j]; j ++) + entry = av_dict_get (dict, m->keys[j], NULL, 0); - default: - break; + if (entry && entry->value) + { + if (m->ttype == TUPLE_STRING) + tuple_set_str (tuple, m->field, NULL, entry->value); + else if (m->ttype == TUPLE_INT) + tuple_set_int (tuple, m->field, NULL, atoi (entry->value)); } } } -static void -ffaudio_get_tuple_data(Tuple *tuple, AVFormatContext *ic, AVCodecContext *c, AVCodec *codec) -{ - if (ic != NULL) - { - gint i; - for (i = 0; i < n_metaentries; i++) - ffaudio_get_meta(tuple, ic, &metaentries[i]); - - tuple_set_int(tuple, FIELD_LENGTH, NULL, ic->duration / 1000); - tuple_set_int(tuple, FIELD_BITRATE, NULL, ic->bit_rate / 1000); - } - - if (codec != NULL && codec->long_name != NULL) - { - tuple_set_str(tuple, FIELD_CODEC, NULL, codec->long_name); - } -} - static Tuple * read_tuple (const gchar * filename, VFSFile * file) { - AVCodec *codec = NULL; - AVCodecContext *c = NULL; - AVStream *s = NULL; - gint i; - + Tuple * tuple = NULL; AVFormatContext * ic = open_input_file (filename, file); - if (! ic) - return NULL; - for (i = 0; i < ic->nb_streams; i++) + if (ic) { - s = ic->streams[i]; - c = s->codec; - if (c->codec_type == AVMEDIA_TYPE_AUDIO) + CodecInfo cinfo; + + if (find_codec (ic, & cinfo)) { - avformat_find_stream_info (ic, NULL); - codec = avcodec_find_decoder(c->codec_id); - if (codec != NULL) - break; + tuple = tuple_new_from_filename (filename); + + tuple_set_int (tuple, FIELD_LENGTH, NULL, ic->duration / 1000); + tuple_set_int (tuple, FIELD_BITRATE, NULL, ic->bit_rate / 1000); + + if (cinfo.codec->long_name) + tuple_set_str (tuple, FIELD_CODEC, NULL, cinfo.codec->long_name); + + if (ic->metadata) + read_metadata_dict (tuple, ic->metadata); + if (cinfo.stream->metadata) + read_metadata_dict (tuple, cinfo.stream->metadata); } - } - Tuple *tuple = tuple_new_from_filename(filename); - ffaudio_get_tuple_data(tuple, ic, c, codec); - close_input_file (ic); + close_input_file (ic); + } return tuple; } @@ -405,11 +412,8 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, if (! file) return FALSE; - AVCodec *codec = NULL; - AVCodecContext *c = NULL; - AVStream *s = NULL; AVPacket pkt = {.data = NULL}; - gint i, stream_id, errcount; + gint errcount; gboolean codec_opened = FALSE; gint out_fmt; gboolean planar; @@ -423,34 +427,22 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, if (! ic) return FALSE; - for (i = 0; i < ic->nb_streams; i++) - { - s = ic->streams[i]; - c = s->codec; - if (c->codec_type == AVMEDIA_TYPE_AUDIO) - { - avformat_find_stream_info (ic, NULL); - codec = avcodec_find_decoder(c->codec_id); - stream_id = i; - if (codec != NULL) - break; - } - } + CodecInfo cinfo; - if (codec == NULL) + if (! find_codec (ic, & cinfo)) { fprintf (stderr, "ffaudio: No codec found for %s.\n", filename); goto error_exit; } - AUDDBG("got codec %s for stream index %d, opening\n", codec->name, stream_id); + AUDDBG("got codec %s for stream index %d, opening\n", cinfo.codec->name, cinfo.stream_idx); - if (avcodec_open2 (c, codec, NULL) < 0) + if (avcodec_open2 (cinfo.context, cinfo.codec, NULL) < 0) goto error_exit; codec_opened = TRUE; - switch (c->sample_fmt) + switch (cinfo.context->sample_fmt) { case AV_SAMPLE_FMT_U8: out_fmt = FMT_U8; planar = FALSE; break; case AV_SAMPLE_FMT_S16: out_fmt = FMT_S16_NE; planar = FALSE; break; @@ -463,14 +455,14 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, case AV_SAMPLE_FMT_FLTP: out_fmt = FMT_FLOAT; planar = TRUE; break; default: - fprintf (stderr, "ffaudio: Unsupported audio format %d\n", (int) c->sample_fmt); + fprintf (stderr, "ffaudio: Unsupported audio format %d\n", (int) cinfo.context->sample_fmt); goto error_exit; } /* Open audio output */ AUDDBG("opening audio output\n"); - if (playback->output->open_audio(out_fmt, c->sample_rate, c->channels) <= 0) + if (playback->output->open_audio(out_fmt, cinfo.context->sample_rate, cinfo.context->channels) <= 0) { error = TRUE; goto error_exit; @@ -483,7 +475,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, if (pause) playback->output->pause(TRUE); - playback->set_params(playback, ic->bit_rate, c->sample_rate, c->channels); + playback->set_params(playback, ic->bit_rate, cinfo.context->sample_rate, cinfo.context->channels); pthread_mutex_lock (& ctrl_mutex); @@ -491,7 +483,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, seek_value = (start_time > 0) ? start_time : -1; playback->set_pb_ready(playback); errcount = 0; - seekable = ffaudio_codec_is_seekable(codec); + seekable = ffaudio_codec_is_seekable(cinfo.codec); pthread_mutex_unlock (& ctrl_mutex); @@ -537,7 +529,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, errcount = 0; /* Ignore any other substreams */ - if (pkt.stream_index != stream_id) + if (pkt.stream_index != cinfo.stream_idx) { av_free_packet(&pkt); continue; @@ -563,7 +555,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, AVFrame * frame = avcodec_alloc_frame (); int decoded = 0; - int len = avcodec_decode_audio4 (c, frame, & decoded, & tmp); + int len = avcodec_decode_audio4 (cinfo.context, frame, & decoded, & tmp); if (len < 0) { @@ -577,7 +569,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, if (! decoded) continue; - gint size = FMT_SIZEOF (out_fmt) * c->channels * frame->nb_samples; + gint size = FMT_SIZEOF (out_fmt) * cinfo.context->channels * frame->nb_samples; if (planar) { @@ -588,7 +580,7 @@ static gboolean ffaudio_play (InputPlayback * playback, const gchar * filename, } audio_interlace ((const void * *) frame->data, out_fmt, - c->channels, buf, frame->nb_samples); + cinfo.context->channels, buf, frame->nb_samples); playback->output->write_audio (buf, size); } else @@ -607,7 +599,7 @@ error_exit: if (pkt.data) av_free_packet(&pkt); if (codec_opened) - avcodec_close(c); + avcodec_close(cinfo.context); if (ic != NULL) close_input_file(ic); diff --git a/src/filewriter/flac.c b/src/filewriter/flac.c index 03e1f61..40f832a 100644 --- a/src/filewriter/flac.c +++ b/src/filewriter/flac.c @@ -27,6 +27,7 @@ #include <stdlib.h> static FLAC__StreamEncoder *flac_encoder; +static FLAC__StreamMetadata *flac_metadata; static FLAC__StreamEncoderWriteStatus flac_write_cb(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, unsigned samples, unsigned current_frame, gpointer data) @@ -77,6 +78,7 @@ static void insert_vorbis_comment (FLAC__StreamMetadata * meta, char * sval = tuple_get_str (tuple, field, NULL); temp = g_strdup_printf ("%s=%s", name, sval); str_unref (sval); + break; default: return; } @@ -97,26 +99,26 @@ static gint flac_open(void) FLAC__stream_encoder_set_channels(flac_encoder, input.channels); FLAC__stream_encoder_set_sample_rate(flac_encoder, input.frequency); - FLAC__stream_encoder_init_stream(flac_encoder, flac_write_cb, flac_seek_cb, flac_tell_cb, - NULL, output_file); if (tuple) { - FLAC__StreamMetadata *meta; - meta = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT); - - insert_vorbis_comment (meta, "title", tuple, FIELD_TITLE); - insert_vorbis_comment (meta, "artist", tuple, FIELD_ARTIST); - insert_vorbis_comment (meta, "album", tuple, FIELD_ALBUM); - insert_vorbis_comment (meta, "genre", tuple, FIELD_GENRE); - insert_vorbis_comment (meta, "comment", tuple, FIELD_COMMENT); - insert_vorbis_comment (meta, "date", tuple, FIELD_DATE); - insert_vorbis_comment (meta, "year", tuple, FIELD_YEAR); - insert_vorbis_comment (meta, "tracknumber", tuple, FIELD_TRACK_NUMBER); - - FLAC__stream_encoder_set_metadata(flac_encoder, &meta, 1); + flac_metadata = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT); + + insert_vorbis_comment (flac_metadata, "TITLE", tuple, FIELD_TITLE); + insert_vorbis_comment (flac_metadata, "ARTIST", tuple, FIELD_ARTIST); + insert_vorbis_comment (flac_metadata, "ALBUM", tuple, FIELD_ALBUM); + insert_vorbis_comment (flac_metadata, "GENRE", tuple, FIELD_GENRE); + insert_vorbis_comment (flac_metadata, "COMMENT", tuple, FIELD_COMMENT); + insert_vorbis_comment (flac_metadata, "DATE", tuple, FIELD_DATE); + insert_vorbis_comment (flac_metadata, "YEAR", tuple, FIELD_YEAR); + insert_vorbis_comment (flac_metadata, "TRACKNUMBER", tuple, FIELD_TRACK_NUMBER); + + FLAC__stream_encoder_set_metadata(flac_encoder, &flac_metadata, 1); } + FLAC__stream_encoder_init_stream(flac_encoder, flac_write_cb, flac_seek_cb, + flac_tell_cb, NULL, output_file); + return 1; } @@ -170,8 +172,18 @@ static void flac_write(gpointer data, gint length) static void flac_close(void) { - FLAC__stream_encoder_finish(flac_encoder); - FLAC__stream_encoder_delete(flac_encoder); + if (flac_encoder) + { + FLAC__stream_encoder_finish(flac_encoder); + FLAC__stream_encoder_delete(flac_encoder); + flac_encoder = NULL; + } + + if (flac_metadata) + { + FLAC__metadata_object_delete(flac_metadata); + flac_metadata = NULL; + } } static int flac_format_required (int fmt) diff --git a/src/hotkey/grab.c b/src/hotkey/grab.c index 7ff9dc2..e17acb3 100644 --- a/src/hotkey/grab.c +++ b/src/hotkey/grab.c @@ -368,8 +368,6 @@ gdk_filter(GdkXEvent *xevent, break; } - default: - return -1; } return GDK_FILTER_CONTINUE; diff --git a/src/mpris2/Makefile b/src/mpris2/Makefile index 7cfa8be..b937d8f 100644 --- a/src/mpris2/Makefile +++ b/src/mpris2/Makefile @@ -1,6 +1,7 @@ PLUGIN = mpris2${PLUGIN_SUFFIX} SRCS = object-core.c object-player.c plugin.c +CLEAN = object-core.c object-core.h object-player.c object-player.h include ../../buildsys.mk include ../../extra.mk @@ -10,3 +11,17 @@ plugindir := ${plugindir}/${GENERAL_PLUGIN_DIR} CPPFLAGS += -I../.. ${GLIB_CFLAGS} ${GIO_UNIX_CFLAGS} CFLAGS += ${PLUGIN_CFLAGS} LIBS += -lm ${GLIB_LIBS} ${GIO_UNIX_LIBS} + +pre-depend: object-core.c object-core.h object-player.c object-player.h + +object-core.h: mpris2.xml + gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris --generate-c-code object-core mpris2.xml + +object-core.c: object-core.h + # nothing to do here + +object-player.h: mpris2-player.xml + gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris --generate-c-code object-player mpris2-player.xml + +object-player.c: object-player.h + # nothing to do here diff --git a/src/mpris2/codegen b/src/mpris2/codegen deleted file mode 100755 index 0eeb930..0000000 --- a/src/mpris2/codegen +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris --generate-c-code object-core mpris2.xml -gdbus-codegen --interface-prefix org.mpris. --c-namespace Mpris --generate-c-code object-player mpris2-player.xml diff --git a/src/mpris2/object-core.c b/src/mpris2/object-core.c deleted file mode 100644 index f697b9c..0000000 --- a/src/mpris2/object-core.c +++ /dev/null @@ -1,1724 +0,0 @@ -/* - * Generated by gdbus-codegen 2.32.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "object-core.h" - -#ifdef G_OS_UNIX -# include <gio/gunixfdlist.h> -#endif - -typedef struct -{ - GDBusArgInfo parent_struct; - gboolean use_gvariant; -} _ExtendedGDBusArgInfo; - -typedef struct -{ - GDBusMethodInfo parent_struct; - const gchar *signal_name; - gboolean pass_fdlist; -} _ExtendedGDBusMethodInfo; - -typedef struct -{ - GDBusSignalInfo parent_struct; - const gchar *signal_name; -} _ExtendedGDBusSignalInfo; - -typedef struct -{ - GDBusPropertyInfo parent_struct; - const gchar *hyphen_name; - gboolean use_gvariant; -} _ExtendedGDBusPropertyInfo; - -typedef struct -{ - GDBusInterfaceInfo parent_struct; - const gchar *hyphen_name; -} _ExtendedGDBusInterfaceInfo; - -typedef struct -{ - const _ExtendedGDBusPropertyInfo *info; - guint prop_id; - GValue orig_value; /* the value before the change */ -} ChangedProperty; - -static void -_changed_property_free (ChangedProperty *data) -{ - g_value_unset (&data->orig_value); - g_free (data); -} - -static gboolean -_g_strv_equal0 (gchar **a, gchar **b) -{ - gboolean ret = FALSE; - guint n; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - if (g_strv_length (a) != g_strv_length (b)) - goto out; - for (n = 0; a[n] != NULL; n++) - if (g_strcmp0 (a[n], b[n]) != 0) - goto out; - ret = TRUE; -out: - return ret; -} - -static gboolean -_g_variant_equal0 (GVariant *a, GVariant *b) -{ - gboolean ret = FALSE; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - ret = g_variant_equal (a, b); -out: - return ret; -} - -G_GNUC_UNUSED static gboolean -_g_value_equal (const GValue *a, const GValue *b) -{ - gboolean ret = FALSE; - g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b)); - switch (G_VALUE_TYPE (a)) - { - case G_TYPE_BOOLEAN: - ret = (g_value_get_boolean (a) == g_value_get_boolean (b)); - break; - case G_TYPE_UCHAR: - ret = (g_value_get_uchar (a) == g_value_get_uchar (b)); - break; - case G_TYPE_INT: - ret = (g_value_get_int (a) == g_value_get_int (b)); - break; - case G_TYPE_UINT: - ret = (g_value_get_uint (a) == g_value_get_uint (b)); - break; - case G_TYPE_INT64: - ret = (g_value_get_int64 (a) == g_value_get_int64 (b)); - break; - case G_TYPE_UINT64: - ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b)); - break; - case G_TYPE_DOUBLE: - ret = (g_value_get_double (a) == g_value_get_double (b)); - break; - case G_TYPE_STRING: - ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0); - break; - case G_TYPE_VARIANT: - ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b)); - break; - default: - if (G_VALUE_TYPE (a) == G_TYPE_STRV) - ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b)); - else - g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a))); - break; - } - return ret; -} - -/* ------------------------------------------------------------------------ - * Code for interface org.mpris.MediaPlayer2 - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:MprisMediaPlayer2 - * @title: MprisMediaPlayer2 - * @short_description: Generated C code for the org.mpris.MediaPlayer2 D-Bus interface - * - * This section contains code for working with the <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link> D-Bus interface in C. - */ - -/* ---- Introspection data for org.mpris.MediaPlayer2 ---- */ - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_method_info_quit = -{ - { - -1, - "Quit", - NULL, - NULL, - NULL - }, - "handle-quit", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_method_info_raise = -{ - { - -1, - "Raise", - NULL, - NULL, - NULL - }, - "handle-raise", - FALSE -}; - -static const _ExtendedGDBusMethodInfo * const _mpris_media_player2_method_info_pointers[] = -{ - &_mpris_media_player2_method_info_quit, - &_mpris_media_player2_method_info_raise, - NULL -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_property_info_can_quit = -{ - { - -1, - "CanQuit", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-quit", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_property_info_can_raise = -{ - { - -1, - "CanRaise", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-raise", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_property_info_desktop_entry = -{ - { - -1, - "DesktopEntry", - "s", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "desktop-entry", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_property_info_identity = -{ - { - -1, - "Identity", - "s", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "identity", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo * const _mpris_media_player2_property_info_pointers[] = -{ - &_mpris_media_player2_property_info_can_quit, - &_mpris_media_player2_property_info_can_raise, - &_mpris_media_player2_property_info_desktop_entry, - &_mpris_media_player2_property_info_identity, - NULL -}; - -static const _ExtendedGDBusInterfaceInfo _mpris_media_player2_interface_info = -{ - { - -1, - "org.mpris.MediaPlayer2", - (GDBusMethodInfo **) &_mpris_media_player2_method_info_pointers, - NULL, - (GDBusPropertyInfo **) &_mpris_media_player2_property_info_pointers, - NULL - }, - "media-player2", -}; - - -/** - * mpris_media_player2_interface_info: - * - * Gets a machine-readable description of the <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link> D-Bus interface. - * - * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. - */ -GDBusInterfaceInfo * -mpris_media_player2_interface_info (void) -{ - return (GDBusInterfaceInfo *) &_mpris_media_player2_interface_info; -} - -/** - * mpris_media_player2_override_properties: - * @klass: The class structure for a #GObject<!-- -->-derived class. - * @property_id_begin: The property id to assign to the first overridden property. - * - * Overrides all #GObject properties in the #MprisMediaPlayer2 interface for a concrete class. - * The properties are overridden in the order they are defined. - * - * Returns: The last property id. - */ -guint -mpris_media_player2_override_properties (GObjectClass *klass, guint property_id_begin) -{ - g_object_class_override_property (klass, property_id_begin++, "can-quit"); - g_object_class_override_property (klass, property_id_begin++, "can-raise"); - g_object_class_override_property (klass, property_id_begin++, "desktop-entry"); - g_object_class_override_property (klass, property_id_begin++, "identity"); - return property_id_begin - 1; -} - - - -/** - * MprisMediaPlayer2: - * - * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link>. - */ - -/** - * MprisMediaPlayer2Iface: - * @parent_iface: The parent interface. - * @handle_quit: Handler for the #MprisMediaPlayer2::handle-quit signal. - * @handle_raise: Handler for the #MprisMediaPlayer2::handle-raise signal. - * @get_can_quit: Getter for the #MprisMediaPlayer2:can-quit property. - * @get_can_raise: Getter for the #MprisMediaPlayer2:can-raise property. - * @get_desktop_entry: Getter for the #MprisMediaPlayer2:desktop-entry property. - * @get_identity: Getter for the #MprisMediaPlayer2:identity property. - * - * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link>. - */ - -static void -mpris_media_player2_default_init (MprisMediaPlayer2Iface *iface) -{ - /* GObject signals for incoming D-Bus method calls: */ - /** - * MprisMediaPlayer2::handle-quit: - * @object: A #MprisMediaPlayer2. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Quit">Quit()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_complete_quit() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-quit", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2Iface, handle_quit), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2::handle-raise: - * @object: A #MprisMediaPlayer2. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Raise">Raise()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_complete_raise() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-raise", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2Iface, handle_raise), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /* GObject properties for D-Bus properties: */ - /** - * MprisMediaPlayer2:can-quit: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanQuit">"CanQuit"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-quit", "CanQuit", "CanQuit", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2:can-raise: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanRaise">"CanRaise"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-raise", "CanRaise", "CanRaise", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2:desktop-entry: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2.DesktopEntry">"DesktopEntry"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_string ("desktop-entry", "DesktopEntry", "DesktopEntry", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2:identity: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2.Identity">"Identity"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_string ("identity", "Identity", "Identity", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -} - -typedef MprisMediaPlayer2Iface MprisMediaPlayer2Interface; -G_DEFINE_INTERFACE (MprisMediaPlayer2, mpris_media_player2, G_TYPE_OBJECT); - -/** - * mpris_media_player2_get_can_quit: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanQuit">"CanQuit"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_get_can_quit (MprisMediaPlayer2 *object) -{ - return MPRIS_MEDIA_PLAYER2_GET_IFACE (object)->get_can_quit (object); -} - -/** - * mpris_media_player2_set_can_quit: (skip) - * @object: A #MprisMediaPlayer2. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanQuit">"CanQuit"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_set_can_quit (MprisMediaPlayer2 *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-quit", value, NULL); -} - -/** - * mpris_media_player2_get_can_raise: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanRaise">"CanRaise"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_get_can_raise (MprisMediaPlayer2 *object) -{ - return MPRIS_MEDIA_PLAYER2_GET_IFACE (object)->get_can_raise (object); -} - -/** - * mpris_media_player2_set_can_raise: (skip) - * @object: A #MprisMediaPlayer2. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2.CanRaise">"CanRaise"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_set_can_raise (MprisMediaPlayer2 *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-raise", value, NULL); -} - -/** - * mpris_media_player2_get_desktop_entry: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.DesktopEntry">"DesktopEntry"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use mpris_media_player2_dup_desktop_entry() if on another thread.</warning> - * - * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object. - */ -const gchar * -mpris_media_player2_get_desktop_entry (MprisMediaPlayer2 *object) -{ - return MPRIS_MEDIA_PLAYER2_GET_IFACE (object)->get_desktop_entry (object); -} - -/** - * mpris_media_player2_dup_desktop_entry: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets a copy of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.DesktopEntry">"DesktopEntry"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free(). - */ -gchar * -mpris_media_player2_dup_desktop_entry (MprisMediaPlayer2 *object) -{ - gchar *value; - g_object_get (G_OBJECT (object), "desktop-entry", &value, NULL); - return value; -} - -/** - * mpris_media_player2_set_desktop_entry: (skip) - * @object: A #MprisMediaPlayer2. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2.DesktopEntry">"DesktopEntry"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_set_desktop_entry (MprisMediaPlayer2 *object, const gchar *value) -{ - g_object_set (G_OBJECT (object), "desktop-entry", value, NULL); -} - -/** - * mpris_media_player2_get_identity: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.Identity">"Identity"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use mpris_media_player2_dup_identity() if on another thread.</warning> - * - * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object. - */ -const gchar * -mpris_media_player2_get_identity (MprisMediaPlayer2 *object) -{ - return MPRIS_MEDIA_PLAYER2_GET_IFACE (object)->get_identity (object); -} - -/** - * mpris_media_player2_dup_identity: (skip) - * @object: A #MprisMediaPlayer2. - * - * Gets a copy of the <link linkend="gdbus-property-org-mpris-MediaPlayer2.Identity">"Identity"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free(). - */ -gchar * -mpris_media_player2_dup_identity (MprisMediaPlayer2 *object) -{ - gchar *value; - g_object_get (G_OBJECT (object), "identity", &value, NULL); - return value; -} - -/** - * mpris_media_player2_set_identity: (skip) - * @object: A #MprisMediaPlayer2. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2.Identity">"Identity"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_set_identity (MprisMediaPlayer2 *object, const gchar *value) -{ - g_object_set (G_OBJECT (object), "identity", value, NULL); -} - -/** - * mpris_media_player2_call_quit: - * @proxy: A #MprisMediaPlayer2Proxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Quit">Quit()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_call_quit_finish() to get the result of the operation. - * - * See mpris_media_player2_call_quit_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_call_quit ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Quit", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_call_quit_finish: - * @proxy: A #MprisMediaPlayer2Proxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_call_quit(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_call_quit(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_call_quit_finish ( - MprisMediaPlayer2 *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_call_quit_sync: - * @proxy: A #MprisMediaPlayer2Proxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Quit">Quit()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_call_quit() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_call_quit_sync ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Quit", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_call_raise: - * @proxy: A #MprisMediaPlayer2Proxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Raise">Raise()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_call_raise_finish() to get the result of the operation. - * - * See mpris_media_player2_call_raise_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_call_raise ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Raise", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_call_raise_finish: - * @proxy: A #MprisMediaPlayer2Proxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_call_raise(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_call_raise(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_call_raise_finish ( - MprisMediaPlayer2 *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_call_raise_sync: - * @proxy: A #MprisMediaPlayer2Proxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Raise">Raise()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_call_raise() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_call_raise_sync ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Raise", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_complete_quit: - * @object: A #MprisMediaPlayer2. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Quit">Quit()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_complete_quit ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_complete_raise: - * @object: A #MprisMediaPlayer2. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2.Raise">Raise()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_complete_raise ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/* ------------------------------------------------------------------------ */ - -/** - * MprisMediaPlayer2Proxy: - * - * The #MprisMediaPlayer2Proxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * MprisMediaPlayer2ProxyClass: - * @parent_class: The parent class. - * - * Class structure for #MprisMediaPlayer2Proxy. - */ - -struct _MprisMediaPlayer2ProxyPrivate -{ - GData *qdata; -}; - -static void mpris_media_player2_proxy_iface_init (MprisMediaPlayer2Iface *iface); - -G_DEFINE_TYPE_WITH_CODE (MprisMediaPlayer2Proxy, mpris_media_player2_proxy, G_TYPE_DBUS_PROXY, - G_IMPLEMENT_INTERFACE (MPRIS_TYPE_MEDIA_PLAYER2, mpris_media_player2_proxy_iface_init)); - -static void -mpris_media_player2_proxy_finalize (GObject *object) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (object); - g_datalist_clear (&proxy->priv->qdata); - G_OBJECT_CLASS (mpris_media_player2_proxy_parent_class)->finalize (object); -} - -static void -mpris_media_player2_proxy_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - const _ExtendedGDBusPropertyInfo *info; - GVariant *variant; - g_assert (prop_id != 0 && prop_id - 1 < 4); - info = _mpris_media_player2_property_info_pointers[prop_id - 1]; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); - if (info->use_gvariant) - { - g_value_set_variant (value, variant); - } - else - { - if (variant != NULL) - g_dbus_gvariant_to_gvalue (variant, value); - } - if (variant != NULL) - g_variant_unref (variant); -} - -static void -mpris_media_player2_proxy_set_property_cb (GDBusProxy *proxy, - GAsyncResult *res, - gpointer user_data) -{ - const _ExtendedGDBusPropertyInfo *info = user_data; - GError *error; - error = NULL; - if (!g_dbus_proxy_call_finish (proxy, res, &error)) - { - g_warning ("Error setting property `%s' on interface org.mpris.MediaPlayer2: %s (%s, %d)", - info->parent_struct.name, - error->message, g_quark_to_string (error->domain), error->code); - g_error_free (error); - } -} - -static void -mpris_media_player2_proxy_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - const _ExtendedGDBusPropertyInfo *info; - GVariant *variant; - g_assert (prop_id != 0 && prop_id - 1 < 4); - info = _mpris_media_player2_property_info_pointers[prop_id - 1]; - variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); - g_dbus_proxy_call (G_DBUS_PROXY (object), - "org.freedesktop.DBus.Properties.Set", - g_variant_new ("(ssv)", "org.mpris.MediaPlayer2", info->parent_struct.name, variant), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, (GAsyncReadyCallback) mpris_media_player2_proxy_set_property_cb, (gpointer) info); - g_variant_unref (variant); -} - -static void -mpris_media_player2_proxy_g_signal (GDBusProxy *proxy, - const gchar *sender_name, - const gchar *signal_name, - GVariant *parameters) -{ - _ExtendedGDBusSignalInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint n; - guint signal_id; - info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_mpris_media_player2_interface_info, signal_name); - if (info == NULL) - return; - num_params = g_variant_n_children (parameters); - paramv = g_new0 (GValue, num_params + 1); - g_value_init (¶mv[0], MPRIS_TYPE_MEDIA_PLAYER2); - g_value_set_object (¶mv[0], proxy); - g_variant_iter_init (&iter, parameters); - n = 1; - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, MPRIS_TYPE_MEDIA_PLAYER2); - g_signal_emitv (paramv, signal_id, 0, NULL); - for (n = 0; n < num_params + 1; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static void -mpris_media_player2_proxy_g_properties_changed (GDBusProxy *_proxy, - GVariant *changed_properties, - const gchar *const *invalidated_properties) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (_proxy); - guint n; - const gchar *key; - GVariantIter *iter; - _ExtendedGDBusPropertyInfo *info; - g_variant_get (changed_properties, "a{sv}", &iter); - while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_interface_info, key); - g_datalist_remove_data (&proxy->priv->qdata, key); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } - g_variant_iter_free (iter); - for (n = 0; invalidated_properties[n] != NULL; n++) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_interface_info, invalidated_properties[n]); - g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } -} - -static gboolean -mpris_media_player2_proxy_get_can_quit (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanQuit"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_proxy_get_can_raise (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanRaise"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static const gchar * -mpris_media_player2_proxy_get_desktop_entry (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (object); - GVariant *variant; - const gchar *value = NULL; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "DesktopEntry"); - if (variant != NULL) - { - value = g_variant_get_string (variant, NULL); - g_variant_unref (variant); - } - return value; -} - -static const gchar * -mpris_media_player2_proxy_get_identity (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Proxy *proxy = MPRIS_MEDIA_PLAYER2_PROXY (object); - GVariant *variant; - const gchar *value = NULL; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Identity"); - if (variant != NULL) - { - value = g_variant_get_string (variant, NULL); - g_variant_unref (variant); - } - return value; -} - -static void -mpris_media_player2_proxy_init (MprisMediaPlayer2Proxy *proxy) -{ - proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, MPRIS_TYPE_MEDIA_PLAYER2_PROXY, MprisMediaPlayer2ProxyPrivate); - g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), mpris_media_player2_interface_info ()); -} - -static void -mpris_media_player2_proxy_class_init (MprisMediaPlayer2ProxyClass *klass) -{ - GObjectClass *gobject_class; - GDBusProxyClass *proxy_class; - - g_type_class_add_private (klass, sizeof (MprisMediaPlayer2ProxyPrivate)); - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = mpris_media_player2_proxy_finalize; - gobject_class->get_property = mpris_media_player2_proxy_get_property; - gobject_class->set_property = mpris_media_player2_proxy_set_property; - - proxy_class = G_DBUS_PROXY_CLASS (klass); - proxy_class->g_signal = mpris_media_player2_proxy_g_signal; - proxy_class->g_properties_changed = mpris_media_player2_proxy_g_properties_changed; - - - mpris_media_player2_override_properties (gobject_class, 1); -} - -static void -mpris_media_player2_proxy_iface_init (MprisMediaPlayer2Iface *iface) -{ - iface->get_can_quit = mpris_media_player2_proxy_get_can_quit; - iface->get_can_raise = mpris_media_player2_proxy_get_can_raise; - iface->get_desktop_entry = mpris_media_player2_proxy_get_desktop_entry; - iface->get_identity = mpris_media_player2_proxy_get_identity; -} - -/** - * mpris_media_player2_proxy_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link>. See g_dbus_proxy_new() for more details. - * - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_proxy_new_finish() to get the result of the operation. - * - * See mpris_media_player2_proxy_new_sync() for the synchronous, blocking version of this constructor. - */ -void -mpris_media_player2_proxy_new ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (MPRIS_TYPE_MEDIA_PLAYER2_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2", NULL); -} - -/** - * mpris_media_player2_proxy_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_proxy_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with mpris_media_player2_proxy_new(). - * - * Returns: (transfer full) (type MprisMediaPlayer2Proxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2 * -mpris_media_player2_proxy_new_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2 (ret); - else - return NULL; -} - -/** - * mpris_media_player2_proxy_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link>. See g_dbus_proxy_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_proxy_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type MprisMediaPlayer2Proxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2 * -mpris_media_player2_proxy_new_sync ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (MPRIS_TYPE_MEDIA_PLAYER2_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2", NULL); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2 (ret); - else - return NULL; -} - - -/** - * mpris_media_player2_proxy_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Like mpris_media_player2_proxy_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_proxy_new_for_bus_finish() to get the result of the operation. - * - * See mpris_media_player2_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -mpris_media_player2_proxy_new_for_bus ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (MPRIS_TYPE_MEDIA_PLAYER2_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2", NULL); -} - -/** - * mpris_media_player2_proxy_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_proxy_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with mpris_media_player2_proxy_new_for_bus(). - * - * Returns: (transfer full) (type MprisMediaPlayer2Proxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2 * -mpris_media_player2_proxy_new_for_bus_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2 (ret); - else - return NULL; -} - -/** - * mpris_media_player2_proxy_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Like mpris_media_player2_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_proxy_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type MprisMediaPlayer2Proxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2 * -mpris_media_player2_proxy_new_for_bus_sync ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (MPRIS_TYPE_MEDIA_PLAYER2_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2", NULL); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2 (ret); - else - return NULL; -} - - -/* ------------------------------------------------------------------------ */ - -/** - * MprisMediaPlayer2Skeleton: - * - * The #MprisMediaPlayer2Skeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * MprisMediaPlayer2SkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #MprisMediaPlayer2Skeleton. - */ - -struct _MprisMediaPlayer2SkeletonPrivate -{ - GValue *properties; - GList *changed_properties; - GSource *changed_properties_idle_source; - GMainContext *context; - GMutex lock; -}; - -static void -_mpris_media_player2_skeleton_handle_method_call ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *method_name, - GVariant *parameters, - GDBusMethodInvocation *invocation, - gpointer user_data) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (user_data); - _ExtendedGDBusMethodInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint num_extra; - guint n; - guint signal_id; - GValue return_value = G_VALUE_INIT; - info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); - g_assert (info != NULL); - num_params = g_variant_n_children (parameters); - num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); - n = 0; - g_value_init (¶mv[n], MPRIS_TYPE_MEDIA_PLAYER2); - g_value_set_object (¶mv[n++], skeleton); - g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); - g_value_set_object (¶mv[n++], invocation); - if (info->pass_fdlist) - { -#ifdef G_OS_UNIX - g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); - g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); -#else - g_assert_not_reached (); -#endif - } - g_variant_iter_init (&iter, parameters); - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, MPRIS_TYPE_MEDIA_PLAYER2); - g_value_init (&return_value, G_TYPE_BOOLEAN); - g_signal_emitv (paramv, signal_id, 0, &return_value); - if (!g_value_get_boolean (&return_value)) - g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); - g_value_unset (&return_value); - for (n = 0; n < num_params + num_extra; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static GVariant * -_mpris_media_player2_skeleton_handle_get_property ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *property_name, - GError **error, - gpointer user_data) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - GVariant *ret; - ret = NULL; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_interface_info, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - g_value_init (&value, pspec->value_type); - g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); - ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); - g_value_unset (&value); - } - return ret; -} - -static gboolean -_mpris_media_player2_skeleton_handle_set_property ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *property_name, - GVariant *variant, - GError **error, - gpointer user_data) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - gboolean ret; - ret = FALSE; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_interface_info, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - if (info->use_gvariant) - g_value_set_variant (&value, variant); - else - g_dbus_gvariant_to_gvalue (variant, &value); - g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); - g_value_unset (&value); - ret = TRUE; - } - return ret; -} - -static const GDBusInterfaceVTable _mpris_media_player2_skeleton_vtable = -{ - _mpris_media_player2_skeleton_handle_method_call, - _mpris_media_player2_skeleton_handle_get_property, - _mpris_media_player2_skeleton_handle_set_property -}; - -static GDBusInterfaceInfo * -mpris_media_player2_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton) -{ - return mpris_media_player2_interface_info (); -} - -static GDBusInterfaceVTable * -mpris_media_player2_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton) -{ - return (GDBusInterfaceVTable *) &_mpris_media_player2_skeleton_vtable; -} - -static GVariant * -mpris_media_player2_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (_skeleton); - - GVariantBuilder builder; - guint n; - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); - if (_mpris_media_player2_interface_info.parent_struct.properties == NULL) - goto out; - for (n = 0; _mpris_media_player2_interface_info.parent_struct.properties[n] != NULL; n++) - { - GDBusPropertyInfo *info = _mpris_media_player2_interface_info.parent_struct.properties[n]; - if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) - { - GVariant *value; - value = _mpris_media_player2_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.mpris.MediaPlayer2", info->name, NULL, skeleton); - if (value != NULL) - { - g_variant_take_ref (value); - g_variant_builder_add (&builder, "{sv}", info->name, value); - g_variant_unref (value); - } - } - } -out: - return g_variant_builder_end (&builder); -} - -static gboolean _mpris_media_player2_emit_changed (gpointer user_data); - -static void -mpris_media_player2_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (_skeleton); - gboolean emit_changed = FALSE; - - g_mutex_lock (&skeleton->priv->lock); - if (skeleton->priv->changed_properties_idle_source != NULL) - { - g_source_destroy (skeleton->priv->changed_properties_idle_source); - skeleton->priv->changed_properties_idle_source = NULL; - emit_changed = TRUE; - } - g_mutex_unlock (&skeleton->priv->lock); - - if (emit_changed) - _mpris_media_player2_emit_changed (skeleton); -} - -static void mpris_media_player2_skeleton_iface_init (MprisMediaPlayer2Iface *iface); -G_DEFINE_TYPE_WITH_CODE (MprisMediaPlayer2Skeleton, mpris_media_player2_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, - G_IMPLEMENT_INTERFACE (MPRIS_TYPE_MEDIA_PLAYER2, mpris_media_player2_skeleton_iface_init)); - -static void -mpris_media_player2_skeleton_finalize (GObject *object) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - guint n; - for (n = 0; n < 4; n++) - g_value_unset (&skeleton->priv->properties[n]); - g_free (skeleton->priv->properties); - g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); - if (skeleton->priv->changed_properties_idle_source != NULL) - g_source_destroy (skeleton->priv->changed_properties_idle_source); - g_main_context_unref (skeleton->priv->context); - g_mutex_clear (&skeleton->priv->lock); - G_OBJECT_CLASS (mpris_media_player2_skeleton_parent_class)->finalize (object); -} - -static void -mpris_media_player2_skeleton_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - g_assert (prop_id != 0 && prop_id - 1 < 4); - g_mutex_lock (&skeleton->priv->lock); - g_value_copy (&skeleton->priv->properties[prop_id - 1], value); - g_mutex_unlock (&skeleton->priv->lock); -} - -static gboolean -_mpris_media_player2_emit_changed (gpointer user_data) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (user_data); - GList *l; - GVariantBuilder builder; - GVariantBuilder invalidated_builder; - guint num_changes; - - g_mutex_lock (&skeleton->priv->lock); - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); - g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); - for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) - { - ChangedProperty *cp = l->data; - GVariant *variant; - const GValue *cur_value; - - cur_value = &skeleton->priv->properties[cp->prop_id - 1]; - if (!_g_value_equal (cur_value, &cp->orig_value)) - { - variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); - g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); - g_variant_unref (variant); - num_changes++; - } - } - if (num_changes > 0) - { - GList *connections, *l; - GVariant *signal_variant; - signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.mpris.MediaPlayer2", - &builder, &invalidated_builder)); - connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); - for (l = connections; l != NULL; l = l->next) - { - GDBusConnection *connection = l->data; - - g_dbus_connection_emit_signal (connection, - NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), - "org.freedesktop.DBus.Properties", - "PropertiesChanged", - signal_variant, - NULL); - } - g_variant_unref (signal_variant); - g_list_free_full (connections, g_object_unref); - } - else - { - g_variant_builder_clear (&builder); - g_variant_builder_clear (&invalidated_builder); - } - g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); - skeleton->priv->changed_properties = NULL; - skeleton->priv->changed_properties_idle_source = NULL; - g_mutex_unlock (&skeleton->priv->lock); - return FALSE; -} - -static void -_mpris_media_player2_schedule_emit_changed (MprisMediaPlayer2Skeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) -{ - ChangedProperty *cp; - GList *l; - cp = NULL; - for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) - { - ChangedProperty *i_cp = l->data; - if (i_cp->info == info) - { - cp = i_cp; - break; - } - } - if (cp == NULL) - { - cp = g_new0 (ChangedProperty, 1); - cp->prop_id = prop_id; - cp->info = info; - skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); - g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); - g_value_copy (orig_value, &cp->orig_value); - } -} - -static void -mpris_media_player2_skeleton_notify (GObject *object, - GParamSpec *pspec) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - g_mutex_lock (&skeleton->priv->lock); - if (skeleton->priv->changed_properties != NULL && - skeleton->priv->changed_properties_idle_source == NULL) - { - skeleton->priv->changed_properties_idle_source = g_idle_source_new (); - g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); - g_source_set_callback (skeleton->priv->changed_properties_idle_source, _mpris_media_player2_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); - g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); - g_source_unref (skeleton->priv->changed_properties_idle_source); - } - g_mutex_unlock (&skeleton->priv->lock); -} - -static void -mpris_media_player2_skeleton_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - g_assert (prop_id != 0 && prop_id - 1 < 4); - g_mutex_lock (&skeleton->priv->lock); - g_object_freeze_notify (object); - if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) - { - if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL) - _mpris_media_player2_schedule_emit_changed (skeleton, _mpris_media_player2_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]); - g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); - g_object_notify_by_pspec (object, pspec); - } - g_mutex_unlock (&skeleton->priv->lock); - g_object_thaw_notify (object); -} - -static void -mpris_media_player2_skeleton_init (MprisMediaPlayer2Skeleton *skeleton) -{ - skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, MPRIS_TYPE_MEDIA_PLAYER2_SKELETON, MprisMediaPlayer2SkeletonPrivate); - g_mutex_init (&skeleton->priv->lock); - skeleton->priv->context = g_main_context_ref_thread_default (); - skeleton->priv->properties = g_new0 (GValue, 4); - g_value_init (&skeleton->priv->properties[0], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[1], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[2], G_TYPE_STRING); - g_value_init (&skeleton->priv->properties[3], G_TYPE_STRING); -} - -static gboolean -mpris_media_player2_skeleton_get_can_quit (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[0])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_skeleton_get_can_raise (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[1])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static const gchar * -mpris_media_player2_skeleton_get_desktop_entry (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - const gchar *value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_string (&(skeleton->priv->properties[2])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static const gchar * -mpris_media_player2_skeleton_get_identity (MprisMediaPlayer2 *object) -{ - MprisMediaPlayer2Skeleton *skeleton = MPRIS_MEDIA_PLAYER2_SKELETON (object); - const gchar *value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_string (&(skeleton->priv->properties[3])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static void -mpris_media_player2_skeleton_class_init (MprisMediaPlayer2SkeletonClass *klass) -{ - GObjectClass *gobject_class; - GDBusInterfaceSkeletonClass *skeleton_class; - - g_type_class_add_private (klass, sizeof (MprisMediaPlayer2SkeletonPrivate)); - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = mpris_media_player2_skeleton_finalize; - gobject_class->get_property = mpris_media_player2_skeleton_get_property; - gobject_class->set_property = mpris_media_player2_skeleton_set_property; - gobject_class->notify = mpris_media_player2_skeleton_notify; - - - mpris_media_player2_override_properties (gobject_class, 1); - - skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); - skeleton_class->get_info = mpris_media_player2_skeleton_dbus_interface_get_info; - skeleton_class->get_properties = mpris_media_player2_skeleton_dbus_interface_get_properties; - skeleton_class->flush = mpris_media_player2_skeleton_dbus_interface_flush; - skeleton_class->get_vtable = mpris_media_player2_skeleton_dbus_interface_get_vtable; -} - -static void -mpris_media_player2_skeleton_iface_init (MprisMediaPlayer2Iface *iface) -{ - iface->get_can_quit = mpris_media_player2_skeleton_get_can_quit; - iface->get_can_raise = mpris_media_player2_skeleton_get_can_raise; - iface->get_desktop_entry = mpris_media_player2_skeleton_get_desktop_entry; - iface->get_identity = mpris_media_player2_skeleton_get_identity; -} - -/** - * mpris_media_player2_skeleton_new: - * - * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2.top_of_page">org.mpris.MediaPlayer2</link>. - * - * Returns: (transfer full) (type MprisMediaPlayer2Skeleton): The skeleton object. - */ -MprisMediaPlayer2 * -mpris_media_player2_skeleton_new (void) -{ - return MPRIS_MEDIA_PLAYER2 (g_object_new (MPRIS_TYPE_MEDIA_PLAYER2_SKELETON, NULL)); -} - diff --git a/src/mpris2/object-core.h b/src/mpris2/object-core.h deleted file mode 100644 index 6222054..0000000 --- a/src/mpris2/object-core.h +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Generated by gdbus-codegen 2.32.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifndef __OBJECT_CORE_H__ -#define __OBJECT_CORE_H__ - -#include <gio/gio.h> - -G_BEGIN_DECLS - - -/* ------------------------------------------------------------------------ */ -/* Declarations for org.mpris.MediaPlayer2 */ - -#define MPRIS_TYPE_MEDIA_PLAYER2 (mpris_media_player2_get_type ()) -#define MPRIS_MEDIA_PLAYER2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2, MprisMediaPlayer2)) -#define MPRIS_IS_MEDIA_PLAYER2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2)) -#define MPRIS_MEDIA_PLAYER2_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), MPRIS_TYPE_MEDIA_PLAYER2, MprisMediaPlayer2Iface)) - -struct _MprisMediaPlayer2; -typedef struct _MprisMediaPlayer2 MprisMediaPlayer2; -typedef struct _MprisMediaPlayer2Iface MprisMediaPlayer2Iface; - -struct _MprisMediaPlayer2Iface -{ - GTypeInterface parent_iface; - - - gboolean (*handle_quit) ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_raise) ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation); - - gboolean (*get_can_quit) (MprisMediaPlayer2 *object); - - gboolean (*get_can_raise) (MprisMediaPlayer2 *object); - - const gchar * (*get_desktop_entry) (MprisMediaPlayer2 *object); - - const gchar * (*get_identity) (MprisMediaPlayer2 *object); - -}; - -GType mpris_media_player2_get_type (void) G_GNUC_CONST; - -GDBusInterfaceInfo *mpris_media_player2_interface_info (void); -guint mpris_media_player2_override_properties (GObjectClass *klass, guint property_id_begin); - - -/* D-Bus method call completion functions: */ -void mpris_media_player2_complete_quit ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_complete_raise ( - MprisMediaPlayer2 *object, - GDBusMethodInvocation *invocation); - - - -/* D-Bus method calls: */ -void mpris_media_player2_call_quit ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_call_quit_finish ( - MprisMediaPlayer2 *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_call_quit_sync ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_call_raise ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_call_raise_finish ( - MprisMediaPlayer2 *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_call_raise_sync ( - MprisMediaPlayer2 *proxy, - GCancellable *cancellable, - GError **error); - - - -/* D-Bus property accessors: */ -gboolean mpris_media_player2_get_can_quit (MprisMediaPlayer2 *object); -void mpris_media_player2_set_can_quit (MprisMediaPlayer2 *object, gboolean value); - -gboolean mpris_media_player2_get_can_raise (MprisMediaPlayer2 *object); -void mpris_media_player2_set_can_raise (MprisMediaPlayer2 *object, gboolean value); - -const gchar *mpris_media_player2_get_desktop_entry (MprisMediaPlayer2 *object); -gchar *mpris_media_player2_dup_desktop_entry (MprisMediaPlayer2 *object); -void mpris_media_player2_set_desktop_entry (MprisMediaPlayer2 *object, const gchar *value); - -const gchar *mpris_media_player2_get_identity (MprisMediaPlayer2 *object); -gchar *mpris_media_player2_dup_identity (MprisMediaPlayer2 *object); -void mpris_media_player2_set_identity (MprisMediaPlayer2 *object, const gchar *value); - - -/* ---- */ - -#define MPRIS_TYPE_MEDIA_PLAYER2_PROXY (mpris_media_player2_proxy_get_type ()) -#define MPRIS_MEDIA_PLAYER2_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2_PROXY, MprisMediaPlayer2Proxy)) -#define MPRIS_MEDIA_PLAYER2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MPRIS_TYPE_MEDIA_PLAYER2_PROXY, MprisMediaPlayer2ProxyClass)) -#define MPRIS_MEDIA_PLAYER2_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MPRIS_TYPE_MEDIA_PLAYER2_PROXY, MprisMediaPlayer2ProxyClass)) -#define MPRIS_IS_MEDIA_PLAYER2_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2_PROXY)) -#define MPRIS_IS_MEDIA_PLAYER2_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MPRIS_TYPE_MEDIA_PLAYER2_PROXY)) - -typedef struct _MprisMediaPlayer2Proxy MprisMediaPlayer2Proxy; -typedef struct _MprisMediaPlayer2ProxyClass MprisMediaPlayer2ProxyClass; -typedef struct _MprisMediaPlayer2ProxyPrivate MprisMediaPlayer2ProxyPrivate; - -struct _MprisMediaPlayer2Proxy -{ - /*< private >*/ - GDBusProxy parent_instance; - MprisMediaPlayer2ProxyPrivate *priv; -}; - -struct _MprisMediaPlayer2ProxyClass -{ - GDBusProxyClass parent_class; -}; - -GType mpris_media_player2_proxy_get_type (void) G_GNUC_CONST; - -void mpris_media_player2_proxy_new ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -MprisMediaPlayer2 *mpris_media_player2_proxy_new_finish ( - GAsyncResult *res, - GError **error); -MprisMediaPlayer2 *mpris_media_player2_proxy_new_sync ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_proxy_new_for_bus ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -MprisMediaPlayer2 *mpris_media_player2_proxy_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -MprisMediaPlayer2 *mpris_media_player2_proxy_new_for_bus_sync ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - -/* ---- */ - -#define MPRIS_TYPE_MEDIA_PLAYER2_SKELETON (mpris_media_player2_skeleton_get_type ()) -#define MPRIS_MEDIA_PLAYER2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2_SKELETON, MprisMediaPlayer2Skeleton)) -#define MPRIS_MEDIA_PLAYER2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MPRIS_TYPE_MEDIA_PLAYER2_SKELETON, MprisMediaPlayer2SkeletonClass)) -#define MPRIS_MEDIA_PLAYER2_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MPRIS_TYPE_MEDIA_PLAYER2_SKELETON, MprisMediaPlayer2SkeletonClass)) -#define MPRIS_IS_MEDIA_PLAYER2_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2_SKELETON)) -#define MPRIS_IS_MEDIA_PLAYER2_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MPRIS_TYPE_MEDIA_PLAYER2_SKELETON)) - -typedef struct _MprisMediaPlayer2Skeleton MprisMediaPlayer2Skeleton; -typedef struct _MprisMediaPlayer2SkeletonClass MprisMediaPlayer2SkeletonClass; -typedef struct _MprisMediaPlayer2SkeletonPrivate MprisMediaPlayer2SkeletonPrivate; - -struct _MprisMediaPlayer2Skeleton -{ - /*< private >*/ - GDBusInterfaceSkeleton parent_instance; - MprisMediaPlayer2SkeletonPrivate *priv; -}; - -struct _MprisMediaPlayer2SkeletonClass -{ - GDBusInterfaceSkeletonClass parent_class; -}; - -GType mpris_media_player2_skeleton_get_type (void) G_GNUC_CONST; - -MprisMediaPlayer2 *mpris_media_player2_skeleton_new (void); - - -G_END_DECLS - -#endif /* __OBJECT_CORE_H__ */ diff --git a/src/mpris2/object-player.c b/src/mpris2/object-player.c deleted file mode 100644 index ef8e9c2..0000000 --- a/src/mpris2/object-player.c +++ /dev/null @@ -1,3276 +0,0 @@ -/* - * Generated by gdbus-codegen 2.32.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif - -#include "object-player.h" - -#ifdef G_OS_UNIX -# include <gio/gunixfdlist.h> -#endif - -typedef struct -{ - GDBusArgInfo parent_struct; - gboolean use_gvariant; -} _ExtendedGDBusArgInfo; - -typedef struct -{ - GDBusMethodInfo parent_struct; - const gchar *signal_name; - gboolean pass_fdlist; -} _ExtendedGDBusMethodInfo; - -typedef struct -{ - GDBusSignalInfo parent_struct; - const gchar *signal_name; -} _ExtendedGDBusSignalInfo; - -typedef struct -{ - GDBusPropertyInfo parent_struct; - const gchar *hyphen_name; - gboolean use_gvariant; -} _ExtendedGDBusPropertyInfo; - -typedef struct -{ - GDBusInterfaceInfo parent_struct; - const gchar *hyphen_name; -} _ExtendedGDBusInterfaceInfo; - -typedef struct -{ - const _ExtendedGDBusPropertyInfo *info; - guint prop_id; - GValue orig_value; /* the value before the change */ -} ChangedProperty; - -static void -_changed_property_free (ChangedProperty *data) -{ - g_value_unset (&data->orig_value); - g_free (data); -} - -static gboolean -_g_strv_equal0 (gchar **a, gchar **b) -{ - gboolean ret = FALSE; - guint n; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - if (g_strv_length (a) != g_strv_length (b)) - goto out; - for (n = 0; a[n] != NULL; n++) - if (g_strcmp0 (a[n], b[n]) != 0) - goto out; - ret = TRUE; -out: - return ret; -} - -static gboolean -_g_variant_equal0 (GVariant *a, GVariant *b) -{ - gboolean ret = FALSE; - if (a == NULL && b == NULL) - { - ret = TRUE; - goto out; - } - if (a == NULL || b == NULL) - goto out; - ret = g_variant_equal (a, b); -out: - return ret; -} - -G_GNUC_UNUSED static gboolean -_g_value_equal (const GValue *a, const GValue *b) -{ - gboolean ret = FALSE; - g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b)); - switch (G_VALUE_TYPE (a)) - { - case G_TYPE_BOOLEAN: - ret = (g_value_get_boolean (a) == g_value_get_boolean (b)); - break; - case G_TYPE_UCHAR: - ret = (g_value_get_uchar (a) == g_value_get_uchar (b)); - break; - case G_TYPE_INT: - ret = (g_value_get_int (a) == g_value_get_int (b)); - break; - case G_TYPE_UINT: - ret = (g_value_get_uint (a) == g_value_get_uint (b)); - break; - case G_TYPE_INT64: - ret = (g_value_get_int64 (a) == g_value_get_int64 (b)); - break; - case G_TYPE_UINT64: - ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b)); - break; - case G_TYPE_DOUBLE: - ret = (g_value_get_double (a) == g_value_get_double (b)); - break; - case G_TYPE_STRING: - ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0); - break; - case G_TYPE_VARIANT: - ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b)); - break; - default: - if (G_VALUE_TYPE (a) == G_TYPE_STRV) - ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b)); - else - g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a))); - break; - } - return ret; -} - -/* ------------------------------------------------------------------------ - * Code for interface org.mpris.MediaPlayer2.Player - * ------------------------------------------------------------------------ - */ - -/** - * SECTION:MprisMediaPlayer2Player - * @title: MprisMediaPlayer2Player - * @short_description: Generated C code for the org.mpris.MediaPlayer2.Player D-Bus interface - * - * This section contains code for working with the <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link> D-Bus interface in C. - */ - -/* ---- Introspection data for org.mpris.MediaPlayer2.Player ---- */ - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_next = -{ - { - -1, - "Next", - NULL, - NULL, - NULL - }, - "handle-next", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_pause = -{ - { - -1, - "Pause", - NULL, - NULL, - NULL - }, - "handle-pause", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_play = -{ - { - -1, - "Play", - NULL, - NULL, - NULL - }, - "handle-play", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_play_pause = -{ - { - -1, - "PlayPause", - NULL, - NULL, - NULL - }, - "handle-play-pause", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_previous = -{ - { - -1, - "Previous", - NULL, - NULL, - NULL - }, - "handle-previous", - FALSE -}; - -static const _ExtendedGDBusArgInfo _mpris_media_player2_player_method_info_seek_IN_ARG_Offset = -{ - { - -1, - "Offset", - "x", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const _mpris_media_player2_player_method_info_seek_IN_ARG_pointers[] = -{ - &_mpris_media_player2_player_method_info_seek_IN_ARG_Offset, - NULL -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_seek = -{ - { - -1, - "Seek", - (GDBusArgInfo **) &_mpris_media_player2_player_method_info_seek_IN_ARG_pointers, - NULL, - NULL - }, - "handle-seek", - FALSE -}; - -static const _ExtendedGDBusArgInfo _mpris_media_player2_player_method_info_set_position_IN_ARG_TrackId = -{ - { - -1, - "TrackId", - "o", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo _mpris_media_player2_player_method_info_set_position_IN_ARG_Position = -{ - { - -1, - "Position", - "x", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const _mpris_media_player2_player_method_info_set_position_IN_ARG_pointers[] = -{ - &_mpris_media_player2_player_method_info_set_position_IN_ARG_TrackId, - &_mpris_media_player2_player_method_info_set_position_IN_ARG_Position, - NULL -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_set_position = -{ - { - -1, - "SetPosition", - (GDBusArgInfo **) &_mpris_media_player2_player_method_info_set_position_IN_ARG_pointers, - NULL, - NULL - }, - "handle-set-position", - FALSE -}; - -static const _ExtendedGDBusMethodInfo _mpris_media_player2_player_method_info_stop = -{ - { - -1, - "Stop", - NULL, - NULL, - NULL - }, - "handle-stop", - FALSE -}; - -static const _ExtendedGDBusMethodInfo * const _mpris_media_player2_player_method_info_pointers[] = -{ - &_mpris_media_player2_player_method_info_next, - &_mpris_media_player2_player_method_info_pause, - &_mpris_media_player2_player_method_info_play, - &_mpris_media_player2_player_method_info_play_pause, - &_mpris_media_player2_player_method_info_previous, - &_mpris_media_player2_player_method_info_seek, - &_mpris_media_player2_player_method_info_set_position, - &_mpris_media_player2_player_method_info_stop, - NULL -}; - -static const _ExtendedGDBusArgInfo _mpris_media_player2_player_signal_info_seeked_ARG_Position = -{ - { - -1, - "Position", - "x", - NULL - }, - FALSE -}; - -static const _ExtendedGDBusArgInfo * const _mpris_media_player2_player_signal_info_seeked_ARG_pointers[] = -{ - &_mpris_media_player2_player_signal_info_seeked_ARG_Position, - NULL -}; - -static const _ExtendedGDBusSignalInfo _mpris_media_player2_player_signal_info_seeked = -{ - { - -1, - "Seeked", - (GDBusArgInfo **) &_mpris_media_player2_player_signal_info_seeked_ARG_pointers, - NULL - }, - "seeked" -}; - -static const _ExtendedGDBusSignalInfo * const _mpris_media_player2_player_signal_info_pointers[] = -{ - &_mpris_media_player2_player_signal_info_seeked, - NULL -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_control = -{ - { - -1, - "CanControl", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-control", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_go_next = -{ - { - -1, - "CanGoNext", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-go-next", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_go_previous = -{ - { - -1, - "CanGoPrevious", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-go-previous", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_pause = -{ - { - -1, - "CanPause", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-pause", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_play = -{ - { - -1, - "CanPlay", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-play", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_can_seek = -{ - { - -1, - "CanSeek", - "b", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "can-seek", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_metadata = -{ - { - -1, - "Metadata", - "a{sv}", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "metadata", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_playback_status = -{ - { - -1, - "PlaybackStatus", - "s", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "playback-status", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_position = -{ - { - -1, - "Position", - "x", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE, - NULL - }, - "position", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo _mpris_media_player2_player_property_info_volume = -{ - { - -1, - "Volume", - "d", - G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, - NULL - }, - "volume", - FALSE -}; - -static const _ExtendedGDBusPropertyInfo * const _mpris_media_player2_player_property_info_pointers[] = -{ - &_mpris_media_player2_player_property_info_can_control, - &_mpris_media_player2_player_property_info_can_go_next, - &_mpris_media_player2_player_property_info_can_go_previous, - &_mpris_media_player2_player_property_info_can_pause, - &_mpris_media_player2_player_property_info_can_play, - &_mpris_media_player2_player_property_info_can_seek, - &_mpris_media_player2_player_property_info_metadata, - &_mpris_media_player2_player_property_info_playback_status, - &_mpris_media_player2_player_property_info_position, - &_mpris_media_player2_player_property_info_volume, - NULL -}; - -static const _ExtendedGDBusInterfaceInfo _mpris_media_player2_player_interface_info = -{ - { - -1, - "org.mpris.MediaPlayer2.Player", - (GDBusMethodInfo **) &_mpris_media_player2_player_method_info_pointers, - (GDBusSignalInfo **) &_mpris_media_player2_player_signal_info_pointers, - (GDBusPropertyInfo **) &_mpris_media_player2_player_property_info_pointers, - NULL - }, - "media-player2-player", -}; - - -/** - * mpris_media_player2_player_interface_info: - * - * Gets a machine-readable description of the <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link> D-Bus interface. - * - * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free. - */ -GDBusInterfaceInfo * -mpris_media_player2_player_interface_info (void) -{ - return (GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info; -} - -/** - * mpris_media_player2_player_override_properties: - * @klass: The class structure for a #GObject<!-- -->-derived class. - * @property_id_begin: The property id to assign to the first overridden property. - * - * Overrides all #GObject properties in the #MprisMediaPlayer2Player interface for a concrete class. - * The properties are overridden in the order they are defined. - * - * Returns: The last property id. - */ -guint -mpris_media_player2_player_override_properties (GObjectClass *klass, guint property_id_begin) -{ - g_object_class_override_property (klass, property_id_begin++, "can-control"); - g_object_class_override_property (klass, property_id_begin++, "can-go-next"); - g_object_class_override_property (klass, property_id_begin++, "can-go-previous"); - g_object_class_override_property (klass, property_id_begin++, "can-pause"); - g_object_class_override_property (klass, property_id_begin++, "can-play"); - g_object_class_override_property (klass, property_id_begin++, "can-seek"); - g_object_class_override_property (klass, property_id_begin++, "metadata"); - g_object_class_override_property (klass, property_id_begin++, "playback-status"); - g_object_class_override_property (klass, property_id_begin++, "position"); - g_object_class_override_property (klass, property_id_begin++, "volume"); - return property_id_begin - 1; -} - - - -/** - * MprisMediaPlayer2Player: - * - * Abstract interface type for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link>. - */ - -/** - * MprisMediaPlayer2PlayerIface: - * @parent_iface: The parent interface. - * @handle_next: Handler for the #MprisMediaPlayer2Player::handle-next signal. - * @handle_pause: Handler for the #MprisMediaPlayer2Player::handle-pause signal. - * @handle_play: Handler for the #MprisMediaPlayer2Player::handle-play signal. - * @handle_play_pause: Handler for the #MprisMediaPlayer2Player::handle-play-pause signal. - * @handle_previous: Handler for the #MprisMediaPlayer2Player::handle-previous signal. - * @handle_seek: Handler for the #MprisMediaPlayer2Player::handle-seek signal. - * @handle_set_position: Handler for the #MprisMediaPlayer2Player::handle-set-position signal. - * @handle_stop: Handler for the #MprisMediaPlayer2Player::handle-stop signal. - * @get_can_control: Getter for the #MprisMediaPlayer2Player:can-control property. - * @get_can_go_next: Getter for the #MprisMediaPlayer2Player:can-go-next property. - * @get_can_go_previous: Getter for the #MprisMediaPlayer2Player:can-go-previous property. - * @get_can_pause: Getter for the #MprisMediaPlayer2Player:can-pause property. - * @get_can_play: Getter for the #MprisMediaPlayer2Player:can-play property. - * @get_can_seek: Getter for the #MprisMediaPlayer2Player:can-seek property. - * @get_metadata: Getter for the #MprisMediaPlayer2Player:metadata property. - * @get_playback_status: Getter for the #MprisMediaPlayer2Player:playback-status property. - * @get_position: Getter for the #MprisMediaPlayer2Player:position property. - * @get_volume: Getter for the #MprisMediaPlayer2Player:volume property. - * @seeked: Handler for the #MprisMediaPlayer2Player::seeked signal. - * - * Virtual table for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link>. - */ - -static void -mpris_media_player2_player_default_init (MprisMediaPlayer2PlayerIface *iface) -{ - /* GObject signals for incoming D-Bus method calls: */ - /** - * MprisMediaPlayer2Player::handle-next: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Next">Next()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_next() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-next", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_next), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2Player::handle-pause: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Pause">Pause()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_pause() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-pause", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_pause), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2Player::handle-play: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Play">Play()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_play() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-play", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_play), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2Player::handle-play-pause: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.PlayPause">PlayPause()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_play_pause() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-play-pause", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_play_pause), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2Player::handle-previous: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Previous">Previous()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_previous() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-previous", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_previous), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /** - * MprisMediaPlayer2Player::handle-seek: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * @arg_Offset: Argument passed by remote caller. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Seek">Seek()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_seek() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-seek", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_seek), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 2, - G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_INT64); - - /** - * MprisMediaPlayer2Player::handle-set-position: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * @arg_TrackId: Argument passed by remote caller. - * @arg_Position: Argument passed by remote caller. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.SetPosition">SetPosition()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_set_position() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-set-position", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_set_position), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 3, - G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_INT64); - - /** - * MprisMediaPlayer2Player::handle-stop: - * @object: A #MprisMediaPlayer2Player. - * @invocation: A #GDBusMethodInvocation. - * - * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Stop">Stop()</link> D-Bus method. - * - * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call mpris_media_player2_player_complete_stop() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned. - * - * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run. - */ - g_signal_new ("handle-stop", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, handle_stop), - g_signal_accumulator_true_handled, - NULL, - g_cclosure_marshal_generic, - G_TYPE_BOOLEAN, - 1, - G_TYPE_DBUS_METHOD_INVOCATION); - - /* GObject signals for received D-Bus signals: */ - /** - * MprisMediaPlayer2Player::seeked: - * @object: A #MprisMediaPlayer2Player. - * @arg_Position: Argument. - * - * On the client-side, this signal is emitted whenever the D-Bus signal <link linkend="gdbus-signal-org-mpris-MediaPlayer2-Player.Seeked">"Seeked"</link> is received. - * - * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal. - */ - g_signal_new ("seeked", - G_TYPE_FROM_INTERFACE (iface), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (MprisMediaPlayer2PlayerIface, seeked), - NULL, - NULL, - g_cclosure_marshal_generic, - G_TYPE_NONE, - 1, G_TYPE_INT64); - - /* GObject properties for D-Bus properties: */ - /** - * MprisMediaPlayer2Player:can-control: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanControl">"CanControl"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-control", "CanControl", "CanControl", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:can-go-next: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoNext">"CanGoNext"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-go-next", "CanGoNext", "CanGoNext", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:can-go-previous: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoPrevious">"CanGoPrevious"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-go-previous", "CanGoPrevious", "CanGoPrevious", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:can-pause: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPause">"CanPause"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-pause", "CanPause", "CanPause", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:can-play: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPlay">"CanPlay"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-play", "CanPlay", "CanPlay", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:can-seek: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanSeek">"CanSeek"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_boolean ("can-seek", "CanSeek", "CanSeek", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:metadata: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Metadata">"Metadata"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_variant ("metadata", "Metadata", "Metadata", G_VARIANT_TYPE ("a{sv}"), NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:playback-status: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.PlaybackStatus">"PlaybackStatus"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_string ("playback-status", "PlaybackStatus", "PlaybackStatus", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:position: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Position">"Position"</link>. - * - * Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side. - */ - g_object_interface_install_property (iface, - g_param_spec_int64 ("position", "Position", "Position", G_MININT64, G_MAXINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - /** - * MprisMediaPlayer2Player:volume: - * - * Represents the D-Bus property <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Volume">"Volume"</link>. - * - * Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side. - */ - g_object_interface_install_property (iface, - g_param_spec_double ("volume", "Volume", "Volume", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); -} - -typedef MprisMediaPlayer2PlayerIface MprisMediaPlayer2PlayerInterface; -G_DEFINE_INTERFACE (MprisMediaPlayer2Player, mpris_media_player2_player, G_TYPE_OBJECT); - -/** - * mpris_media_player2_player_get_can_control: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanControl">"CanControl"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_control (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_control (object); -} - -/** - * mpris_media_player2_player_set_can_control: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanControl">"CanControl"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_control (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-control", value, NULL); -} - -/** - * mpris_media_player2_player_get_can_go_next: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoNext">"CanGoNext"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_go_next (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_go_next (object); -} - -/** - * mpris_media_player2_player_set_can_go_next: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoNext">"CanGoNext"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_go_next (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-go-next", value, NULL); -} - -/** - * mpris_media_player2_player_get_can_go_previous: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoPrevious">"CanGoPrevious"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_go_previous (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_go_previous (object); -} - -/** - * mpris_media_player2_player_set_can_go_previous: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanGoPrevious">"CanGoPrevious"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_go_previous (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-go-previous", value, NULL); -} - -/** - * mpris_media_player2_player_get_can_pause: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPause">"CanPause"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_pause (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_pause (object); -} - -/** - * mpris_media_player2_player_set_can_pause: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPause">"CanPause"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_pause (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-pause", value, NULL); -} - -/** - * mpris_media_player2_player_get_can_play: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPlay">"CanPlay"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_play (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_play (object); -} - -/** - * mpris_media_player2_player_set_can_play: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanPlay">"CanPlay"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_play (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-play", value, NULL); -} - -/** - * mpris_media_player2_player_get_can_seek: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanSeek">"CanSeek"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gboolean -mpris_media_player2_player_get_can_seek (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_can_seek (object); -} - -/** - * mpris_media_player2_player_set_can_seek: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.CanSeek">"CanSeek"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_can_seek (MprisMediaPlayer2Player *object, gboolean value) -{ - g_object_set (G_OBJECT (object), "can-seek", value, NULL); -} - -/** - * mpris_media_player2_player_get_metadata: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Metadata">"Metadata"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use mpris_media_player2_player_dup_metadata() if on another thread.</warning> - * - * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object. - */ -GVariant * -mpris_media_player2_player_get_metadata (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_metadata (object); -} - -/** - * mpris_media_player2_player_dup_metadata: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets a copy of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Metadata">"Metadata"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_variant_unref(). - */ -GVariant * -mpris_media_player2_player_dup_metadata (MprisMediaPlayer2Player *object) -{ - GVariant *value; - g_object_get (G_OBJECT (object), "metadata", &value, NULL); - return value; -} - -/** - * mpris_media_player2_player_set_metadata: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Metadata">"Metadata"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_metadata (MprisMediaPlayer2Player *object, GVariant *value) -{ - g_object_set (G_OBJECT (object), "metadata", value, NULL); -} - -/** - * mpris_media_player2_player_get_playback_status: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.PlaybackStatus">"PlaybackStatus"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * <warning>The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use mpris_media_player2_player_dup_playback_status() if on another thread.</warning> - * - * Returns: (transfer none): The property value or %NULL if the property is not set. Do not free the returned value, it belongs to @object. - */ -const gchar * -mpris_media_player2_player_get_playback_status (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_playback_status (object); -} - -/** - * mpris_media_player2_player_dup_playback_status: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets a copy of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.PlaybackStatus">"PlaybackStatus"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: (transfer full): The property value or %NULL if the property is not set. The returned value should be freed with g_free(). - */ -gchar * -mpris_media_player2_player_dup_playback_status (MprisMediaPlayer2Player *object) -{ - gchar *value; - g_object_get (G_OBJECT (object), "playback-status", &value, NULL); - return value; -} - -/** - * mpris_media_player2_player_set_playback_status: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.PlaybackStatus">"PlaybackStatus"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_playback_status (MprisMediaPlayer2Player *object, const gchar *value) -{ - g_object_set (G_OBJECT (object), "playback-status", value, NULL); -} - -/** - * mpris_media_player2_player_get_position: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Position">"Position"</link> D-Bus property. - * - * Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gint64 -mpris_media_player2_player_get_position (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_position (object); -} - -/** - * mpris_media_player2_player_set_position: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Position">"Position"</link> D-Bus property to @value. - * - * Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side. - */ -void -mpris_media_player2_player_set_position (MprisMediaPlayer2Player *object, gint64 value) -{ - g_object_set (G_OBJECT (object), "position", value, NULL); -} - -/** - * mpris_media_player2_player_get_volume: (skip) - * @object: A #MprisMediaPlayer2Player. - * - * Gets the value of the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Volume">"Volume"</link> D-Bus property. - * - * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side. - * - * Returns: The property value. - */ -gdouble -mpris_media_player2_player_get_volume (MprisMediaPlayer2Player *object) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE (object)->get_volume (object); -} - -/** - * mpris_media_player2_player_set_volume: (skip) - * @object: A #MprisMediaPlayer2Player. - * @value: The value to set. - * - * Sets the <link linkend="gdbus-property-org-mpris-MediaPlayer2-Player.Volume">"Volume"</link> D-Bus property to @value. - * - * Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side. - */ -void -mpris_media_player2_player_set_volume (MprisMediaPlayer2Player *object, gdouble value) -{ - g_object_set (G_OBJECT (object), "volume", value, NULL); -} - -/** - * mpris_media_player2_player_emit_seeked: - * @object: A #MprisMediaPlayer2Player. - * @arg_Position: Argument to pass with the signal. - * - * Emits the <link linkend="gdbus-signal-org-mpris-MediaPlayer2-Player.Seeked">"Seeked"</link> D-Bus signal. - */ -void -mpris_media_player2_player_emit_seeked ( - MprisMediaPlayer2Player *object, - gint64 arg_Position) -{ - g_signal_emit_by_name (object, "seeked", arg_Position); -} - -/** - * mpris_media_player2_player_call_next: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Next">Next()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_next_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_next_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_next ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Next", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_next_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_next(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_next(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_next_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_next_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Next">Next()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_next() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_next_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Next", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_pause: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Pause">Pause()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_pause_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_pause_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_pause ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Pause", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_pause_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_pause(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_pause(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_pause_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_pause_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Pause">Pause()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_pause() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_pause_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Pause", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_play: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Play">Play()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_play_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_play_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_play ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Play", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_play_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_play(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_play(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_play_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_play_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Play">Play()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_play() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_play_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Play", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_play_pause: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.PlayPause">PlayPause()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_play_pause_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_play_pause_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_play_pause ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "PlayPause", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_play_pause_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_play_pause(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_play_pause(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_play_pause_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_play_pause_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.PlayPause">PlayPause()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_play_pause() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_play_pause_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "PlayPause", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_previous: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Previous">Previous()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_previous_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_previous_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_previous ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Previous", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_previous_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_previous(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_previous(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_previous_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_previous_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Previous">Previous()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_previous() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_previous_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Previous", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_seek: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @arg_Offset: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Seek">Seek()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_seek_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_seek_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_seek ( - MprisMediaPlayer2Player *proxy, - gint64 arg_Offset, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Seek", - g_variant_new ("(x)", - arg_Offset), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_seek_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_seek(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_seek(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_seek_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_seek_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @arg_Offset: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Seek">Seek()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_seek() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_seek_sync ( - MprisMediaPlayer2Player *proxy, - gint64 arg_Offset, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Seek", - g_variant_new ("(x)", - arg_Offset), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_set_position: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @arg_TrackId: Argument to pass with the method invocation. - * @arg_Position: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.SetPosition">SetPosition()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_set_position_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_set_position_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_set_position ( - MprisMediaPlayer2Player *proxy, - const gchar *arg_TrackId, - gint64 arg_Position, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "SetPosition", - g_variant_new ("(ox)", - arg_TrackId, - arg_Position), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_set_position_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_set_position(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_set_position(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_set_position_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_set_position_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @arg_TrackId: Argument to pass with the method invocation. - * @arg_Position: Argument to pass with the method invocation. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.SetPosition">SetPosition()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_set_position() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_set_position_sync ( - MprisMediaPlayer2Player *proxy, - const gchar *arg_TrackId, - gint64 arg_Position, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "SetPosition", - g_variant_new ("(ox)", - arg_TrackId, - arg_Position), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_stop: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL. - * @user_data: User data to pass to @callback. - * - * Asynchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Stop">Stop()</link> D-Bus method on @proxy. - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_call_stop_finish() to get the result of the operation. - * - * See mpris_media_player2_player_call_stop_sync() for the synchronous, blocking version of this method. - */ -void -mpris_media_player2_player_call_stop ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_dbus_proxy_call (G_DBUS_PROXY (proxy), - "Stop", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - callback, - user_data); -} - -/** - * mpris_media_player2_player_call_stop_finish: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_call_stop(). - * @error: Return location for error or %NULL. - * - * Finishes an operation started with mpris_media_player2_player_call_stop(). - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_stop_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_call_stop_sync: - * @proxy: A #MprisMediaPlayer2PlayerProxy. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL. - * - * Synchronously invokes the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Stop">Stop()</link> D-Bus method on @proxy. The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_call_stop() for the asynchronous version of this method. - * - * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set. - */ -gboolean -mpris_media_player2_player_call_stop_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error) -{ - GVariant *_ret; - _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy), - "Stop", - g_variant_new ("()"), - G_DBUS_CALL_FLAGS_NONE, - -1, - cancellable, - error); - if (_ret == NULL) - goto _out; - g_variant_get (_ret, - "()"); - g_variant_unref (_ret); -_out: - return _ret != NULL; -} - -/** - * mpris_media_player2_player_complete_next: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Next">Next()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_next ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_pause: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Pause">Pause()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_pause ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_play: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Play">Play()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_play ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_play_pause: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.PlayPause">PlayPause()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_play_pause ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_previous: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Previous">Previous()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_previous ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_seek: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Seek">Seek()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_seek ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_set_position: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.SetPosition">SetPosition()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_set_position ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/** - * mpris_media_player2_player_complete_stop: - * @object: A #MprisMediaPlayer2Player. - * @invocation: (transfer full): A #GDBusMethodInvocation. - * - * Helper function used in service implementations to finish handling invocations of the <link linkend="gdbus-method-org-mpris-MediaPlayer2-Player.Stop">Stop()</link> D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar. - * - * This method will free @invocation, you cannot use it afterwards. - */ -void -mpris_media_player2_player_complete_stop ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation) -{ - g_dbus_method_invocation_return_value (invocation, - g_variant_new ("()")); -} - -/* ------------------------------------------------------------------------ */ - -/** - * MprisMediaPlayer2PlayerProxy: - * - * The #MprisMediaPlayer2PlayerProxy structure contains only private data and should only be accessed using the provided API. - */ - -/** - * MprisMediaPlayer2PlayerProxyClass: - * @parent_class: The parent class. - * - * Class structure for #MprisMediaPlayer2PlayerProxy. - */ - -struct _MprisMediaPlayer2PlayerProxyPrivate -{ - GData *qdata; -}; - -static void mpris_media_player2_player_proxy_iface_init (MprisMediaPlayer2PlayerIface *iface); - -G_DEFINE_TYPE_WITH_CODE (MprisMediaPlayer2PlayerProxy, mpris_media_player2_player_proxy, G_TYPE_DBUS_PROXY, - G_IMPLEMENT_INTERFACE (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER, mpris_media_player2_player_proxy_iface_init)); - -static void -mpris_media_player2_player_proxy_finalize (GObject *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - g_datalist_clear (&proxy->priv->qdata); - G_OBJECT_CLASS (mpris_media_player2_player_proxy_parent_class)->finalize (object); -} - -static void -mpris_media_player2_player_proxy_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - const _ExtendedGDBusPropertyInfo *info; - GVariant *variant; - g_assert (prop_id != 0 && prop_id - 1 < 10); - info = _mpris_media_player2_player_property_info_pointers[prop_id - 1]; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name); - if (info->use_gvariant) - { - g_value_set_variant (value, variant); - } - else - { - if (variant != NULL) - g_dbus_gvariant_to_gvalue (variant, value); - } - if (variant != NULL) - g_variant_unref (variant); -} - -static void -mpris_media_player2_player_proxy_set_property_cb (GDBusProxy *proxy, - GAsyncResult *res, - gpointer user_data) -{ - const _ExtendedGDBusPropertyInfo *info = user_data; - GError *error; - error = NULL; - if (!g_dbus_proxy_call_finish (proxy, res, &error)) - { - g_warning ("Error setting property `%s' on interface org.mpris.MediaPlayer2.Player: %s (%s, %d)", - info->parent_struct.name, - error->message, g_quark_to_string (error->domain), error->code); - g_error_free (error); - } -} - -static void -mpris_media_player2_player_proxy_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - const _ExtendedGDBusPropertyInfo *info; - GVariant *variant; - g_assert (prop_id != 0 && prop_id - 1 < 10); - info = _mpris_media_player2_player_property_info_pointers[prop_id - 1]; - variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature)); - g_dbus_proxy_call (G_DBUS_PROXY (object), - "org.freedesktop.DBus.Properties.Set", - g_variant_new ("(ssv)", "org.mpris.MediaPlayer2.Player", info->parent_struct.name, variant), - G_DBUS_CALL_FLAGS_NONE, - -1, - NULL, (GAsyncReadyCallback) mpris_media_player2_player_proxy_set_property_cb, (gpointer) info); - g_variant_unref (variant); -} - -static void -mpris_media_player2_player_proxy_g_signal (GDBusProxy *proxy, - const gchar *sender_name, - const gchar *signal_name, - GVariant *parameters) -{ - _ExtendedGDBusSignalInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint n; - guint signal_id; - info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info, signal_name); - if (info == NULL) - return; - num_params = g_variant_n_children (parameters); - paramv = g_new0 (GValue, num_params + 1); - g_value_init (¶mv[0], MPRIS_TYPE_MEDIA_PLAYER2_PLAYER); - g_value_set_object (¶mv[0], proxy); - g_variant_iter_init (&iter, parameters); - n = 1; - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, MPRIS_TYPE_MEDIA_PLAYER2_PLAYER); - g_signal_emitv (paramv, signal_id, 0, NULL); - for (n = 0; n < num_params + 1; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static void -mpris_media_player2_player_proxy_g_properties_changed (GDBusProxy *_proxy, - GVariant *changed_properties, - const gchar *const *invalidated_properties) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (_proxy); - guint n; - const gchar *key; - GVariantIter *iter; - _ExtendedGDBusPropertyInfo *info; - g_variant_get (changed_properties, "a{sv}", &iter); - while (g_variant_iter_next (iter, "{&sv}", &key, NULL)) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info, key); - g_datalist_remove_data (&proxy->priv->qdata, key); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } - g_variant_iter_free (iter); - for (n = 0; invalidated_properties[n] != NULL; n++) - { - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info, invalidated_properties[n]); - g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]); - if (info != NULL) - g_object_notify (G_OBJECT (proxy), info->hyphen_name); - } -} - -static gboolean -mpris_media_player2_player_proxy_get_can_control (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanControl"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_player_proxy_get_can_go_next (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanGoNext"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_player_proxy_get_can_go_previous (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanGoPrevious"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_player_proxy_get_can_pause (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanPause"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_player_proxy_get_can_play (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanPlay"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static gboolean -mpris_media_player2_player_proxy_get_can_seek (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gboolean value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "CanSeek"); - if (variant != NULL) - { - value = g_variant_get_boolean (variant); - g_variant_unref (variant); - } - return value; -} - -static GVariant * -mpris_media_player2_player_proxy_get_metadata (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - GVariant *value = NULL; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Metadata"); - value = variant; - if (variant != NULL) - g_variant_unref (variant); - return value; -} - -static const gchar * -mpris_media_player2_player_proxy_get_playback_status (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - const gchar *value = NULL; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "PlaybackStatus"); - if (variant != NULL) - { - value = g_variant_get_string (variant, NULL); - g_variant_unref (variant); - } - return value; -} - -static gint64 -mpris_media_player2_player_proxy_get_position (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gint64 value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Position"); - if (variant != NULL) - { - value = g_variant_get_int64 (variant); - g_variant_unref (variant); - } - return value; -} - -static gdouble -mpris_media_player2_player_proxy_get_volume (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerProxy *proxy = MPRIS_MEDIA_PLAYER2_PLAYER_PROXY (object); - GVariant *variant; - gdouble value = 0; - variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Volume"); - if (variant != NULL) - { - value = g_variant_get_double (variant); - g_variant_unref (variant); - } - return value; -} - -static void -mpris_media_player2_player_proxy_init (MprisMediaPlayer2PlayerProxy *proxy) -{ - proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, MprisMediaPlayer2PlayerProxyPrivate); - g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), mpris_media_player2_player_interface_info ()); -} - -static void -mpris_media_player2_player_proxy_class_init (MprisMediaPlayer2PlayerProxyClass *klass) -{ - GObjectClass *gobject_class; - GDBusProxyClass *proxy_class; - - g_type_class_add_private (klass, sizeof (MprisMediaPlayer2PlayerProxyPrivate)); - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = mpris_media_player2_player_proxy_finalize; - gobject_class->get_property = mpris_media_player2_player_proxy_get_property; - gobject_class->set_property = mpris_media_player2_player_proxy_set_property; - - proxy_class = G_DBUS_PROXY_CLASS (klass); - proxy_class->g_signal = mpris_media_player2_player_proxy_g_signal; - proxy_class->g_properties_changed = mpris_media_player2_player_proxy_g_properties_changed; - - - mpris_media_player2_player_override_properties (gobject_class, 1); -} - -static void -mpris_media_player2_player_proxy_iface_init (MprisMediaPlayer2PlayerIface *iface) -{ - iface->get_can_control = mpris_media_player2_player_proxy_get_can_control; - iface->get_can_go_next = mpris_media_player2_player_proxy_get_can_go_next; - iface->get_can_go_previous = mpris_media_player2_player_proxy_get_can_go_previous; - iface->get_can_pause = mpris_media_player2_player_proxy_get_can_pause; - iface->get_can_play = mpris_media_player2_player_proxy_get_can_play; - iface->get_can_seek = mpris_media_player2_player_proxy_get_can_seek; - iface->get_metadata = mpris_media_player2_player_proxy_get_metadata; - iface->get_playback_status = mpris_media_player2_player_proxy_get_playback_status; - iface->get_position = mpris_media_player2_player_proxy_get_position; - iface->get_volume = mpris_media_player2_player_proxy_get_volume; -} - -/** - * mpris_media_player2_player_proxy_new: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Asynchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link>. See g_dbus_proxy_new() for more details. - * - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_proxy_new_finish() to get the result of the operation. - * - * See mpris_media_player2_player_proxy_new_sync() for the synchronous, blocking version of this constructor. - */ -void -mpris_media_player2_player_proxy_new ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); -} - -/** - * mpris_media_player2_player_proxy_new_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_proxy_new(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with mpris_media_player2_player_proxy_new(). - * - * Returns: (transfer full) (type MprisMediaPlayer2PlayerProxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2Player * -mpris_media_player2_player_proxy_new_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2_PLAYER (ret); - else - return NULL; -} - -/** - * mpris_media_player2_player_proxy_new_sync: - * @connection: A #GDBusConnection. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Synchronously creates a proxy for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link>. See g_dbus_proxy_new_sync() for more details. - * - * The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_proxy_new() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type MprisMediaPlayer2PlayerProxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2Player * -mpris_media_player2_player_proxy_new_sync ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2_PLAYER (ret); - else - return NULL; -} - - -/** - * mpris_media_player2_player_proxy_new_for_bus: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @callback: A #GAsyncReadyCallback to call when the request is satisfied. - * @user_data: User data to pass to @callback. - * - * Like mpris_media_player2_player_proxy_new() but takes a #GBusType instead of a #GDBusConnection. - * - * When the operation is finished, @callback will be invoked in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> of the thread you are calling this method from. - * You can then call mpris_media_player2_player_proxy_new_for_bus_finish() to get the result of the operation. - * - * See mpris_media_player2_player_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor. - */ -void -mpris_media_player2_player_proxy_new_for_bus ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data) -{ - g_async_initable_new_async (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); -} - -/** - * mpris_media_player2_player_proxy_new_for_bus_finish: - * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to mpris_media_player2_player_proxy_new_for_bus(). - * @error: Return location for error or %NULL - * - * Finishes an operation started with mpris_media_player2_player_proxy_new_for_bus(). - * - * Returns: (transfer full) (type MprisMediaPlayer2PlayerProxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2Player * -mpris_media_player2_player_proxy_new_for_bus_finish ( - GAsyncResult *res, - GError **error) -{ - GObject *ret; - GObject *source_object; - source_object = g_async_result_get_source_object (res); - ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error); - g_object_unref (source_object); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2_PLAYER (ret); - else - return NULL; -} - -/** - * mpris_media_player2_player_proxy_new_for_bus_sync: - * @bus_type: A #GBusType. - * @flags: Flags from the #GDBusProxyFlags enumeration. - * @name: A bus name (well-known or unique). - * @object_path: An object path. - * @cancellable: (allow-none): A #GCancellable or %NULL. - * @error: Return location for error or %NULL - * - * Like mpris_media_player2_player_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. - * - * The calling thread is blocked until a reply is received. - * - * See mpris_media_player2_player_proxy_new_for_bus() for the asynchronous version of this constructor. - * - * Returns: (transfer full) (type MprisMediaPlayer2PlayerProxy): The constructed proxy object or %NULL if @error is set. - */ -MprisMediaPlayer2Player * -mpris_media_player2_player_proxy_new_for_bus_sync ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error) -{ - GInitable *ret; - ret = g_initable_new (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.mpris.MediaPlayer2.Player", NULL); - if (ret != NULL) - return MPRIS_MEDIA_PLAYER2_PLAYER (ret); - else - return NULL; -} - - -/* ------------------------------------------------------------------------ */ - -/** - * MprisMediaPlayer2PlayerSkeleton: - * - * The #MprisMediaPlayer2PlayerSkeleton structure contains only private data and should only be accessed using the provided API. - */ - -/** - * MprisMediaPlayer2PlayerSkeletonClass: - * @parent_class: The parent class. - * - * Class structure for #MprisMediaPlayer2PlayerSkeleton. - */ - -struct _MprisMediaPlayer2PlayerSkeletonPrivate -{ - GValue *properties; - GList *changed_properties; - GSource *changed_properties_idle_source; - GMainContext *context; - GMutex lock; -}; - -static void -_mpris_media_player2_player_skeleton_handle_method_call ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *method_name, - GVariant *parameters, - GDBusMethodInvocation *invocation, - gpointer user_data) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (user_data); - _ExtendedGDBusMethodInfo *info; - GVariantIter iter; - GVariant *child; - GValue *paramv; - guint num_params; - guint num_extra; - guint n; - guint signal_id; - GValue return_value = G_VALUE_INIT; - info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation); - g_assert (info != NULL); - num_params = g_variant_n_children (parameters); - num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra); - n = 0; - g_value_init (¶mv[n], MPRIS_TYPE_MEDIA_PLAYER2_PLAYER); - g_value_set_object (¶mv[n++], skeleton); - g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION); - g_value_set_object (¶mv[n++], invocation); - if (info->pass_fdlist) - { -#ifdef G_OS_UNIX - g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST); - g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation))); -#else - g_assert_not_reached (); -#endif - } - g_variant_iter_init (&iter, parameters); - while ((child = g_variant_iter_next_value (&iter)) != NULL) - { - _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra]; - if (arg_info->use_gvariant) - { - g_value_init (¶mv[n], G_TYPE_VARIANT); - g_value_set_variant (¶mv[n], child); - n++; - } - else - g_dbus_gvariant_to_gvalue (child, ¶mv[n++]); - g_variant_unref (child); - } - signal_id = g_signal_lookup (info->signal_name, MPRIS_TYPE_MEDIA_PLAYER2_PLAYER); - g_value_init (&return_value, G_TYPE_BOOLEAN); - g_signal_emitv (paramv, signal_id, 0, &return_value); - if (!g_value_get_boolean (&return_value)) - g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name); - g_value_unset (&return_value); - for (n = 0; n < num_params + num_extra; n++) - g_value_unset (¶mv[n]); - g_free (paramv); -} - -static GVariant * -_mpris_media_player2_player_skeleton_handle_get_property ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *property_name, - GError **error, - gpointer user_data) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - GVariant *ret; - ret = NULL; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - g_value_init (&value, pspec->value_type); - g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value); - ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature)); - g_value_unset (&value); - } - return ret; -} - -static gboolean -_mpris_media_player2_player_skeleton_handle_set_property ( - GDBusConnection *connection, - const gchar *sender, - const gchar *object_path, - const gchar *interface_name, - const gchar *property_name, - GVariant *variant, - GError **error, - gpointer user_data) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (user_data); - GValue value = G_VALUE_INIT; - GParamSpec *pspec; - _ExtendedGDBusPropertyInfo *info; - gboolean ret; - ret = FALSE; - info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_mpris_media_player2_player_interface_info, property_name); - g_assert (info != NULL); - pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name); - if (pspec == NULL) - { - g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name); - } - else - { - if (info->use_gvariant) - g_value_set_variant (&value, variant); - else - g_dbus_gvariant_to_gvalue (variant, &value); - g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value); - g_value_unset (&value); - ret = TRUE; - } - return ret; -} - -static const GDBusInterfaceVTable _mpris_media_player2_player_skeleton_vtable = -{ - _mpris_media_player2_player_skeleton_handle_method_call, - _mpris_media_player2_player_skeleton_handle_get_property, - _mpris_media_player2_player_skeleton_handle_set_property -}; - -static GDBusInterfaceInfo * -mpris_media_player2_player_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton) -{ - return mpris_media_player2_player_interface_info (); -} - -static GDBusInterfaceVTable * -mpris_media_player2_player_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton) -{ - return (GDBusInterfaceVTable *) &_mpris_media_player2_player_skeleton_vtable; -} - -static GVariant * -mpris_media_player2_player_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (_skeleton); - - GVariantBuilder builder; - guint n; - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); - if (_mpris_media_player2_player_interface_info.parent_struct.properties == NULL) - goto out; - for (n = 0; _mpris_media_player2_player_interface_info.parent_struct.properties[n] != NULL; n++) - { - GDBusPropertyInfo *info = _mpris_media_player2_player_interface_info.parent_struct.properties[n]; - if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE) - { - GVariant *value; - value = _mpris_media_player2_player_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.mpris.MediaPlayer2.Player", info->name, NULL, skeleton); - if (value != NULL) - { - g_variant_take_ref (value); - g_variant_builder_add (&builder, "{sv}", info->name, value); - g_variant_unref (value); - } - } - } -out: - return g_variant_builder_end (&builder); -} - -static gboolean _mpris_media_player2_player_emit_changed (gpointer user_data); - -static void -mpris_media_player2_player_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (_skeleton); - gboolean emit_changed = FALSE; - - g_mutex_lock (&skeleton->priv->lock); - if (skeleton->priv->changed_properties_idle_source != NULL) - { - g_source_destroy (skeleton->priv->changed_properties_idle_source); - skeleton->priv->changed_properties_idle_source = NULL; - emit_changed = TRUE; - } - g_mutex_unlock (&skeleton->priv->lock); - - if (emit_changed) - _mpris_media_player2_player_emit_changed (skeleton); -} - -static void -_mpris_media_player2_player_on_signal_seeked ( - MprisMediaPlayer2Player *object, - gint64 arg_Position) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - - GList *connections, *l; - GVariant *signal_variant; - connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); - - signal_variant = g_variant_ref_sink (g_variant_new ("(x)", - arg_Position)); - for (l = connections; l != NULL; l = l->next) - { - GDBusConnection *connection = l->data; - g_dbus_connection_emit_signal (connection, - NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.mpris.MediaPlayer2.Player", "Seeked", - signal_variant, NULL); - } - g_variant_unref (signal_variant); - g_list_free_full (connections, g_object_unref); -} - -static void mpris_media_player2_player_skeleton_iface_init (MprisMediaPlayer2PlayerIface *iface); -G_DEFINE_TYPE_WITH_CODE (MprisMediaPlayer2PlayerSkeleton, mpris_media_player2_player_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON, - G_IMPLEMENT_INTERFACE (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER, mpris_media_player2_player_skeleton_iface_init)); - -static void -mpris_media_player2_player_skeleton_finalize (GObject *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - guint n; - for (n = 0; n < 10; n++) - g_value_unset (&skeleton->priv->properties[n]); - g_free (skeleton->priv->properties); - g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); - if (skeleton->priv->changed_properties_idle_source != NULL) - g_source_destroy (skeleton->priv->changed_properties_idle_source); - g_main_context_unref (skeleton->priv->context); - g_mutex_clear (&skeleton->priv->lock); - G_OBJECT_CLASS (mpris_media_player2_player_skeleton_parent_class)->finalize (object); -} - -static void -mpris_media_player2_player_skeleton_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - g_assert (prop_id != 0 && prop_id - 1 < 10); - g_mutex_lock (&skeleton->priv->lock); - g_value_copy (&skeleton->priv->properties[prop_id - 1], value); - g_mutex_unlock (&skeleton->priv->lock); -} - -static gboolean -_mpris_media_player2_player_emit_changed (gpointer user_data) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (user_data); - GList *l; - GVariantBuilder builder; - GVariantBuilder invalidated_builder; - guint num_changes; - - g_mutex_lock (&skeleton->priv->lock); - g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}")); - g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as")); - for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next) - { - ChangedProperty *cp = l->data; - GVariant *variant; - const GValue *cur_value; - - cur_value = &skeleton->priv->properties[cp->prop_id - 1]; - if (!_g_value_equal (cur_value, &cp->orig_value)) - { - variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature)); - g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant); - g_variant_unref (variant); - num_changes++; - } - } - if (num_changes > 0) - { - GList *connections, *l; - GVariant *signal_variant; - signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.mpris.MediaPlayer2.Player", - &builder, &invalidated_builder)); - connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton)); - for (l = connections; l != NULL; l = l->next) - { - GDBusConnection *connection = l->data; - - g_dbus_connection_emit_signal (connection, - NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), - "org.freedesktop.DBus.Properties", - "PropertiesChanged", - signal_variant, - NULL); - } - g_variant_unref (signal_variant); - g_list_free_full (connections, g_object_unref); - } - else - { - g_variant_builder_clear (&builder); - g_variant_builder_clear (&invalidated_builder); - } - g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free); - skeleton->priv->changed_properties = NULL; - skeleton->priv->changed_properties_idle_source = NULL; - g_mutex_unlock (&skeleton->priv->lock); - return FALSE; -} - -static void -_mpris_media_player2_player_schedule_emit_changed (MprisMediaPlayer2PlayerSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value) -{ - ChangedProperty *cp; - GList *l; - cp = NULL; - for (l = skeleton->priv->changed_properties; l != NULL; l = l->next) - { - ChangedProperty *i_cp = l->data; - if (i_cp->info == info) - { - cp = i_cp; - break; - } - } - if (cp == NULL) - { - cp = g_new0 (ChangedProperty, 1); - cp->prop_id = prop_id; - cp->info = info; - skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp); - g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value)); - g_value_copy (orig_value, &cp->orig_value); - } -} - -static void -mpris_media_player2_player_skeleton_notify (GObject *object, - GParamSpec *pspec) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - g_mutex_lock (&skeleton->priv->lock); - if (skeleton->priv->changed_properties != NULL && - skeleton->priv->changed_properties_idle_source == NULL) - { - skeleton->priv->changed_properties_idle_source = g_idle_source_new (); - g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT); - g_source_set_callback (skeleton->priv->changed_properties_idle_source, _mpris_media_player2_player_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref); - g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context); - g_source_unref (skeleton->priv->changed_properties_idle_source); - } - g_mutex_unlock (&skeleton->priv->lock); -} - -static void -mpris_media_player2_player_skeleton_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - g_assert (prop_id != 0 && prop_id - 1 < 10); - g_mutex_lock (&skeleton->priv->lock); - g_object_freeze_notify (object); - if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1])) - { - if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL) - _mpris_media_player2_player_schedule_emit_changed (skeleton, _mpris_media_player2_player_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]); - g_value_copy (value, &skeleton->priv->properties[prop_id - 1]); - g_object_notify_by_pspec (object, pspec); - } - g_mutex_unlock (&skeleton->priv->lock); - g_object_thaw_notify (object); -} - -static void -mpris_media_player2_player_skeleton_init (MprisMediaPlayer2PlayerSkeleton *skeleton) -{ - skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON, MprisMediaPlayer2PlayerSkeletonPrivate); - g_mutex_init (&skeleton->priv->lock); - skeleton->priv->context = g_main_context_ref_thread_default (); - skeleton->priv->properties = g_new0 (GValue, 10); - g_value_init (&skeleton->priv->properties[0], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[1], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[2], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[3], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[4], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[5], G_TYPE_BOOLEAN); - g_value_init (&skeleton->priv->properties[6], G_TYPE_VARIANT); - g_value_init (&skeleton->priv->properties[7], G_TYPE_STRING); - g_value_init (&skeleton->priv->properties[8], G_TYPE_INT64); - g_value_init (&skeleton->priv->properties[9], G_TYPE_DOUBLE); -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_control (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[0])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_go_next (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[1])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_go_previous (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[2])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_pause (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[3])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_play (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[4])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gboolean -mpris_media_player2_player_skeleton_get_can_seek (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gboolean value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_boolean (&(skeleton->priv->properties[5])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static GVariant * -mpris_media_player2_player_skeleton_get_metadata (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - GVariant *value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_variant (&(skeleton->priv->properties[6])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static const gchar * -mpris_media_player2_player_skeleton_get_playback_status (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - const gchar *value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_string (&(skeleton->priv->properties[7])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gint64 -mpris_media_player2_player_skeleton_get_position (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gint64 value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_int64 (&(skeleton->priv->properties[8])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static gdouble -mpris_media_player2_player_skeleton_get_volume (MprisMediaPlayer2Player *object) -{ - MprisMediaPlayer2PlayerSkeleton *skeleton = MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON (object); - gdouble value; - g_mutex_lock (&skeleton->priv->lock); - value = g_value_get_double (&(skeleton->priv->properties[9])); - g_mutex_unlock (&skeleton->priv->lock); - return value; -} - -static void -mpris_media_player2_player_skeleton_class_init (MprisMediaPlayer2PlayerSkeletonClass *klass) -{ - GObjectClass *gobject_class; - GDBusInterfaceSkeletonClass *skeleton_class; - - g_type_class_add_private (klass, sizeof (MprisMediaPlayer2PlayerSkeletonPrivate)); - - gobject_class = G_OBJECT_CLASS (klass); - gobject_class->finalize = mpris_media_player2_player_skeleton_finalize; - gobject_class->get_property = mpris_media_player2_player_skeleton_get_property; - gobject_class->set_property = mpris_media_player2_player_skeleton_set_property; - gobject_class->notify = mpris_media_player2_player_skeleton_notify; - - - mpris_media_player2_player_override_properties (gobject_class, 1); - - skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass); - skeleton_class->get_info = mpris_media_player2_player_skeleton_dbus_interface_get_info; - skeleton_class->get_properties = mpris_media_player2_player_skeleton_dbus_interface_get_properties; - skeleton_class->flush = mpris_media_player2_player_skeleton_dbus_interface_flush; - skeleton_class->get_vtable = mpris_media_player2_player_skeleton_dbus_interface_get_vtable; -} - -static void -mpris_media_player2_player_skeleton_iface_init (MprisMediaPlayer2PlayerIface *iface) -{ - iface->seeked = _mpris_media_player2_player_on_signal_seeked; - iface->get_can_control = mpris_media_player2_player_skeleton_get_can_control; - iface->get_can_go_next = mpris_media_player2_player_skeleton_get_can_go_next; - iface->get_can_go_previous = mpris_media_player2_player_skeleton_get_can_go_previous; - iface->get_can_pause = mpris_media_player2_player_skeleton_get_can_pause; - iface->get_can_play = mpris_media_player2_player_skeleton_get_can_play; - iface->get_can_seek = mpris_media_player2_player_skeleton_get_can_seek; - iface->get_metadata = mpris_media_player2_player_skeleton_get_metadata; - iface->get_playback_status = mpris_media_player2_player_skeleton_get_playback_status; - iface->get_position = mpris_media_player2_player_skeleton_get_position; - iface->get_volume = mpris_media_player2_player_skeleton_get_volume; -} - -/** - * mpris_media_player2_player_skeleton_new: - * - * Creates a skeleton object for the D-Bus interface <link linkend="gdbus-interface-org-mpris-MediaPlayer2-Player.top_of_page">org.mpris.MediaPlayer2.Player</link>. - * - * Returns: (transfer full) (type MprisMediaPlayer2PlayerSkeleton): The skeleton object. - */ -MprisMediaPlayer2Player * -mpris_media_player2_player_skeleton_new (void) -{ - return MPRIS_MEDIA_PLAYER2_PLAYER (g_object_new (MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON, NULL)); -} - diff --git a/src/mpris2/object-player.h b/src/mpris2/object-player.h deleted file mode 100644 index f3a1ebd..0000000 --- a/src/mpris2/object-player.h +++ /dev/null @@ -1,411 +0,0 @@ -/* - * Generated by gdbus-codegen 2.32.2. DO NOT EDIT. - * - * The license of this code is the same as for the source it was derived from. - */ - -#ifndef __OBJECT_PLAYER_H__ -#define __OBJECT_PLAYER_H__ - -#include <gio/gio.h> - -G_BEGIN_DECLS - - -/* ------------------------------------------------------------------------ */ -/* Declarations for org.mpris.MediaPlayer2.Player */ - -#define MPRIS_TYPE_MEDIA_PLAYER2_PLAYER (mpris_media_player2_player_get_type ()) -#define MPRIS_MEDIA_PLAYER2_PLAYER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER, MprisMediaPlayer2Player)) -#define MPRIS_IS_MEDIA_PLAYER2_PLAYER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER)) -#define MPRIS_MEDIA_PLAYER2_PLAYER_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER, MprisMediaPlayer2PlayerIface)) - -struct _MprisMediaPlayer2Player; -typedef struct _MprisMediaPlayer2Player MprisMediaPlayer2Player; -typedef struct _MprisMediaPlayer2PlayerIface MprisMediaPlayer2PlayerIface; - -struct _MprisMediaPlayer2PlayerIface -{ - GTypeInterface parent_iface; - - - - gboolean (*handle_next) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_pause) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_play) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_play_pause) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_previous) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*handle_seek) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation, - gint64 arg_Offset); - - gboolean (*handle_set_position) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation, - const gchar *arg_TrackId, - gint64 arg_Position); - - gboolean (*handle_stop) ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - gboolean (*get_can_control) (MprisMediaPlayer2Player *object); - - gboolean (*get_can_go_next) (MprisMediaPlayer2Player *object); - - gboolean (*get_can_go_previous) (MprisMediaPlayer2Player *object); - - gboolean (*get_can_pause) (MprisMediaPlayer2Player *object); - - gboolean (*get_can_play) (MprisMediaPlayer2Player *object); - - gboolean (*get_can_seek) (MprisMediaPlayer2Player *object); - - GVariant * (*get_metadata) (MprisMediaPlayer2Player *object); - - const gchar * (*get_playback_status) (MprisMediaPlayer2Player *object); - - gint64 (*get_position) (MprisMediaPlayer2Player *object); - - gdouble (*get_volume) (MprisMediaPlayer2Player *object); - - void (*seeked) ( - MprisMediaPlayer2Player *object, - gint64 arg_Position); - -}; - -GType mpris_media_player2_player_get_type (void) G_GNUC_CONST; - -GDBusInterfaceInfo *mpris_media_player2_player_interface_info (void); -guint mpris_media_player2_player_override_properties (GObjectClass *klass, guint property_id_begin); - - -/* D-Bus method call completion functions: */ -void mpris_media_player2_player_complete_next ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_pause ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_play ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_play_pause ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_previous ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_seek ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_set_position ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - -void mpris_media_player2_player_complete_stop ( - MprisMediaPlayer2Player *object, - GDBusMethodInvocation *invocation); - - - -/* D-Bus signal emissions functions: */ -void mpris_media_player2_player_emit_seeked ( - MprisMediaPlayer2Player *object, - gint64 arg_Position); - - - -/* D-Bus method calls: */ -void mpris_media_player2_player_call_next ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_next_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_next_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_pause ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_pause_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_pause_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_play ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_play_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_play_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_play_pause ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_play_pause_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_play_pause_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_previous ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_previous_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_previous_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_seek ( - MprisMediaPlayer2Player *proxy, - gint64 arg_Offset, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_seek_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_seek_sync ( - MprisMediaPlayer2Player *proxy, - gint64 arg_Offset, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_set_position ( - MprisMediaPlayer2Player *proxy, - const gchar *arg_TrackId, - gint64 arg_Position, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_set_position_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_set_position_sync ( - MprisMediaPlayer2Player *proxy, - const gchar *arg_TrackId, - gint64 arg_Position, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_call_stop ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); - -gboolean mpris_media_player2_player_call_stop_finish ( - MprisMediaPlayer2Player *proxy, - GAsyncResult *res, - GError **error); - -gboolean mpris_media_player2_player_call_stop_sync ( - MprisMediaPlayer2Player *proxy, - GCancellable *cancellable, - GError **error); - - - -/* D-Bus property accessors: */ -gboolean mpris_media_player2_player_get_can_control (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_control (MprisMediaPlayer2Player *object, gboolean value); - -gboolean mpris_media_player2_player_get_can_go_next (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_go_next (MprisMediaPlayer2Player *object, gboolean value); - -gboolean mpris_media_player2_player_get_can_go_previous (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_go_previous (MprisMediaPlayer2Player *object, gboolean value); - -gboolean mpris_media_player2_player_get_can_pause (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_pause (MprisMediaPlayer2Player *object, gboolean value); - -gboolean mpris_media_player2_player_get_can_play (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_play (MprisMediaPlayer2Player *object, gboolean value); - -gboolean mpris_media_player2_player_get_can_seek (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_can_seek (MprisMediaPlayer2Player *object, gboolean value); - -GVariant *mpris_media_player2_player_get_metadata (MprisMediaPlayer2Player *object); -GVariant *mpris_media_player2_player_dup_metadata (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_metadata (MprisMediaPlayer2Player *object, GVariant *value); - -const gchar *mpris_media_player2_player_get_playback_status (MprisMediaPlayer2Player *object); -gchar *mpris_media_player2_player_dup_playback_status (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_playback_status (MprisMediaPlayer2Player *object, const gchar *value); - -gint64 mpris_media_player2_player_get_position (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_position (MprisMediaPlayer2Player *object, gint64 value); - -gdouble mpris_media_player2_player_get_volume (MprisMediaPlayer2Player *object); -void mpris_media_player2_player_set_volume (MprisMediaPlayer2Player *object, gdouble value); - - -/* ---- */ - -#define MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY (mpris_media_player2_player_proxy_get_type ()) -#define MPRIS_MEDIA_PLAYER2_PLAYER_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, MprisMediaPlayer2PlayerProxy)) -#define MPRIS_MEDIA_PLAYER2_PLAYER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, MprisMediaPlayer2PlayerProxyClass)) -#define MPRIS_MEDIA_PLAYER2_PLAYER_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY, MprisMediaPlayer2PlayerProxyClass)) -#define MPRIS_IS_MEDIA_PLAYER2_PLAYER_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY)) -#define MPRIS_IS_MEDIA_PLAYER2_PLAYER_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_PROXY)) - -typedef struct _MprisMediaPlayer2PlayerProxy MprisMediaPlayer2PlayerProxy; -typedef struct _MprisMediaPlayer2PlayerProxyClass MprisMediaPlayer2PlayerProxyClass; -typedef struct _MprisMediaPlayer2PlayerProxyPrivate MprisMediaPlayer2PlayerProxyPrivate; - -struct _MprisMediaPlayer2PlayerProxy -{ - /*< private >*/ - GDBusProxy parent_instance; - MprisMediaPlayer2PlayerProxyPrivate *priv; -}; - -struct _MprisMediaPlayer2PlayerProxyClass -{ - GDBusProxyClass parent_class; -}; - -GType mpris_media_player2_player_proxy_get_type (void) G_GNUC_CONST; - -void mpris_media_player2_player_proxy_new ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -MprisMediaPlayer2Player *mpris_media_player2_player_proxy_new_finish ( - GAsyncResult *res, - GError **error); -MprisMediaPlayer2Player *mpris_media_player2_player_proxy_new_sync ( - GDBusConnection *connection, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - -void mpris_media_player2_player_proxy_new_for_bus ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GAsyncReadyCallback callback, - gpointer user_data); -MprisMediaPlayer2Player *mpris_media_player2_player_proxy_new_for_bus_finish ( - GAsyncResult *res, - GError **error); -MprisMediaPlayer2Player *mpris_media_player2_player_proxy_new_for_bus_sync ( - GBusType bus_type, - GDBusProxyFlags flags, - const gchar *name, - const gchar *object_path, - GCancellable *cancellable, - GError **error); - - -/* ---- */ - -#define MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON (mpris_media_player2_player_skeleton_get_type ()) -#define MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON, MprisMediaPlayer2PlayerSkeleton)) -#define MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON, MprisMediaPlayer2PlayerSkeletonClass)) -#define MPRIS_MEDIA_PLAYER2_PLAYER_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON, MprisMediaPlayer2PlayerSkeletonClass)) -#define MPRIS_IS_MEDIA_PLAYER2_PLAYER_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON)) -#define MPRIS_IS_MEDIA_PLAYER2_PLAYER_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), MPRIS_TYPE_MEDIA_PLAYER2_PLAYER_SKELETON)) - -typedef struct _MprisMediaPlayer2PlayerSkeleton MprisMediaPlayer2PlayerSkeleton; -typedef struct _MprisMediaPlayer2PlayerSkeletonClass MprisMediaPlayer2PlayerSkeletonClass; -typedef struct _MprisMediaPlayer2PlayerSkeletonPrivate MprisMediaPlayer2PlayerSkeletonPrivate; - -struct _MprisMediaPlayer2PlayerSkeleton -{ - /*< private >*/ - GDBusInterfaceSkeleton parent_instance; - MprisMediaPlayer2PlayerSkeletonPrivate *priv; -}; - -struct _MprisMediaPlayer2PlayerSkeletonClass -{ - GDBusInterfaceSkeletonClass parent_class; -}; - -GType mpris_media_player2_player_skeleton_get_type (void) G_GNUC_CONST; - -MprisMediaPlayer2Player *mpris_media_player2_player_skeleton_new (void); - - -G_END_DECLS - -#endif /* __OBJECT_PLAYER_H__ */ diff --git a/src/mpris2/plugin.c b/src/mpris2/plugin.c index 8cd3e9a..a9f42c4 100644 --- a/src/mpris2/plugin.c +++ b/src/mpris2/plugin.c @@ -31,13 +31,11 @@ #include "object-core.h" #include "object-player.h" -static GDBusConnection * bus; static GObject * object_core, * object_player; static char * last_title, * last_artist, * last_album, * last_file; static int last_length; static const char * image_file; static bool_t recheck_image; -static GVariantType * metadata_type; static int update_timer; static bool_t quit_cb (MprisMediaPlayer2 * object, GDBusMethodInvocation * call, @@ -157,10 +155,7 @@ static void update_metadata (void * data, GObject * object) GVariant * var = g_variant_new_variant (str); elems[nelems ++] = g_variant_new_dict_entry (key, var); - if (! metadata_type) - metadata_type = g_variant_type_new ("{sv}"); - - GVariant * array = g_variant_new_array (metadata_type, elems, nelems); + GVariant * array = g_variant_new_array (G_VARIANT_TYPE ("{sv}"), elems, nelems); g_object_set (object, "metadata", array, NULL); } @@ -303,7 +298,6 @@ void mpris2_cleanup (void) update_timer = 0; } - g_dbus_connection_close_sync (bus, NULL, NULL); g_object_unref (object_core); g_object_unref (object_player); @@ -319,18 +313,12 @@ void mpris2_cleanup (void) str_unref (last_file); last_title = last_artist = last_album = last_file = NULL; last_length = 0; - - if (metadata_type) - { - g_variant_type_free (metadata_type); - metadata_type = NULL; - } } bool_t mpris2_init (void) { GError * error = NULL; - bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, & error); + GDBusConnection * bus = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, & error); if (! bus) { diff --git a/src/neon/neon.c b/src/neon/neon.c index b2c6171..6a9a0c5 100644 --- a/src/neon/neon.c +++ b/src/neon/neon.c @@ -527,10 +527,9 @@ static gint open_handle(struct neon_handle* handle, gulong startbyte) { guint proxy_port = 0; gboolean use_proxy = aud_get_bool (NULL, "use_proxy"); - gboolean proxy_use_auth = aud_get_bool (NULL, "proxy_use_auth"); + gboolean use_proxy_auth = aud_get_bool (NULL, "use_proxy_auth"); - if (use_proxy) - { + if (use_proxy) { proxy_host = aud_get_string (NULL, "proxy_host"); proxy_port = aud_get_int (NULL, "proxy_port"); } @@ -567,7 +566,7 @@ static gint open_handle(struct neon_handle* handle, gulong startbyte) { _DEBUG("<%p> Using proxy: %s:%d", handle, proxy_host, proxy_port); ne_session_proxy(handle->session, proxy_host, proxy_port); - if (proxy_use_auth) { + if (use_proxy_auth) { _DEBUG("<%p> Using proxy authentication", handle); ne_add_proxy_auth(handle->session, NE_AUTH_BASIC, neon_proxy_auth_cb, (void *)handle); } diff --git a/src/psf/plugin.c b/src/psf/plugin.c index 8e28b46..ca34969 100644 --- a/src/psf/plugin.c +++ b/src/psf/plugin.c @@ -78,14 +78,13 @@ static PSFEngine psf_probe(uint8_t *buffer) } /* ao_get_lib: called to load secondary files */ -static char *path; +static const char *dirpath; int ao_get_lib(char *filename, uint8_t **buffer, uint64_t *length) { void *filebuf; int64_t size; - char *dirpath = dirname(path); SPRINTF(path2, "%s/%s", dirpath, filename); vfs_file_get_contents(path2, &filebuf, &size); @@ -140,7 +139,10 @@ static bool_t psf2_play(InputPlayback * data, const char * filename, VFSFile * f PSFEngineFunctors *f; bool_t error = FALSE; - path = strdup(filename); + char dirbuf[strlen (filename) + 1]; + strcpy (dirbuf, filename); + dirpath = dirname (dirbuf); + vfs_file_get_contents (filename, & buffer, & size); eng = psf_probe(buffer); @@ -192,8 +194,8 @@ static bool_t psf2_play(InputPlayback * data, const char * filename, VFSFile * f stop_flag = TRUE; pthread_mutex_unlock (& mutex); + dirpath = NULL; free(buffer); - free(path); return ! error; } diff --git a/src/sid/xmms-sid.h b/src/sid/xmms-sid.h index c5b0f52..88b71e6 100644 --- a/src/sid/xmms-sid.h +++ b/src/sid/xmms-sid.h @@ -34,7 +34,7 @@ extern "C" { */ /* Size for some small buffers (always static variables) */ -#define XS_BUF_SIZE (1024) +#define XS_BUF_SIZE (2048) /* Default audio rendering frequency in Hz */ diff --git a/src/skins/draw-compat.h b/src/skins/draw-compat.h index bb8abeb..4c7a44c 100644 --- a/src/skins/draw-compat.h +++ b/src/skins/draw-compat.h @@ -33,7 +33,7 @@ static void widget_realized (GtkWidget * w) #define DRAW_SIGNAL "draw" #define DRAW_FUNC_BEGIN(n) static gboolean n (GtkWidget * wid, cairo_t * cr) { \ g_return_val_if_fail (wid && cr, FALSE); -#define DRAW_FUNC_END return TRUE; } +#define DRAW_FUNC_END return FALSE; } #define DRAW_CONNECT(w,f) do { \ g_signal_connect (w, "realize", (GCallback) widget_realized, NULL); \ diff --git a/src/skins/ui_skinned_window.c b/src/skins/ui_skinned_window.c index 3f23c44..e791889 100644 --- a/src/skins/ui_skinned_window.c +++ b/src/skins/ui_skinned_window.c @@ -106,6 +106,7 @@ GtkWidget * window_new (gint * x, gint * y, gint w, gint h, gboolean main, gtk_widget_set_size_request (window, w, h); gtk_window_resize ((GtkWindow *) window, w, h); + gtk_widget_set_app_paintable (window, TRUE); gtk_widget_add_events (window, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_SCROLL_MASK); diff --git a/src/xsf/plugin.c b/src/xsf/plugin.c index 595f5a0..3996e86 100644 --- a/src/xsf/plugin.c +++ b/src/xsf/plugin.c @@ -43,13 +43,13 @@ static int seek_value = -1; static bool_t stop_flag = FALSE; /* xsf_get_lib: called to load secondary files */ -static char *path; +static const char *dirpath; + int xsf_get_lib(char *filename, void **buffer, unsigned int *length) { void *filebuf; int64_t size; - char *dirpath = dirname(path); SPRINTF(path2, "%s/%s", dirpath, filename); vfs_file_get_contents(path2, &filebuf, &size); @@ -125,7 +125,10 @@ static bool_t xsf_play(InputPlayback * playback, const char * filename, VFSFile float pos; bool_t error = FALSE; - path = strdup(filename); + char dirbuf[strlen (filename) + 1]; + strcpy (dirbuf, filename); + dirpath = dirname (dirbuf); + vfs_file_get_contents (filename, & buffer, & size); if (xsf_start(buffer, size) != AO_SUCCESS) @@ -171,9 +174,6 @@ static bool_t xsf_play(InputPlayback * playback, const char * filename, VFSFile { xsf_term(); - free(path); - path = strdup(filename); - if (xsf_start(buffer, size) == AO_SUCCESS) { pos = 0; @@ -211,8 +211,8 @@ CLEANUP: pthread_mutex_unlock (& mutex); ERR_NO_CLOSE: + dirpath = NULL; free(buffer); - free(path); return !error; } |