Mercurial > audlegacy
changeset 3809:17fb5e598cfc trunk
Branch merge.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 19 Oct 2007 12:14:04 +0300 |
parents | b5d550755bad (current diff) db6cb4048a74 (diff) |
children | e307e455aca0 |
files | src/audacious/tuple_compiler.c src/audacious/tuple_compiler.h |
diffstat | 35 files changed, 1909 insertions(+), 1360 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.ac Sun Oct 14 05:54:54 2007 +0300 +++ b/configure.ac Fri Oct 19 12:14:04 2007 +0300 @@ -157,11 +157,7 @@ dnl Ok, first we find out what flags we need to use. BUILDSYS_PROG_IMPLIB BUILDSYS_SHARED_LIB -if test x"$PROG_IMPLIB_NEEDED" = x"yes"; then - IMPLIB_LIBS='-L../audacious -laudacious.exe' -else - IMPLIB_LIBS='' -fi +IMPLIB_LIBS='' AC_SUBST(IMPLIB_LIBS) dnl XXX @@ -177,13 +173,10 @@ LDFLAGS="$LDFLAGS -framework CoreFoundation -framework CoreServices -framework Carbon" ;; *) - EXPORTDYN="-Wl,-export-dynamic" AC_MSG_RESULT([no]) ;; esac -AC_SUBST(EXPORTDYN) - dnl chardet support dnl ======================== AC_ARG_ENABLE(chardet,
--- a/extra.mk.in Sun Oct 14 05:54:54 2007 +0300 +++ b/extra.mk.in Fri Oct 19 12:14:04 2007 +0300 @@ -339,5 +339,4 @@ TRANSPORT_PLUGIN_DIR ?= @TRANSPORT_PLUGIN_DIR@ TRANSPORT_PLUGINS ?= @TRANSPORT_PLUGINS@ PCH ?= @PCH@ -EXPORTDYN ?= @EXPORTDYN@ IMPLIB_LIBS = @IMPLIB_LIBS@
--- a/m4/buildsys.m4 Sun Oct 14 05:54:54 2007 +0300 +++ b/m4/buildsys.m4 Fri Oct 19 12:14:04 2007 +0300 @@ -21,11 +21,6 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [ AC_MSG_CHECKING(whether we need an implib) case "$target" in - *-*-cygwin | *-*-mingw32) - AC_MSG_RESULT(yes) - PROG_IMPLIB_NEEDED='yes' - PROG_IMPLIB_LDFLAGS='-Wl,-export-all-symbols,--out-implib,lib${PROG}.a' - ;; *) AC_MSG_RESULT(no) PROG_IMPLIB_NEEDED='no' @@ -44,7 +39,7 @@ AC_MSG_RESULT([Mac OS X (Intel)]) LIB_CPPFLAGS='-DPIC' LIB_CFLAGS='-fPIC' - LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}' + LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB} -flat_namespace -undefined suppress' LIB_PREFIX='lib' LIB_SUFFIX='.dylib' PLUGIN_CPPFLAGS='' @@ -59,7 +54,7 @@ AC_MSG_RESULT(Mac OS X) LIB_CPPFLAGS='-DPIC' LIB_CFLAGS='' - LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB}' + LIB_LDFLAGS='-dynamiclib -fPIC -install_name ${libdir}/${LIB} -flat_namespace -undefined suppress' LIB_PREFIX='lib' LIB_SUFFIX='.dylib' PLUGIN_CPPFLAGS=''
--- a/po/POTFILES.in Sun Oct 14 05:54:54 2007 +0300 +++ b/po/POTFILES.in Fri Oct 19 12:14:04 2007 +0300 @@ -1,3 +1,4 @@ +# Please don't update this file manually - use ./update-potfiles.sh instead! src/audacious/glade.c src/audacious/glade/fileinfo.glade src/audacious/glade/prefswin.glade
--- a/po/de.po Sun Oct 14 05:54:54 2007 +0300 +++ b/po/de.po Fri Oct 19 12:14:04 2007 +0300 @@ -21,7 +21,8 @@ msgstr "" "<b><big>Konnte %s nicht erstellen.</big></b>\n" "\n" -"Konnte die Glade-Datei nicht öffnen (%s). Bitte die Installation überprüfen.\n" +"Konnte die Glade-Datei nicht öffnen (%s). Bitte die Installation " +"überprüfen.\n" #: src/audacious/glade/fileinfo.glade:8 msgid "Track Information" @@ -95,8 +96,7 @@ msgid "<b>Effects</b>" msgstr "<b>Effekte</b>" -#: src/audacious/glade/prefswin.glade:693 -#: src/audacious/ui_preferences.c:117 +#: src/audacious/glade/prefswin.glade:693 src/audacious/ui_preferences.c:117 msgid "Plugins" msgstr "Plugins" @@ -129,8 +129,12 @@ msgstr "Schriftart für Playlist wählen:" #: src/audacious/glade/prefswin.glade:1112 -msgid "Use bitmap fonts if they are available. Bitmap fonts do not support Unicode strings." -msgstr "Bitmap-Schriftarten benutzen, sofern vorhanden. Bitmap-Schriften unterstützen kein Unicode." +msgid "" +"Use bitmap fonts if they are available. Bitmap fonts do not support Unicode " +"strings." +msgstr "" +"Bitmap-Schriftarten benutzen, sofern vorhanden. Bitmap-Schriften " +"unterstützen kein Unicode." #: src/audacious/glade/prefswin.glade:1114 msgid "Use Bitmap fonts if available" @@ -161,23 +165,33 @@ msgstr "Window-Manager-Dekoration anzeigen" #: src/audacious/glade/prefswin.glade:1342 -msgid "This enables the XMMS/GTK1-style file selection dialogs. This selector is provided by Audacious itself and is faster than the default GTK2 selector (but sadly not as user-friendly)." -msgstr "XMMS/GTK1-artigen Dateiauswahldialog aktivieren. Dieser wird von Audacious zur Verfügung gestellt und ist schneller als derjenige von GTK2, dafür aber nicht so benutzerfreundlich." +msgid "" +"This enables the XMMS/GTK1-style file selection dialogs. This selector is " +"provided by Audacious itself and is faster than the default GTK2 selector " +"(but sadly not as user-friendly)." +msgstr "" +"XMMS/GTK1-artigen Dateiauswahldialog aktivieren. Dieser wird von Audacious " +"zur Verfügung gestellt und ist schneller als derjenige von GTK2, dafür aber " +"nicht so benutzerfreundlich." #: src/audacious/glade/prefswin.glade:1344 msgid "Use XMMS-style file selector instead of the default selector" msgstr "Benutze XMMS-mäßige Dateiauswahl statt der standardmäßigen" #: src/audacious/glade/prefswin.glade:1378 -msgid "If selected, the file information text in the main window will scroll back and forth. If not selected, the text will only scroll in one direction." -msgstr "Wenn aktiviert, wird der Dateiinformationstext im Hauptfenster vor und zurück scrollen. Wenn deaktiviert, wird der Text nur in eine Richtung scrollen." +msgid "" +"If selected, the file information text in the main window will scroll back " +"and forth. If not selected, the text will only scroll in one direction." +msgstr "" +"Wenn aktiviert, wird der Dateiinformationstext im Hauptfenster vor und " +"zurück scrollen. Wenn deaktiviert, wird der Text nur in eine Richtung " +"scrollen." #: src/audacious/glade/prefswin.glade:1380 msgid "Use two-way text scroller" msgstr "Benutze Zweiweg-Textscroller" -#: src/audacious/glade/prefswin.glade:1422 -#: src/audacious/ui_preferences.c:111 +#: src/audacious/glade/prefswin.glade:1422 src/audacious/ui_preferences.c:111 msgid "Appearance" msgstr "Aussehen" @@ -201,8 +215,7 @@ msgid "Changes volume by" msgstr "Lautstärke verändern um" -#: src/audacious/glade/prefswin.glade:1701 -#: src/audacious/ui_preferences.c:115 +#: src/audacious/glade/prefswin.glade:1701 src/audacious/ui_preferences.c:115 msgid "Mouse" msgstr "Maus" @@ -236,7 +249,9 @@ #: src/audacious/glade/prefswin.glade:1971 msgid "Load metadata when adding the file to the playlist or opening it" -msgstr "Metadaten laden, wenn eine Datei zur Wiedergabeliste hinzugefügt oder geöffnet wird" +msgstr "" +"Metadaten laden, wenn eine Datei zur Wiedergabeliste hinzugefügt oder " +"geöffnet wird" #: src/audacious/glade/prefswin.glade:1973 msgid "On load" @@ -255,8 +270,16 @@ msgstr "Automatische Zeichensatzerkennung für:" #: src/audacious/glade/prefswin.glade:2070 -msgid "List of character encodings used for fall back conversion of metadata. If automatic character encoding detector failed or has been disabled, encodings in this list would be treated as candidates of the encoding of metadata, and fall back conversion from these encodings to UTF-8 would be attempted." -msgstr "Alternativ für Metadaten verwendete Zeichensätze. Wenn die automatische Erkennung des Zeichensatzes fehlgeschlagen oder deaktiviert ist, werden die nachfolgend aufgelisteten Zeichensätze ausprobiert. Nach diesen wird dann noch einmal probiert, von diesen Zeichensätzen nach UTF-8 zu dekodieren." +msgid "" +"List of character encodings used for fall back conversion of metadata. If " +"automatic character encoding detector failed or has been disabled, encodings " +"in this list would be treated as candidates of the encoding of metadata, and " +"fall back conversion from these encodings to UTF-8 would be attempted." +msgstr "" +"Alternativ für Metadaten verwendete Zeichensätze. Wenn die automatische " +"Erkennung des Zeichensatzes fehlgeschlagen oder deaktiviert ist, werden die " +"nachfolgend aufgelisteten Zeichensätze ausprobiert. Nach diesen wird dann " +"noch einmal probiert, von diesen Zeichensätzen nach UTF-8 zu dekodieren." #: src/audacious/glade/prefswin.glade:2094 msgid "Fallback character encodings:" @@ -267,8 +290,12 @@ msgstr "<b>Datei-Dialog</b>" #: src/audacious/glade/prefswin.glade:2189 -msgid "Always refresh the file dialog (this will slow opening the dialog on large directories, and Gnome VFS should handle automatically)." -msgstr "Dateidialog immer aktualisieren (dies wird das Öffnen des Dialogs mit großen Verzeichnissen langsamer machen, und Gnome VFS sollte das automatisch machen)" +msgid "" +"Always refresh the file dialog (this will slow opening the dialog on large " +"directories, and Gnome VFS should handle automatically)." +msgstr "" +"Dateidialog immer aktualisieren (dies wird das Öffnen des Dialogs mit großen " +"Verzeichnissen langsamer machen, und Gnome VFS sollte das automatisch machen)" #: src/audacious/glade/prefswin.glade:2191 msgid "Always refresh directory when opening file dialog" @@ -313,8 +340,15 @@ msgstr "<b>Popup-Information</b>" #: src/audacious/glade/prefswin.glade:2475 -msgid "Toggles popup information window for the pointed entry in the playlist. The window shows title of song, name of album, genre, year of publish, track number, track length, and artwork." -msgstr "Schaltet die Popup-Informationen ein und aus. Diese werden angezeigt, wenn mit der Maus über einen Wiedergabelisteneintrag gefahren wird. Gezeigt werden Titel, Album, Genre, Publikationsjahr, Titelnummer, Titellänge und Cover-Bild." +msgid "" +"Toggles popup information window for the pointed entry in the playlist. The " +"window shows title of song, name of album, genre, year of publish, track " +"number, track length, and artwork." +msgstr "" +"Schaltet die Popup-Informationen ein und aus. Diese werden angezeigt, wenn " +"mit der Maus über einen Wiedergabelisteneintrag gefahren wird. Gezeigt " +"werden Titel, Album, Genre, Publikationsjahr, Titelnummer, Titellänge und " +"Cover-Bild." #: src/audacious/glade/prefswin.glade:2477 msgid "Show popup information for playlist entries" @@ -324,10 +358,8 @@ msgid "Edit settings for popup information" msgstr "Einstellungen für Popup-Informationen bearbeiten" -#: src/audacious/glade/prefswin.glade:2553 -#: src/audacious/ui_manager.c:203 -#: src/audacious/ui_playlist_manager.c:402 -#: src/audacious/ui_preferences.c:116 +#: src/audacious/glade/prefswin.glade:2553 src/audacious/ui_manager.c:203 +#: src/audacious/ui_playlist_manager.c:402 src/audacious/ui_preferences.c:116 msgid "Playlist" msgstr "Wiedergabeliste" @@ -347,8 +379,7 @@ msgid "Available _Presets:" msgstr "Verfügbare Equalizer-_Voreinstellungen:" -#: src/audacious/glade/prefswin.glade:2921 -#: src/audacious/ui_preferences.c:114 +#: src/audacious/glade/prefswin.glade:2921 src/audacious/ui_preferences.c:114 msgid "Equalizer" msgstr "Equalizer" @@ -381,8 +412,12 @@ msgstr "Benutzername für Proxy:" #: src/audacious/glade/prefswin.glade:3354 -msgid "<span size=\"small\">Changing these settings will require a restart of Audacious.</span>" -msgstr "<span size=\"small\">Das Ändern dieser Einstellungen benötigt einen Neustart von Audacious.</span>" +msgid "" +"<span size=\"small\">Changing these settings will require a restart of " +"Audacious.</span>" +msgstr "" +"<span size=\"small\">Das Ändern dieser Einstellungen benötigt einen Neustart " +"von Audacious.</span>" #: src/audacious/glade/prefswin.glade:3493 msgid "<b>Audio System</b>" @@ -394,12 +429,16 @@ #: src/audacious/glade/prefswin.glade:3593 msgid "" -"<span size=\"small\">This is the amount of time to prebuffer audio streams by, in milliseconds.\n" +"<span size=\"small\">This is the amount of time to prebuffer audio streams " +"by, in milliseconds.\n" "Increase this value if you are experiencing audio skipping.\n" -"Please note however, that high values will result in Audacious performing poorly.</span>" +"Please note however, that high values will result in Audacious performing " +"poorly.</span>" msgstr "" -"<span size=\"small\">Dies ist die Grösse des Puffers für Audio-Streams, angegeben in Millisekunden.\n" -"Dieser Wert sollte erhöht werden, wenn Unterbrechungen im Ton festgestellt werden.\n" +"<span size=\"small\">Dies ist die Grösse des Puffers für Audio-Streams, " +"angegeben in Millisekunden.\n" +"Dieser Wert sollte erhöht werden, wenn Unterbrechungen im Ton festgestellt " +"werden.\n" "Hohe Werte können jedoch dazu führen, dass Audacious langsamer läuft.</span>" #: src/audacious/glade/prefswin.glade:3663 @@ -419,16 +458,27 @@ msgstr "<b>Formaterkennung</b>" #: src/audacious/glade/prefswin.glade:3935 -msgid "When checked, Audacious will detect file formats on demand. This can result in a messier playlist, but delivers a major speed benefit." -msgstr "Falls aktiviert, wird Audacious Dateiformate nur bei Bedarf ermitteln. Dies kann zu einer unordentlichen Wiedergabeliste führen, bringt gleichzeitig aber eine beträchtliche Geschwindigkeitserhöhung." +msgid "" +"When checked, Audacious will detect file formats on demand. This can result " +"in a messier playlist, but delivers a major speed benefit." +msgstr "" +"Falls aktiviert, wird Audacious Dateiformate nur bei Bedarf ermitteln. Dies " +"kann zu einer unordentlichen Wiedergabeliste führen, bringt gleichzeitig " +"aber eine beträchtliche Geschwindigkeitserhöhung." #: src/audacious/glade/prefswin.glade:3937 msgid "Detect file formats on demand, instead of immediately." msgstr "Dateiformate nicht sofort ermitteln, sondern nur bei Bedarf." #: src/audacious/glade/prefswin.glade:3971 -msgid "When checked, Audacious will detect file formats based by extension. This is slightly slower than detection on demand, but still provides a minimal level of format detection." -msgstr "Falls aktiviert, wird Audacious das Dateiformat anhand der Dateierweiterung erkennen. Dies ist etwas langsamer als die Erkennung bei Bedarf, garantiert aber trotzdem einen minimalen Grad an Format-Erkennung." +msgid "" +"When checked, Audacious will detect file formats based by extension. This is " +"slightly slower than detection on demand, but still provides a minimal level " +"of format detection." +msgstr "" +"Falls aktiviert, wird Audacious das Dateiformat anhand der Dateierweiterung " +"erkennen. Dies ist etwas langsamer als die Erkennung bei Bedarf, garantiert " +"aber trotzdem einen minimalen Grad an Format-Erkennung." #: src/audacious/glade/prefswin.glade:3973 msgid "Detect file formats by extension." @@ -439,8 +489,11 @@ msgstr "<b>Wiedergabe</b>" #: src/audacious/glade/prefswin.glade:4046 -msgid "When Audacious starts, automatically begin playing from the point where we stopped before." -msgstr "Mit der Wiedergabe am letzten Ort starten, wenn Audacious gestartet wird." +msgid "" +"When Audacious starts, automatically begin playing from the point where we " +"stopped before." +msgstr "" +"Mit der Wiedergabe am letzten Ort starten, wenn Audacious gestartet wird." #: src/audacious/glade/prefswin.glade:4048 msgid "Continue playback on startup" @@ -448,7 +501,9 @@ #: src/audacious/glade/prefswin.glade:4082 msgid "When finished playing a song, don't automatically advance to the next." -msgstr "Nicht automatisch mit dem nächsten Titel fortfahren, wenn ein Titel zuende gespielt wurde." +msgstr "" +"Nicht automatisch mit dem nächsten Titel fortfahren, wenn ein Titel zuende " +"gespielt wurde." #: src/audacious/glade/prefswin.glade:4084 msgid "Don't advance in the playlist" @@ -484,7 +539,8 @@ "This should be the max supported sampling rate of\n" "the sound card or output plugin.</span>" msgstr "" -"<span size=\"small\">Alle Streams werden in diese Abtastfrequenz umgewandelt.\n" +"<span size=\"small\">Alle Streams werden in diese Abtastfrequenz " +"umgewandelt.\n" "Sie sollte die maximal unterstützte Abtastfrequenz der\n" "Soundkarte oder des Ausgabe-Plugins sein.</span>" @@ -497,8 +553,13 @@ msgstr "<b>Lautstärkeregelung</b>" #: src/audacious/glade/prefswin.glade:4556 -msgid "Use software volume control. This may be useful for situations where your audio system does not support controlling the playback volume." -msgstr "Benutze Software-Lautstärkeregelung. Das kann nützlich sein für den Fall, dass das gewählte Audio-System die Kontrolle der Wiedergabelautstärke nicht unterstützt." +msgid "" +"Use software volume control. This may be useful for situations where your " +"audio system does not support controlling the playback volume." +msgstr "" +"Benutze Software-Lautstärkeregelung. Das kann nützlich sein für den Fall, " +"dass das gewählte Audio-System die Kontrolle der Wiedergabelautstärke nicht " +"unterstützt." #: src/audacious/glade/prefswin.glade:4558 msgid "Use software volume control" @@ -517,8 +578,14 @@ msgstr "<b>Cover-Bild finden</b>" #: src/audacious/glade/prefswin.glade:4856 -msgid "While searching for the album's cover, Audacious looks for certain words in the filename. You can specify those words in the lists below, separated using commas." -msgstr "Wenn Audacious das Titelbild sucht, sucht es nach bestimmten Worten im Dateinamen. Diese können nachfolgend eingegeben werden, jeweils durch Beistriche getrennt." +msgid "" +"While searching for the album's cover, Audacious looks for certain words in " +"the filename. You can specify those words in the lists below, separated " +"using commas." +msgstr "" +"Wenn Audacious das Titelbild sucht, sucht es nach bestimmten Worten im " +"Dateinamen. Diese können nachfolgend eingegeben werden, jeweils durch " +"Beistriche getrennt." #: src/audacious/glade/prefswin.glade:4911 msgid "Exclude:" @@ -557,8 +624,12 @@ msgstr "Farbanpassung" #: src/audacious/glade/prefswin.glade:5325 -msgid "Audacious allows you to alter the color balance of the skinned UI. The sliders below will allow you to do this." -msgstr "Audacious erlaubt es, die Farbe der Oberfläche mit der Schiebeleiste unten zu ändern." +msgid "" +"Audacious allows you to alter the color balance of the skinned UI. The " +"sliders below will allow you to do this." +msgstr "" +"Audacious erlaubt es, die Farbe der Oberfläche mit der Schiebeleiste unten " +"zu ändern." #: src/audacious/glade/prefswin.glade:5359 msgid "Blue" @@ -595,9 +666,7 @@ msgid "Unable to create log file (%s)!\n" msgstr "Konnte Logdatei nicht erstellen (%s)!\n" -#: src/audacious/main.c:90 -#: src/audacious/main.c:92 -#: src/audacious/ui_main.c:491 +#: src/audacious/main.c:90 src/audacious/main.c:92 src/audacious/ui_main.c:491 #: src/audacious/ui_main.c:2466 msgid "Audacious" msgstr "Audacious" @@ -687,22 +756,27 @@ msgid "" "<b><big>Unable to load skin.</big></b>\n" "\n" -"Check that skin at '%s' is usable and default skin is properly installed at '%s'\n" +"Check that skin at '%s' is usable and default skin is properly installed at " +"'%s'\n" msgstr "" "<b><big>Konnte Skin nicht laden.</big></b>\n" "\n" -"Bitte überprüfen, dass der Skin in '%s' benutzbar ist und der Standard-Skin ordnungsgemäß in '%s' installiert wurde.\n" +"Bitte überprüfen, dass der Skin in '%s' benutzbar ist und der Standard-Skin " +"ordnungsgemäß in '%s' installiert wurde.\n" #: src/audacious/main.c:1320 msgid "" "Sorry, threads isn't supported on your platform.\n" "\n" -"If you're on a libc5 based linux system and installed Glib & GTK+ before you\n" +"If you're on a libc5 based linux system and installed Glib & GTK+ before " +"you\n" "installed LinuxThreads you need to recompile Glib & GTK+.\n" msgstr "" "Tut uns Leid, aber Threads werden auf dieser Plattform nicht unterstützt.\n" "\n" -"Wenn dies ein libc5-basiertes Linux-System ist und Glib & GTK+ vor LinuxThreads installiert wurden, müssen Glib und GTK+ erneut kompiliert werden.\n" +"Wenn dies ein libc5-basiertes Linux-System ist und Glib & GTK+ vor " +"LinuxThreads installiert wurden, müssen Glib und GTK+ erneut kompiliert " +"werden.\n" #: src/audacious/main.c:1351 msgid "- play multimedia files" @@ -736,12 +810,16 @@ "Audacious has caught signal 11 (SIGSEGV).\n" "\n" "We apologize for the inconvenience, but Audacious has crashed.\n" -"This is a bug in the program, and should never happen under normal circumstances.\n" +"This is a bug in the program, and should never happen under normal " +"circumstances.\n" "Your current configuration has been saved and should not be damaged.\n" "\n" -"You can help improve the quality of Audacious by filing a bug at http://bugs-meta.atheme.org\n" -"Please include the entire text of this message and a description of what you were doing when\n" -"this crash occured in order to quickly expedite the handling of your bug report:\n" +"You can help improve the quality of Audacious by filing a bug at http://bugs-" +"meta.atheme.org\n" +"Please include the entire text of this message and a description of what you " +"were doing when\n" +"this crash occured in order to quickly expedite the handling of your bug " +"report:\n" "\n" msgstr "" "\n" @@ -762,7 +840,8 @@ #: src/audacious/signals.c:80 msgid "" "\n" -"Bugs can be reported at http://bugs-meta.atheme.org against the Audacious product.\n" +"Bugs can be reported at http://bugs-meta.atheme.org against the Audacious " +"product.\n" msgstr "" "\n" "Fehler in Audacious können bei http://bugs-meta.atheme.org gemeldet werden.\n" @@ -790,15 +869,12 @@ "\n" "Copyright (C) 2005-2007 Audacious-Enwicklerteam" -#: src/audacious/ui_about.c:125 -#: src/audacious/ui_credits.c:357 -#: src/audacious/ui_manager.c:391 -#: src/audacious/ui_manager.c:392 +#: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:357 +#: src/audacious/ui_manager.c:391 src/audacious/ui_manager.c:392 msgid "About Audacious" msgstr "Über Audacious" -#: src/audacious/ui_about.c:174 -#: src/audacious/ui_credits.c:400 +#: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:400 msgid "Credits" msgstr "Credits" @@ -987,29 +1063,24 @@ msgid "Track Information Window" msgstr "Titel-Informationsfenster" -#: src/audacious/ui_fileinfopopup.c:252 -#: src/audacious/ui_fileinfopopup.c:364 +#: src/audacious/ui_fileinfopopup.c:252 src/audacious/ui_fileinfopopup.c:364 #: src/audacious/ui_preferences.c:125 msgid "Title" msgstr "Titel" -#: src/audacious/ui_fileinfopopup.c:255 -#: src/audacious/ui_preferences.c:123 +#: src/audacious/ui_fileinfopopup.c:255 src/audacious/ui_preferences.c:123 msgid "Artist" msgstr "Künstler" -#: src/audacious/ui_fileinfopopup.c:258 -#: src/audacious/ui_preferences.c:124 +#: src/audacious/ui_fileinfopopup.c:258 src/audacious/ui_preferences.c:124 msgid "Album" msgstr "Album" -#: src/audacious/ui_fileinfopopup.c:261 -#: src/audacious/ui_preferences.c:127 +#: src/audacious/ui_fileinfopopup.c:261 src/audacious/ui_preferences.c:127 msgid "Genre" msgstr "Genre" -#: src/audacious/ui_fileinfopopup.c:264 -#: src/audacious/ui_preferences.c:131 +#: src/audacious/ui_fileinfopopup.c:264 src/audacious/ui_preferences.c:131 msgid "Year" msgstr "Jahr" @@ -1021,8 +1092,7 @@ msgid "Track Length" msgstr "Titellänge:" -#: src/audacious/ui_fileinfopopup.c:373 -#: src/audacious/ui_preferences.c:128 +#: src/audacious/ui_fileinfopopup.c:373 src/audacious/ui_preferences.c:128 #: src/audacious/ui_preferences.c:420 msgid "Filename" msgstr "Dateiname" @@ -1055,8 +1125,7 @@ msgid "Un_queue" msgstr "Aus _Queue entfernen" -#: src/audacious/ui_jumptotrack.c:140 -#: src/audacious/ui_jumptotrack.c:603 +#: src/audacious/ui_jumptotrack.c:140 src/audacious/ui_jumptotrack.c:603 msgid "_Queue" msgstr "Zu _Queue hinzufügen" @@ -1085,18 +1154,15 @@ msgid "VBR" msgstr "VBR" -#: src/audacious/ui_main.c:761 -#: src/audacious/ui_main.c:765 +#: src/audacious/ui_main.c:761 src/audacious/ui_main.c:765 msgid "stereo" msgstr "stereo" -#: src/audacious/ui_main.c:761 -#: src/audacious/ui_main.c:765 +#: src/audacious/ui_main.c:761 src/audacious/ui_main.c:765 msgid "mono" msgstr "mono" -#: src/audacious/ui_main.c:1060 -#: src/audacious/ui_manager.c:420 +#: src/audacious/ui_main.c:1060 src/audacious/ui_manager.c:420 #: src/audacious/ui_manager.c:421 msgid "Jump to Time" msgstr "Zu Zeitpunkt springen" @@ -1124,10 +1190,14 @@ #: src/audacious/ui_main.c:1235 msgid "" "Audacious has been started with all of its windows hidden.\n" -"You may want to show the player window again to control Audacious; otherwise, you'll have to control it remotely via audtool or enabled plugins (such as the statusicon plugin)." +"You may want to show the player window again to control Audacious; " +"otherwise, you'll have to control it remotely via audtool or enabled plugins " +"(such as the statusicon plugin)." msgstr "" "Audacious wurde ohne sichtbare Fenster gestartet.\n" -"Wenn das Hauptfenster nicht wieder geöffnet wird, muss Audacious via audtool oder durch aktivierte Plugins (wie das statusicon-Plugin) ferngesteuert werden." +"Wenn das Hauptfenster nicht wieder geöffnet wird, muss Audacious via audtool " +"oder durch aktivierte Plugins (wie das statusicon-Plugin) ferngesteuert " +"werden." #: src/audacious/ui_main.c:1241 msgid "Always ignore, show/hide is controlled remotely" @@ -1209,84 +1279,68 @@ msgid "Error in Audacious." msgstr "Fehler in Audacious." -#: src/audacious/ui_manager.c:48 -#: src/audacious/ui_manager.c:49 +#: src/audacious/ui_manager.c:48 src/audacious/ui_manager.c:49 msgid "Autoscroll Songname" msgstr "Songname automatisch scrollen" # -s, --stop switch -#: src/audacious/ui_manager.c:51 -#: src/audacious/ui_manager.c:52 +#: src/audacious/ui_manager.c:51 src/audacious/ui_manager.c:52 msgid "Stop after Current Song" msgstr "Nach aktuellem Song stoppen" -#: src/audacious/ui_manager.c:54 -#: src/audacious/ui_manager.c:55 +#: src/audacious/ui_manager.c:54 src/audacious/ui_manager.c:55 msgid "Peaks" msgstr "Spitzen" -#: src/audacious/ui_manager.c:57 -#: src/audacious/ui_manager.c:58 +#: src/audacious/ui_manager.c:57 src/audacious/ui_manager.c:58 msgid "Repeat" msgstr "Wiederholen" -#: src/audacious/ui_manager.c:60 -#: src/audacious/ui_manager.c:61 +#: src/audacious/ui_manager.c:60 src/audacious/ui_manager.c:61 msgid "Shuffle" msgstr "Zufällige Wiedergabe" -#: src/audacious/ui_manager.c:63 -#: src/audacious/ui_manager.c:64 +#: src/audacious/ui_manager.c:63 src/audacious/ui_manager.c:64 msgid "No Playlist Advance" msgstr "In der Wiedergabeliste nicht weiterspringen" -#: src/audacious/ui_manager.c:66 -#: src/audacious/ui_manager.c:67 +#: src/audacious/ui_manager.c:66 src/audacious/ui_manager.c:67 msgid "Show Player" msgstr "Player zeigen" -#: src/audacious/ui_manager.c:69 -#: src/audacious/ui_manager.c:70 +#: src/audacious/ui_manager.c:69 src/audacious/ui_manager.c:70 msgid "Show Playlist Editor" msgstr "Wiedergabeliste zeigen" -#: src/audacious/ui_manager.c:72 -#: src/audacious/ui_manager.c:73 +#: src/audacious/ui_manager.c:72 src/audacious/ui_manager.c:73 msgid "Show Equalizer" msgstr "Equalizer zeigen" -#: src/audacious/ui_manager.c:75 -#: src/audacious/ui_manager.c:76 +#: src/audacious/ui_manager.c:75 src/audacious/ui_manager.c:76 msgid "Always on Top" msgstr "Immer im Vordergrund" -#: src/audacious/ui_manager.c:78 -#: src/audacious/ui_manager.c:79 +#: src/audacious/ui_manager.c:78 src/audacious/ui_manager.c:79 msgid "Put on All Workspaces" msgstr "Auf allen Arbeitsflächen anzeigen" -#: src/audacious/ui_manager.c:81 -#: src/audacious/ui_manager.c:82 +#: src/audacious/ui_manager.c:81 src/audacious/ui_manager.c:82 msgid "Roll up Player" msgstr "Player aufrollen" -#: src/audacious/ui_manager.c:84 -#: src/audacious/ui_manager.c:85 +#: src/audacious/ui_manager.c:84 src/audacious/ui_manager.c:85 msgid "Roll up Playlist Editor" msgstr "Wiedergabeliste aufrollen" -#: src/audacious/ui_manager.c:87 -#: src/audacious/ui_manager.c:88 +#: src/audacious/ui_manager.c:87 src/audacious/ui_manager.c:88 msgid "Roll up Equalizer" msgstr "Equalizer aufrollen" -#: src/audacious/ui_manager.c:90 -#: src/audacious/ui_manager.c:91 +#: src/audacious/ui_manager.c:90 src/audacious/ui_manager.c:91 msgid "DoubleSize" msgstr "Doppelte Grösse" -#: src/audacious/ui_manager.c:93 -#: src/audacious/ui_manager.c:94 +#: src/audacious/ui_manager.c:93 src/audacious/ui_manager.c:94 msgid "Easy Move" msgstr "Vereinfachtes Verschieben" @@ -1306,14 +1360,12 @@ msgid "Off" msgstr "Aus" -#: src/audacious/ui_manager.c:109 -#: src/audacious/ui_manager.c:126 +#: src/audacious/ui_manager.c:109 src/audacious/ui_manager.c:126 #: src/audacious/ui_manager.c:132 msgid "Normal" msgstr "Normal" -#: src/audacious/ui_manager.c:110 -#: src/audacious/ui_manager.c:127 +#: src/audacious/ui_manager.c:110 src/audacious/ui_manager.c:127 msgid "Fire" msgstr "Feuer" @@ -1365,28 +1417,23 @@ msgid "Eighth (~6 fps)" msgstr "Achtel (~6 fps)" -#: src/audacious/ui_manager.c:144 -#: src/audacious/ui_manager.c:152 +#: src/audacious/ui_manager.c:144 src/audacious/ui_manager.c:152 msgid "Slowest" msgstr "Am langsamsten" -#: src/audacious/ui_manager.c:145 -#: src/audacious/ui_manager.c:153 +#: src/audacious/ui_manager.c:145 src/audacious/ui_manager.c:153 msgid "Slow" msgstr "Langsam" -#: src/audacious/ui_manager.c:146 -#: src/audacious/ui_manager.c:154 +#: src/audacious/ui_manager.c:146 src/audacious/ui_manager.c:154 msgid "Medium" msgstr "Mittel" -#: src/audacious/ui_manager.c:147 -#: src/audacious/ui_manager.c:155 +#: src/audacious/ui_manager.c:147 src/audacious/ui_manager.c:155 msgid "Fast" msgstr "Schnell" -#: src/audacious/ui_manager.c:148 -#: src/audacious/ui_manager.c:156 +#: src/audacious/ui_manager.c:148 src/audacious/ui_manager.c:156 msgid "Fastest" msgstr "Am schnellsten" @@ -1402,28 +1449,23 @@ msgid "Playback" msgstr "Wiedergabe" -#: src/audacious/ui_manager.c:172 -#: src/audacious/ui_manager.c:173 +#: src/audacious/ui_manager.c:172 src/audacious/ui_manager.c:173 msgid "Play" msgstr "Wiedergeben" -#: src/audacious/ui_manager.c:175 -#: src/audacious/ui_manager.c:176 +#: src/audacious/ui_manager.c:175 src/audacious/ui_manager.c:176 msgid "Pause" msgstr "Pause" -#: src/audacious/ui_manager.c:178 -#: src/audacious/ui_manager.c:179 +#: src/audacious/ui_manager.c:178 src/audacious/ui_manager.c:179 msgid "Stop" msgstr "Stop" -#: src/audacious/ui_manager.c:181 -#: src/audacious/ui_manager.c:182 +#: src/audacious/ui_manager.c:181 src/audacious/ui_manager.c:182 msgid "Previous" msgstr "Zurück" -#: src/audacious/ui_manager.c:184 -#: src/audacious/ui_manager.c:185 +#: src/audacious/ui_manager.c:184 src/audacious/ui_manager.c:185 msgid "Next" msgstr "Vorwärts" @@ -1463,23 +1505,19 @@ msgid "Peaks Falloff" msgstr "Spitzen-Falloff" -#: src/audacious/ui_manager.c:205 -#: src/audacious/ui_manager.c:206 +#: src/audacious/ui_manager.c:205 src/audacious/ui_manager.c:206 msgid "New Playlist" msgstr "Neue Wiedergabeliste" -#: src/audacious/ui_manager.c:208 -#: src/audacious/ui_manager.c:209 +#: src/audacious/ui_manager.c:208 src/audacious/ui_manager.c:209 msgid "Select Next Playlist" msgstr "Nächste Wiedergabeliste wählen" -#: src/audacious/ui_manager.c:211 -#: src/audacious/ui_manager.c:212 +#: src/audacious/ui_manager.c:211 src/audacious/ui_manager.c:212 msgid "Select Previous Playlist" msgstr "Vorherige Wiedergabeliste wählen" -#: src/audacious/ui_manager.c:214 -#: src/audacious/ui_manager.c:215 +#: src/audacious/ui_manager.c:214 src/audacious/ui_manager.c:215 msgid "Delete Playlist" msgstr "Wiedergabeliste löschen" @@ -1550,8 +1588,12 @@ msgstr "Suchen und auswählen" #: src/audacious/ui_manager.c:253 -msgid "Searches the playlist and selects playlist entries based on specific criteria." -msgstr "Durchsucht die Wiedergabeliste und selektiert Einträge anhand verschiedener Kriterien" +msgid "" +"Searches the playlist and selects playlist entries based on specific " +"criteria." +msgstr "" +"Durchsucht die Wiedergabeliste und selektiert Einträge anhand verschiedener " +"Kriterien" #: src/audacious/ui_manager.c:256 msgid "Invert Selection" @@ -1597,8 +1639,7 @@ msgid "Remove Duplicates" msgstr "Duplikate entfernen" -#: src/audacious/ui_manager.c:280 -#: src/audacious/ui_manager.c:316 +#: src/audacious/ui_manager.c:280 src/audacious/ui_manager.c:316 #: src/audacious/ui_manager.c:346 msgid "By Title" msgstr "Nach Titel" @@ -1607,25 +1648,26 @@ msgid "Removes duplicate entries from the playlist by title." msgstr "Anhand des Titels doppelte Einträge aus der Wiedergabeliste löschen" -#: src/audacious/ui_manager.c:284 -#: src/audacious/ui_manager.c:324 +#: src/audacious/ui_manager.c:284 src/audacious/ui_manager.c:324 #: src/audacious/ui_manager.c:354 msgid "By Filename" msgstr "Nach Dateiname" #: src/audacious/ui_manager.c:285 msgid "Removes duplicate entries from the playlist by filename." -msgstr "Anhand des Dateinamens doppelte Einträge aus der Wiedergabeliste entfernen" - -#: src/audacious/ui_manager.c:288 -#: src/audacious/ui_manager.c:328 +msgstr "" +"Anhand des Dateinamens doppelte Einträge aus der Wiedergabeliste entfernen" + +#: src/audacious/ui_manager.c:288 src/audacious/ui_manager.c:328 #: src/audacious/ui_manager.c:358 msgid "By Path + Filename" msgstr "Nach Pfad & Dateinamen" #: src/audacious/ui_manager.c:289 msgid "Removes duplicate entries from the playlist by their full path." -msgstr "Anhand des vollen Dateipfads doppelte Einträge aus der Wiedergabeliste löschen" +msgstr "" +"Anhand des vollen Dateipfads doppelte Einträge aus der Wiedergabeliste " +"löschen" #: src/audacious/ui_manager.c:292 msgid "Remove All" @@ -1672,58 +1714,47 @@ msgid "Sort List" msgstr "Wiedergabeliste sortieren" -#: src/audacious/ui_manager.c:317 -#: src/audacious/ui_manager.c:347 +#: src/audacious/ui_manager.c:317 src/audacious/ui_manager.c:347 msgid "Sorts the list by title." msgstr "Wiedergabeliste nach dem Titel sortieren" -#: src/audacious/ui_manager.c:320 -#: src/audacious/ui_manager.c:350 +#: src/audacious/ui_manager.c:320 src/audacious/ui_manager.c:350 msgid "By Artist" msgstr "Nach Künstler" -#: src/audacious/ui_manager.c:321 -#: src/audacious/ui_manager.c:351 +#: src/audacious/ui_manager.c:321 src/audacious/ui_manager.c:351 msgid "Sorts the list by artist." msgstr "Wiedergabeliste nach Künstler sortieren" -#: src/audacious/ui_manager.c:325 -#: src/audacious/ui_manager.c:355 +#: src/audacious/ui_manager.c:325 src/audacious/ui_manager.c:355 msgid "Sorts the list by filename." msgstr "Wiedergabeliste nach Dateinamen sortieren" -#: src/audacious/ui_manager.c:329 -#: src/audacious/ui_manager.c:359 +#: src/audacious/ui_manager.c:329 src/audacious/ui_manager.c:359 msgid "Sorts the list by full pathname." msgstr "Wiedergabeliste nach vollem Pfadnamen sortieren" -#: src/audacious/ui_manager.c:332 -#: src/audacious/ui_manager.c:362 +#: src/audacious/ui_manager.c:332 src/audacious/ui_manager.c:362 msgid "By Date" msgstr "Nach Datum" -#: src/audacious/ui_manager.c:333 -#: src/audacious/ui_manager.c:363 +#: src/audacious/ui_manager.c:333 src/audacious/ui_manager.c:363 msgid "Sorts the list by modification time." msgstr "Wiedergabeliste nach Modifikationsdatum sortieren" -#: src/audacious/ui_manager.c:336 -#: src/audacious/ui_manager.c:366 +#: src/audacious/ui_manager.c:336 src/audacious/ui_manager.c:366 msgid "By Track Number" msgstr "Nach Titelnummer" -#: src/audacious/ui_manager.c:337 -#: src/audacious/ui_manager.c:367 +#: src/audacious/ui_manager.c:337 src/audacious/ui_manager.c:367 msgid "Sorts the list by track number." msgstr "Wiedergabeliste nach Titelnummer sortieren" -#: src/audacious/ui_manager.c:340 -#: src/audacious/ui_manager.c:370 +#: src/audacious/ui_manager.c:340 src/audacious/ui_manager.c:370 msgid "By Playlist Entry" msgstr "Nach Wiedergabelisteneintrag" -#: src/audacious/ui_manager.c:341 -#: src/audacious/ui_manager.c:371 +#: src/audacious/ui_manager.c:341 src/audacious/ui_manager.c:371 msgid "Sorts the list by playlist entry." msgstr "Wiedergabeliste nach Wiedergabelisteneintrag sortieren" @@ -1743,13 +1774,11 @@ msgid "Plugin Services" msgstr "Plugin-Dienste" -#: src/audacious/ui_manager.c:385 -#: src/audacious/ui_manager.c:388 +#: src/audacious/ui_manager.c:385 src/audacious/ui_manager.c:388 msgid "View Track Details" msgstr "Titel-Details anzeigen" -#: src/audacious/ui_manager.c:386 -#: src/audacious/ui_manager.c:389 +#: src/audacious/ui_manager.c:386 src/audacious/ui_manager.c:389 msgid "View track details" msgstr "Titel-Details anzeigen" @@ -1790,23 +1819,19 @@ msgid "Quit Audacious" msgstr "Audacious beenden" -#: src/audacious/ui_manager.c:408 -#: src/audacious/ui_manager.c:409 +#: src/audacious/ui_manager.c:408 src/audacious/ui_manager.c:409 msgid "Set A-B" msgstr "A-B setzen" -#: src/audacious/ui_manager.c:411 -#: src/audacious/ui_manager.c:412 +#: src/audacious/ui_manager.c:411 src/audacious/ui_manager.c:412 msgid "Clear A-B" msgstr "A-B löschen" -#: src/audacious/ui_manager.c:414 -#: src/audacious/ui_manager.c:415 +#: src/audacious/ui_manager.c:414 src/audacious/ui_manager.c:415 msgid "Jump to Playlist Start" msgstr "Zum Anfang der Wiedergabeliste springen" -#: src/audacious/ui_manager.c:417 -#: src/audacious/ui_manager.c:418 +#: src/audacious/ui_manager.c:417 src/audacious/ui_manager.c:418 msgid "Jump to File" msgstr "Zu Datei springen" @@ -1834,8 +1859,7 @@ msgid "Delete" msgstr "Löschen" -#: src/audacious/ui_manager.c:436 -#: src/audacious/ui_manager.c:457 +#: src/audacious/ui_manager.c:436 src/audacious/ui_manager.c:457 #: src/audacious/ui_manager.c:472 msgid "Preset" msgstr "Equalizer-Voreinstellung" @@ -1844,8 +1868,7 @@ msgid "Load preset" msgstr "Equalizer-Voreinstellung laden" -#: src/audacious/ui_manager.c:439 -#: src/audacious/ui_manager.c:460 +#: src/audacious/ui_manager.c:439 src/audacious/ui_manager.c:460 #: src/audacious/ui_manager.c:475 msgid "Auto-load preset" msgstr "Automatisch geladene Equalizer-Voreinstellung" @@ -1854,8 +1877,7 @@ msgid "Load auto-load preset" msgstr "Automatisch geladene Equalizer-Voreinstellung laden" -#: src/audacious/ui_manager.c:442 -#: src/audacious/ui_manager.c:463 +#: src/audacious/ui_manager.c:442 src/audacious/ui_manager.c:463 msgid "Default" msgstr "Standard" @@ -1936,8 +1958,17 @@ msgstr "Einträge in der aktiven Wiedergabeliste suchen" #: src/audacious/ui_playlist.c:485 -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 "Wiedergabelisteneinträge können durch Ausfüllen von einem oder mehreren Feldern auswählt werden. Die Felder benutzen reguläre Ausdrücke ohne Beachtung der Gross- und Kleinschreibung. Falls der Umgang mit regulären Ausdrücken nicht vertraut ist, kann auch einfach ein Suchbegriff eingegeben werden." +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 "" +"Wiedergabelisteneinträge können durch Ausfüllen von einem oder mehreren " +"Feldern auswählt werden. Die Felder benutzen reguläre Ausdrücke ohne " +"Beachtung der Gross- und Kleinschreibung. Falls der Umgang mit regulären " +"Ausdrücken nicht vertraut ist, kann auch einfach ein Suchbegriff eingegeben " +"werden." #: src/audacious/ui_playlist.c:493 msgid "Title: "
--- a/po/fr.po Sun Oct 14 05:54:54 2007 +0300 +++ b/po/fr.po Fri Oct 19 12:14:04 2007 +0300 @@ -1,24 +1,21 @@ -# translation of fr.po to # French language translation for beep-multimedia-player # Copyright (C) 2003 David Le Brun <david@dyn-ns.net> # -# -# David Le Brun <david@dyn-ns.net>, 2003. +# Adapted for Audacious by : # Adam Cécile (Le_Vert) <gandalf@le-vert.net>, 2006. +# Stanislas Zeller <skogkatt@orange.fr>, 2007. +# Stany Henry (StrassBoy) <StrassBoy@gmail.com>, 2007. msgid "" msgstr "" -"Project-Id-Version: fr\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" "POT-Creation-Date: 2007-10-13 14:15+0200\n" -"PO-Revision-Date: 2007-09-30 17:44+0100\n" -"Last-Translator: stanislas zeller <skogkatt@orange.fr>\n" -"Language-Team: <fr@li.org>\n" +"PO-Revision-Date: 2007-10-17 03:45+0100\n" +"Last-Translator: Stany Henry <StrassBoy@gmail.com>\n" +"Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"NPOT-Creation-Date: 2003-08-08 19:35+0200\n" -"Plural-Forms: nplurals=2; plural=n>1;\n" -"X-Generator: KBabel 1.11.4\n" #: src/audacious/glade.c:45 #, c-format @@ -29,12 +26,12 @@ msgstr "" "<b><big>Impossible de créer %s.</big></b>\n" "\n" -"Ne peut ouvrir le fichier glade (%s). Veuillez vérifier votre " -"configuration.\n" +"Impossible d'ouvrir le fichier 'glade' (%s). Veuillez vérifier " +"l'installation.\n" #: src/audacious/glade/fileinfo.glade:8 msgid "Track Information" -msgstr "Information de la Piste" +msgstr "Informations sur le morceau" #: src/audacious/glade/fileinfo.glade:81 msgid "<span size=\"small\">Title</span>" @@ -42,7 +39,7 @@ #: src/audacious/glade/fileinfo.glade:139 msgid "<span size=\"small\">Artist</span>" -msgstr "<span size=\"small\">Artiste</span>" +msgstr "<span size=\"small\">Title</span>" #: src/audacious/glade/fileinfo.glade:197 msgid "<span size=\"small\">Album</span>" @@ -66,15 +63,15 @@ #: src/audacious/glade/fileinfo.glade:499 msgid "<span size=\"small\">Location</span>" -msgstr "<span size=\"small\">Location</span>" +msgstr "<span size=\"small\">Emplacement</span>" #: src/audacious/glade/prefswin.glade:8 msgid "Audacious Preferences" -msgstr "Préférences" +msgstr "Préférences d'Audacious" #: src/audacious/glade/prefswin.glade:115 msgid "_Decoder list:" -msgstr "_Décodeur" +msgstr "_Liste des décodeurs :" #: src/audacious/glade/prefswin.glade:219 msgid "<span size=\"medium\"><b>Decoders</b></span>" @@ -82,7 +79,7 @@ #: src/audacious/glade/prefswin.glade:261 msgid "_General plugin list:" -msgstr "Liste des greffons _généraux:" +msgstr "_Liste des modules généraux :" #: src/audacious/glade/prefswin.glade:365 msgid "<span size=\"medium\"><b>General</b></span>" @@ -90,15 +87,15 @@ #: src/audacious/glade/prefswin.glade:407 msgid "_Visualization plugin list:" -msgstr "Liste des greffons _d'effets visuels:" +msgstr "_Liste des modules de visualisation :" #: src/audacious/glade/prefswin.glade:511 msgid "<b>Visualization</b>" -msgstr "<b>Visuel</b>" +msgstr "<b>Visualisation</b>" #: src/audacious/glade/prefswin.glade:553 msgid "_Effect plugin list:" -msgstr "Liste des greffons d'_effets sonores:" +msgstr "_Liste des modules d'effets :" #: src/audacious/glade/prefswin.glade:657 msgid "<b>Effects</b>" @@ -106,15 +103,15 @@ #: src/audacious/glade/prefswin.glade:693 src/audacious/ui_preferences.c:117 msgid "Plugins" -msgstr "Greffons" +msgstr "Modules" #: src/audacious/glade/prefswin.glade:758 msgid "<b>_Skin</b>" -msgstr "<b>_Thèmes</b>" +msgstr "<b>_Thème</b>" #: src/audacious/glade/prefswin.glade:811 msgid "Refresh skin list" -msgstr "Rafraichir la liste de skins" +msgstr "Actualiser la liste des thèmes" #: src/audacious/glade/prefswin.glade:926 msgid "<b>_Fonts</b>" @@ -122,31 +119,31 @@ #: src/audacious/glade/prefswin.glade:975 msgid "_Player:" -msgstr "Lecteur:" +msgstr "_Fenêtre principale" #: src/audacious/glade/prefswin.glade:1018 msgid "_Playlist:" -msgstr "Liste:" +msgstr "_Liste de lecture" #: src/audacious/glade/prefswin.glade:1050 msgid "Select main player window font:" -msgstr "Choix de la police du lecteur principal" +msgstr "Police de la fenêtre principale :" #: src/audacious/glade/prefswin.glade:1072 msgid "Select playlist font:" -msgstr "Choisir la police:" +msgstr "Police de la liste de lecture :" #: src/audacious/glade/prefswin.glade:1112 msgid "" "Use bitmap fonts if they are available. Bitmap fonts do not support Unicode " "strings." msgstr "" -"Utiliser les polices Bitmap si disponibles. Les polices Bitmap ne supportent " -"pas les caractères Unicode." +"Cette option permet d'utiliser les polices matricielles ('bitmap'). Ces " +"polices ne gèrent pas la norme 'Unicode' (caractères accentués)." #: src/audacious/glade/prefswin.glade:1114 msgid "Use Bitmap fonts if available" -msgstr "Utiliser les polices Bitmap si disponibles" +msgstr "Utiliser les polices matricielles (si elles sont disponibles)" #: src/audacious/glade/prefswin.glade:1161 msgid "<b>_Miscellaneous</b>" @@ -154,25 +151,24 @@ #: src/audacious/glade/prefswin.glade:1202 msgid "Show track numbers in playlist" -msgstr "Afficher la position des morceaux dans la liste d'écoute" +msgstr "Afficher la position des morceaux dans la liste de lecture" #: src/audacious/glade/prefswin.glade:1237 msgid "Show separators in playlist" -msgstr "Montrer les séparateurs dans la liste d'écoute" +msgstr "Afficher les barres de séparation dans la liste de lecture" #: src/audacious/glade/prefswin.glade:1272 msgid "Use custom cursors" -msgstr "Utiliser les curseurs du thème" +msgstr "Utiliser des pointeurs de souris personnalisés" #: src/audacious/glade/prefswin.glade:1306 msgid "This enables the window manager to show decorations for windows." msgstr "" -"Ceci active le gestionnaire de fenêtre montrant les décorations pour les " -"fenêtres." +"Cette option affiche les ornements propres au gestionnaire de fenêtres." #: src/audacious/glade/prefswin.glade:1308 msgid "Show window manager decoration" -msgstr "Montrer la décoration du gestionnaire de fenêtre" +msgstr "Montrer la décoration du gestionnaire de fenêtres" #: src/audacious/glade/prefswin.glade:1342 msgid "" @@ -180,22 +176,28 @@ "provided by Audacious itself and is faster than the default GTK2 selector " "(but sadly not as user-friendly)." msgstr "" -"Ceci active le dialogue de fichier de sélection XMMS/GTK1. Ce sélecteur est " -"fourni par Audacious et est plus rapide que le sélecteur en GTK2 par défaut." +"Cette option active les boîtes de sélection de fichiers 'XMMS/GTK1'. Comme " +"ce système est géré par Audacious, il est plus rapide que la version 'GTK2' " +"par défaut. Cependant, il n'est pas très esthétique." #: src/audacious/glade/prefswin.glade:1344 msgid "Use XMMS-style file selector instead of the default selector" -msgstr "Utiliser le sélecteur de fichier XMMS comme le sélecteur par défaut" +msgstr "" +"Utiliser le système de sélection de fichiers de XMMS à la place du système " +"par défaut" #: src/audacious/glade/prefswin.glade:1378 msgid "" "If selected, the file information text in the main window will scroll back " "and forth. If not selected, the text will only scroll in one direction." msgstr "" +"Si cette option est cochée, le texte d'information relatif au morceau " +"défilera, dans la fenêtre principale, vers la gauche et vers la droite. " +"Sinon, le texte défilera dans une seule direction." #: src/audacious/glade/prefswin.glade:1380 msgid "Use two-way text scroller" -msgstr "" +msgstr "Utiliser le défilement de texte bidirectionnel" #: src/audacious/glade/prefswin.glade:1422 src/audacious/ui_preferences.c:111 msgid "Appearance" @@ -211,7 +213,7 @@ #: src/audacious/glade/prefswin.glade:1595 msgid "Scrolls playlist by" -msgstr "Défilement de la liste d'écoute de" +msgstr "Défilement de la liste de lecture de" #: src/audacious/glade/prefswin.glade:1623 msgid "percent" @@ -219,7 +221,7 @@ #: src/audacious/glade/prefswin.glade:1651 msgid "Changes volume by" -msgstr "Changement du volume de" +msgstr "Ajustement du niveau sonore de" #: src/audacious/glade/prefswin.glade:1701 src/audacious/ui_preferences.c:115 msgid "Mouse" @@ -227,37 +229,35 @@ #: src/audacious/glade/prefswin.glade:1748 msgid "<b>Filename</b>" -msgstr "<b>Nom de fichier</b>" +msgstr "<b>Nom des fichiers</b>" #: src/audacious/glade/prefswin.glade:1788 msgid "Convert underscores to blanks" -msgstr "Convertir underscore en blancs" +msgstr "Remplacer les caractères '__' par des espaces" #: src/audacious/glade/prefswin.glade:1823 msgid "Convert %20 to blanks" -msgstr "Convertir %20 en blancs" +msgstr "Remplacer les chaînes '%20' par des espaces" #: src/audacious/glade/prefswin.glade:1858 msgid "Convert backslash '\\' to forward slash '/'" -msgstr "Convertir '\\' en '/'" +msgstr "Remplacer les caractères '\\' par '/'" #: src/audacious/glade/prefswin.glade:1892 msgid "<b>Metadata</b>" -msgstr "<b>Méta-données</b>" +msgstr "<b>Métadonnées</b>" #: src/audacious/glade/prefswin.glade:1931 msgid "Load metadata (tag information) from music files." -msgstr "Charger les méta-données (tags) à partir des fichiers musicaux." +msgstr "Lit les métadonnées ('tags') des fichiers musicaux." #: src/audacious/glade/prefswin.glade:1933 msgid "Load metadata from playlists and files" -msgstr "Charger les méta-données des listes et fichiers" +msgstr "Lire les métadonnées des listes de lecture et des fichiers" #: src/audacious/glade/prefswin.glade:1971 msgid "Load metadata when adding the file to the playlist or opening it" -msgstr "" -"Charger les méta-données quand un fichier est ajouté à la liste d'écoute, ou " -"ouvert." +msgstr "Lit les métadonnées lors de l'ouverture ou de l'ajout des fichiers" #: src/audacious/glade/prefswin.glade:1973 msgid "On load" @@ -266,8 +266,8 @@ #: src/audacious/glade/prefswin.glade:1993 msgid "Load metadata on demand when displaying the file in the playlist" msgstr "" -"Charger les méta-données sur demande quand le fichier s'affiche dans la " -"liste d'écoute." +"Charge les métadonnées à la demande, lors de l'affichage des fichiers dans " +"la liste de lecture" #: src/audacious/glade/prefswin.glade:1995 msgid "On display" @@ -275,7 +275,7 @@ #: src/audacious/glade/prefswin.glade:2025 msgid "Auto character encoding detector for:" -msgstr "Codage automatique détecté pour:" +msgstr "Détection automatique de l'encodage pour " #: src/audacious/glade/prefswin.glade:2070 msgid "" @@ -284,39 +284,41 @@ "in this list would be treated as candidates of the encoding of metadata, and " "fall back conversion from these encodings to UTF-8 would be attempted." msgstr "" -"Liste des caratères de codage utilisés pour la conversion des métadonnées. " -"Si la détection des caractères de codage automatique échoue ou a été " -"désactivée, les codages dans la liste seront éligibles comme codage des " -"métadonnées, et le recours à la conversion de ces codages vers l'UTF-8 " -"seront tentés." +"Ce champ reprend les divers types d'encodages utilisés pour la conversion " +"des métadonnées. Si la détection automatique de l'encodage échoue ou n'a pas " +"été activée, les éléments de cette liste seront considérés comme des " +"encodages possibles et la conversion des métadonnées en UTF-8 sera tentée à " +"partir de ces encodages." #: src/audacious/glade/prefswin.glade:2094 msgid "Fallback character encodings:" -msgstr "Codage supplémentaire:" +msgstr "Encodages supplémentaires :" #: src/audacious/glade/prefswin.glade:2150 msgid "<b>File Dialog</b>" -msgstr "<b>Fenêtre du Fichier</b>" +msgstr "<b>Fenêtre de sélection des fichiers</b>" #: src/audacious/glade/prefswin.glade:2189 msgid "" "Always refresh the file dialog (this will slow opening the dialog on large " "directories, and Gnome VFS should handle automatically)." msgstr "" -"Toujours rafraichir le dialogue de fichier (l'ouverture sera lente pour des " -"gros répertoires, et GNOME VFZ devrait le supporter automatiquement)." +"Réactualise systématiquement l'arborescence de la boîte de sélection des " +"fichiers (l'opération peut ralentir l'ouverture de répertoires contenant " +"beaucoup de fichiers et le système 'VFS' de Gnome procède déjà à une " +"réactualisation automatique)." #: src/audacious/glade/prefswin.glade:2191 msgid "Always refresh directory when opening file dialog" -msgstr "Toujours rafraîchir le répertoire à l'ouverture" +msgstr "Toujours réactualiser le répertoire à l'ouverture de la fenêtre" #: src/audacious/glade/prefswin.glade:2225 msgid "<b>Song Display</b>" -msgstr "<b>Affichage des Morceaux</b>" +msgstr "<b>Affichage du morceau</b>" #: src/audacious/glade/prefswin.glade:2273 msgid "Show information about titlestring format" -msgstr "Montrer les Informations au sujet des format de titlestring" +msgstr "Affiche des informations sur le format du titre" #: src/audacious/glade/prefswin.glade:2302 msgid "" @@ -338,15 +340,15 @@ #: src/audacious/glade/prefswin.glade:2347 msgid "Custom string:" -msgstr "Format personnalisé:" +msgstr "Format personnalisé :" #: src/audacious/glade/prefswin.glade:2375 msgid "Title format:" -msgstr "Format du titre:" +msgstr "Format du titre :" #: src/audacious/glade/prefswin.glade:2424 msgid "<b>Popup Information</b>" -msgstr "<b>Popup Information</b>" +msgstr "<b>Fenêtre d'informations contextuelle</b>" #: src/audacious/glade/prefswin.glade:2475 msgid "" @@ -354,63 +356,64 @@ "window shows title of song, name of album, genre, year of publish, track " "number, track length, and artwork." msgstr "" -"Afficher la fenêtre d'information pour les morceaux de la liste d'écoute. La " -"fenêtre montre le titre du morceau, nom de l'album, genre, année de " -"publication, numéro de piste, longueur de la piste et la photo de la " -"pochette." +"Affiche une fenêtre d'informations sur l'entrée de la liste de lecture " +"pointée par le curseur de la souris. La fenêtre présente le titre du " +"morceau, le nom de l'album, le genre, l'année de publication, le numéro de " +"la piste, la durée du morceau, ainsi que la pochette de l'album." #: src/audacious/glade/prefswin.glade:2477 msgid "Show popup information for playlist entries" -msgstr "Montrer les informations du popup pour l'entrée de la liste d'écoute" +msgstr "" +"Montrer la fenêtre d'informations pour les entrées de la liste de lecture" #: src/audacious/glade/prefswin.glade:2504 msgid "Edit settings for popup information" -msgstr "Editer la fenêtre d'information" +msgstr "Modifie les préférences de la fenêtre d'informations contextuelle" #: src/audacious/glade/prefswin.glade:2553 src/audacious/ui_manager.c:203 #: src/audacious/ui_playlist_manager.c:402 src/audacious/ui_preferences.c:116 msgid "Playlist" -msgstr "Liste d'écoute" +msgstr "Liste de lecture" #: src/audacious/glade/prefswin.glade:2612 msgid "<b>Presets</b>" -msgstr "<b>Pré-réglages</b>" +msgstr "<b>Préréglages</b>" #: src/audacious/glade/prefswin.glade:2666 msgid "File preset extension:" -msgstr "Extension des fichiers :" +msgstr "Extension des fichiers de préréglages :" #: src/audacious/glade/prefswin.glade:2694 msgid "Directory preset file:" -msgstr "Répertoire du fichier :" +msgstr "Répertoire des fichiers de préréglages :" #: src/audacious/glade/prefswin.glade:2788 msgid "Available _Presets:" -msgstr "_Pré-réglages disponibles:" +msgstr "_Préréglages disponibles :" #: src/audacious/glade/prefswin.glade:2921 src/audacious/ui_preferences.c:114 msgid "Equalizer" -msgstr "Équaliseur" +msgstr "Égaliseur" #: src/audacious/glade/prefswin.glade:2968 msgid "<b>Proxy Configuration</b>" -msgstr "<b>Configuration du Proxy</b>" +msgstr "<b>Configuration du serveur mandataire</b>" #: src/audacious/glade/prefswin.glade:3026 msgid "Enable proxy usage" -msgstr "Activer l'usage du proxy" +msgstr "Activer l'utilisation du serveur mandataire" #: src/audacious/glade/prefswin.glade:3103 msgid "Proxy port:" -msgstr "Port :" +msgstr "Port du serveur :" #: src/audacious/glade/prefswin.glade:3131 msgid "Proxy hostname:" -msgstr "Nom d'hôte :" +msgstr "Nom du serveur :" #: src/audacious/glade/prefswin.glade:3179 msgid "Use authentication with proxy" -msgstr "Utiliser l'authentification avec le proxy" +msgstr "Utiliser l'authentification avec le serveur mandataire" #: src/audacious/glade/prefswin.glade:3256 msgid "Proxy password:" @@ -425,8 +428,8 @@ "<span size=\"small\">Changing these settings will require a restart of " "Audacious.</span>" msgstr "" -"<span size=\"small\">Modifier ces préférences requiert le redémarrage " -"d'Audacious.</span>" +"<span size=\"small\">La modification de ces préférences nécessite le " +"redémarrage d'Audacious.</span>" #: src/audacious/glade/prefswin.glade:3493 msgid "<b>Audio System</b>" @@ -444,40 +447,42 @@ "Please note however, that high values will result in Audacious performing " "poorly.</span>" msgstr "" -"<span size=\"small\">Ceci est la taille de temps du tampon audio en cours, " -"en milisecondes.\n" -"Augmentez cette valeur si vous êtes un utilisateur averti.\n" -"Veuillez noter cependant, que une valeur haute détériorera les performances " +"<span size=\"small\">Ce champ détermine la durée du tampon à allouer aux " +"flux, en millisecondes.\n" +"Augmentez cette valeur, si la lecture du flux est saccadée.\n" +"Sachez, toutefois, que des valeurs élevées détérioreront les performances " "d'Audacious.</span>" #: src/audacious/glade/prefswin.glade:3663 msgid "Current output plugin:" -msgstr "Greffon de sortie" +msgstr "Module de sortie actuel :" #: src/audacious/glade/prefswin.glade:3769 msgid "Output Plugin Preferences" -msgstr "Préférences" +msgstr "Préférences du module" #: src/audacious/glade/prefswin.glade:3844 msgid "Output Plugin Information" -msgstr "Informations" +msgstr "Informations sur le module" #: src/audacious/glade/prefswin.glade:3896 msgid "<b>Format Detection</b>" -msgstr "<b>Détection du Format</b>" +msgstr "<b>Détection du format audio</b>" #: src/audacious/glade/prefswin.glade:3935 msgid "" "When checked, Audacious will detect file formats on demand. This can result " "in a messier playlist, but delivers a major speed benefit." msgstr "" -"Si coché, Audacious détectera les formats de fichier sur demande. Ceci peut " -"avoir pour résultat une liste d'écoute incohérente, mais avec une rapidité " -"d'affichage accrue." +"Si cette option est activée, Audacious détectera les formats audio à la " +"demande. Cette méthode peut affecter l'organisation de la liste de lecture, " +"mais elle offre une rapidité sensiblement supérieure." #: src/audacious/glade/prefswin.glade:3937 msgid "Detect file formats on demand, instead of immediately." -msgstr "Détecter et afficher le format de fichier (affichage rapide)." +msgstr "" +"Déterminer les formats audio à la demande, au lieu de les détecter " +"immédiatement." #: src/audacious/glade/prefswin.glade:3971 msgid "" @@ -485,41 +490,41 @@ "slightly slower than detection on demand, but still provides a minimal level " "of format detection." msgstr "" -"Si coché, Audacious détectera les formats de fichier basés sur les " -"extension. Ceci sera légèrement plus lent que la détection sur demande." +"Si cette option est activée, Audacious détectera les formats audio d'après " +"l'extension des fichiers. Cette méthode est un peu plus lente que la " +"détection à la demande, mais elle offre un certain niveau de détection." #: src/audacious/glade/prefswin.glade:3973 msgid "Detect file formats by extension." -msgstr "Détecter les formats de fichier par extension." +msgstr "Déterminer les formats audio en fonction de l'extension des fichiers." #: src/audacious/glade/prefswin.glade:4007 msgid "<b>Playback</b>" -msgstr "<b>Enchaînement</b>" +msgstr "<b>Lecture</b>" #: src/audacious/glade/prefswin.glade:4046 msgid "" "When Audacious starts, automatically begin playing from the point where we " "stopped before." msgstr "" -"Quand Audacious démarre, commencer la lecture automatiquement au dernier " -"endroit lu." +"Au démarrage d'Audacious, la lecture reprendra là où elle s'était arrêtée " +"lors de la session précédente." #: src/audacious/glade/prefswin.glade:4048 msgid "Continue playback on startup" -msgstr "Poursuivre la lecture au démarrage" +msgstr "Reprendre la lecture au démarrage" #: src/audacious/glade/prefswin.glade:4082 msgid "When finished playing a song, don't automatically advance to the next." -msgstr "" -"Quand un morceau est terminé, ne pas lire automatiquement le morceau suivant." +msgstr "À la fin d'un morceau, ne pas lire automatiquement le titre suivant." #: src/audacious/glade/prefswin.glade:4084 msgid "Don't advance in the playlist" -msgstr "Ne pas avancer dans la liste" +msgstr "Ne pas avancer dans la liste de lecture" #: src/audacious/glade/prefswin.glade:4119 msgid "Pause between songs" -msgstr "Pause entre chaque morceau" +msgstr "Pause entre les morceaux" #: src/audacious/glade/prefswin.glade:4157 msgid "Pause for" @@ -531,15 +536,15 @@ #: src/audacious/glade/prefswin.glade:4249 msgid "<b>Sampling Rate Converter</b>" -msgstr "<b>Convertion du taux d'échantillonage</b>" +msgstr "<b>Conversion du taux d'échantillonnage</b>" #: src/audacious/glade/prefswin.glade:4289 msgid "Enable Sampling Rate Converter" -msgstr "Activer la convertion du taux d'échantillonage" +msgstr "Activer la conversion du taux d'échantillonnage" #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" -msgstr "" +msgstr "Algorithme d'interpolation :" #: src/audacious/glade/prefswin.glade:4389 msgid "" @@ -547,41 +552,41 @@ "This should be the max supported sampling rate of\n" "the sound card or output plugin.</span>" msgstr "" -"<span size=\"small\">Tous les streams seront convertis avec ce taux " -"d'échantillonage.\n" -"Ce taux est le taux d'échantillonage maximum de\n" -"la carte son ou du greffon audio.</span>" +"<span size=\"small\">Tous les flux seront convertis dans le taux spécifié.\n" +"Idéalement, ce taux devrait correspondre au taux d'échantillonnage\n" +"maximal que supporte la carte son ou le module d'extension de sortie.</span>" #: src/audacious/glade/prefswin.glade:4461 msgid "Sampling Rate [Hz]:" -msgstr "Taux d'Echantillonage [Hz]:" +msgstr "Taux d'échantillonnage [Hz] :" #: src/audacious/glade/prefswin.glade:4517 -#, fuzzy msgid "<b>Volume Control</b>" -msgstr "<b>Molette de la souris</b>" +msgstr "<b>Contrôle du volume</b>" #: src/audacious/glade/prefswin.glade:4556 msgid "" "Use software volume control. This may be useful for situations where your " "audio system does not support controlling the playback volume." msgstr "" +"Utilise le contrôle du volume logiciel. Cette option peut se révéler utile, " +"si votre système audio ne dispose pas de support de contrôle du volume." #: src/audacious/glade/prefswin.glade:4558 msgid "Use software volume control" -msgstr "" +msgstr "Utiliser le contrôle du volume logiciel" #: src/audacious/glade/prefswin.glade:4746 msgid "Reload Plugins" -msgstr "Recharger Greffons" +msgstr "Recharger les modules" #: src/audacious/glade/prefswin.glade:4807 msgid "Popup Information Settings" -msgstr "Configuration des informations Popup" +msgstr "Préférences de la fenêtre contextuelle" #: src/audacious/glade/prefswin.glade:4831 msgid "<b>Cover image retrieve</b>" -msgstr "<b>Récupération de l'Image</b>" +msgstr "<b>Récupération des pochettes</b>" #: src/audacious/glade/prefswin.glade:4856 msgid "" @@ -589,9 +594,9 @@ "the filename. You can specify those words in the lists below, separated " "using commas." msgstr "" -"Pendant la recherche d'une pochette d'album, Audacious recherche certains " +"Lors de la recherche de la pochette d'un album, Audacious vérifie certains " "mots dans le nom du fichier. Vous pouvez spécifier ces mots dans les listes " -"en dessous, séparés par des virgules." +"ci-dessous, séparés par des virgules." #: src/audacious/glade/prefswin.glade:4911 msgid "Exclude:" @@ -603,15 +608,15 @@ #: src/audacious/glade/prefswin.glade:5008 msgid "Recursively search for cover" -msgstr "Chercher récursivement les pochettes" +msgstr "Chercher les pochettes de manière récursive" #: src/audacious/glade/prefswin.glade:5046 msgid "Search depth: " -msgstr "Chercher:" +msgstr "Profondeur de la recherche :" #: src/audacious/glade/prefswin.glade:5112 msgid "Use per-file cover" -msgstr "Utiliser une pochette par fichier" +msgstr "Chercher les pochettes d'après le nom exact des fichiers audio" #: src/audacious/glade/prefswin.glade:5132 msgid "<b>Miscellaneous</b>" @@ -619,23 +624,23 @@ #: src/audacious/glade/prefswin.glade:5170 msgid "Show Progress bar for the current track" -msgstr "Voir la barre de progression de la piste courante" +msgstr "Montrer une barre de progression pour le morceau écouté" #: src/audacious/glade/prefswin.glade:5208 msgid "Delay until filepopup comes up: " -msgstr "Délai avant affichage:" +msgstr "Délai avant l'affichage de la fenêtre :" #: src/audacious/glade/prefswin.glade:5302 msgid "Color Adjustment" -msgstr "Ajustement de la Couleur" +msgstr "Ajustement des couleurs" #: src/audacious/glade/prefswin.glade:5325 msgid "" "Audacious allows you to alter the color balance of the skinned UI. The " "sliders below will allow you to do this." msgstr "" -"Audacious vous permet d'altérer la balance des couleurs de l'Interface " -"Utilisateur skinné. Le curseur ci-dessous vous permettra de le faire." +"Audacious permet de modifier la balance des couleurs de l'interface, à " +"l'aide des curseurs ci-dessous." #: src/audacious/glade/prefswin.glade:5359 msgid "Blue" @@ -652,25 +657,25 @@ #: src/audacious/input.c:627 #, c-format msgid "audacious: %s" -msgstr "audacious: %s" +msgstr "audacious : %s" #: src/audacious/input.c:643 msgid "Filename:" -msgstr "Nom du fichier:" +msgstr "Nom du fichier :" #: src/audacious/input.c:662 msgid "No input plugin recognized this file" -msgstr "Aucun greffon d'entrée ne supporte ce type de fichier" +msgstr "Aucun module d'entrée ne supporte ce type de fichier." #: src/audacious/input.c:664 #, c-format msgid "Input plugin: %s" -msgstr "Greffon d'entrée: %s" +msgstr "Module d'entrée : %s" #: src/audacious/logger.c:125 #, c-format msgid "Unable to create log file (%s)!\n" -msgstr "Impossible d'écrire le fichier de log (%s)!\n" +msgstr "Impossible de créer le fichier journal (%s)!\n" #: src/audacious/main.c:90 src/audacious/main.c:92 src/audacious/ui_main.c:491 #: src/audacious/ui_main.c:2466 @@ -684,43 +689,43 @@ #: src/audacious/main.c:1065 msgid "Select which Audacious session ID to use" -msgstr "Sélectionner la session Audacious (Par défaut: 0)" +msgstr "Choisir l'identifiant de la session Audacious à utiliser" #: src/audacious/main.c:1066 msgid "Skip backwards in playlist" -msgstr "Recule dans la liste d'écoute" +msgstr "Reculer dans la liste d'écoute" #: src/audacious/main.c:1067 msgid "Start playing current playlist" -msgstr "Commence à jouer la liste d'écoute courante" +msgstr "Commencer à lire la liste de lecture active" #: src/audacious/main.c:1068 msgid "Pause current song" -msgstr "Met en pause la lecture du morceau" +msgstr "Mettre en pause la chanson en cours de lecture" #: src/audacious/main.c:1069 msgid "Stop current song" -msgstr "Stoppe la lecture du morceau" +msgstr "Arrêter la chanson en cours de lecture" #: src/audacious/main.c:1070 msgid "Pause if playing, play otherwise" -msgstr "Met en pause sinon joue le morceau" +msgstr "Mettre en pause, sinon commencer la lecture" #: src/audacious/main.c:1071 msgid "Skip forward in playlist" -msgstr "Avance dans la liste d'écoute" +msgstr "Avancer dans la liste de lecture" #: src/audacious/main.c:1072 msgid "Display Jump to File dialog" -msgstr "Afficher le Saut vers le Dialogue de Fichier" +msgstr "Afficher la fenêtre 'Aller au fichier...'" #: src/audacious/main.c:1073 msgid "Don't clear the playlist" -msgstr "Ne vide pas la liste d'écoute" +msgstr "Ne pas effacer la liste de lecture" #: src/audacious/main.c:1074 msgid "Add new files to a temporary playlist" -msgstr "Ajouter de nouveaux fichiers à la liste d'écoute" +msgstr "Ajouter les nouveaux fichiers à une liste de lecture provisoire" #: src/audacious/main.c:1075 msgid "Display the main window" @@ -728,19 +733,19 @@ #: src/audacious/main.c:1076 msgid "Display all open Audacious windows" -msgstr "Afficher toutes les fenêtres ouvertes" +msgstr "Afficher toutes les fenêtres ouvertes d'Audacious" #: src/audacious/main.c:1077 msgid "Enable headless operation" -msgstr "" +msgstr "Activer le mode 'serveur'" #: src/audacious/main.c:1078 msgid "Print all errors and warnings to stdout" -msgstr "Imprimer toutes les erreurs et avertissements vers stdout" +msgstr "Afficher toutes les erreurs et tous les avertissements dans 'stdout'" #: src/audacious/main.c:1079 msgid "Show version and builtin features" -msgstr "Montrer les caractéristiques de version et construction" +msgstr "Afficher le numéro de version et les notes de compilation" #: src/audacious/main.c:1080 msgid "FILE..." @@ -756,7 +761,7 @@ msgstr "" "<b><big>Impossible de charger le thème.</big></b>\n" "\n" -"Vérifier que le thème '%s' soit correct et que le thème par défaut soit bien " +"Vérifier que le thème '%s' est valide et que le thème par défaut est bien " "installé dans '%s'\n" #: src/audacious/main.c:1320 @@ -767,14 +772,16 @@ "you\n" "installed LinuxThreads you need to recompile Glib & GTK+.\n" msgstr "" -"Désolé, les threads ne sont pas supportés par votre système d'exploitation.\n" +"Désolé, mais votre plate-forme ne gère pas les processus multiples.\n" "\n" -"Si vous êtes sur un système Linux basé sur libc5 et que vous avez installé \n" -"GLIB et GTK+ avant les LinuxThreads, vous devez recompiler GLIB et GTK+.\n" +"Si vous utilisez un système Linux basé sur 'libc5' et que vous avez " +"installé\n" +"'Glib' et 'GTK+' avant 'LinuxThreads', vous devez recompiler 'Glib' et 'GTK" +"+'.\n" #: src/audacious/main.c:1351 msgid "- play multimedia files" -msgstr "- jouer les fichiers multimédia" +msgstr "- lire les fichiers multimédia" #: src/audacious/main.c:1358 #, c-format @@ -783,20 +790,20 @@ "Try `%s --help' for more information.\n" msgstr "" "%s: %s\n" -"Essayer `%s --help' pour plus d'information.\n" +"Essayez '%s --help' pour davantage d'informations.\n" #: src/audacious/main.c:1368 #, c-format msgid "%s: Unable to open display, exiting.\n" -msgstr "%s : Impossible d'accéder à la session d'affichage.\n" +msgstr "%s: Impossible d'accéder à la session d'affichage.\n" #: src/audacious/playback.c:343 msgid "" "<b><big>No output plugin selected.</big></b>\n" "You have not selected an output plugin." msgstr "" -"<b><big>Pas de greffon de sortie sélectionnés</big></b>\n" -"Vous n'avez pas sélectionné de greffon de sortie." +"<b><big>Aucun module de sortie n'a été sélectionné.</big></b>\n" +"Vous n'avez pas choisi de module de sortie audio." #: src/audacious/signals.c:49 msgid "" @@ -817,19 +824,22 @@ "\n" msgstr "" "\n" -"Audacious a reçu un signal 11 (SIGSEGV).\n" -"\n" -"Nous nous excusons pour ce désagrément, mais Audacious a planté.\n" -"C'est un bug du programme qui ne devrait pas arriver dans des circonstances " -"normales.\n" -"Votre configuration courante a été sauvée et ne sera pas endommagée.\n" +"Audacious a reçu un signal 11 ('SIGSEGV').\n" "\n" -"Vous pouvez aider à améliorer la qualité d'Audacious en remontant un bug sur " -"http://bugs-meta.atheme.org\n" -"Veuillez joindre le texte entier du message et une description de ce que " -"vous faisiez quand\n" -"le plantage s'est produit pour nous occuper rapidement de votre rapport de " -"bug.\n" +"Nous sommes désolés pour ce désagrément, mais la session d'Audacious s'est " +"interrompue.\n" +"La situation résulte d'une erreur dans Audacious : elle ne devrait pas " +"survenir dans des conditions normales.\n" +"Votre configuration actuelle a toutefois été enregistrée : elle ne devrait " +"pas avoir été altérée.\n" +"\n" +"Vous pouvez nous aider à améliorer la qualité d'Audacious en soumettant " +"cette erreur à l'adresse suivante : http://bugs-meta.atheme.org\n" +"Veillez à joindre le message suivant à votre rapport, ainsi qu'une " +"description (en anglais) de ce que vous faisiez\n" +"lorsque cette erreur s'est produite, de manière à ce que nous puissions " +"traiter votre rapport dans les plus brefs délais :\n" +"\n" #: src/audacious/signals.c:80 msgid "" @@ -838,14 +848,17 @@ "product.\n" msgstr "" "\n" -"Les bugs peuvent être rapportés sur http://bugs-meta.atheme.org dans la " -"catégorie Audacious.\n" +"Les erreurs relatives à Audacious peuvent être soumises à l'adresse " +"suivantes : http://bugs-meta.atheme.org\n" #: src/audacious/signals.c:266 msgid "" "Your signaling implementation is broken.\n" "Expect unusable crash reports.\n" msgstr "" +"Le système de gestion des signaux d'erreur de votre système semble " +"corrompu.\n" +"Attendez-vous à des rapports d'erreurs inutilisables.\n" #: src/audacious/strings.c:170 msgid " (invalid UTF-8)" @@ -859,21 +872,20 @@ "Copyright (C) 2005-2007 Audacious Development Team" msgstr "" "<big><b>Audacious %s</b></big>\n" -"Le futur du multimédia sous UNIX\n" "\n" -"Copyright (C) 2005-2006 L'équipe de développement d'Audacious" +"Droits d'utilisation (C) 2005-2007, Équipe de Développement Audacious" #: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:357 #: src/audacious/ui_manager.c:391 src/audacious/ui_manager.c:392 msgid "About Audacious" -msgstr "À Propos d'Audacious" +msgstr "À propos d'Audacious" #: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:400 msgid "Credits" msgstr "Crédits" #: src/audacious/ui_credits.c:47 -#, fuzzy, c-format +#, c-format msgid "" "<big><b>Audacious %s</b></big>\n" "A skinned multimedia player for many platforms.\n" @@ -881,65 +893,66 @@ "Copyright (C) 2005-2007 Audacious Development Team\n" msgstr "" "<big><b>Audacious %s</b></big>\n" -"Le futur du multimédia sous UNIX.\n" +"Un lecteur multimedia personnalisable, disponible pour de nombreuses " +"plateformes.\n" "\n" -"Copyright (C) 2005-2006 L'équipe de développement d'Audacious\n" +"Droits d'utilisation : (C) 2005-2007, Équipe de Développement Audacious\n" #: src/audacious/ui_credits.c:53 msgid "Audacious core developers:" -msgstr "Développeurs:" +msgstr "Développeurs du noyau :" #: src/audacious/ui_credits.c:71 msgid "Graphics:" -msgstr "Graphismes:" +msgstr "Graphismes :" #: src/audacious/ui_credits.c:76 msgid "Default skin:" -msgstr "Thème par défaut:" +msgstr "Thème par défaut :" #: src/audacious/ui_credits.c:81 msgid "Plugin development:" -msgstr "Développement des greffons:" +msgstr "Développeurs des modules :" #: src/audacious/ui_credits.c:97 msgid "Patch authors:" -msgstr "Auteurs de patchs:" +msgstr "Modifications/correctifs :" #: src/audacious/ui_credits.c:117 msgid "0.1.x developers:" -msgstr "Développeurs de la version 0.1.x:" +msgstr "Développeurs de la branche 0.1.x :" #: src/audacious/ui_credits.c:123 msgid "BMP Developers:" -msgstr "Développeurs de BMP:" +msgstr "Développeurs de BMP :" #: src/audacious/ui_credits.c:155 msgid "Brazilian Portuguese:" -msgstr "Brésilien:" +msgstr "Brésilien portugais :" #: src/audacious/ui_credits.c:159 msgid "Breton:" -msgstr "Breton:" +msgstr "Breton :" #: src/audacious/ui_credits.c:162 msgid "Bulgarian:" -msgstr "Bulgare:" +msgstr "Bulgare :" #: src/audacious/ui_credits.c:165 msgid "Catalan:" -msgstr "Catalan:" +msgstr "Catalan :" #: src/audacious/ui_credits.c:168 msgid "Croatian:" -msgstr "Croate:" +msgstr "Croate :" #: src/audacious/ui_credits.c:171 msgid "Czech:" -msgstr "Tchèque:" +msgstr "Tchèque :" #: src/audacious/ui_credits.c:174 msgid "Dutch:" -msgstr "Néerlandais:" +msgstr "Néerlandais :" #: src/audacious/ui_credits.c:178 msgid "Finnish:" @@ -947,91 +960,91 @@ #: src/audacious/ui_credits.c:181 msgid "French:" -msgstr "Français:" +msgstr "Français :" #: src/audacious/ui_credits.c:185 msgid "German:" -msgstr "Allemand:" +msgstr "Allemand :" #: src/audacious/ui_credits.c:190 msgid "Georgian:" -msgstr "Géorgien:" +msgstr "Géorgien :" #: src/audacious/ui_credits.c:193 msgid "Greek:" -msgstr "Grec:" +msgstr "Grec :" #: src/audacious/ui_credits.c:198 msgid "Hindi:" -msgstr "Hindi:" +msgstr "Hindi :" #: src/audacious/ui_credits.c:201 msgid "Hungarian:" -msgstr "Hongrois:" +msgstr "Hongrois :" #: src/audacious/ui_credits.c:204 msgid "Italian:" -msgstr "Italien:" +msgstr "Italien :" #: src/audacious/ui_credits.c:208 msgid "Japanese:" -msgstr "Japonais:" +msgstr "Japonais :" #: src/audacious/ui_credits.c:211 msgid "Korean:" -msgstr "Coréen:" +msgstr "Koréenn :" #: src/audacious/ui_credits.c:214 msgid "Lithuanian:" -msgstr "Lituanien:" +msgstr "Lituanien :" #: src/audacious/ui_credits.c:217 msgid "Macedonian:" -msgstr "Macédonien:" +msgstr "Macédonien :" #: src/audacious/ui_credits.c:220 msgid "Polish:" -msgstr "Polonais:" +msgstr "Polonais :" #: src/audacious/ui_credits.c:223 msgid "Romanian:" -msgstr "Roumain:" +msgstr "Roumain :" #: src/audacious/ui_credits.c:227 msgid "Russian:" -msgstr "Russe:" +msgstr "Russe :" #: src/audacious/ui_credits.c:230 msgid "Serbian (Latin):" -msgstr "Serbe (Latin):" +msgstr "Serbe (latin) :" #: src/audacious/ui_credits.c:233 msgid "Serbian (Cyrillic):" -msgstr "Serbe (Cyrillic):" +msgstr "Serbe (cyrillique) :" #: src/audacious/ui_credits.c:236 msgid "Simplified Chinese:" -msgstr "Chinois Simplifié:" +msgstr "Chinois simplifié :" #: src/audacious/ui_credits.c:239 msgid "Slovak:" -msgstr "Slovaque:" +msgstr "Slovaque :" #: src/audacious/ui_credits.c:242 msgid "Spanish:" -msgstr "Espagnol:" +msgstr "Espagnol :" #: src/audacious/ui_credits.c:245 msgid "Swedish:" -msgstr "Suédois:" +msgstr "Suédois :" #: src/audacious/ui_credits.c:248 msgid "Traditional Chinese:" -msgstr "Chinois Traditionnel:" +msgstr "Chinois traditionnel :" #: src/audacious/ui_credits.c:251 msgid "Turkish:" -msgstr "Turque:" +msgstr "Turc :" #: src/audacious/ui_credits.c:255 msgid "Ukrainian:" @@ -1039,7 +1052,7 @@ #: src/audacious/ui_credits.c:258 msgid "Welsh:" -msgstr "Gallois:" +msgstr "Gallois :" #: src/audacious/ui_credits.c:404 msgid "Translators" @@ -1047,15 +1060,15 @@ #: src/audacious/ui_equalizer.c:535 msgid "Audacious Equalizer" -msgstr "Équaliseur" +msgstr "Égaliseur d'Audacious" #: src/audacious/ui_equalizer.c:1169 msgid "Presets" -msgstr "Pré-réglages" +msgstr "Préréglages" #: src/audacious/ui_fileinfo.c:158 msgid "Track Information Window" -msgstr "Fenêtre d'information de la piste" +msgstr "Fenêtre d'informations sur le morceau" #: src/audacious/ui_fileinfopopup.c:252 src/audacious/ui_fileinfopopup.c:364 #: src/audacious/ui_preferences.c:125 @@ -1080,11 +1093,11 @@ #: src/audacious/ui_fileinfopopup.c:267 msgid "Track Number" -msgstr "Numéro de Piste" +msgstr "Piste" #: src/audacious/ui_fileinfopopup.c:271 msgid "Track Length" -msgstr "Durée du Morceau" +msgstr "Durée" #: src/audacious/ui_fileinfopopup.c:373 src/audacious/ui_preferences.c:128 #: src/audacious/ui_preferences.c:420 @@ -1093,7 +1106,7 @@ #: src/audacious/ui_fileopener.c:127 msgid "Open Files" -msgstr "Ouvrir les fichiers" +msgstr "Ouvrir des fichiers" #: src/audacious/ui_fileopener.c:127 msgid "Add Files" @@ -1101,23 +1114,23 @@ #: src/audacious/ui_fileopener.c:129 msgid "Close dialog on Open" -msgstr "Fermer la fenêtre après l'ouverture" +msgstr "Fermer la fenêtre après l'ouverture des fichiers" #: src/audacious/ui_fileopener.c:129 msgid "Close dialog on Add" -msgstr "Fermer la fenêtre après l'ajout" +msgstr "Fermer la fenêtre après l'ajout des fichiers" #: src/audacious/ui_fileopener.c:356 msgid "Play files" -msgstr "Jouer les fichiers" +msgstr "Lire des fichiers" #: src/audacious/ui_fileopener.c:358 msgid "Load files" -msgstr "Charger les fichiers" +msgstr "Charger des fichiers" #: src/audacious/ui_jumptotrack.c:138 msgid "Un_queue" -msgstr "_Retirer de la file" +msgstr "Enlever de la file d'attente" #: src/audacious/ui_jumptotrack.c:140 src/audacious/ui_jumptotrack.c:603 msgid "_Queue" @@ -1125,19 +1138,21 @@ #: src/audacious/ui_jumptotrack.c:518 msgid "Jump to Track" -msgstr "Aller au morceau" +msgstr "Aller au morceau..." #: src/audacious/ui_jumptotrack.c:559 msgid "Filter: " -msgstr "Filtre:" +msgstr "Filtre :" #: src/audacious/ui_jumptotrack.c:560 msgid "_Filter:" -msgstr "_Filtre:" +msgstr "_Filtre :" #: src/audacious/ui_jumptotrack.c:594 msgid "Close on Jump" -msgstr "Fermer" +msgstr "" +"Fermeture après\n" +"la sélection" #: src/audacious/ui_main.c:489 #, c-format @@ -1159,7 +1174,7 @@ #: src/audacious/ui_main.c:1060 src/audacious/ui_manager.c:420 #: src/audacious/ui_manager.c:421 msgid "Jump to Time" -msgstr "Aller au Temps" +msgstr "Aller au temps..." #: src/audacious/ui_main.c:1081 msgid "minutes:seconds" @@ -1167,15 +1182,15 @@ #: src/audacious/ui_main.c:1091 msgid "Track length:" -msgstr "Durée du morceau:" +msgstr "Durée du morceau :" #: src/audacious/ui_main.c:1228 msgid "Audacious - visibility warning" -msgstr "Audacious - Alerte" +msgstr "Audacious - avertissement quant à la visibilité" #: src/audacious/ui_main.c:1230 msgid "Show main player window" -msgstr "Voir la fenêtre du lecteur principal" +msgstr "Montrer la fenêtre principale" #: src/audacious/ui_main.c:1231 msgid "Ignore" @@ -1188,70 +1203,74 @@ "otherwise, you'll have to control it remotely via audtool or enabled plugins " "(such as the statusicon plugin)." msgstr "" -"Audacious a été démarré avec toutes les fenêtres cachées.\n" -"Vous voudriez encore voir la fenêtre du lecteur pour controler Audacious; " -"Sinon, vous devrez le contrôler avec Audtool ou des greffons compilés (comme " -"le greffon Statusicon)." +"Audacious a démarré, mais toutes les fenêtres de l'interface sont cachées.\n" +"Peut-être voulez-vous voir à nouveau la fenêtre principale, afin de pouvoir\n" +"contrôler Audacious. Dans le cas contraire, vous devrez utiliser les " +"commandes\n" +"distantes, par l'intermédiaire de 'audtool' ou des extensions activées\n" +"('statusicon', par exemple)." #: src/audacious/ui_main.c:1241 msgid "Always ignore, show/hide is controlled remotely" -msgstr "Toujours ignoré, voir/caché est controllé automatiquement" +msgstr "" +"Toujours ignorer : la fonction 'montrer'/'cacher' est contrôlée de manière " +"distante." #: src/audacious/ui_main.c:1259 msgid "Enter location to play:" -msgstr "Entrer l'emplacement à jouer :" +msgstr "Emplacement à lire :" #: src/audacious/ui_main.c:1504 #, c-format msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)" -msgstr "Rechercher à: %d:%-2.2d/%d:%-2.2d (%d%%)" +msgstr "Aller a : %d:%-2.2d/%d:%-2.2d (%d%%)" #: src/audacious/ui_main.c:1536 #, c-format msgid "Volume: %d%%" -msgstr "Volume: %d%%" +msgstr "Volume : %d%%" #: src/audacious/ui_main.c:1566 #, c-format msgid "Balance: %d%% left" -msgstr "Balance: %d%% gauche" +msgstr "Balance : %d%% gauche" #: src/audacious/ui_main.c:1570 msgid "Balance: center" -msgstr "Balance: centre" +msgstr "Balance : centre" #: src/audacious/ui_main.c:1574 #, c-format msgid "Balance: %d%% right" -msgstr "Balance: %d%% droite" +msgstr "Balance : %d%% droite" #: src/audacious/ui_main.c:1916 msgid "Options Menu" -msgstr "Menu des Options" +msgstr "Menu des options" #: src/audacious/ui_main.c:1920 msgid "Disable 'Always On Top'" -msgstr "Désactiver Toujours au-dessus" +msgstr "Annuler 'Toujours au premier plan'" #: src/audacious/ui_main.c:1922 msgid "Enable 'Always On Top'" -msgstr "Activer Toujours au-dessus" +msgstr "Activer 'Toujours au premier plan'" #: src/audacious/ui_main.c:1925 msgid "File Info Box" -msgstr "Info du Fichier" +msgstr "Informations sur le fichier" #: src/audacious/ui_main.c:1929 msgid "Disable 'Doublesize'" -msgstr "Désactiver 'Doublesize'" +msgstr "Annuler 'Taille double'" #: src/audacious/ui_main.c:1931 msgid "Enable 'Doublesize'" -msgstr "Activer 'Doublesize'" +msgstr "Activer 'Taille double'" #: src/audacious/ui_main.c:1934 msgid "Visualization Menu" -msgstr "Menu Visualisation" +msgstr "Menu des effets visuels" #: src/audacious/ui_main.c:1982 msgid "" @@ -1262,16 +1281,16 @@ "2. No other programs is blocking the soundcard.\n" "3. Your soundcard is configured properly.\n" msgstr "" -"<b><big>Problème d'utilisation audio.</big></b>\n" +"<b><big>Le périphérique audio n'a pas pu être ouvert.</big></b>\n" "\n" -"Veuillez vérifier que:\n" -"1. vous avez choisi le bon greffon de sortie.\n" -"2. aucun programme n'utilise déjà la carte son.\n" +"Veuillez vous assurer que\n" +"1. vous avez sélectionné le module de sortie adéquat.\n" +"2. d'autres programmes ne bloquent pas le système audio.\n" "3. votre carte son est correctement configurée.\n" #: src/audacious/ui_main.c:2446 msgid "Error in Audacious." -msgstr "Erruer dans Audacious" +msgstr "Erreur dans Audacious." #: src/audacious/ui_manager.c:48 src/audacious/ui_manager.c:49 msgid "Autoscroll Songname" @@ -1279,7 +1298,7 @@ #: src/audacious/ui_manager.c:51 src/audacious/ui_manager.c:52 msgid "Stop after Current Song" -msgstr "Arrêter la lecture du morceau" +msgstr "Arrêter après le titre en cours de lecture" #: src/audacious/ui_manager.c:54 src/audacious/ui_manager.c:55 msgid "Peaks" @@ -1291,11 +1310,11 @@ #: src/audacious/ui_manager.c:60 src/audacious/ui_manager.c:61 msgid "Shuffle" -msgstr "Mélanger" +msgstr "Mode aléatoire" #: src/audacious/ui_manager.c:63 src/audacious/ui_manager.c:64 msgid "No Playlist Advance" -msgstr "Ne pas avancer dans la liste" +msgstr "Ne pas avancer dans la liste de lecture" #: src/audacious/ui_manager.c:66 src/audacious/ui_manager.c:67 msgid "Show Player" @@ -1303,19 +1322,19 @@ #: src/audacious/ui_manager.c:69 src/audacious/ui_manager.c:70 msgid "Show Playlist Editor" -msgstr "Montrer la liste d'écoute" +msgstr "Montrer l'éditeur de liste" #: src/audacious/ui_manager.c:72 src/audacious/ui_manager.c:73 msgid "Show Equalizer" -msgstr "Équaliseur" +msgstr "Montrer l'égaliseur" #: src/audacious/ui_manager.c:75 src/audacious/ui_manager.c:76 msgid "Always on Top" -msgstr "Toujours au-dessus" +msgstr "Toujours au premier plan" #: src/audacious/ui_manager.c:78 src/audacious/ui_manager.c:79 msgid "Put on All Workspaces" -msgstr "Visible partout" +msgstr "Afficher sur tous les bureaux" #: src/audacious/ui_manager.c:81 src/audacious/ui_manager.c:82 msgid "Roll up Player" @@ -1327,31 +1346,31 @@ #: src/audacious/ui_manager.c:87 src/audacious/ui_manager.c:88 msgid "Roll up Equalizer" -msgstr "Enrouler l'équaliseur" +msgstr "Enrouler l'égaliseur" #: src/audacious/ui_manager.c:90 src/audacious/ui_manager.c:91 msgid "DoubleSize" -msgstr "Double Taille" +msgstr "Taille double" #: src/audacious/ui_manager.c:93 src/audacious/ui_manager.c:94 msgid "Easy Move" -msgstr "Easy Move" +msgstr "Déplacement facile" #: src/audacious/ui_manager.c:102 msgid "Analyzer" -msgstr "Type Analyseur" +msgstr "Analyseur" #: src/audacious/ui_manager.c:103 msgid "Scope" -msgstr "Type Scope" +msgstr "Oscilloscope" #: src/audacious/ui_manager.c:104 msgid "Voiceprint" -msgstr "Type Analyseur/Feu" +msgstr "Spectrogramme" #: src/audacious/ui_manager.c:105 msgid "Off" -msgstr "Off" +msgstr "Arrêt" #: src/audacious/ui_manager.c:109 src/audacious/ui_manager.c:126 #: src/audacious/ui_manager.c:132 @@ -1360,11 +1379,11 @@ #: src/audacious/ui_manager.c:110 src/audacious/ui_manager.c:127 msgid "Fire" -msgstr "Fire" +msgstr "Feu" #: src/audacious/ui_manager.c:111 msgid "Vertical Lines" -msgstr "Type Analyseur/Lignes verticales" +msgstr "Lignes verticales" #: src/audacious/ui_manager.c:115 msgid "Lines" @@ -1372,55 +1391,55 @@ #: src/audacious/ui_manager.c:116 msgid "Bars" -msgstr "Bars" +msgstr "Barres" #: src/audacious/ui_manager.c:120 msgid "Dot Scope" -msgstr "Type Scope/Point" +msgstr "En points" #: src/audacious/ui_manager.c:121 msgid "Line Scope" -msgstr "Type Scope/Ligne" +msgstr "En lignes" #: src/audacious/ui_manager.c:122 msgid "Solid Scope" -msgstr "Type Scope/Solide" +msgstr "En vagues" #: src/audacious/ui_manager.c:128 msgid "Ice" -msgstr "Ice" +msgstr "Glace" #: src/audacious/ui_manager.c:133 msgid "Smooth" -msgstr "Smooth" +msgstr "Lissé" #: src/audacious/ui_manager.c:137 msgid "Full (~50 fps)" -msgstr "Taux de Rafraîchissement/Max (~50 fps)" +msgstr "Complet (~50 fps)" #: src/audacious/ui_manager.c:138 msgid "Half (~25 fps)" -msgstr "Taux de Rafraîchissement/Haut (~25 fps)" +msgstr "Moitié (~25 fps)" #: src/audacious/ui_manager.c:139 msgid "Quarter (~13 fps)" -msgstr "Taux de Rafraîchissement/Moyen (~13 fps)" +msgstr "Quart (~13 fps)" #: src/audacious/ui_manager.c:140 msgid "Eighth (~6 fps)" -msgstr "Taux de Rafraîchisement/Bas (~6 fps)" +msgstr "Huitième (~6 fps)" #: src/audacious/ui_manager.c:144 src/audacious/ui_manager.c:152 msgid "Slowest" -msgstr "Plus lent" +msgstr "Très lente" #: src/audacious/ui_manager.c:145 src/audacious/ui_manager.c:153 msgid "Slow" -msgstr "Lent" +msgstr "Lente" #: src/audacious/ui_manager.c:146 src/audacious/ui_manager.c:154 msgid "Medium" -msgstr "Moyen" +msgstr "Moyenne" #: src/audacious/ui_manager.c:147 src/audacious/ui_manager.c:155 msgid "Fast" @@ -1428,7 +1447,7 @@ #: src/audacious/ui_manager.c:148 src/audacious/ui_manager.c:156 msgid "Fastest" -msgstr "Plus rapide" +msgstr "Très rapide" #: src/audacious/ui_manager.c:160 msgid "Time Elapsed" @@ -1440,7 +1459,7 @@ #: src/audacious/ui_manager.c:170 msgid "Playback" -msgstr "_Lecture" +msgstr "Lecture" #: src/audacious/ui_manager.c:172 src/audacious/ui_manager.c:173 msgid "Play" @@ -1452,7 +1471,7 @@ #: src/audacious/ui_manager.c:178 src/audacious/ui_manager.c:179 msgid "Stop" -msgstr "Stop" +msgstr "Arrêt" #: src/audacious/ui_manager.c:181 src/audacious/ui_manager.c:182 msgid "Previous" @@ -1464,107 +1483,107 @@ #: src/audacious/ui_manager.c:190 msgid "Visualization" -msgstr "Type de graph_ique" +msgstr "Visualisation" #: src/audacious/ui_manager.c:191 msgid "Visualization Mode" -msgstr "Type de graphique" +msgstr "Type de visualisation" #: src/audacious/ui_manager.c:192 msgid "Analyzer Mode" -msgstr "Type Analyseur/Feu" +msgstr "Mode analyseur" #: src/audacious/ui_manager.c:193 msgid "Scope Mode" -msgstr "Type Scope" +msgstr "Mode oscilloscope" #: src/audacious/ui_manager.c:194 msgid "Voiceprint Mode" -msgstr "Type Analyseur/Feu" +msgstr "Mode spectrogramme" #: src/audacious/ui_manager.c:195 msgid "WindowShade VU Mode" -msgstr "Mode Fenêtre Réduite" +msgstr "Mode VU en fenêtre réduite" #: src/audacious/ui_manager.c:196 msgid "Refresh Rate" -msgstr "Taux de Rafraîchissement" +msgstr "Taux de rafraîchissement" #: src/audacious/ui_manager.c:197 msgid "Analyzer Falloff" -msgstr "Effet Retombée Analyseur" +msgstr "Retombée de l'analyseur" #: src/audacious/ui_manager.c:198 msgid "Peaks Falloff" -msgstr "Effet Retombée Crêtes" +msgstr "Retombée des pics" #: src/audacious/ui_manager.c:205 src/audacious/ui_manager.c:206 msgid "New Playlist" -msgstr "Nouvelle Liste d'Ecoute" +msgstr "Nouvelle liste" #: src/audacious/ui_manager.c:208 src/audacious/ui_manager.c:209 msgid "Select Next Playlist" -msgstr "Sélectionner la Prochaine Liste d'Ecoute" +msgstr "Liste suivante" #: src/audacious/ui_manager.c:211 src/audacious/ui_manager.c:212 msgid "Select Previous Playlist" -msgstr "Sélectionner la Liste d'Ecoute Précédente" +msgstr "Liste précédente" #: src/audacious/ui_manager.c:214 src/audacious/ui_manager.c:215 msgid "Delete Playlist" -msgstr "Effacer la Liste d'Ecoute" +msgstr "Supprimer la liste" #: src/audacious/ui_manager.c:217 msgid "Load List" -msgstr "Charger" +msgstr "Charger une liste" #: src/audacious/ui_manager.c:218 msgid "Loads a playlist file into the selected playlist." -msgstr "Charger une liste d'écoute dans la liste d'écoute sélectionnée" +msgstr "Importer une liste de lecture dans la liste active." #: src/audacious/ui_manager.c:220 msgid "Save List" -msgstr "Sauver" +msgstr "Enregistrer la liste" #: src/audacious/ui_manager.c:221 msgid "Saves the selected playlist." -msgstr "Sauver la Liste d'écoute." +msgstr "Enregistrer la liste de lecture active." #: src/audacious/ui_manager.c:223 msgid "Save Default List" -msgstr "Sauver la Liste par Défaut" +msgstr "Enregistrer comme liste par défaut" #: src/audacious/ui_manager.c:224 msgid "Saves the selected playlist to the default location." -msgstr "Sauver la liste d'écoute sélectionnées vers l'emplacement par défaut." +msgstr "Enregistre la liste de lecture active en tant que liste par défaut." #: src/audacious/ui_manager.c:227 msgid "Refresh List" -msgstr "Rafraichir" +msgstr "Actualiser la liste" #: src/audacious/ui_manager.c:228 msgid "Refreshes metadata associated with a playlist entry." -msgstr "Rafraichir les méta-données associées avec la liste d'écoute" +msgstr "Actualise les métadonnées associées à une entrée de la liste." #: src/audacious/ui_manager.c:231 msgid "List Manager" -msgstr "Gestionnaire de Listes" +msgstr "Gestionnaire de listes" #: src/audacious/ui_manager.c:232 msgid "Opens the playlist manager." -msgstr "Ouvrir le gestionnaire de liste d'écoute." +msgstr "Ouvre le gestionnaire de listes de lecture." #: src/audacious/ui_manager.c:238 msgid "View" -msgstr "Voir" +msgstr "Affichage" #: src/audacious/ui_manager.c:242 msgid "Add Internet Address..." -msgstr "Ajouter une adresse Internet..." +msgstr "Ajouter un flux Internet..." #: src/audacious/ui_manager.c:243 msgid "Adds a remote track to the playlist." -msgstr "Ajouter une piste aléatoire à la liste d'écoute" +msgstr "Ajoute un flux distant à la liste de lecture." #: src/audacious/ui_manager.c:246 msgid "Add Files..." @@ -1572,19 +1591,19 @@ #: src/audacious/ui_manager.c:247 msgid "Adds files to the playlist." -msgstr "Ajouter des fichiers à la liste d'écoute." +msgstr "Ajoute des fichiers à la liste de lecture." #: src/audacious/ui_manager.c:252 msgid "Search and Select" -msgstr "Chercher et Sélectionner" +msgstr "Chercher et sélectionner" #: src/audacious/ui_manager.c:253 msgid "" "Searches the playlist and selects playlist entries based on specific " "criteria." msgstr "" -"Chercher et sélectionner les entrées de la liste d'écoute basées sur des " -"critères spécifiques." +"Effectue une recherche dans la liste de lecture et sélectionne des entrées " +"en fonction de critères définis." #: src/audacious/ui_manager.c:256 msgid "Invert Selection" @@ -1592,110 +1611,110 @@ #: src/audacious/ui_manager.c:257 msgid "Inverts the selected and unselected entries." -msgstr "Inverser la sélection et les entrées non-sélectionnées." +msgstr "Inverse les entrées sélectionnées et les entrées non sélectionnées" #: src/audacious/ui_manager.c:260 msgid "Select All" -msgstr "Tous" +msgstr "Tout sélectionner" #: src/audacious/ui_manager.c:261 msgid "Selects all of the playlist entries." -msgstr "Sélectionner toutes les listes d'écoute." +msgstr "Sélectionne toutes les entrées de la liste." #: src/audacious/ui_manager.c:264 msgid "Select None" -msgstr "Ne Rien Sélectionner" +msgstr "Ne rien sélectionner" #: src/audacious/ui_manager.c:265 msgid "Deselects all of the playlist entries." -msgstr "Désélectionner toutes les listes d'écoute" +msgstr "Annule la sélection de toutes les entrées de la liste." #: src/audacious/ui_manager.c:270 msgid "Clear Queue" -msgstr "Vider la File" +msgstr "Vider la file" #: src/audacious/ui_manager.c:271 msgid "Clears the queue associated with this playlist." -msgstr "Effacer la queue associée avec cette liste d'écoute." +msgstr "Vide la file associée à la liste de lecture." #: src/audacious/ui_manager.c:274 msgid "Remove Unavailable Files" -msgstr "Enlever les fichiers inexistants" +msgstr "Effacer les fichiers inexistants" #: src/audacious/ui_manager.c:275 msgid "Removes unavailable files from the playlist." -msgstr "Enlever les fichiers inexistants" +msgstr "Efface les fichiers inexistants de la liste de lecture." #: src/audacious/ui_manager.c:278 msgid "Remove Duplicates" -msgstr "Enlever les fichiers dupliqués" +msgstr "Effacer les éléments redondants" #: src/audacious/ui_manager.c:280 src/audacious/ui_manager.c:316 #: src/audacious/ui_manager.c:346 msgid "By Title" -msgstr "Par Titre" +msgstr "Par titre" #: src/audacious/ui_manager.c:281 msgid "Removes duplicate entries from the playlist by title." -msgstr "Enlever les entrées dupliquées de la liste d'écoute par titre." +msgstr "Efface les entrées redondantes, en fonction de leur titre." #: src/audacious/ui_manager.c:284 src/audacious/ui_manager.c:324 #: src/audacious/ui_manager.c:354 msgid "By Filename" -msgstr "Par Nom du fichier" +msgstr "Par nom de fichier" #: src/audacious/ui_manager.c:285 msgid "Removes duplicate entries from the playlist by filename." -msgstr "Enlever les fichiers dupliqués par nom de fichier." +msgstr "Efface les entrées redondantes, en fonction de leur nom de fichier." #: src/audacious/ui_manager.c:288 src/audacious/ui_manager.c:328 #: src/audacious/ui_manager.c:358 msgid "By Path + Filename" -msgstr "Par Chemin + Nom de Fichier" +msgstr "Par chemin et nom de fichier" #: src/audacious/ui_manager.c:289 msgid "Removes duplicate entries from the playlist by their full path." -msgstr "Enlever les entrées dupliquées de la liste d'écoute par emplacement." +msgstr "Efface les entrées redondantes, en fonction de leur chemin complet." #: src/audacious/ui_manager.c:292 msgid "Remove All" -msgstr "Tout Supprimer" +msgstr "Effacer toutes les entrées" #: src/audacious/ui_manager.c:293 msgid "Removes all entries from the playlist." -msgstr "Enlever toutes les entrées de la liste d'écoute." +msgstr "Efface toutes les entrées de la liste de lecture." #: src/audacious/ui_manager.c:296 msgid "Remove Unselected" -msgstr "Supprimer Non-sélectionnées" +msgstr "Ne garder que la sélection" #: src/audacious/ui_manager.c:297 msgid "Remove unselected entries from the playlist." -msgstr "Enlever les entrées non-sélectionnées de la liste d'écoute." +msgstr "Efface les entrées non sélectionnées de la liste de lecture" #: src/audacious/ui_manager.c:300 msgid "Remove Selected" -msgstr "Supprimer Sélectionnées" +msgstr "Effacer la sélection" #: src/audacious/ui_manager.c:301 msgid "Remove selected entries from the playlist." -msgstr "Enlever les entrées sélectionnées de la liste d'écoute." +msgstr "Efface les entrées sélectionnées de la liste de lecture." #: src/audacious/ui_manager.c:306 msgid "Randomize List" -msgstr "Mélanger la Liste" +msgstr "Mélanger la liste" #: src/audacious/ui_manager.c:307 msgid "Randomizes the playlist." -msgstr "Mélanger la liste d'écoute" +msgstr "Mélange la liste de lecture." #: src/audacious/ui_manager.c:310 msgid "Reverse List" -msgstr "Inverser la Liste" +msgstr "Inverser la liste" #: src/audacious/ui_manager.c:311 msgid "Reverses the playlist." -msgstr "Renverser la liste d'écoute." +msgstr "Inverse la liste de lecture." #: src/audacious/ui_manager.c:314 msgid "Sort List" @@ -1703,47 +1722,47 @@ #: src/audacious/ui_manager.c:317 src/audacious/ui_manager.c:347 msgid "Sorts the list by title." -msgstr "Trier la liste par titre" +msgstr "Trie la liste, en fonction du titre des entrées." #: src/audacious/ui_manager.c:320 src/audacious/ui_manager.c:350 msgid "By Artist" -msgstr "Par Artiste" +msgstr "Par artiste" #: src/audacious/ui_manager.c:321 src/audacious/ui_manager.c:351 msgid "Sorts the list by artist." -msgstr "Trier la liste par artiste" +msgstr "Trie la liste, en fonction de l'artiste." #: src/audacious/ui_manager.c:325 src/audacious/ui_manager.c:355 msgid "Sorts the list by filename." -msgstr "Trier la liste par nom de fichier" +msgstr "Trie la liste, en fonction du nom de fichier des entrées." #: src/audacious/ui_manager.c:329 src/audacious/ui_manager.c:359 msgid "Sorts the list by full pathname." -msgstr "Tri de la liste par nom d'emplacement." +msgstr "Trie la liste, en fonction du chemin complet des entrées." #: src/audacious/ui_manager.c:332 src/audacious/ui_manager.c:362 msgid "By Date" -msgstr "Par Date" +msgstr "Par date" #: src/audacious/ui_manager.c:333 src/audacious/ui_manager.c:363 msgid "Sorts the list by modification time." -msgstr "Tri de la liste par temps de modification." +msgstr "Trie la liste, en fonction de la date de modification." #: src/audacious/ui_manager.c:336 src/audacious/ui_manager.c:366 msgid "By Track Number" -msgstr "Par Numéro de Piste" +msgstr "Par numéro de piste" #: src/audacious/ui_manager.c:337 src/audacious/ui_manager.c:367 msgid "Sorts the list by track number." -msgstr "Trier la Liste par numéro de piste" +msgstr "Trie la liste, en fonction du numéro des pistes." #: src/audacious/ui_manager.c:340 src/audacious/ui_manager.c:370 msgid "By Playlist Entry" -msgstr "Trier la Liste par entrée de la liste d'écoute" +msgstr "Par entrée de liste" #: src/audacious/ui_manager.c:341 src/audacious/ui_manager.c:371 msgid "Sorts the list by playlist entry." -msgstr "Trier la Liste par entrée de la liste d'écoute." +msgstr "Trie la liste, en fonction des entrées qu'elle contient." #: src/audacious/ui_manager.c:344 msgid "Sort Selected" @@ -1759,44 +1778,43 @@ #: src/audacious/ui_manager.c:383 msgid "Plugin Services" -msgstr "Services Greffon" +msgstr "Services des modules" #: src/audacious/ui_manager.c:385 src/audacious/ui_manager.c:388 msgid "View Track Details" -msgstr "Afficher le Détail" +msgstr "Afficher les détails" #: src/audacious/ui_manager.c:386 src/audacious/ui_manager.c:389 msgid "View track details" -msgstr "Afficher le Détail" +msgstr "Affiche les informations relatives au morceau." #: src/audacious/ui_manager.c:394 msgid "Play File" -msgstr "Jouer le Fichier" +msgstr "Lire un fichier..." #: src/audacious/ui_manager.c:395 msgid "Load and play a file" -msgstr "Charger et jouer un fichier" +msgstr "Charge et lit un fichier." #: src/audacious/ui_manager.c:397 msgid "Play Location" -msgstr "Jouer le Chemin" +msgstr "Lire un emplacement..." #: src/audacious/ui_manager.c:398 msgid "Play media from the selected location" -msgstr "Lire le média de la location sélectionnée" +msgstr "Lit les média de l'emplacement sélectionné." #: src/audacious/ui_manager.c:400 -#, fuzzy msgid "Plugin services" -msgstr "Services Greffon" +msgstr "Menu des services" #: src/audacious/ui_manager.c:402 msgid "Preferences" -msgstr "Préférences" +msgstr "Préférences..." #: src/audacious/ui_manager.c:403 msgid "Open preferences window" -msgstr "Ouvrir les Préférences" +msgstr "Ouvre la fenêtre des préférences." #: src/audacious/ui_manager.c:405 msgid "_Quit" @@ -1804,11 +1822,11 @@ #: src/audacious/ui_manager.c:406 msgid "Quit Audacious" -msgstr "Quitter Audacious" +msgstr "Ferme Audacious." #: src/audacious/ui_manager.c:408 src/audacious/ui_manager.c:409 msgid "Set A-B" -msgstr "Activer A-B" +msgstr "Marquer A-B" #: src/audacious/ui_manager.c:411 src/audacious/ui_manager.c:412 msgid "Clear A-B" @@ -1816,19 +1834,19 @@ #: src/audacious/ui_manager.c:414 src/audacious/ui_manager.c:415 msgid "Jump to Playlist Start" -msgstr "Retourner au début de la liste" +msgstr "Aller au début de la liste" #: src/audacious/ui_manager.c:417 src/audacious/ui_manager.c:418 msgid "Jump to File" -msgstr "Aller au Fichier" +msgstr "Aller au fichier..." #: src/audacious/ui_manager.c:423 msgid "Queue Toggle" -msgstr "Basculer dans la file" +msgstr "Mettre dans la file d'attente" #: src/audacious/ui_manager.c:424 msgid "Enables/disables the entry in the playlist's queue." -msgstr "Activer/Désactiver l'entrée dans la file de la liste d'écoute." +msgstr "Active/désactive l'entrée dans la file d'attente de la liste." #: src/audacious/ui_manager.c:431 msgid "Load" @@ -1840,7 +1858,7 @@ #: src/audacious/ui_manager.c:433 msgid "Save" -msgstr "Sauver" +msgstr "Enregistrer" #: src/audacious/ui_manager.c:434 msgid "Delete" @@ -1849,100 +1867,100 @@ #: src/audacious/ui_manager.c:436 src/audacious/ui_manager.c:457 #: src/audacious/ui_manager.c:472 msgid "Preset" -msgstr "Pré-réglage" +msgstr "Préréglage général" #: src/audacious/ui_manager.c:437 msgid "Load preset" -msgstr "Charger pré-réglages" +msgstr "Charge un préréglage général." #: src/audacious/ui_manager.c:439 src/audacious/ui_manager.c:460 #: src/audacious/ui_manager.c:475 msgid "Auto-load preset" -msgstr "Charger le pré-réglage" +msgstr "Préréglage spécifique" #: src/audacious/ui_manager.c:440 msgid "Load auto-load preset" -msgstr "Charger le pré-réglage" +msgstr "Charge un préréglage spécifique." #: src/audacious/ui_manager.c:442 src/audacious/ui_manager.c:463 msgid "Default" -msgstr "Défaut" +msgstr "Préréglage par défaut" #: src/audacious/ui_manager.c:443 msgid "Load default preset into equalizer" -msgstr "Charger le preset par défaut dans l'équaliseur" +msgstr "Charge le préréglage par défaut dans l'égaliseur." #: src/audacious/ui_manager.c:445 msgid "Zero" -msgstr "Zéro" +msgstr "Remise à zéro" #: src/audacious/ui_manager.c:446 msgid "Set equalizer preset levels to zero" -msgstr "Preset de l'équaliseur au niveau zéro" +msgstr "Réinitialise le niveau des préréglages." #: src/audacious/ui_manager.c:448 msgid "From file" -msgstr "/A partir du fichier" +msgstr "À partir d'un fichier" #: src/audacious/ui_manager.c:449 msgid "Load preset from file" -msgstr "Charger les preset à partir du fichier" +msgstr "Charge un préréglage à partir d'un fichier." #: src/audacious/ui_manager.c:451 msgid "From WinAMP EQF file" -msgstr "A partir d'un fichier EQF de Winamp" +msgstr "À partir d'un fichier EQF WinAMP" #: src/audacious/ui_manager.c:452 msgid "Load preset from WinAMP EQF file" -msgstr "Charger un preset à partir d'un fichier EQF de Winamp" +msgstr "Charge un préréglage à partir d'un fichier EQF de WinAMP." #: src/audacious/ui_manager.c:454 msgid "WinAMP Presets" -msgstr "Pré-réglages Winamp" +msgstr "Préréglages WinAMP" #: src/audacious/ui_manager.c:455 msgid "Import WinAMP presets" -msgstr "Importer les pré-réglages Winamp" +msgstr "Importe les préréglages de WinAMP." #: src/audacious/ui_manager.c:458 msgid "Save preset" -msgstr "Sauver pré-réglages" +msgstr "Enregistre comme préréglage général." #: src/audacious/ui_manager.c:461 msgid "Save auto-load preset" -msgstr "Sauver le pré-réglage" +msgstr "Enregistre comme préréglage spécifique." #: src/audacious/ui_manager.c:464 msgid "Save default preset" -msgstr "Sauver pré-réglages auto" +msgstr "Enregistre comme préréglage par défaut." #: src/audacious/ui_manager.c:466 msgid "To file" -msgstr "Vers le fichier" +msgstr "Dans un fichier" #: src/audacious/ui_manager.c:467 msgid "Save preset to file" -msgstr "Sauver le preset vers le fichier" +msgstr "Enregistre le préréglage dans un fichier." #: src/audacious/ui_manager.c:469 msgid "To WinAMP EQF file" -msgstr "Vers un fichier EQF de Winamp" +msgstr "Dans un fichier EQF WinAMP" #: src/audacious/ui_manager.c:470 msgid "Save preset to WinAMP EQF file" -msgstr "Sauver le preset vers un fichier EQF de Winamp" +msgstr "Enregistre le préréglage dans un fichier EQF de WinAMP." #: src/audacious/ui_manager.c:473 msgid "Delete preset" -msgstr "Effacer pré-réglages" +msgstr "Efface un préréglage." #: src/audacious/ui_manager.c:476 msgid "Delete auto-load preset" -msgstr "Effacer le pré-réglage chargé auto." +msgstr "Efface un préréglage spécifique." #: src/audacious/ui_playlist.c:477 msgid "Search entries in active playlist" -msgstr "Chercher les entrées dans la liste d'écoute active" +msgstr "Chercher des entrées dans la liste active" #: src/audacious/ui_playlist.c:485 msgid "" @@ -1951,48 +1969,49 @@ "expressions work, simply insert a literal portion of what you're searching " "for." msgstr "" -"Sélectionner les entrées dans la liste d'écoute en fichant un ou plusieurs " -"champs. Les champs utilise des syntaxes d'expressions régulières, des cases " -"insensitives. Si vous ne connaissez pas comment fonctionne des expressions " -"régulières, insérer simplement une portion littérale de ce que vous cherchez." +"Le choix des entrées de la liste de lecture s'effectue au moyen des champs " +"ci-dessous. La syntaxe utilisée est celle des expressions régulières et est " +"sensible à la casse. Si vous ne savez pas comment fonctionnent les " +"expressions régulières, vous pouvez simplement indiquer une expression " +"littérale de ce que vous cherchez." #: src/audacious/ui_playlist.c:493 msgid "Title: " -msgstr "Titre:" +msgstr "Titre du morceau : " #: src/audacious/ui_playlist.c:500 msgid "Album: " -msgstr "Album:" +msgstr "Titre de l'album : " #: src/audacious/ui_playlist.c:507 msgid "Artist: " -msgstr "Artiste:" +msgstr "Nom de l'artiste : " #: src/audacious/ui_playlist.c:514 msgid "Filename: " -msgstr "Nom du Fichier:" +msgstr "Nom du fichier : " #: src/audacious/ui_playlist.c:522 msgid "Clear previous selection before searching" -msgstr "Effacer la précédente sélection avant de rechercher" +msgstr "Effacer la sélection précédente avant d'effectuer la recherche" #: src/audacious/ui_playlist.c:525 msgid "Automatically toggle queue for matching entries" -msgstr "" +msgstr "Mettre automatiquement dans la file d'attente les entrées trouvées" #: src/audacious/ui_playlist.c:528 msgid "Create a new playlist with matching entries" -msgstr "Créer une nouvelle liste d'écoute avec des entrées assorties" +msgstr "Créer une nouvelle liste avec les entrées trouvées" #: src/audacious/ui_playlist.c:748 #, c-format msgid "Error writing playlist \"%s\": %s" -msgstr "Erreur à l'écriture de la liste \"%s\": %s" +msgstr "Erreur lors de l'écriture de la liste \"%s\": %s" #: src/audacious/ui_playlist.c:770 #, c-format msgid "%s already exist. Continue?" -msgstr "%s existe déjà. Continuer ?" +msgstr "%s existe déjà. Faut-il continuer ?" #: src/audacious/ui_playlist.c:785 #, c-format @@ -2001,33 +2020,33 @@ "\n" "Unknown file type for '%s'.\n" msgstr "" -"<b><big>Impossible de sauver la liste.</big></b>\n" +"<b><big>Impossible d'enregistrer la liste.</big></b>\n" "\n" "Type de fichier inconnu pour '%s'.\n" #: src/audacious/ui_playlist.c:911 msgid "Save as Static Playlist" -msgstr "Sauver comme liste d'écoute statique" +msgstr "Enregistrer comme liste statique" #: src/audacious/ui_playlist.c:918 msgid "Use Relative Path" -msgstr "Utiliser un emplacement relatif" +msgstr "Utiliser une arborescence relative" #: src/audacious/ui_playlist.c:940 msgid "Load Playlist" -msgstr "Charger Liste d'écoute" +msgstr "Charger une liste de lecture" #: src/audacious/ui_playlist.c:953 msgid "Save Playlist" -msgstr "Sauver la Liste d'écoute" +msgstr "Enregistrer la liste" #: src/audacious/ui_playlist.c:1508 msgid "Audacious Playlist Editor" -msgstr "Éditeur de liste d'écoute" +msgstr "Éditeur de liste d'Audacious" #: src/audacious/ui_playlist_manager.c:363 msgid "Playlist Manager" -msgstr "/Gestionnaire de liste d'écoute" +msgstr "Gestionnaire de listes de lecture" #: src/audacious/ui_playlist_manager.c:409 msgid "Entries" @@ -2043,11 +2062,11 @@ #: src/audacious/ui_preferences.c:113 msgid "Connectivity" -msgstr "Proxy" +msgstr "Connectivité" #: src/audacious/ui_preferences.c:126 msgid "Tracknumber" -msgstr "Numéro de piste" +msgstr "Numéro de la piste" #: src/audacious/ui_preferences.c:129 msgid "Filepath" @@ -2071,11 +2090,11 @@ #: src/audacious/ui_preferences.c:155 msgid "localhost" -msgstr "localhost" +msgstr "hôte local" #: src/audacious/ui_preferences.c:390 msgid "Enabled" -msgstr "Actif" +msgstr "Activé" #: src/audacious/ui_preferences.c:406 msgid "Description" @@ -2083,15 +2102,15 @@ #: src/audacious/ui_preferences.c:1395 msgid "Category" -msgstr "Rubrique" +msgstr "Catégorie" #: src/audacious/ui_preferences.c:1963 msgid "Preferences Window" -msgstr "Fenêtre des Préférences" +msgstr "Fenêtre des préférences" #: src/audacious/ui_skinned_equalizer_slider.c:386 msgid "PREAMP" -msgstr "PREAMP" +msgstr "PREAMPLIFICATION" #: src/audacious/ui_skinned_equalizer_slider.c:386 msgid "60HZ" @@ -2135,468 +2154,12 @@ #: src/audacious/ui_skinselector.c:178 msgid "Archived Winamp 2.x skin" -msgstr "Skin Winamp 2.x archivé" +msgstr "Thème Winamp 2.x archivé" #: src/audacious/ui_skinselector.c:183 msgid "Unarchived Winamp 2.x skin" -msgstr "Skin Winamp 2.x non-archivé" +msgstr "Thème Winamp 2.x non archivé" #: src/audacious/ui_urlopener.c:88 msgid "Add/Open URL Dialog" -msgstr "Ajouter / Ouvrir un URL" - -#~ msgid "Show window manager decorations" -#~ msgstr "Montrer les décorations du gestionnaire de fenêtre" - -#~ msgid "Not last.fm stream" -#~ msgstr "Ceci n'est pas un stream last.fm" - -#~ msgid "<b>Artist:</b> %s" -#~ msgstr "<b>Artist:</b> %s" - -#~ msgid "<b>Title:</b> %s" -#~ msgstr "<b>Title:</b> %s" - -#~ msgid "<b>Album:</b> %s" -#~ msgstr "<b>Album</b> %s" - -#~ msgid "" -#~ "<b><big>Couldn't find your lastfm login data.</big></b>\n" -#~ "\n" -#~ "Check if your Scrobbler's plugin login settings are configured properly.\n" -#~ msgstr "" -#~ "<b><big>Votre login lastfm est introuvable.</big></b>\n" -#~ "\n" -#~ "Vérifiez si le login du greffon de Scrobbler a été correctement " -#~ "configuré.\n" - -#~ msgid "Audacious last.fm radio tuner" -#~ msgstr "Radio Tuner Last.fm" - -#~ msgid "Station:" -#~ msgstr "Station:" - -#~ msgid "<b>Artist:</b>" -#~ msgstr "<b>Artiste</b>" - -#~ msgid "<b>Title:</b>" -#~ msgstr "<b>Titre</b>" - -#~ msgid "<b>Album:</b>" -#~ msgstr "<b>Album</b>" - -#~ msgid "Love" -#~ msgstr "Favoris" - -#~ msgid "Ban" -#~ msgstr "Bannis" - -#~ msgid "Skip" -#~ msgstr "Sauter" - -#~ msgid "Tune in" -#~ msgstr "Ecouter" - -#~ msgid "Neighbours' radio" -#~ msgstr "Radio voisine" - -#~ msgid "Personal radio" -#~ msgstr "Radio personnelle" - -#~ msgid "" -#~ "<b><big>The lastfm radio plugin could not be found.</big></b>\n" -#~ "\n" -#~ "Check if the AudioScrobbler plugin was compiled in\n" -#~ msgstr "" -#~ "<b><big>Le greffon radio lastfm ne peut être trouvé</big></b>\n" -#~ "\n" -#~ "Vérifiez si le greffon AudioScrobbler a été compilé avec Audacious\n" - -#~ msgid "VOLUME: %d%%" -#~ msgstr "VOLUME: %d%%" - -#~ msgid "BALANCE: %d%% LEFT" -#~ msgstr "BALANCE: %d%% GAUCHE" - -#~ msgid "BALANCE: CENTER" -#~ msgstr "BALANCE: CENTRÉE" - -#~ msgid "BALANCE: %d%% RIGHT" -#~ msgstr "BALANCE: %d%% DROITE" - -#~ msgid "Last.fm radio" -#~ msgstr "Radio Last.fm" - -#~ msgid "Play Last.fm radio" -#~ msgstr "Jouer Last.fm" - -#~ msgid "" -#~ "<b><big>Unable to play files.</big></b>\n" -#~ "\n" -#~ "The following files could not be played. Please check that:\n" -#~ "1. they are accessible.\n" -#~ "2. you have enabled the media plugins required." -#~ msgstr "" -#~ "<b><big>Impossible de jouer des fichiers.</big></b>\n" -#~ "\n" -#~ "Les fichiers suivants ne peuvent être lus. Veuillez vérifier que:\n" -#~ "1. ils sont accessibles.\n" -#~ "2. vous avez activé le greffon pour le média correspondant." - -#~ msgid "Don't show this warning anymore" -#~ msgstr "Ne plus afficher cet avertissement" - -#~ msgid "Show more _details" -#~ msgstr "Afficher plus de _détails" - -#~ msgid "" -#~ "Sorry, your GTK+ version (%d.%d.%d) does not work with Audacious.\n" -#~ "Please use GTK+ %s or newer.\n" -#~ msgstr "" -#~ "Désolé, votre version de GTK+ (%d.%d.%d) ne fonctionne pas avec " -#~ "Audacious.\n" -#~ "Mettez à jour GTK+ vers la version %s ou plus.\n" - -#~ msgid "" -#~ "\n" -#~ "Received SIGSEGV\n" -#~ "\n" -#~ "This could be a bug in Audacious. If you don't know why this happened, " -#~ "file a bug at http://bugs-meta.atheme.org/\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "SIGSEGV reçu\n" -#~ "\n" -#~ "Il est possible que ce soit un bug d'Audacious. Si vous ne comprenez pas " -#~ "comment \n" -#~ "c'est arrivé, envoyez un mail (en anglais) expliquant clairement vos " -#~ "manipulations à http://bugs-meta.atheme.org/\n" - -#~ msgid "OPTIONS MENU" -#~ msgstr "MENU OPTIONS" - -#~ msgid "DISABLE ALWAYS ON TOP" -#~ msgstr "DESACTIVER TOUJOURS AU-DESSUS" - -#~ msgid "ENABLE ALWAYS ON TOP" -#~ msgstr "ACTIVER TOUJOURS AU-DESSUS" - -#~ msgid "FILE INFO BOX" -#~ msgstr "INFOS FICHIER" - -#~ msgid "DISABLE DOUBLESIZE" -#~ msgstr "DESACTIVER DOUBLE-TAILLE" - -#~ msgid "ENABLE DOUBLESIZE" -#~ msgstr "ACTIVER DOUBLE-TAILLE" - -#~ msgid "VISUALIZATION MENU" -#~ msgstr "MENU DES EFFETS VISUELS" - -#~ msgid "" -#~ "<b><big>No playable CD found.</big></b>\n" -#~ "\n" -#~ "No CD inserted, or inserted CD is not an audio CD.\n" -#~ msgstr "" -#~ "<b><big>Pas de CD jouable.</big></b>\n" -#~ "\n" -#~ "Pas de CD à lire, ou le CD inséré n'est pas un CD audio.\n" - -#~ msgid "Play CD" -#~ msgstr "Lecture du CD" - -#~ msgid "Add CD..." -#~ msgstr "Ajouter un CD..." - -#~ msgid "Adds a CD to the playlist." -#~ msgstr "Ajouter un CD à la playlist." - -#~ msgid "Track name: " -#~ msgstr "Nom du Morceau:" - -#~ msgid "Album name: " -#~ msgstr "Nom Album:" - -#~ msgid "Performer/Artist" -#~ msgstr "Artiste" - -#~ msgid "File name" -#~ msgstr "Nom du fichier" - -#~ msgid "File path" -#~ msgstr "Chemin du fichier" - -#~ msgid "File extension" -#~ msgstr "Extension du fichier" - -#~ msgid "Track name" -#~ msgstr "Nom du morceau" - -#~ msgid "Track number" -#~ msgstr "Numéro de piste" - -#~ msgid "%{n:...%}: Display \"...\" only if element %n is present" -#~ msgstr "%{n:...%}: Affiche \"...\" si plus de %n éléments sont présents" - -#~ msgid "Enable playlist transparency" -#~ msgstr "Activer la transparence de la liste d'écoute" - -#~ msgid "%s: option `%s' is ambiguous\n" -#~ msgstr "%s: l'option '%s' est ambigüe\n" - -#~ msgid "%s: option `--%s' doesn't allow an argument\n" -#~ msgstr "%s l'option '--%s' n'accepte pas de paramètre\n" - -#~ msgid "%s: option `%c%s' doesn't allow an argument\n" -#~ msgstr "%s: l'option '%c%s' n'accepte pas de paramètre\n" - -#~ msgid "%s: option `%s' requires an argument\n" -#~ msgstr "%s: l'option '%s' nécessite un paramètre\n" - -#~ msgid "%s: unrecognized option `--%s'\n" -#~ msgstr "%s: option '--%s' inconnue\n" - -#~ msgid "%s: unrecognized option `%c%s'\n" -#~ msgstr "%s: option '%c%s' inconnue\n" - -#~ msgid "%s: illegal option -- %c\n" -#~ msgstr "%s: option interdite -- %c\n" - -#~ msgid "%s: invalid option -- %c\n" -#~ msgstr "%s: option incorrecte -- %c\n" - -#~ msgid "%s: option requires an argument -- %c\n" -#~ msgstr "%s: option nécessitant un paramètre -- %c\n" - -#~ msgid "%s: option `-W %s' is ambiguous\n" -#~ msgstr "%s: l'option `-W %s' est ambigüe\n" - -#~ msgid "%s: option `-W %s' doesn't allow an argument\n" -#~ msgstr "%s: l'option '-W %s' n'accepte pas de paramètre\n" - -#~ msgid "" -#~ "Usage: audacious [options] [files] ...\n" -#~ "\n" -#~ "Options:\n" -#~ "--------\n" -#~ msgstr "" -#~ "Usage: audacious [options] [fichiers] ...\n" -#~ "\n" -#~ "Options:\n" -#~ "--------\n" - -#~ msgid "Display this text and exit" -#~ msgstr "Affiche ce message et quitte" - -#~ msgid "Activate Audacious" -#~ msgstr "Activer Audacious" - -#~ msgid "Previous session ID" -#~ msgstr "ID de la session précédente" - -#~ msgid "Disable error/warning interception (logging)" -#~ msgstr "Désactiver les logs d'erreurs/mises en garde" - -#~ msgid "Print version number and exit\n" -#~ msgstr "Affiche le numéro de version et quitte\n" - -#~ msgid "Add/Open Files dialog" -#~ msgstr "Fenêtre d'Ajout/Ouverture de fichiers" - -#~ msgid "Close Dialog on Add" -#~ msgstr "Fermer la fenêtre après l'ajout" - -#~ msgid "Deselect All" -#~ msgstr "Aucun" - -#~ msgid "Track Information Popup" -#~ msgstr "Popup d'information de la piste" - -#~ msgid "Artist Popup" -#~ msgstr "Fenêtre Artiste" - -#~ msgid "<i>Genre</i>" -#~ msgstr "<i>Genre</i>" - -#~ msgid "<i>Year</i>" -#~ msgstr "<i>Année</i>" - -#~ msgid "<i>Track Number</i>" -#~ msgstr "<i>Numéro de piste</i>" - -#~ msgid "<i>Track Length</i>" -#~ msgstr "<i>Durée du Morceau</i>" - -#~ msgid "label65" -#~ msgstr "label65" - -#~ msgid "label76" -#~ msgstr "label76" - -#~ msgid "/View Track Details" -#~ msgstr "/Afficher le détail" - -#~ msgid "/Visualization Mode/Analyzer" -#~ msgstr "/Type de graphique/Analyseur" - -#~ msgid "/Visualization Mode/Scope" -#~ msgstr "/Type de graphique/Scope" - -#, fuzzy -#~ msgid "/Visualization Mode/Voiceprint" -#~ msgstr "/Type de graphique/Scope" - -#~ msgid "/Visualization Mode/Off" -#~ msgstr "/Type de graphique/Aucun" - -#~ msgid "/Analyzer Mode/Normal" -#~ msgstr "/Type Analyseur/Normal" - -#~ msgid "/Analyzer Mode/Lines" -#~ msgstr "/Type Analyseur/Lignes" - -#~ msgid "/Analyzer Mode/Bars" -#~ msgstr "/Type Analyseur/Barres" - -#~ msgid "/Analyzer Mode/Peaks" -#~ msgstr "/Type Analyseur/Crêtes" - -#, fuzzy -#~ msgid "/Voiceprint mode/Normal" -#~ msgstr "/Type Analyseur/Normal" - -#~ msgid "/WindowShade VU Mode/Normal" -#~ msgstr "/Mode Fenêtre Réduite/Normale" - -#~ msgid "/WindowShade VU Mode/Smooth" -#~ msgstr "/Mode Fenêtre Réduite/Lissée" - -#~ msgid "/Analyzer Falloff/Slowest" -#~ msgstr "/Effet Retombée Analyseur/Le plus lent" - -#~ msgid "/Analyzer Falloff/Slow" -#~ msgstr "/Effet Retombée Analyseur/Lent" - -#~ msgid "/Analyzer Falloff/Medium" -#~ msgstr "/Effet Retombée Analyseur/Moyen" - -#~ msgid "/Analyzer Falloff/Fast" -#~ msgstr "/Effet Retombée Analyseur/Rapide" - -#~ msgid "/Analyzer Falloff/Fastest" -#~ msgstr "/Effet Retombée Analyseur/Le plus rapide" - -#~ msgid "/Peaks Falloff/Slowest" -#~ msgstr "/Effet Retombée Crêtes/Le plus lent" - -#~ msgid "/Peaks Falloff/Slow" -#~ msgstr "/Effet Retombée Crêtes/Lent" - -#~ msgid "/Peaks Falloff/Medium" -#~ msgstr "/Effet Retombée Crêtes/Moyen" - -#~ msgid "/Peaks Falloff/Fast" -#~ msgstr "/Effet Retombée Crêtes/Rapide" - -#~ msgid "/Peaks Falloff/Fastest" -#~ msgstr "/Effet Retombée Crêtes/Le plus rapide" - -#~ msgid "/-" -#~ msgstr "/-" - -#~ msgid "/Jump to Time" -#~ msgstr "/Aller au Temps" - -#~ msgid "/About Audacious" -#~ msgstr "/A Propos d'Audacious" - -#~ msgid "/Files..." -#~ msgstr "/Fichiers..." - -#~ msgid "/Internet location..." -#~ msgstr "/Adresse Internet..." - -#, fuzzy -#~ msgid "New List" -#~ msgstr "/Nouvelle Liste" - -#, fuzzy -#~ msgid "Creates a new playlist." -#~ msgstr "Montrer les séparateurs dans la liste d'écoute" - -#, fuzzy -#~ msgid "Displays track information." -#~ msgstr "Information de la Piste" - -#~ msgid "Chinese:" -#~ msgstr "Chinois:" - -#~ msgid "/Load/Preset" -#~ msgstr "/Charger/un pré-réglage" - -#~ msgid "/Load/Default" -#~ msgstr "/Charger/le pré-réglage par défaut" - -#~ msgid "/Load/Zero" -#~ msgstr "/Charger/remise à zéro" - -#~ msgid "/Save/Preset" -#~ msgstr "/Sauver/le pré-réglage" - -#~ msgid "/Save/Default" -#~ msgstr "/Sauver/le pré-réglage par défaut" - -#~ msgid "/Save/To file" -#~ msgstr "/Sauver/dans un fichier" - -#~ msgid "/Delete/Preset" -#~ msgstr "/Effacer/le pré-réglage" - -#~ msgid "Load auto-preset" -#~ msgstr "Charger pré-réglages auto." - -#~ msgid "Load equalizer preset" -#~ msgstr "Charger pré-réglages de l'équaliseur" - -#~ msgid "Delete auto-preset" -#~ msgstr "Effacer pré-réglages auto." - -#~ msgid "/Show Popup Info" -#~ msgstr "/Montrer les infos Popup" - -#~ msgid "/Remove Duplicates/By Title" -#~ msgstr "/Enlever les fichiers dupliqués/Par Titre" - -#~ msgid "/Remove Duplicates/By Filename" -#~ msgstr "/Enlever les fichiers dupliqués/Par Nom de Fichier" - -#~ msgid "/Update View" -#~ msgstr "/Rafraîchir la Liste" - -#~ msgid "/Select All" -#~ msgstr "/Sélectionner tout" - -#~ msgid "/Sort List/By Date" -#~ msgstr "/Trier la liste/Par Date" - -#~ msgid "/Sort Selection/By Title" -#~ msgstr "/Trier la sélection/Par Titre" - -#~ msgid "/Sort Selection/By Artist" -#~ msgstr "/Trier la Sélection/Par Artiste" - -#~ msgid "/Sort Selection/By Filename" -#~ msgstr "/Trier la sélection/Par Nom de Fichier" - -#~ msgid "/Sort Selection/By Path + Filename" -#~ msgstr "/Trier la sélection/Par Chemin + Nom de Fichier" - -#~ msgid "/Sort Selection/By Date" -#~ msgstr "/Trier la sélection/Par Date" - -#~ msgid "/Sort Selection/By Track Number" -#~ msgstr "/Trier la Sélection/Par Numéro de Piste" - -#~ msgid "/Sort Selection/By Playlist Entry" -#~ msgstr "/Trier la Sélection/Par Entrée de Liste d'écoute" +msgstr "Ouvrir/Ajouter un flux"
--- a/po/ja.po Sun Oct 14 05:54:54 2007 +0300 +++ b/po/ja.po Fri Oct 19 12:14:04 2007 +0300 @@ -14,7 +14,7 @@ "Project-Id-Version: audacious HEAD\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" "POT-Creation-Date: 2007-10-13 14:15+0200\n" -"PO-Revision-Date: 2007-09-10 09:20+0900\n" +"PO-Revision-Date: 2007-10-14 22:22+0900\n" "Last-Translator: dai <d+po@vdr.jp>\n" "Language-Team: Japanese <ja@li.org>\n" "MIME-Version: 1.0\n" @@ -191,10 +191,12 @@ "If selected, the file information text in the main window will scroll back " "and forth. If not selected, the text will only scroll in one direction." msgstr "" +"これを使うと,メインウィンドウのファイル情報テキストが前後にスクロールしま" +"す.そうでなければ,テキストは一方向のみにスクロールします." #: src/audacious/glade/prefswin.glade:1380 msgid "Use two-way text scroller" -msgstr "" +msgstr "双方向テキストスクロールを使う" #: src/audacious/glade/prefswin.glade:1422 src/audacious/ui_preferences.c:111 msgid "Appearance" @@ -551,19 +553,20 @@ msgstr "サンプリングレート [Hz]:" #: src/audacious/glade/prefswin.glade:4517 -#, fuzzy msgid "<b>Volume Control</b>" -msgstr "<b>マウスのホィール</b>" +msgstr "<b>ボリュームコントロール</b>" #: src/audacious/glade/prefswin.glade:4556 msgid "" "Use software volume control. This may be useful for situations where your " "audio system does not support controlling the playback volume." msgstr "" +"ソフトウェアボリュームコントロールを使います.オーディオシステムが再生音量の" +"コントロールをサポートしていない状況で有用でしょう." #: src/audacious/glade/prefswin.glade:4558 msgid "Use software volume control" -msgstr "" +msgstr "ソフトウェアボリュームコントロールを使う" #: src/audacious/glade/prefswin.glade:4746 msgid "Reload Plugins" @@ -864,7 +867,7 @@ msgstr "クレジット" #: src/audacious/ui_credits.c:47 -#, fuzzy, c-format +#, c-format msgid "" "<big><b>Audacious %s</b></big>\n" "A skinned multimedia player for many platforms.\n" @@ -872,7 +875,7 @@ "Copyright (C) 2005-2007 Audacious Development Team\n" msgstr "" "<big><b>Audacious %s</b></big>\n" -"The future of UNIX multimedia.\n" +"多くのプラットフォーム向けのスキン機能付マルチメディアプレーヤ.\n" "\n" "Copyright (C) 2005-2007 Audacious 開発チーム\n" @@ -1775,7 +1778,6 @@ msgstr "選択した場所からメディアを演奏" #: src/audacious/ui_manager.c:400 -#, fuzzy msgid "Plugin services" msgstr "プラグインサービス" @@ -2051,12 +2053,11 @@ #: src/audacious/ui_preferences.c:133 msgid "Codec" -msgstr "" +msgstr "コーデック" #: src/audacious/ui_preferences.c:134 -#, fuzzy msgid "Quality" -msgstr "終了(_Q)" +msgstr "音質" #: src/audacious/ui_preferences.c:155 msgid "localhost"
--- a/po/update-potfiles.sh Sun Oct 14 05:54:54 2007 +0300 +++ b/po/update-potfiles.sh Fri Oct 19 12:14:04 2007 +0300 @@ -1,4 +1,5 @@ #!/bin/bash rm POTFILES* +echo "# Please don't update this file manually - use ./update-potfiles.sh instead!" > POTFILES.in cd .. -find src/ \( -name "*.c*" -o -name "*.glade" \) -exec grep -lE "translatable|_\(" \{\} \; | sort | uniq > po/POTFILES.in +find src/ \( -name "*.c*" -o -name "*.glade" \) -exec grep -lE "translatable|_\(" \{\} \; | sort | uniq >> po/POTFILES.in
--- a/scripts/makerelease.sh Sun Oct 14 05:54:54 2007 +0300 +++ b/scripts/makerelease.sh Fri Oct 19 12:14:04 2007 +0300 @@ -85,8 +85,8 @@ fi if [ "x$PUBLISH" = "xyes" ]; then - scp $RELEASENAME.tgz sidhe.atheme.org:/var/www/distfiles/htdocs - scp $RELEASENAME.tbz2 sidhe.atheme.org:/var/www/distfiles/htdocs + scp $RELEASENAME.tgz distfiles-master.atheme.org:/srv/distfiles + scp $RELEASENAME.tbz2 distfiles-master.atheme.org:/srv/distfiles echo echo "The releases have been published, and will be available to the entire"
--- a/src/audacious/Makefile Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/Makefile Fri Oct 19 12:14:04 2007 +0300 @@ -191,7 +191,7 @@ ${LIBGLADE_LIBS} \ ${REGEX_LIBS} -LDFLAGS += ${EXPORTDYN} ${PROG_IMPLIB_LDFLAGS} +LDFLAGS += ${PROG_IMPLIB_LDFLAGS} build_stamp.c: if [ -d ../../.hg ]; then \
--- a/src/audacious/auddrct.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/auddrct.c Fri Oct 19 12:14:04 2007 +0300 @@ -36,14 +36,14 @@ /* player */ void -audacious_drct_quit ( void ) +drct_quit ( void ) { mainwin_quit_cb(); return; } void -audacious_drct_eject ( void ) +drct_eject ( void ) { if (has_x11_connection) mainwin_eject_pushed(); @@ -51,7 +51,7 @@ } void -audacious_drct_jtf_show ( void ) +drct_jtf_show ( void ) { if (has_x11_connection) ui_jump_to_track(); @@ -59,13 +59,13 @@ } gboolean -audacious_drct_main_win_is_visible ( void ) +drct_main_win_is_visible ( void ) { return cfg.player_visible; } void -audacious_drct_main_win_toggle ( gboolean show ) +drct_main_win_toggle ( gboolean show ) { if (has_x11_connection) mainwin_show(show); @@ -73,13 +73,13 @@ } gboolean -audacious_drct_eq_win_is_visible ( void ) +drct_eq_win_is_visible ( void ) { return cfg.equalizer_visible; } void -audacious_drct_eq_win_toggle ( gboolean show ) +drct_eq_win_toggle ( gboolean show ) { if (has_x11_connection) equalizerwin_show(show); @@ -87,13 +87,13 @@ } gboolean -audacious_drct_pl_win_is_visible ( void ) +drct_pl_win_is_visible ( void ) { return cfg.playlist_visible; } void -audacious_drct_pl_win_toggle ( gboolean show ) +drct_pl_win_toggle ( gboolean show ) { if (has_x11_connection) { if (show) @@ -104,13 +104,13 @@ return; } -void audacious_drct_set_skin(gchar *skinfile) +void drct_set_skin(gchar *skinfile) { if (has_x11_connection) bmp_active_skin_load(skinfile); } -void audacious_drct_activate(void) +void drct_activate(void) { gtk_window_present(GTK_WINDOW(mainwin)); } @@ -118,7 +118,7 @@ /* playback */ void -audacious_drct_play ( void ) +drct_play ( void ) { if (playback_get_paused()) playback_pause(); @@ -130,14 +130,14 @@ } void -audacious_drct_pause ( void ) +drct_pause ( void ) { playback_pause(); return; } void -audacious_drct_stop ( void ) +drct_stop ( void ) { ip_data.stop = TRUE; playback_stop(); @@ -147,31 +147,31 @@ } gboolean -audacious_drct_get_playing ( void ) +drct_get_playing ( void ) { return playback_get_playing(); } gboolean -audacious_drct_get_paused ( void ) +drct_get_paused ( void ) { return playback_get_paused(); } gboolean -audacious_drct_get_stopped ( void ) +drct_get_stopped ( void ) { return !playback_get_playing(); } void -audacious_drct_get_info( gint *rate, gint *freq, gint *nch) +drct_get_info( gint *rate, gint *freq, gint *nch) { playback_get_sample_params(rate, freq, nch); } gint -audacious_drct_get_time ( void ) +drct_get_time ( void ) { gint time; if (playback_get_playing()) @@ -182,7 +182,7 @@ } void -audacious_drct_seek ( guint pos ) +drct_seek ( guint pos ) { if (playlist_get_current_length(playlist_get_active()) > 0 && pos < (guint)playlist_get_current_length(playlist_get_active())) @@ -191,14 +191,14 @@ } void -audacious_drct_get_volume ( gint *vl, gint *vr ) +drct_get_volume ( gint *vl, gint *vr ) { input_get_volume(vl, vr); return; } void -audacious_drct_set_volume ( gint vl, gint vr ) +drct_set_volume ( gint vl, gint vr ) { if (vl > 100) vl = 100; @@ -209,19 +209,19 @@ } void -audacious_drct_get_volume_main( gint *v ) +drct_get_volume_main( gint *v ) { gint vl, vr; - audacious_drct_get_volume(&vl, &vr); + drct_get_volume(&vl, &vr); *v = (vl > vr) ? vl : vr; return; } void -audacious_drct_set_volume_main ( gint v ) +drct_set_volume_main ( gint v ) { gint b, vl, vr; - audacious_drct_get_volume_balance(&b); + drct_get_volume_balance(&b); if (b < 0) { vl = v; vr = (v * (100 - abs(b))) / 100; @@ -232,11 +232,11 @@ } else vl = vr = v; - audacious_drct_set_volume(vl, vr); + drct_set_volume(vl, vr); } void -audacious_drct_get_volume_balance ( gint *b ) +drct_get_volume_balance ( gint *b ) { gint vl, vr; input_get_volume(&vl, &vr); @@ -252,14 +252,14 @@ } void -audacious_drct_set_volume_balance ( gint b ) +drct_set_volume_balance ( gint b ) { gint v, vl, vr; if (b < -100) b = -100; if (b > 100) b = 100; - audacious_drct_get_volume_main(&v); + drct_get_volume_main(&v); if (b < 0) { vl = v; vr = (v * (100 - abs(b))) / 100; @@ -273,7 +273,7 @@ vl = v; vr = v; } - audacious_drct_set_volume(vl, vr); + drct_set_volume(vl, vr); return; } @@ -281,71 +281,71 @@ /* playlist */ void -audacious_drct_pl_next ( void ) +drct_pl_next ( void ) { playlist_next(playlist_get_active()); return; } void -audacious_drct_pl_prev ( void ) +drct_pl_prev ( void ) { playlist_prev(playlist_get_active()); return; } gboolean -audacious_drct_pl_repeat_is_enabled( void ) +drct_pl_repeat_is_enabled( void ) { return cfg.repeat; } void -audacious_drct_pl_repeat_toggle( void ) +drct_pl_repeat_toggle( void ) { mainwin_repeat_pushed(!cfg.repeat); return; } gboolean -audacious_drct_pl_repeat_is_shuffled( void ) +drct_pl_repeat_is_shuffled( void ) { return cfg.shuffle; } void -audacious_drct_pl_shuffle_toggle( void ) +drct_pl_shuffle_toggle( void ) { mainwin_shuffle_pushed(!cfg.shuffle); return; } gchar * -audacious_drct_pl_get_title( gint pos ) +drct_pl_get_title( gint pos ) { return playlist_get_songtitle(playlist_get_active(), pos); } gint -audacious_drct_pl_get_time( gint pos ) +drct_pl_get_time( gint pos ) { return playlist_get_songtime(playlist_get_active(), pos); } gint -audacious_drct_pl_get_pos( void ) +drct_pl_get_pos( void ) { return playlist_get_position_nolock(playlist_get_active()); } gchar * -audacious_drct_pl_get_file( gint pos ) +drct_pl_get_file( gint pos ) { return playlist_get_filename(playlist_get_active(), pos); } void -audacious_drct_pl_add ( GList * list ) +drct_pl_add ( GList * list ) { GList *node = list; while ( node != NULL ) @@ -357,7 +357,7 @@ } void -audacious_drct_pl_clear ( void ) +drct_pl_clear ( void ) { playlist_clear(playlist_get_active()); mainwin_clear_song_info(); @@ -367,7 +367,7 @@ /* following functions are not tested yet. be careful. --yaz */ void -audacious_drct_pl_delete ( gint pos ) +drct_pl_delete ( gint pos ) { GDK_THREADS_ENTER(); playlist_delete_index(playlist_get_active(), pos); @@ -375,7 +375,7 @@ } void -audacious_drct_pl_set_pos( gint pos ) +drct_pl_set_pos( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -383,19 +383,19 @@ } gint -audacious_drct_pl_get_length( void ) +drct_pl_get_length( void ) { return playlist_get_length(playlist_get_active()); } void -audacious_drct_pl_ins_url_string( gchar * string, gint pos ) +drct_pl_ins_url_string( gchar * string, gint pos ) { playlist_ins_url(playlist_get_active(), string, pos); } void -audacious_drct_pl_add_url_string( gchar * string ) +drct_pl_add_url_string( gchar * string ) { GDK_THREADS_ENTER(); playlist_add_url(playlist_get_active(), string); @@ -403,7 +403,7 @@ } void -audacious_drct_pl_enqueue_to_temp( gchar * string ) +drct_pl_enqueue_to_temp( gchar * string ) { Playlist *new_pl = playlist_new(); @@ -416,13 +416,13 @@ /* playqueue */ gint -audacious_drct_pq_get_length( void ) +drct_pq_get_length( void ) { return playlist_queue_get_length(playlist_get_active()); } void -audacious_drct_pq_add( gint pos ) +drct_pq_add( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -430,7 +430,7 @@ } void -audacious_drct_pq_remove( gint pos ) +drct_pq_remove( gint pos ) { Playlist *playlist = playlist_get_active(); if (pos < (guint)playlist_get_length(playlist)) @@ -438,25 +438,25 @@ } void -audacious_drct_pq_clear( void ) +drct_pq_clear( void ) { playlist_clear_queue(playlist_get_active()); } gboolean -audacious_drct_pq_is_queued( gint pos ) +drct_pq_is_queued( gint pos ) { return playlist_is_position_queued(playlist_get_active(), pos); } gint -audacious_drct_pq_get_position( gint pos ) +drct_pq_get_position( gint pos ) { return playlist_get_queue_position_number(playlist_get_active(), pos); } gint -audaciuos_drct_pq_get_queue_position( gint pos ) +drct_pq_get_queue_position( gint pos ) { return playlist_get_queue_position_number(playlist_get_active(), pos); }
--- a/src/audacious/auddrct.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/auddrct.h Fri Oct 19 12:14:04 2007 +0300 @@ -27,63 +27,63 @@ #include <glib.h> /* player */ -void audacious_drct_quit ( void ); -void audacious_drct_eject ( void ); -void audacious_drct_jtf_show ( void ); -gboolean audacious_drct_main_win_is_visible ( void ); -void audacious_drct_main_win_toggle ( gboolean ); -gboolean audacious_drct_eq_win_is_visible ( void ); -void audacious_drct_eq_win_toggle ( gboolean ); -gboolean audacious_drct_pl_win_is_visible ( void ); -void audacious_drct_pl_win_toggle ( gboolean ); -void audacious_drct_set_skin(gchar *skinfile); -void audacious_drct_activate(void); +void drct_quit ( void ); +void drct_eject ( void ); +void drct_jtf_show ( void ); +gboolean drct_main_win_is_visible ( void ); +void drct_main_win_toggle ( gboolean ); +gboolean drct_eq_win_is_visible ( void ); +void drct_eq_win_toggle ( gboolean ); +gboolean drct_pl_win_is_visible ( void ); +void drct_pl_win_toggle ( gboolean ); +void drct_set_skin(gchar *skinfile); +void drct_activate(void); /* playback */ -void audacious_drct_play ( void ); -void audacious_drct_pause ( void ); -void audacious_drct_stop ( void ); -gboolean audacious_drct_get_playing ( void ); -gboolean audacious_drct_get_paused ( void ); -gboolean audacious_drct_get_stopped ( void ); -void audacious_drct_get_info( gint *rate, gint *freq, gint *nch); -gint audacious_drct_get_time ( void ); -void audacious_drct_seek ( guint pos ); -void audacious_drct_get_volume( gint *vl, gint *vr ); -void audacious_drct_set_volume( gint vl, gint vr ); -void audacious_drct_get_volume_main( gint *v ); -void audacious_drct_set_volume_main( gint v ); -void audacious_drct_get_volume_balance( gint *b ); -void audacious_drct_set_volume_balance( gint b ); +void drct_play ( void ); +void drct_pause ( void ); +void drct_stop ( void ); +gboolean drct_get_playing ( void ); +gboolean drct_get_paused ( void ); +gboolean drct_get_stopped ( void ); +void drct_get_info( gint *rate, gint *freq, gint *nch); +gint drct_get_time ( void ); +void drct_seek ( guint pos ); +void drct_get_volume( gint *vl, gint *vr ); +void drct_set_volume( gint vl, gint vr ); +void drct_get_volume_main( gint *v ); +void drct_set_volume_main( gint v ); +void drct_get_volume_balance( gint *b ); +void drct_set_volume_balance( gint b ); /* playlist */ -void audacious_drct_pl_next( void ); -void audacious_drct_pl_prev( void ); -gboolean audacious_drct_pl_repeat_is_enabled ( void ); -void audacious_drct_pl_repeat_toggle ( void ); -gboolean audacious_drct_pl_repeat_is_shuffled ( void ); -void audacious_drct_pl_shuffle_toggle ( void ); -gchar *audacious_drct_pl_get_title( gint pos ); -gint audacious_drct_pl_get_time( gint pos ); -gint audacious_drct_pl_get_pos( void ); -gchar *audacious_drct_pl_get_file( gint pos ); -void audacious_drct_pl_add ( GList * list ); -void audacious_drct_pl_clear ( void ); -gint audacious_drct_pl_get_length( void ); -void audacious_drct_pl_delete ( gint pos ); -void audacious_drct_pl_set_pos( gint pos ); -void audacious_drct_pl_ins_url_string( gchar * string, gint pos ); -void audacious_drct_pl_add_url_string( gchar * string ); -void audacious_drct_pl_enqueue_to_temp( gchar * string ); +void drct_pl_next( void ); +void drct_pl_prev( void ); +gboolean drct_pl_repeat_is_enabled ( void ); +void drct_pl_repeat_toggle ( void ); +gboolean drct_pl_repeat_is_shuffled ( void ); +void drct_pl_shuffle_toggle ( void ); +gchar *drct_pl_get_title( gint pos ); +gint drct_pl_get_time( gint pos ); +gint drct_pl_get_pos( void ); +gchar *drct_pl_get_file( gint pos ); +void drct_pl_add ( GList * list ); +void drct_pl_clear ( void ); +gint drct_pl_get_length( void ); +void drct_pl_delete ( gint pos ); +void drct_pl_set_pos( gint pos ); +void drct_pl_ins_url_string( gchar * string, gint pos ); +void drct_pl_add_url_string( gchar * string ); +void drct_pl_enqueue_to_temp( gchar * string ); /* playqueue */ -gint audacious_drct_pq_get_length( void ); -void audacious_drct_pq_add( gint pos ); -void audacious_drct_pq_remove( gint pos ); -void audacious_drct_pq_clear( void ); -gboolean audacious_drct_pq_is_queued( gint pos ); -gint audacious_drct_pq_get_position( gint pos ); -gint audaciuos_drct_pq_get_queue_position( gint pos ); +gint drct_pq_get_length( void ); +void drct_pq_add( gint pos ); +void drct_pq_remove( gint pos ); +void drct_pq_clear( void ); +gboolean drct_pq_is_queued( gint pos ); +gint drct_pq_get_position( gint pos ); +gint drct_pq_get_queue_position( gint pos ); /* adjust naming scheme to audacious_remote_* functions */ #define audacious_drct_show_jtf_box audacious_drct_jtf_show
--- a/src/audacious/dock.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/dock.c Fri Oct 19 12:14:04 2007 +0300 @@ -565,3 +565,8 @@ return list; } + +GList * +get_dock_window_list() { + return dock_window_list; +}
--- a/src/audacious/dock.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/dock.h Fri Oct 19 12:14:04 2007 +0300 @@ -44,4 +44,6 @@ gboolean decorated); void dock_window_resize(GtkWindow * widget, gint new_w, gint new_h, gint w, gint h); +GList *get_dock_window_list(); + #endif
--- a/src/audacious/input.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/input.h Fri Oct 19 12:14:04 2007 +0300 @@ -23,13 +23,13 @@ * Audacious or using our public API to be a derived work. */ -#ifndef INPUT_H -#define INPUT_H +#ifndef _AUDACIOUS_INPUT_H +#define _AUDACIOUS_INPUT_H + +typedef struct _InputPluginData InputPluginData; #include "plugin.h" -typedef struct _InputPluginData InputPluginData; - struct _InputPluginData { GList *input_list; InputPlayback *current_input_playback; @@ -40,11 +40,6 @@ GMutex *playback_mutex; }; -typedef struct { - Tuple *tuple; - InputPlugin *ip; -} ProbeResult; - GList *get_input_list(void); InputPlayback *get_current_input_playback(void); void set_current_input_playback(InputPlayback * ip);
--- a/src/audacious/main.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/main.c Fri Oct 19 12:14:04 2007 +0300 @@ -1184,35 +1184,35 @@ audacious_remote_activate(session); } else { if (options->rew) - audacious_drct_playlist_prev(); + drct_pl_prev(); if (options->play) - audacious_drct_play(); + drct_play(); if (options->pause) - audacious_drct_pause(); + drct_pause(); if (options->stop) - audacious_drct_stop(); + drct_stop(); if (options->fwd) - audacious_drct_playlist_next(); + drct_pl_next(); if (options->play_pause) { - if (audacious_drct_get_paused()) - audacious_drct_play(); + if (drct_get_paused()) + drct_play(); else - audacious_drct_pause(); + drct_pause(); } if (options->show_jump_box) - audacious_drct_show_jtf_box(); + drct_jtf_show(); if (options->mainwin) - audacious_drct_main_win_toggle(TRUE); + drct_main_win_toggle(TRUE); if (options->activate) - audacious_drct_activate(); + drct_activate(); } if(remote) {
--- a/src/audacious/main.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/main.h Fri Oct 19 12:14:04 2007 +0300 @@ -28,10 +28,9 @@ #ifdef _AUDACIOUS_CORE # include "ui_main.h" -#endif - -#ifdef USE_DBUS -#include "dbus-service.h" +# ifdef USE_DBUS +# include "dbus-service.h" +# endif #endif #include <sys/types.h> @@ -180,7 +179,7 @@ extern GCond *cond_scan; extern GMutex *mutex_scan; -#ifdef USE_DBUS +#if defined(USE_DBUS) && defined(_AUDACIOUS_CORE) extern MprisPlayer *mpris; #endif
--- a/src/audacious/output.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/output.c Fri Oct 19 12:14:04 2007 +0300 @@ -499,9 +499,14 @@ return; /* yes, so finish */ /* else sleep for retry */ +#ifndef GDK_WINDOWING_QUARTZ g_mutex_lock(playback->pb_change_mutex); g_cond_timed_wait(playback->pb_change_cond, playback->pb_change_mutex, &pb_abs_time); g_mutex_unlock(playback->pb_change_mutex); +#else + /* Darwin threading sucks. */ + g_usleep(10000); +#endif } if (ip_data.stop)
--- a/src/audacious/playlist.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/playlist.c Fri Oct 19 12:14:04 2007 +0300 @@ -668,8 +668,8 @@ InputPlugin * dec) { PlaylistEntry *entry; - Tuple *main_tuple = NULL; - gint nsubtunes = 0, i = 0; + Tuple *parent_tuple = NULL; + gint nsubtunes = 0, subtune = 0; gboolean add_flag = TRUE; g_return_if_fail(playlist != NULL); @@ -678,17 +678,17 @@ if (tuple != NULL) { nsubtunes = tuple->nsubtunes; if (nsubtunes > 0) { - main_tuple = tuple; - i = 1; + parent_tuple = tuple; + subtune = 1; } } - for (; add_flag && i <= nsubtunes; i++) { + for (; add_flag && subtune <= nsubtunes; subtune++) { gchar *filename_entry; if (nsubtunes > 0) { filename_entry = g_strdup_printf("%s?%d", filename, - main_tuple->subtunes ? main_tuple->subtunes[i] : i); + parent_tuple->subtunes ? parent_tuple->subtunes[subtune - 1] : subtune); /* We're dealing with subtune, let's ask again tuple information * to plugin, by passing the ?subtune suffix; this way we get @@ -704,12 +704,12 @@ tuple ? tuple_get_int(tuple, FIELD_LENGTH, NULL) : -1, dec); g_free(filename_entry); + PLAYLIST_LOCK(playlist); + if (!playlist->tail) playlist->tail = g_list_last(playlist->entries); - PLAYLIST_LOCK(playlist); - - if ((pos == -1) && (i < 2)) { // the common case + if (pos == -1) { // the common case GList *element; element = g_list_alloc(); element->data = entry; @@ -726,12 +726,9 @@ } else add_flag = FALSE; } - } else { - playlist->entries = g_list_insert(playlist->entries, entry, pos); - } - - PLAYLIST_UNLOCK(playlist); - + } else + playlist->entries = g_list_insert(playlist->entries, entry, pos++); + if (tuple != NULL) { const gchar *formatter = tuple_get_string(tuple, FIELD_FORMATTER, NULL); entry->title = tuple_formatter_make_title_string(tuple, @@ -739,10 +736,12 @@ entry->length = tuple_get_int(tuple, FIELD_LENGTH, NULL); entry->tuple = tuple; } + + PLAYLIST_UNLOCK(playlist); } - - if (main_tuple) - tuple_free(main_tuple); + + if (parent_tuple) + tuple_free(parent_tuple); if (tuple != NULL && tuple_get_int(tuple, FIELD_MTIME, NULL) == -1) { // kick the scanner thread only if mtime = -1 (uninitialized)
--- a/src/audacious/playlist.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/playlist.h Fri Oct 19 12:14:04 2007 +0300 @@ -22,8 +22,8 @@ * The Audacious team does not consider modular code linking to * Audacious or using our public API to be a derived work. */ -#ifndef PLAYLIST_H -#define PLAYLIST_H +#ifndef _AUDACIOUS_PLAYLIST_H +#define _AUDACIOUS_PLAYLIST_H /* XXX: Allow pre-0.2 libmowgli to build audacious. */ #ifdef TRUE @@ -38,9 +38,9 @@ #include <glib.h> #include "audacious/tuple.h" #include "audacious/tuple_formatter.h" -#include "input.h" -G_BEGIN_DECLS +typedef struct _PlaylistEntry PlaylistEntry; +typedef struct _Playlist Playlist; typedef enum { PLAYLIST_SORT_PATH, @@ -58,22 +58,19 @@ PLAYLIST_DUPS_TITLE } PlaylistDupsType; -typedef enum { - PLAYLIST_FORMAT_UNKNOWN = -1, - PLAYLIST_FORMAT_M3U, - PLAYLIST_FORMAT_PLS, - PLAYLIST_FORMAT_COUNT -} PlaylistFormat; +#include "audacious/plugin.h" + +G_BEGIN_DECLS #define PLAYLIST_ENTRY(x) ((PlaylistEntry*)(x)) -typedef struct _PlaylistEntry { +struct _PlaylistEntry { gchar *filename; gchar *title; gint length; gboolean selected; InputPlugin *decoder; Tuple *tuple; /* cached entry tuple, if available */ -} PlaylistEntry; +}; #define PLAYLIST(x) ((Playlist *)(x)) @@ -83,7 +80,7 @@ PLAYLIST_USE_RELATIVE = 1 << 1, } PlaylistAttribute; -typedef struct _Playlist { +struct _Playlist { gchar *title; gchar *filename; gint length; @@ -99,7 +96,7 @@ GMutex *mutex; /* this is required for multiple playlist */ GList *tail; /* marker for the last element in playlist->entries */ gint attribute; /* PlaylistAttribute */ -} Playlist; +}; typedef enum { PLAYLIST_ASSOC_LINEAR, @@ -193,7 +190,6 @@ gint playlist_get_songtime(Playlist *playlist, guint pos); GList *playlist_get_selected(Playlist *playlist); -GList *playlist_get_selected_list(Playlist *playlist); int playlist_get_num_selected(Playlist *playlist); void playlist_get_total_time(Playlist *playlist, gulong * total_time, gulong * selection_time, @@ -225,7 +221,6 @@ void playlist_free(Playlist *playlist); Playlist *playlist_new_from_selected(void); -PlaylistFormat playlist_format_get_from_name(const gchar * filename); gboolean is_playlist_name(const gchar * filename); #define PLAYLIST_LOCK(pl) g_mutex_lock(pl->mutex)
--- a/src/audacious/plugin.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/plugin.h Fri Oct 19 12:14:04 2007 +0300 @@ -43,6 +43,7 @@ #include "audacious/eventqueue.h" #include "audacious/configdb.h" #include "audacious/playlist_container.h" +#include "audacious/main.h" #define PLUGIN(x) ((Plugin *)(x)) #define INPUT_PLUGIN(x) ((InputPlugin *)(x)) @@ -55,8 +56,8 @@ #define LOWLEVEL_PLUGIN(x) ((LowlevelPlugin *)(x)) #define __AUDACIOUS_NEWVFS__ -#define __AUDACIOUS_PLUGIN_API__ 6 -#define __AUDACIOUS_INPUT_PLUGIN_API__ 6 +#define __AUDACIOUS_PLUGIN_API__ 7 +#define __AUDACIOUS_INPUT_PLUGIN_API__ 7 typedef enum { FMT_U8, @@ -88,8 +89,22 @@ typedef struct _InputPlayback InputPlayback; +typedef struct { + Tuple *tuple; + InputPlugin *ip; +} ProbeResult; + +typedef GHashTable INIFile; + +#include "audacious/playlist.h" +#include "audacious/input.h" #include "audacious/mime.h" #include "audacious/custom_uri.h" +#include "audacious/hook.h" +#include "audacious/xconvert.h" +#include "audacious/ui_plugin_menu.h" +#include "audacious/formatter.h" +#include "audacious/flow.h" #define PLUGIN_COMMON_FIELDS \ gpointer handle; \ @@ -286,6 +301,17 @@ GCallback button_action, gpointer action_data); const gchar *(*get_gentitle_format)(void); + gchar *(*util_get_localdir)(void); + void (*util_menu_main_show)(gint x, gint y, guint button, guint time); + + /* INI funcs */ + INIFile *(*open_ini_file)(const gchar *filename); + void (*close_ini_file)(INIFile *key_file); + gchar *(*read_ini_string)(INIFile *key_file, const gchar *section, + const gchar *key); + GArray *(*read_ini_array)(INIFile *key_file, const gchar *section, + const gchar *key); + /* strings API */ gchar *(*escape_shell_chars)(const gchar * string); @@ -316,6 +342,250 @@ void (*playlist_container_read)(gchar *filename, gint pos); void (*playlist_container_write)(gchar *filename, gint pos); PlaylistContainer *(*playlist_container_find)(gchar *ext); + + /* Playlist API */ + PlaylistEntry *(*playlist_entry_new)(const gchar * filename, + const gchar * title, const gint len, + InputPlugin * dec); + void (*playlist_entry_free)(PlaylistEntry * entry); + + void (*playlist_add_playlist)(Playlist *); + void (*playlist_remove_playlist)(Playlist *); + void (*playlist_select_playlist)(Playlist *); + void (*playlist_select_next)(void); + void (*playlist_select_prev)(void); + GList *(*playlist_get_playlists)(void); + + void (*playlist_clear_only)(Playlist *playlist); + void (*playlist_clear)(Playlist *playlist); + void (*playlist_delete)(Playlist *playlist, gboolean crop); + + gboolean (*playlist_add)(Playlist *playlist, const gchar * filename); + gboolean (*playlist_ins)(Playlist *playlist, const gchar * filename, gint pos); + guint (*playlist_add_dir)(Playlist *playlist, const gchar * dir); + guint (*playlist_ins_dir)(Playlist *playlist, const gchar * dir, gint pos, gboolean background); + guint (*playlist_add_url)(Playlist *playlist, const gchar * url); + guint (*playlist_ins_url)(Playlist *playlist, const gchar * string, gint pos); + + void (*playlist_check_pos_current)(Playlist *playlist); + void (*playlist_next)(Playlist *playlist); + void (*playlist_prev)(Playlist *playlist); + void (*playlist_queue)(Playlist *playlist); + void (*playlist_queue_position)(Playlist *playlist, guint pos); + void (*playlist_queue_remove)(Playlist *playlist, guint pos); + gint (*playlist_queue_get_length)(Playlist *playlist); + gboolean (*playlist_is_position_queued)(Playlist *playlist, guint pos); + void (*playlist_clear_queue)(Playlist *playlist); + gint (*playlist_get_queue_position)(Playlist *playlist, PlaylistEntry * entry); + gint (*playlist_get_queue_position_number)(Playlist *playlist, guint pos); + gint (*playlist_get_queue_qposition_number)(Playlist *playlist, guint pos); + void (*playlist_eof_reached)(Playlist *playlist); + void (*playlist_set_position)(Playlist *playlist, guint pos); + gint (*playlist_get_length)(Playlist *playlist); + gint (*playlist_get_position)(Playlist *playlist); + gint (*playlist_get_position_nolock)(Playlist *playlist); + gchar *(*playlist_get_info_text)(Playlist *playlist); + gint (*playlist_get_current_length)(Playlist *playlist); + + gboolean (*playlist_save)(Playlist *playlist, const gchar * filename); + gboolean (*playlist_load)(Playlist *playlist, const gchar * filename); + + void (*playlist_sort)(Playlist *playlist, PlaylistSortType type); + void (*playlist_sort_selected)(Playlist *playlist, PlaylistSortType type); + + void (*playlist_reverse)(Playlist *playlist); + void (*playlist_random)(Playlist *playlist); + void (*playlist_remove_duplicates)(Playlist *playlist, PlaylistDupsType); + void (*playlist_remove_dead_files)(Playlist *playlist); + + void (*playlist_fileinfo_current)(Playlist *playlist); + void (*playlist_fileinfo)(Playlist *playlist, guint pos); + + void (*playlist_delete_index)(Playlist *playlist, guint pos); + void (*playlist_delete_filenames)(Playlist *playlist, GList * filenames); + + PlaylistEntry *(*playlist_get_entry_to_play)(Playlist *playlist); + + gchar *(*playlist_get_filename)(Playlist *playlist, guint pos); + gchar *(*playlist_get_songtitle)(Playlist *playlist, guint pos); + Tuple *(*playlist_get_tuple)(Playlist *playlist, guint pos); + gint (*playlist_get_songtime)(Playlist *playlist, guint pos); + + GList *(*playlist_get_selected)(Playlist *playlist); + int (*playlist_get_num_selected)(Playlist *playlist); + + void (*playlist_get_total_time)(Playlist *playlist, gulong * total_time, gulong * selection_time, + gboolean * total_more, + gboolean * selection_more); + + gint (*playlist_select_search)(Playlist *playlist, Tuple *tuple, gint action); + void (*playlist_select_all)(Playlist *playlist, gboolean set); + void (*playlist_select_range)(Playlist *playlist, gint min, gint max, gboolean sel); + void (*playlist_select_invert_all)(Playlist *playlist); + gboolean (*playlist_select_invert)(Playlist *playlist, guint pos); + + gboolean (*playlist_read_info_selection)(Playlist *playlist); + void (*playlist_read_info)(Playlist *playlist, guint pos); + + void (*playlist_set_shuffle)(gboolean shuffle); + + void (*playlist_clear_selected)(Playlist *playlist); + + GList *(*get_playlist_nth)(Playlist *playlist, guint); + + gboolean (*playlist_set_current_name)(Playlist *playlist, const gchar * title); + const gchar *(*playlist_get_current_name)(Playlist *playlist); + + gboolean (*playlist_filename_set)(Playlist *playlist, const gchar * filename); + + gchar *(*playlist_filename_get)(Playlist *playlist); + + Playlist *(*playlist_new)(void); + void (*playlist_free)(Playlist *playlist); + Playlist *(*playlist_new_from_selected)(void); + + gboolean (*is_playlist_name)(const gchar * filename); + + void (*playlist_load_ins_file)(Playlist *playlist, const gchar * filename, + const gchar * playlist_name, gint pos, + const gchar * title, gint len); + + void (*playlist_load_ins_file_tuple)(Playlist *playlist, const gchar * filename_p, + const gchar * playlist_name, gint pos, + Tuple *tuple); + + Playlist *(*playlist_get_active)(void); + + gboolean (*playlist_playlists_equal)(Playlist *p1, Playlist *p2); + + /* state vars */ + InputPluginData *ip_state; + BmpConfig *_cfg; + + /* hook API */ + void (*hook_register)(const gchar *name); + gint (*hook_associate)(const gchar *name, HookFunction func, gpointer user_data); + gint (*hook_dissociate)(const gchar *name, HookFunction func); + void (*hook_call)(const gchar *name, gpointer hook_data); + + /* xconvert API */ + struct xmms_convert_buffers *(*xmms_convert_buffers_new)(void); + void (*xmms_convert_buffers_free)(struct xmms_convert_buffers *buf); + void (*xmms_convert_buffers_destroy)(struct xmms_convert_buffers *buf); + convert_func_t (*xmms_convert_get_func)(AFormat output, AFormat input); + convert_channel_func_t (*xmms_convert_get_channel_func)(AFormat fmt, + int output, + int input); + convert_freq_func_t (*xmms_convert_get_frequency_func)(AFormat fmt, + int channels); + + /* PluginMenu API */ + gint (*menu_plugin_item_add)(gint, GtkWidget *); + gint (*menu_plugin_item_remove)(gint, GtkWidget *); + + /* DRCT API. */ + void (*drct_quit) ( void ); + void (*drct_eject) ( void ); + void (*drct_jtf_show) ( void ); + gboolean (*drct_main_win_is_visible)( void ); + void (*drct_main_win_toggle) ( gboolean ); + gboolean (*drct_eq_win_is_visible)( void ); + void (*drct_eq_win_toggle) ( gboolean ); + gboolean (*drct_pl_win_is_visible)( void ); + void (*drct_pl_win_toggle) ( gboolean ); + void (*drct_set_skin)(gchar *skinfile); + void (*drct_activate)(void); + + /* DRCT API: playback */ + void (*drct_play) ( void ); + void (*drct_pause) ( void ); + void (*drct_stop) ( void ); + gboolean (*drct_get_playing)( void ); + gboolean (*drct_get_paused)( void ); + gboolean (*drct_get_stopped)( void ); + void (*drct_get_info)( gint *rate, gint *freq, gint *nch); + gint (*drct_get_time )( void ); + void (*drct_seek) ( guint pos ); + void (*drct_get_volume)( gint *vl, gint *vr ); + void (*drct_set_volume)( gint vl, gint vr ); + void (*drct_get_volume_main)( gint *v ); + void (*drct_set_volume_main)( gint v ); + void (*drct_get_volume_balance)( gint *b ); + void (*drct_set_volume_balance)( gint b ); + + /* DRCT API: playlist */ + void (*drct_pl_next)( void ); + void (*drct_pl_prev)( void ); + gboolean (*drct_pl_repeat_is_enabled)( void ); + void (*drct_pl_repeat_toggle) ( void ); + gboolean (*drct_pl_repeat_is_shuffled)( void ); + void (*drct_pl_shuffle_toggle) ( void ); + gchar *(*drct_pl_get_title)( gint pos ); + gint (*drct_pl_get_time)( gint pos ); + gint (*drct_pl_get_pos)( void ); + gchar *(*drct_pl_get_file)( gint pos ); + void (*drct_pl_add) ( GList * list ); + void (*drct_pl_clear) ( void ); + gint (*drct_pl_get_length)( void ); + void (*drct_pl_delete) ( gint pos ); + void (*drct_pl_set_pos)( gint pos ); + void (*drct_pl_ins_url_string)( gchar * string, gint pos ); + void (*drct_pl_add_url_string)( gchar * string ); + void (*drct_pl_enqueue_to_temp)( gchar * string ); + + /* DRCT API: playqueue */ + gint (*drct_pq_get_length)( void ); + void (*drct_pq_add)( gint pos ); + void (*drct_pq_remove)( gint pos ); + void (*drct_pq_clear)( void ); + gboolean (*drct_pq_is_queued)( gint pos ); + gint (*drct_pq_get_position)( gint pos ); + gint (*drct_pq_get_queue_position)( gint pos ); + + /* Formatter API */ + Formatter *(*formatter_new)(void); + void (*formatter_destroy)(Formatter * formatter); + void (*formatter_associate)(Formatter * formatter, guchar id, + gchar * value); + void (*formatter_dissociate)(Formatter * formatter, guchar id); + gchar *(*formatter_format)(Formatter * formatter, gchar * format); + + gint (*prefswin_page_new)(GtkWidget *container, gchar *name, gchar *imgurl); + void (*prefswin_page_destroy)(GtkWidget *container); + + /* FileInfoPopup API */ + GtkWidget *(*fileinfopopup_create)(void); + void (*fileinfopopup_destroy)(GtkWidget* fileinfopopup_win); + void (*fileinfopopup_show_from_tuple)(GtkWidget *fileinfopopup_win, Tuple *tuple); + void (*fileinfopopup_show_from_title)(GtkWidget *fileinfopopup_win, gchar *title); + void (*fileinfopopup_hide)(GtkWidget *filepopup_win, gpointer unused); + + /* Probe */ + ProbeResult *(*input_check_file)(const gchar * filename, gboolean show_warning); + + /* InputPlayback */ + InputPlayback *(*playback_new)(void); + void (*playback_run)(InputPlayback *); + + /* Flows */ + gsize (*flow_execute)(Flow *flow, gint time, gpointer *data, gsize len, AFormat fmt, + gint srate, gint channels); + Flow *(*flow_new)(void); + void (*flow_link_element)(Flow *flow, FlowFunction func); + void (*flow_unlink_element)(Flow *flow, FlowFunction func); + void (*effect_flow)(FlowContext *context); + void (*iir_flow)(FlowContext *context); + void (*volumecontrol_flow)(FlowContext *context); + + /* Dock */ + GList *(*get_dock_window_list)(void); + GList *(*dock_add_window)(GList * window_list, GtkWindow * window); + GList *(*dock_remove_window)(GList * window_list, GtkWindow * window); + void (*dock_move_press)(GList * window_list, GtkWindow * w, + GdkEventButton * event, gboolean move_list); + void (*dock_move_motion)(GtkWindow * w, GdkEventMotion * event); + void (*dock_move_release)(GtkWindow * w); + gboolean (*dock_is_moving)(GtkWindow * w); }; /* Convenience macros for accessing the public API. */ @@ -427,6 +697,234 @@ #define aud_playlist_container_write _audvt->playlist_container_write #define aud_playlist_container_find _audvt->playlist_container_find +#define aud_playlist_entry_new _audvt->playlist_entry_new +#define aud_playlist_entry_free _audvt->playlist_entry_free + +#define aud_playlist_add_playlist _audvt->playlist_add_playlist +#define aud_playlist_remove_playlist _audvt->playlist_remove_playlist +#define aud_playlist_select_playlist _audvt->playlist_select_playlist +#define aud_playlist_select_next _audvt->playlist_select_next +#define aud_playlist_select_prev _audvt->playlist_select_prev +#define aud_playlist_get_playlists _audvt->playlist_get_playlists + +#define aud_playlist_clear_only _audvt->playlist_clear_only +#define aud_playlist_clear _audvt->playlist_clear +#define aud_playlist_delete _audvt->playlist_delete + +#define aud_playlist_add _audvt->playlist_add +#define aud_playlist_ins _audvt->playlist_ins +#define aud_playlist_add_dir _audvt->playlist_add_dir +#define aud_playlist_ins_dir _audvt->playlist_ins_dir +#define aud_playlist_add_url _audvt->playlist_add_url +#define aud_playlist_ins_url _audvt->playlist_ins_url + +#define aud_playlist_check_pos_current _audvt->playlist_check_pos_current +#define aud_playlist_next _audvt->playlist_next +#define aud_playlist_prev _audvt->playlist_prev + +#define aud_playlist_queue _audvt->playlist_queue +#define aud_playlist_queue_position _audvt->playlist_queue_position +#define aud_playlist_queue_remove _audvt->playlist_queue_remove +#define aud_playlist_queue_get_length _audvt->playlist_queue_get_length +#define aud_playlist_is_position_queued _audvt->playlist_is_position_queued +#define aud_playlist_clear_queue _audvt->playlist_clear_queue +#define aud_playlist_get_queue_position _audvt->playlist_get_queue_position +#define aud_playlist_get_queue_position_number _audvt->playlist_get_queue_position_number +#define aud_playlist_get_queue_qposition_number _audvt->playlist_get_queue_qposition_number +#define aud_playlist_eof_reached _audvt->playlist_eof_reached +#define aud_playlist_set_position _audvt->playlist_set_position +#define aud_playlist_get_length _audvt->playlist_get_length +#define aud_playlist_get_position _audvt->playlist_get_position +#define aud_playlist_get_position_nolock _audvt->playlist_get_position_nolock +#define aud_playlist_get_info_text _audvt->playlist_get_info_text +#define aud_playlist_get_current_length _audvt->playlist_get_current_length + +#define aud_playlist_save _audvt->playlist_save +#define aud_playlist_load _audvt->playlist_load + +#define aud_playlist_sort _audvt->playlist_sort +#define aud_playlist_sort_selected _audvt->playlist_sort_selected + +#define aud_playlist_reverse _audvt->playlist_reverse +#define aud_playlist_random _audvt->playlist_random +#define aud_playlist_remove_duplicates _audvt->playlist_remove_duplicates +#define aud_playlist_remove_dead_files _audvt->playlist_remove_dead_files + +#define aud_playlist_fileinfo_current _audvt->playlist_fileinfo_current +#define aud_playlist_fileinfo _audvt->playlist_fileinfo + +#define aud_playlist_delete_index _audvt->playlist_delete_index +#define aud_playlist_delete_filenames _audvt->playlist_delete_filenames + +#define aud_playlist_get_entry_to_play _audvt->playlist_get_entry_to_play + +#define aud_playlist_get_filename _audvt->playlist_get_filename +#define aud_playlist_get_songtitle _audvt->playlist_get_songtitle +#define aud_playlist_get_tuple _audvt->playlist_get_tuple +#define aud_playlist_get_songtime _audvt->playlist_get_songtime + +#define aud_playlist_get_selected _audvt->playlist_get_selected +#define aud_playlist_get_num_selected _audvt->playlist_get_num_selected + +#define aud_playlist_get_total_time _audvt->playlist_get_total_time + +#define aud_playlist_select_search _audvt->playlist_select_search +#define aud_playlist_select_all _audvt->playlist_select_all +#define aud_playlist_select_range _audvt->playlist_select_range +#define aud_playlist_select_invert_all _audvt->playlist_select_invert_all +#define aud_playlist_select_invert _audvt->playlist_select_invert + +#define aud_playlist_read_info_selection _audvt->playlist_read_info_selection +#define aud_playlist_read_info _audvt->playlist_read_info + +#define aud_playlist_set_shuffle _audvt->playlist_set_shuffle + +#define aud_playlist_clear_selected _audvt->playlist_clear_selected + +#define aud_get_playlist_nth _audvt->get_playlist_nth + +#define aud_playlist_set_current_name _audvt->playlist_set_current_name +#define aud_playlist_get_current_name _audvt->playlist_get_current_name + +#define aud_playlist_filename_set _audvt->playlist_filename_set +#define aud_playlist_filename_get _audvt->playlist_filename_get + +#define aud_playlist_new _audvt->playlist_new +#define aud_playlist_free _audvt->playlist_free +#define aud_playlist_new_from_selected _audvt->playlist_new_from_selected + +#define aud_is_playlist_name _audvt->is_playlist_name + +#define aud_playlist_load_ins_file _audvt->playlist_load_ins_file +#define aud_playlist_load_ins_file_tuple _audvt->playlist_load_ins_file_tuple + +#define aud_playlist_get_active _audvt->playlist_get_active +#define aud_playlist_playlists_equal _audvt->playlist_playlists_equal + +#define aud_ip_state _audvt->ip_state +#define aud_cfg _audvt->_cfg + +#define aud_hook_associate _audvt->hook_associate +#define aud_hook_dissociate _audvt->hook_dissociate +#define aud_hook_register _audvt->hook_register +#define aud_hook_call _audvt->hook_call + +#define aud_open_ini_file _audvt->open_ini_file +#define aud_close_ini_file _audvt->close_ini_file +#define aud_read_ini_string _audvt->read_ini_string +#define aud_read_ini_array _audvt->read_ini_array + +#define aud_convert_buffers_new _audvt->xmms_convert_buffers_new +#define aud_convert_buffers_free _audvt->xmms_convert_buffers_free +#define aud_convert_buffers_destroy _audvt->xmms_convert_buffers_destroy +#define aud_convert_get_func _audvt->xmms_convert_get_func +#define aud_convert_get_channel_func _audvt->xmms_convert_get_channel_func +#define aud_convert_get_frequency_func _audvt->xmms_convert_get_frequency_func + +#define audacious_menu_plugin_item_add _audvt->menu_plugin_item_add +#define audacious_menu_plugin_item_remove _audvt->menu_plugin_item_remove +#define aud_menu_plugin_item_add _audvt->menu_plugin_item_add +#define aud_menu_plugin_item_remove _audvt->menu_plugin_item_remove + +#define audacious_drct_quit _audvt->drct_quit +#define audacious_drct_eject _audvt->drct_eject +#define audacious_drct_jtf_show _audvt->drct_jtf_show +#define audacious_drct_main_win_is_visible _audvt->drct_main_win_is_visible +#define audacious_drct_main_win_toggle _audvt->drct_main_win_toggle +#define audacious_drct_eq_win_is_visible _audvt->drct_eq_win_is_visible +#define audacious_drct_eq_win_toggle _audvt->drct_eq_win_toggle +#define audacious_drct_pl_win_is_visible _audvt->drct_pl_win_is_visible +#define audacious_drct_pl_win_toggle _audvt->drct_pl_win_toggle +#define audacious_drct_set_skin _audvt->drct_set_skin +#define audacious_drct_activate _audvt->drct_activate + +#define audacious_drct_play _audvt->drct_play +#define audacious_drct_pause _audvt->drct_pause +#define audacious_drct_stop _audvt->drct_stop +#define audacious_drct_get_playing _audvt->drct_get_playing +#define audacious_drct_get_paused _audvt->drct_get_paused +#define audacious_drct_get_stopped _audvt->drct_get_stopped +#define audacious_drct_get_info _audvt->drct_get_info +#define audacious_drct_get_time _audvt->drct_get_time +#define audacious_drct_seek _audvt->drct_seek +#define audacious_drct_get_volume _audvt->drct_get_volume +#define audacious_drct_set_volume _audvt->drct_set_volume +#define audacious_drct_get_volume_main _audvt->drct_get_volume_main +#define audacious_drct_set_volume_main _audvt->drct_set_volume_main +#define audacious_drct_get_volume_balance _audvt->drct_get_volume_balance +#define audacious_drct_set_volume_balance _audvt->drct_set_volume_balance + +#define audacious_drct_pl_next _audvt->drct_pl_next +#define audacious_drct_pl_prev _audvt->drct_pl_prev +#define audacious_drct_pl_repeat_is_enabled _audvt->drct_pl_repeat_is_enabled +#define audacious_drct_pl_repeat_toggle _audvt->drct_pl_repeat_toggle +#define audacious_drct_pl_repeat_is_shuffled _audvt->drct_pl_repeat_is_shuffled +#define audacious_drct_pl_shuffle_toggle _audvt->drct_pl_shuffle_toggle +#define audacious_drct_pl_get_title _audvt->drct_pl_get_title +#define audacious_drct_pl_get_time _audvt->drct_pl_get_time +#define audacious_drct_pl_get_pos _audvt->drct_pl_get_pos +#define audacious_drct_pl_get_file _audvt->drct_pl_get_file +#define audacious_drct_pl_add _audvt->drct_pl_add +#define audacious_drct_pl_clear _audvt->drct_pl_clear +#define audacious_drct_pl_get_length _audvt->drct_pl_get_length +#define audacious_drct_pl_delete _audvt->drct_pl_delete +#define audacious_drct_pl_set_pos _audvt->drct_pl_set_pos +#define audacious_drct_pl_ins_url_string _audvt->drct_pl_ins_url_string +#define audacious_drct_pl_add_url_string _audvt->drct_pl_add_url_string +#define audacious_drct_pl_enqueue_to_temp _audvt->drct_pl_enqueue_to_temp + +#define audacious_drct_pq_get_length _audvt->drct_pq_get_length +#define audacious_drct_pq_add _audvt->drct_pq_add +#define audacious_drct_pq_remove _audvt->drct_pq_remove +#define audacious_drct_pq_clear _audvt->drct_pq_clear +#define audacious_drct_pq_is_queued _audvt->drct_pq_is_queued +#define audacious_drct_pq_get_position _audvt->drct_pq_get_position +#define audacious_drct_pq_get_queue_position _audvt->drct_pq_get_queue_position + +#define aud_formatter_new _audvt->formatter_new +#define aud_formatter_destroy _audvt->formatter_destroy +#define aud_formatter_associate _audvt->formatter_associate +#define aud_formatter_dissociate _audvt->formatter_dissociate +#define aud_formatter_format _audvt->formatter_format + +#define aud_prefswin_page_new _audvt->prefswin_page_new +#define aud_prefswin_page_destroy _audvt->prefswin_page_destroy + +#define audacious_fileinfopopup_create _audvt->fileinfopopup_create +#define audacious_fileinfopopup_destroy _audvt->fileinfopopup_destroy +#define audacious_fileinfopopup_show_from_tuple _audvt->fileinfopopup_show_from_tuple +#define audacious_fileinfopopup_show_from_title _audvt->fileinfopopup_show_from_title +#define audacious_fileinfopopup_hide _audvt->fileinfopopup_hide + +#define audacious_get_localdir _audvt->util_get_localdir + +#define aud_input_check_file _audvt->input_check_file + +#define aud_playback_new _audvt->playback_new +#define aud_playback_run _audvt->playback_run +#define aud_playback_free(x) g_slice_free(InputPlayback, (x)) + +#define aud_flow_execute _audvt->flow_execute +#define aud_flow_new _audvt->flow_new +#define aud_flow_link_element _audvt->flow_link_element +#define aud_flow_unlink_element _audvt->flow_unlink_element +#define aud_effect_flow _audvt->effect_flow +#define aud_iir_flow _audvt->iir_flow +#define aud_volumecontrol_flow _audvt->volumecontrol_flow +#define aud_flow_destroy(flow) mowgli_object_unref(flow) + +#define audacious_menu_main_show _audvt->util_menu_main_show + +#define aud_get_dock_window_list _audvt->get_dock_window_list +#define aud_dock_add_window _audvt->dock_add_window +#define aud_dock_remove_window _audvt->dock_remove_window +#define aud_dock_move_press _audvt->dock_move_press +#define aud_dock_move_motion _audvt->dock_move_motion +#define aud_dock_move_release _audvt->dock_move_release +#define aud_dock_is_moving _audvt->dock_is_moving + +#include "audacious/auddrct.h" + /* for multi-file plugins :( */ extern struct _AudaciousFuncTableV1 *_audvt;
--- a/src/audacious/pluginenum.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/pluginenum.c Fri Oct 19 12:14:04 2007 +0300 @@ -37,6 +37,7 @@ #include <string.h> #include "main.h" +#include "dock.h" #include "ui_main.h" #include "playback.h" #include "playlist.h" @@ -55,6 +56,13 @@ #include "vfs_buffer.h" #include "vfs_buffered_file.h" +#include "ui_preferences.h" +#include "ui_fileinfopopup.h" + +#include "effect.h" +#include "iir.h" +#include "volumecontrol.h" + const gchar *plugin_dir_list[] = { PLUGINSUBS, NULL @@ -154,6 +162,226 @@ .playlist_container_read = playlist_container_read, .playlist_container_write = playlist_container_write, .playlist_container_find = playlist_container_find, + + .playlist_entry_new = playlist_entry_new, + .playlist_entry_free = playlist_entry_free, + + .playlist_add_playlist = playlist_add_playlist, + .playlist_remove_playlist = playlist_remove_playlist, + .playlist_select_playlist = playlist_select_playlist, + .playlist_select_next = playlist_select_next, + .playlist_select_prev = playlist_select_prev, + .playlist_get_playlists = playlist_get_playlists, + + .playlist_clear_only = playlist_clear_only, + .playlist_clear = playlist_clear, + .playlist_delete = playlist_delete, + + .playlist_add = playlist_add, + .playlist_ins = playlist_ins, + .playlist_add_dir = playlist_add_dir, + .playlist_ins_dir = playlist_ins_dir, + .playlist_add_url = playlist_add_url, + .playlist_ins_url = playlist_ins_url, + + .playlist_check_pos_current = playlist_check_pos_current, + .playlist_next = playlist_next, + .playlist_prev = playlist_prev, + + .playlist_queue = playlist_queue, + .playlist_queue_position = playlist_queue_position, + .playlist_queue_remove = playlist_queue_remove, + .playlist_queue_get_length = playlist_queue_get_length, + .playlist_is_position_queued = playlist_is_position_queued, + .playlist_clear_queue = playlist_clear_queue, + .playlist_get_queue_position = playlist_get_queue_position, + .playlist_get_queue_position_number = playlist_get_queue_position_number, + .playlist_get_queue_qposition_number = playlist_get_queue_qposition_number, + + .playlist_eof_reached = playlist_eof_reached, + .playlist_set_position = playlist_set_position, + + .playlist_get_length = playlist_get_length, + .playlist_get_position = playlist_get_position, + .playlist_get_position_nolock = playlist_get_position_nolock, + .playlist_get_info_text = playlist_get_info_text, + .playlist_get_current_length = playlist_get_current_length, + + .playlist_save = playlist_save, + .playlist_load = playlist_load, + + .playlist_sort = playlist_sort, + .playlist_sort_selected = playlist_sort_selected, + + .playlist_reverse = playlist_reverse, + .playlist_random = playlist_random, + .playlist_remove_duplicates = playlist_remove_duplicates, + .playlist_remove_dead_files = playlist_remove_dead_files, + + .playlist_fileinfo_current = playlist_fileinfo_current, + .playlist_fileinfo = playlist_fileinfo, + + .playlist_delete_index = playlist_delete_index, + .playlist_delete_filenames = playlist_delete_filenames, + + .playlist_get_entry_to_play = playlist_get_entry_to_play, + + .playlist_get_filename = playlist_get_filename, + .playlist_get_songtitle = playlist_get_songtitle, + .playlist_get_tuple = playlist_get_tuple, + .playlist_get_songtime = playlist_get_songtime, + + .playlist_get_selected = playlist_get_selected, + .playlist_get_num_selected = playlist_get_num_selected, + + .playlist_get_total_time = playlist_get_total_time, + .playlist_select_search = playlist_select_search, + .playlist_select_all = playlist_select_all, + .playlist_select_range = playlist_select_range, + .playlist_select_invert_all = playlist_select_invert_all, + .playlist_select_invert = playlist_select_invert, + + .playlist_read_info_selection = playlist_read_info_selection, + .playlist_read_info = playlist_read_info, + + .playlist_set_shuffle = playlist_set_shuffle, + + .playlist_clear_selected = playlist_clear_selected, + + .get_playlist_nth = get_playlist_nth, + + .playlist_set_current_name = playlist_set_current_name, + .playlist_get_current_name = playlist_get_current_name, + + .playlist_filename_set = playlist_filename_set, + .playlist_filename_get = playlist_filename_get, + + .playlist_new = playlist_new, + .playlist_free = playlist_free, + .playlist_new_from_selected = playlist_new_from_selected, + + .is_playlist_name = is_playlist_name, + + .playlist_load_ins_file = playlist_load_ins_file, + .playlist_load_ins_file_tuple = playlist_load_ins_file_tuple, + + .playlist_get_active = playlist_get_active, + .playlist_playlists_equal = playlist_playlists_equal, + + .ip_state = &ip_data, + ._cfg = &cfg, + + .hook_associate = hook_associate, + .hook_dissociate = hook_dissociate, + .hook_register = hook_register, + .hook_call = hook_call, + + .open_ini_file = open_ini_file, + .close_ini_file = close_ini_file, + .read_ini_string = read_ini_string, + .read_ini_array = read_ini_array, + + .xmms_convert_buffers_new = xmms_convert_buffers_new, + .xmms_convert_buffers_free = xmms_convert_buffers_free, + .xmms_convert_buffers_destroy = xmms_convert_buffers_destroy, + .xmms_convert_get_func = xmms_convert_get_func, + .xmms_convert_get_channel_func = xmms_convert_get_channel_func, + .xmms_convert_get_frequency_func = xmms_convert_get_frequency_func, + + .menu_plugin_item_add = menu_plugin_item_add, + .menu_plugin_item_remove = menu_plugin_item_remove, + + .drct_quit = drct_quit, + .drct_eject = drct_eject, + .drct_jtf_show = drct_jtf_show, + .drct_main_win_is_visible = drct_main_win_is_visible, + .drct_main_win_toggle = drct_main_win_toggle, + .drct_eq_win_is_visible = drct_eq_win_is_visible, + .drct_eq_win_toggle = drct_eq_win_toggle, + .drct_pl_win_is_visible = drct_pl_win_is_visible, + .drct_pl_win_toggle = drct_pl_win_toggle, + .drct_set_skin = drct_set_skin, + .drct_activate = drct_activate, + + .drct_play = drct_play, + .drct_pause = drct_pause, + .drct_stop = drct_stop, + .drct_get_playing = drct_get_playing, + .drct_get_paused = drct_get_paused, + .drct_get_stopped = drct_get_stopped, + .drct_get_info = drct_get_info, + .drct_get_time = drct_get_time, + .drct_seek = drct_seek, + .drct_get_volume = drct_get_volume, + .drct_set_volume = drct_set_volume, + .drct_get_volume_main = drct_get_volume_main, + .drct_set_volume_main = drct_set_volume_main, + .drct_get_volume_balance = drct_get_volume_balance, + .drct_set_volume_balance = drct_set_volume_balance, + + .drct_pl_next = drct_pl_next, + .drct_pl_prev = drct_pl_prev, + .drct_pl_repeat_is_enabled = drct_pl_repeat_is_enabled, + .drct_pl_repeat_toggle = drct_pl_repeat_toggle, + .drct_pl_repeat_is_shuffled = drct_pl_repeat_is_shuffled, + .drct_pl_shuffle_toggle = drct_pl_shuffle_toggle, + .drct_pl_get_title = drct_pl_get_title, + .drct_pl_get_time = drct_pl_get_time, + .drct_pl_get_pos = drct_pl_get_pos, + .drct_pl_get_file = drct_pl_get_file, + .drct_pl_add = drct_pl_add, + .drct_pl_clear = drct_pl_clear, + .drct_pl_get_length = drct_pl_get_length, + .drct_pl_delete = drct_pl_delete, + .drct_pl_set_pos = drct_pl_set_pos, + .drct_pl_ins_url_string = drct_pl_ins_url_string, + .drct_pl_add_url_string = drct_pl_add_url_string, + .drct_pl_enqueue_to_temp = drct_pl_enqueue_to_temp, + + .drct_pq_get_length = drct_pq_get_length, + .drct_pq_add = drct_pq_add, + .drct_pq_remove = drct_pq_remove, + .drct_pq_clear = drct_pq_clear, + .drct_pq_is_queued = drct_pq_is_queued, + .drct_pq_get_position = drct_pq_get_position, + .drct_pq_get_queue_position = drct_pq_get_queue_position, + + .formatter_new = formatter_new, + .formatter_destroy = formatter_destroy, + .formatter_associate = formatter_associate, + .formatter_dissociate = formatter_dissociate, + .formatter_format = formatter_format, + + .prefswin_page_new = prefswin_page_new, + .prefswin_page_destroy = prefswin_page_destroy, + + .fileinfopopup_create = fileinfopopup_create, + .fileinfopopup_destroy = fileinfopopup_destroy, + .fileinfopopup_show_from_title = fileinfopopup_show_from_title, + .fileinfopopup_show_from_tuple = fileinfopopup_show_from_tuple, + .fileinfopopup_hide = fileinfopopup_hide, + + .util_get_localdir = util_get_localdir, + + .input_check_file = input_check_file, + + .flow_new = flow_new, + .flow_execute = flow_execute, + .flow_link_element = flow_link_element, + .flow_unlink_element = flow_unlink_element, + .effect_flow = effect_flow, + .iir_flow = iir_flow, + .volumecontrol_flow = volumecontrol_flow, + + .util_menu_main_show = util_menu_main_show, + + .get_dock_window_list = get_dock_window_list, + .dock_add_window = dock_add_window, + .dock_remove_window = dock_remove_window, + .dock_move_press = dock_move_press, + .dock_move_motion = dock_move_motion, + .dock_move_release = dock_move_release, + .dock_is_moving = dock_is_moving, }; /*****************************************************************/
--- a/src/audacious/skin.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/skin.c Fri Oct 19 12:14:04 2007 +0300 @@ -127,6 +127,8 @@ {200, 200, 200} }; +static gchar *original_gtk_theme = NULL; + static GdkBitmap *skin_create_transparent_mask(const gchar *, const gchar *, const gchar *, @@ -1461,10 +1463,37 @@ return TRUE; } +static void +skin_set_gtk_theme(GtkSettings * settings, Skin * skin, gboolean tmp_clean) +{ + if (original_gtk_theme == NULL) + g_object_get(settings, "gtk-theme-name", &original_gtk_theme, NULL); + + gchar *tmp = g_strdup_printf("%s/.themes/aud-%s", g_get_home_dir(), + basename(skin->path)); + + gchar *troot = g_strdup_printf("%s/.themes", g_get_home_dir()); + g_mkdir_with_parents(troot, 0755); + g_free(troot); + + symlink(skin->path, tmp); + gtk_settings_set_string_property(settings, "gtk-theme-name", + basename(tmp), "audacious"); + +#if 0 + if (tmp_clean) + { + unlink(tmp); + g_free(tmp); + } +#endif +} + static gboolean skin_load_nolock(Skin * skin, const gchar * path, gboolean force) { - gchar *cpath; + GtkSettings *settings; + gchar *cpath, *gtkrcpath; g_return_val_if_fail(skin != NULL, FALSE); g_return_val_if_fail(path != NULL, FALSE); @@ -1474,12 +1503,24 @@ return FALSE; if (!force && skin->path && !strcmp(skin->path, path)) - return FALSE; + return FALSE; skin_current_num++; skin->path = g_strdup(path); + + settings = gtk_settings_get_default(); + + if (original_gtk_theme != NULL) + { + gtk_settings_set_string_property(settings, "gtk-theme-name", + original_gtk_theme, "audacious"); + g_free(original_gtk_theme); + original_gtk_theme = NULL; + } + + if (!file_is_archive(path)) { /* Parse the hints for this skin. */ skin_parse_hints(skin, NULL); @@ -1489,6 +1530,17 @@ skin_load_cursor(skin, path); +#ifndef _WIN32 + gtkrcpath = find_path_recursively(skin->path, "gtkrc"); + + /* the way GTK does things can be very broken. --nenolod */ + if (gtkrcpath != NULL) { + skin_set_gtk_theme(settings, skin, FALSE); + } + + g_free(gtkrcpath); +#endif + return TRUE; } @@ -1509,6 +1561,17 @@ skin_load_cursor(skin, cpath); +#ifndef _WIN32 + gtkrcpath = find_path_recursively(skin->path, "gtkrc"); + + /* the way GTK does things can be very broken. --nenolod */ + if (gtkrcpath != NULL) { + skin_set_gtk_theme(settings, skin, TRUE); + } + + g_free(gtkrcpath); +#endif + del_directory(cpath); g_free(cpath);
--- a/src/audacious/tuple_compiler.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/tuple_compiler.c Fri Oct 19 12:14:04 2007 +0300 @@ -33,6 +33,10 @@ #include <stdarg.h> #include "tuple_compiler.h" +#define MAX_STR (256) +#define MIN_ALLOC_NODES (8) +#define MIN_ALLOC_BUF (64) + void tuple_error(const char *fmt, ...) { @@ -583,9 +587,10 @@ } break; default: - break; + tmps = NULL; + tmpi = 0; } - + return type; } @@ -608,6 +613,7 @@ while (curr) { const gchar *str = NULL; + switch (curr->opcode) { case OP_RAW: str = curr->text; @@ -654,7 +660,7 @@ case OP_GT: case OP_GTEQ: var0 = ctx->variables[curr->var[0]]; var1 = ctx->variables[curr->var[1]]; - + type0 = tf_get_var(&tmps0, &tmpi0, var0, tuple); type1 = tf_get_var(&tmps1, &tmpi1, var1, tuple); @@ -751,6 +757,8 @@ assert(ctx != NULL); assert(tuple != NULL); + if (!expr) return res; + tuple_formatter_eval_do(ctx, expr, tuple, &res, &resmax, &reslen); return res;
--- a/src/audacious/tuple_compiler.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/tuple_compiler.h Fri Oct 19 12:14:04 2007 +0300 @@ -25,10 +25,7 @@ #include "tuple.h" -#define MAX_VAR (2) -#define MAX_STR (256) -#define MIN_ALLOC_NODES (8) -#define MIN_ALLOC_BUF (128) +#define TUP_MAX_VARS (4) enum { @@ -79,8 +76,8 @@ typedef struct _TupleEvalNode { gint opcode; /* operator, see OP_ enums */ - gint var[MAX_VAR]; /* tuple / global variable references (perhaps hashes, or just indexes to a list?) */ - gboolean global[MAX_VAR]; + gint var[TUP_MAX_VARS]; /* tuple / global variable references (perhaps hashes, or just indexes to a list?) */ + gboolean global[TUP_MAX_VARS]; gchar *text; /* raw text, if any (OP_RAW) */ gint function, expression; /* for OP_FUNCTION and OP_EXPRESSION */ struct _TupleEvalNode *children, *next, *prev; /* children of this struct, and pointer to next node. */
--- a/src/audacious/tuple_formatter.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/tuple_formatter.c Fri Oct 19 12:14:04 2007 +0300 @@ -25,7 +25,23 @@ #include "tuple.h" #include "tuple_formatter.h" -//#define _DEBUG +/* + * TUPLE_USE_COMPILER: + * Undefine this to disable usage of the Tuplez compiler implementation. + * This may be useful for prototyping new features of the language. + */ +#define TUPLE_USE_COMPILER + +/* + * TUPLE_COMPILER_DEBUG: + * Define this to debug the execution process of the Tuplez compiled + * bytecode. This may be useful if bugs creep in. + */ +#undef TUPLE_COMPILER_DEBUG + +#ifdef TUPLE_USE_COMPILER +# include "tuple_compiler.h" +#endif #ifdef _DEBUG # define _TRACE(fmt, ...) g_print("[tuple-fmt] %s(%d) " fmt "\n", __FILE__, __LINE__, __VA_ARGS__); @@ -497,12 +513,22 @@ return g_strdup(PACKAGE_NAME " " PACKAGE_VERSION); } -/* processes a string containing instructions. does initialization phases - if not already done */ +/* + * Compile a tuplez string and cache the result. + * This caches the result for the last string, so that + * successive calls are sped up. + * + * TODO/1.5: Implement a more efficient use of the compiler. + */ gchar * tuple_formatter_process_string(Tuple *tuple, const gchar *string) { static gboolean initialized = FALSE; + static gchar *last_string = NULL; +#ifdef TUPLE_USE_COMPILER + static TupleEvalContext *last_ctx = NULL; + static TupleEvalNode *last_ev = NULL; +#endif if (initialized == FALSE) { @@ -515,7 +541,36 @@ initialized = TRUE; } +#ifdef TUPLE_USE_COMPILER + if (last_string == NULL || + (last_string != NULL && strcmp(last_string, string))) + { + g_free(last_string); + + if (last_ctx != NULL) + { + tuple_evalctx_free(last_ctx); + tuple_evalnode_free(last_ev); + } + + last_ctx = tuple_evalctx_new(); + last_string = g_strdup(string); + last_ev = tuple_formatter_compile(last_ctx, last_string); + } + +#ifdef TUPLE_COMPILER_DEBUG + { + gint level = 0; + + tuple_formatter_print(stderr, &level, last_ctx, last_ev); + } +#endif + + tuple_evalctx_reset(last_ctx); + return tuple_formatter_eval(last_ctx, last_ev, tuple); +#else return tuple_formatter_process_construct(tuple, string); +#endif } /* wrapper function for making title string. it falls back to filename @@ -536,3 +591,114 @@ return rv; } + +#ifdef TUPLE_COMPILER_DEBUG +static void print_vars(FILE *f, TupleEvalContext *ctx, TupleEvalNode *node, gint start, gint end) +{ + gint i; + g_return_if_fail(node != NULL); + g_return_if_fail(ctx != NULL); + g_return_if_fail(start >= 0); + g_return_if_fail(start <= end); + g_return_if_fail(end < MAX_VAR); + + for (i = start; i <= end; i++) { + TupleEvalVar *v = NULL; + gchar *s = NULL; + gint n = node->var[i]; + + if (n >= 0) { + v = ctx->variables[n]; + if (v) { + s = v->name; + + if (v->type == VAR_CONST) + fprintf(f, "(const)"); + else if (v->type == VAR_DEF) + fprintf(f, "(def)"); + } + } + + fprintf(f, "var[%d]=(%d),\"%s\" ", i, n, s); + } +} + +gint tuple_formatter_print(FILE *f, gint *level, TupleEvalContext *ctx, TupleEvalNode *expr) +{ + TupleEvalNode *curr = expr; + + if (!expr) return -1; + + (*level)++; + + /* Evaluate tuple in given TupleEval expression in given + * context and return resulting string. + */ + while (curr) { + gint i; + for (i = 0; i < *level; i++) + fprintf(f, " "); + + switch (curr->opcode) { + case OP_RAW: + fprintf(f, "OP_RAW text=\"%s\"\n", curr->text); + break; + + case OP_FIELD: + fprintf(f, "OP_FIELD "); + print_vars(f, ctx, curr, 0, 0); + fprintf(f, "\n"); + break; + + case OP_EXISTS: + fprintf(f, "OP_EXISTS "); + print_vars(f, ctx, curr, 0, 0); + fprintf(f, "\n"); + tuple_formatter_print(f, level, ctx, curr->children); + break; + + case OP_DEF_STRING: + fprintf(f, "OP_DEF_STRING "); + fprintf(f, "\n"); + break; + + case OP_DEF_INT: + fprintf(f, "OP_DEF_INT "); + fprintf(f, "\n"); + break; + + case OP_EQUALS: + fprintf(f, "OP_EQUALS "); + print_vars(f, ctx, curr, 0, 1); + fprintf(f, "\n"); + tuple_formatter_print(f, level, ctx, curr->children); + break; + + case OP_NOT_EQUALS: + fprintf(f, "OP_NOT_EQUALS "); + print_vars(f, ctx, curr, 0, 1); + fprintf(f, "\n"); + tuple_formatter_print(f, level, ctx, curr->children); + break; + + case OP_IS_EMPTY: + fprintf(f, "OP_IS_EMPTY "); + print_vars(f, ctx, curr, 0, 0); + fprintf(f, "\n"); + tuple_formatter_print(f, level, ctx, curr->children); + break; + + default: + fprintf(f, "Unimplemented opcode %d!\n", curr->opcode); + break; + } + + curr = curr->next; + } + + (*level)--; + + return 0; +} + +#endif
--- a/src/audacious/ui_fileinfopopup.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_fileinfopopup.c Fri Oct 19 12:14:04 2007 +0300 @@ -87,7 +87,7 @@ } static gboolean -audacious_fileinfopopup_progress_cb(gpointer filepopup_win) +fileinfopopup_progress_cb(gpointer filepopup_win) { GtkWidget *progressbar = g_object_get_data(G_OBJECT(filepopup_win), "progressbar"); @@ -138,7 +138,7 @@ } static gboolean -audacious_fileinfopopup_progress_check_active(GtkWidget *filepopup_win) +fileinfopopup_progress_check_active(GtkWidget *filepopup_win) { if (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(filepopup_win),"progress_sid")) == 0) return FALSE; @@ -146,23 +146,23 @@ } static void -audacious_fileinfopopup_progress_init(GtkWidget *filepopup_win) +fileinfopopup_progress_init(GtkWidget *filepopup_win) { g_object_set_data( G_OBJECT(filepopup_win) , "progress_sid" , GINT_TO_POINTER(0) ); } static void -audacious_fileinfopopup_progress_start(GtkWidget *filepopup_win) +fileinfopopup_progress_start(GtkWidget *filepopup_win) { gint sid = - g_timeout_add(500, (GSourceFunc)audacious_fileinfopopup_progress_cb, + g_timeout_add(500, (GSourceFunc)fileinfopopup_progress_cb, filepopup_win); g_object_set_data(G_OBJECT(filepopup_win), "progress_sid", GINT_TO_POINTER(sid)); } static void -audacious_fileinfopopup_progress_stop(GtkWidget *filepopup_win) +fileinfopopup_progress_stop(GtkWidget *filepopup_win) { gint sid = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(filepopup_win), "progress_sid")); @@ -174,7 +174,7 @@ } static void -audacious_fileinfopopup_add_category(GtkWidget *filepopup_win, +fileinfopopup_add_category(GtkWidget *filepopup_win, GtkWidget *filepopup_data_table, const gchar *category, const gchar *header_data, @@ -211,7 +211,7 @@ GtkWidget * -audacious_fileinfopopup_create(void) +fileinfopopup_create(void) { GtkWidget *filepopup_win; GtkWidget *filepopup_hbox; @@ -248,26 +248,26 @@ gtk_box_pack_start(GTK_BOX(filepopup_hbox), filepopup_data_table, TRUE, TRUE, 0); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Title"), "header_title", "label_title", 0); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Artist"), "header_artist", "label_artist", 1); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Album"), "header_album", "label_album", 2); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Genre"), "header_genre", "label_genre", 3); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Year"), "header_year", "label_year", 4); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Track Number"), "header_tracknum", "label_tracknum", 5); - audacious_fileinfopopup_add_category(filepopup_win, filepopup_data_table, + fileinfopopup_add_category(filepopup_win, filepopup_data_table, _("Track Length"), "header_tracklen", "label_tracklen", 6); @@ -284,7 +284,7 @@ g_object_set_data(G_OBJECT(filepopup_win), "file", NULL); g_object_set_data(G_OBJECT(filepopup_win), "progressbar", filepopup_progress); - audacious_fileinfopopup_progress_init(filepopup_win); + fileinfopopup_progress_init(filepopup_win); /* this will realize all widgets contained in filepopup_hbox */ gtk_widget_show_all(filepopup_hbox); @@ -296,10 +296,10 @@ } void -audacious_fileinfopopup_destroy(GtkWidget *filepopup_win) +fileinfopopup_destroy(GtkWidget *filepopup_win) { gchar *last_artwork; - audacious_fileinfopopup_progress_stop(filepopup_win); + fileinfopopup_progress_stop(filepopup_win); last_artwork = g_object_get_data(G_OBJECT(filepopup_win), "last_artwork"); @@ -310,7 +310,7 @@ } static void -audacious_fileinfopupup_update_data(GtkWidget *filepopup_win, +fileinfopupup_update_data(GtkWidget *filepopup_win, const gchar *text, const gchar *label_data, const gchar *header_data) @@ -329,7 +329,7 @@ } void -audacious_fileinfopopup_show_from_tuple(GtkWidget *filepopup_win, +fileinfopopup_show_from_tuple(GtkWidget *filepopup_win, Tuple *tuple) { gchar *tmp = NULL; @@ -378,17 +378,17 @@ g_free(utf_filename); } - audacious_fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_ARTIST, NULL), + fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_ARTIST, NULL), "label_artist", "header_artist"); - audacious_fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_ALBUM, NULL), + fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_ALBUM, NULL), "label_album", "header_album"); - audacious_fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_GENRE, NULL), + fileinfopupup_update_data(filepopup_win, tuple_get_string(tuple, FIELD_GENRE, NULL), "label_genre", "header_genre"); length = tuple_get_int(tuple, FIELD_LENGTH, NULL); length_string = (length > 0) ? g_strdup_printf("%d:%02d", length / 60000, (length / 1000) % 60) : NULL; - audacious_fileinfopupup_update_data(filepopup_win, length_string, + fileinfopupup_update_data(filepopup_win, length_string, "label_tracklen", "header_tracklen"); g_free(length_string); @@ -398,12 +398,12 @@ g_object_set_data( G_OBJECT(filepopup_win), "length" , GINT_TO_POINTER(-1) ); year_string = (tuple_get_int(tuple, FIELD_YEAR, NULL) == 0) ? NULL : g_strdup_printf("%d", tuple_get_int(tuple, FIELD_YEAR, NULL)); - audacious_fileinfopupup_update_data(filepopup_win, year_string, + fileinfopupup_update_data(filepopup_win, year_string, "label_year", "header_year"); g_free(year_string); track_string = (tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL) == 0) ? NULL : g_strdup_printf("%d", tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); - audacious_fileinfopupup_update_data(filepopup_win, track_string, + fileinfopupup_update_data(filepopup_win, track_string, "label_tracknum", "header_tracknum"); g_free(track_string); @@ -433,11 +433,11 @@ /* start a timer that updates a progress bar if the tooltip is shown for the song that is being currently played */ - if (audacious_fileinfopopup_progress_check_active(filepopup_win) == FALSE) + if (fileinfopopup_progress_check_active(filepopup_win) == FALSE) { - audacious_fileinfopopup_progress_start(filepopup_win); + fileinfopopup_progress_start(filepopup_win); /* immediately run the callback once to update progressbar status */ - audacious_fileinfopopup_progress_cb(filepopup_win); + fileinfopopup_progress_cb(filepopup_win); } gdk_window_get_pointer(gdk_get_default_root_window(), &x, &y, NULL); @@ -450,21 +450,21 @@ } void -audacious_fileinfopopup_show_from_title(GtkWidget *filepopup_win, gchar *title) +fileinfopopup_show_from_title(GtkWidget *filepopup_win, gchar *title) { Tuple * tuple = tuple_new(); tuple_associate_string(tuple, FIELD_TITLE, NULL, title); - audacious_fileinfopopup_show_from_tuple(filepopup_win, tuple); + fileinfopopup_show_from_tuple(filepopup_win, tuple); mowgli_object_unref(tuple); return; } void -audacious_fileinfopopup_hide(GtkWidget *filepopup_win, gpointer unused) +fileinfopopup_hide(GtkWidget *filepopup_win, gpointer unused) { if (GTK_WIDGET_VISIBLE(filepopup_win)) { - audacious_fileinfopopup_progress_stop(filepopup_win); + fileinfopopup_progress_stop(filepopup_win); gtk_widget_hide(filepopup_win);
--- a/src/audacious/ui_fileinfopopup.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_fileinfopopup.h Fri Oct 19 12:14:04 2007 +0300 @@ -25,12 +25,12 @@ #include <gtk/gtk.h> /* create/destroy */ -GtkWidget* audacious_fileinfopopup_create(void); -void audacious_fileinfopopup_destroy(GtkWidget* fileinfopopup_win); +GtkWidget* fileinfopopup_create(void); +void fileinfopopup_destroy(GtkWidget* fileinfopopup_win); /* show/hide */ -void audacious_fileinfopopup_show_from_tuple(GtkWidget *fileinfopopup_win, Tuple *tuple); -void audacious_fileinfopopup_show_from_title(GtkWidget *fileinfopopup_win, gchar *title); -void audacious_fileinfopopup_hide(GtkWidget *filepopup_win, gpointer unused); +void fileinfopopup_show_from_tuple(GtkWidget *fileinfopopup_win, Tuple *tuple); +void fileinfopopup_show_from_title(GtkWidget *fileinfopopup_win, gchar *title); +void fileinfopopup_hide(GtkWidget *filepopup_win, gpointer unused); #endif
--- a/src/audacious/ui_main.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_main.c Fri Oct 19 12:14:04 2007 +0300 @@ -2640,7 +2640,7 @@ void -audacious_menu_main_show( gint x , gint y , guint button , guint time ) +util_menu_main_show( gint x , gint y , guint button , guint time ) { /* convenience function that shows the main popup menu wherever requested */ ui_manager_popup_menu_show( GTK_MENU(mainwin_general_menu),
--- a/src/audacious/ui_manager.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_manager.c Fri Oct 19 12:14:04 2007 +0300 @@ -810,7 +810,7 @@ gint -audacious_menu_plugin_item_add( gint menu_id , GtkWidget * item ) +menu_plugin_item_add( gint menu_id , GtkWidget * item ) { if ( menu_created ) { @@ -840,7 +840,7 @@ gint -audacious_menu_plugin_item_remove( gint menu_id , GtkWidget * item ) +menu_plugin_item_remove( gint menu_id , GtkWidget * item ) { if ( menu_created ) {
--- a/src/audacious/ui_plugin_menu.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_plugin_menu.h Fri Oct 19 12:14:04 2007 +0300 @@ -35,8 +35,8 @@ #define AUDACIOUS_MENU_PLAYLIST_SELECT 5 #define AUDACIOUS_MENU_PLAYLIST_MISC 6 -gint audacious_menu_plugin_item_add( gint , GtkWidget * ); -gint audacious_menu_plugin_item_remove( gint , GtkWidget * ); +gint menu_plugin_item_add( gint , GtkWidget * ); +gint menu_plugin_item_remove( gint , GtkWidget * ); #endif /* AUD_UIPLUGINMENU_H */
--- a/src/audacious/ui_skinned_playlist.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/ui_skinned_playlist.c Fri Oct 19 12:14:04 2007 +0300 @@ -164,7 +164,7 @@ g_object_set_data(G_OBJECT(playlist), "timer_id", GINT_TO_POINTER(0)); g_object_set_data(G_OBJECT(playlist), "timer_active", GINT_TO_POINTER(0)); - GtkWidget *popup = audacious_fileinfopopup_create(); + GtkWidget *popup = fileinfopopup_create(); g_object_set_data(G_OBJECT(playlist), "popup", popup); g_object_set_data(G_OBJECT(playlist), "popup_active", GINT_TO_POINTER(0)); g_object_set_data(G_OBJECT(playlist), "popup_position", GINT_TO_POINTER(-1)); @@ -1021,10 +1021,10 @@ tuple = playlist_get_tuple(pl_active, pos); if ((tuple == NULL) || (tuple_get_int(tuple, FIELD_LENGTH, NULL) < 1)) { gchar *title = playlist_get_songtitle(pl_active, pos); - audacious_fileinfopopup_show_from_title(popup, title); + fileinfopopup_show_from_title(popup, title); g_free(title); } else { - audacious_fileinfopopup_show_from_tuple(popup , tuple); + fileinfopopup_show_from_tuple(popup , tuple); } g_object_set_data(G_OBJECT(widget), "popup_active" , GINT_TO_POINTER(1)); } @@ -1037,7 +1037,7 @@ if (GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "popup_active")) == 1) { GtkWidget *popup = g_object_get_data(G_OBJECT(widget), "popup"); g_object_set_data(G_OBJECT(widget), "popup_active", GINT_TO_POINTER(0)); - audacious_fileinfopopup_hide(popup, NULL); + fileinfopopup_hide(popup, NULL); } }
--- a/src/audacious/util.c Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/util.c Fri Oct 19 12:14:04 2007 +0300 @@ -949,7 +949,7 @@ /** - * audacious_get_localdir: + * util_get_localdir: * * Returns a string with the full path of Audacious local datadir (where config files are placed). * It's useful in order to put in the right place custom config files for audacious plugins. @@ -957,7 +957,7 @@ * Return value: a string with full path of Audacious local datadir (should be freed after use) **/ gchar* -audacious_get_localdir(void) +util_get_localdir(void) { gchar *datadir; gchar *tmp;
--- a/src/audacious/util.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/util.h Fri Oct 19 12:14:04 2007 +0300 @@ -37,9 +37,9 @@ G_BEGIN_DECLS -#define SWAP(a, b) { a^=b; b^=a; a^=b; } +#include "audacious/plugin.h" -typedef GHashTable INIFile; +#define SWAP(a, b) { a^=b; b^=a; a^=b; } typedef gboolean(*DirForeachFunc) (const gchar * path, const gchar * basename, @@ -100,10 +100,10 @@ GdkPixbuf *audacious_create_colorized_pixbuf(GdkPixbuf *src, gint red, gint green, gint blue); -gchar *audacious_get_localdir(void); +gchar *util_get_localdir(void); /* menu-related function */ -void audacious_menu_main_show(gint x, gint y, guint button, guint time); +void util_menu_main_show(gint x, gint y, guint button, guint time); G_END_DECLS
--- a/src/audacious/xconvert.h Sun Oct 14 05:54:54 2007 +0300 +++ b/src/audacious/xconvert.h Fri Oct 19 12:14:04 2007 +0300 @@ -4,6 +4,9 @@ * Licensed under GNU GPL version 3. */ +#ifndef _AUDACIOUS_XCONVERT_H +#define _AUDACIOUS_XCONVERT_H + #include <audacious/plugin.h> struct xmms_convert_buffers; @@ -32,3 +35,5 @@ int input); convert_freq_func_t xmms_convert_get_frequency_func(AFormat fmt, int channels); + +#endif