# HG changeset patch # User Matti Hamalainen # Date 1195184202 -7200 # Node ID de76dbec8e1e75f61067261bd84b7c43fc66c5dd # Parent 4f6c614aee5d1866aba14588a0903f2bee4be0d0# Parent 57ff64831becac105b9961be060b5297a25649e5 Automated merge with file:/home/ccr/audacious/core diff -r 4f6c614aee5d -r de76dbec8e1e .hgtags --- a/.hgtags Wed Oct 24 10:41:53 2007 +0300 +++ b/.hgtags Fri Nov 16 05:36:42 2007 +0200 @@ -5,3 +5,4 @@ e00e1ab06ba63ac4122d2b122b072e299f2ab3f9 audacious-1.4.0-dr3 45f44e987b127ce4610d9b0c9c3a6463c496f67d audacious-1.4.0-dr3 2835f4f3f38801e11778570245ddddded73d3102 audacious-1.4.0-beta2 +2f0eaf15300baa2bb2267101fd35a6fc49f2bb3c audacious-1.4.0 diff -r 4f6c614aee5d -r de76dbec8e1e AUTHORS --- a/AUTHORS Wed Oct 24 10:41:53 2007 +0300 +++ b/AUTHORS Fri Nov 16 05:36:42 2007 +0200 @@ -7,11 +7,13 @@ Kieran Clancy Michael Färber <0102@gmx.at> Giacomo Lozito +Tomasz Moń William Pitcock Derek Pomery Mohammed Sameer -Jonathan Schleifer +Jonathan Schleifer Stephen Sokolow +Ben Tucker Tony Vroon Yoshiki Yazawa diff -r 4f6c614aee5d -r de76dbec8e1e ChangeLog --- a/ChangeLog Wed Oct 24 10:41:53 2007 +0300 +++ b/ChangeLog Fri Nov 16 05:36:42 2007 +0200 @@ -128,7 +128,7 @@ 1 file changed, 4 insertions(+), 4 deletions(-) -2007-06-01 23:02:59 +0000 Jonathan Schleifer +2007-06-01 23:02:59 +0000 Jonathan Schleifer revision [4660] FreeBSD make doesn't support -include. Revert until it's fixed. @@ -136,7 +136,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) -2007-06-01 22:45:56 +0000 Jonathan Schleifer +2007-06-01 22:45:56 +0000 Jonathan Schleifer revision [4658] - Fixed annoying ".depend: No such file or directory". - Removed /.depend. @@ -445,7 +445,7 @@ 0 files changed -2007-05-18 21:01:45 +0000 Jonathan Schleifer +2007-05-18 21:01:45 +0000 Jonathan Schleifer revision [4586] Moved migrate_config.sh to contrib. trunk/contrib/migrate_config.sh | 28 ++++++++++++++++++++++++++++ @@ -1698,7 +1698,7 @@ 1 file changed, 3 insertions(+), 4 deletions(-) -2007-03-26 16:21:40 +0000 Jonathan Schleifer +2007-03-26 16:21:40 +0000 Jonathan Schleifer revision [4312] Don't show a warning dialog when trying to add .{jpeg,jpg,txt} files. @@ -2522,7 +2522,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) -2007-02-20 12:54:56 +0000 Jonathan Schleifer +2007-02-20 12:54:56 +0000 Jonathan Schleifer revision [4118] Use VFS. trunk/src/libid3tag/file.c | 2 +- @@ -3274,21 +3274,21 @@ 1 file changed, 7 insertions(+), 1 deletion(-) -2007-02-07 18:06:49 +0000 Jonathan Schleifer +2007-02-07 18:06:49 +0000 Jonathan Schleifer revision [3976] (I really hate my shell's escaping, ignore this) trunk/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -2007-02-07 18:05:19 +0000 Jonathan Schleifer +2007-02-07 18:05:19 +0000 Jonathan Schleifer revision [3974] Too much was reverted here. Removing the " around %U would've been sufficient. trunk/src/audacious/audacious.desktop.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -2007-02-07 15:49:45 +0000 Jonathan Schleifer +2007-02-07 15:49:45 +0000 Jonathan Schleifer revision [3972] Reverted rev 3958 - it breaks opening files with nautilus completely trunk/src/audacious/audacious.desktop.in | 2 +- @@ -4667,14 +4667,14 @@ 2 files changed, 21 insertions(+), 19 deletions(-) -2007-01-16 19:12:11 +0000 Jonathan Schleifer +2007-01-16 19:12:11 +0000 Jonathan Schleifer revision [3710] D'oh. I was really too tired when I wrote this. Fixed stupid bugs. trunk/migrate_config.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) -2007-01-16 18:35:30 +0000 Jonathan Schleifer +2007-01-16 18:35:30 +0000 Jonathan Schleifer revision [3708] Replaced intricate part. trunk/migrate_config.sh | 8 ++++---- @@ -4850,14 +4850,14 @@ 1 file changed, 1 insertion(+) -2007-01-14 01:02:39 +0000 Jonathan Schleifer +2007-01-14 01:02:39 +0000 Jonathan Schleifer revision [3668] Fixed make install. trunk/Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) -2007-01-14 00:41:21 +0000 Jonathan Schleifer +2007-01-14 00:41:21 +0000 Jonathan Schleifer revision [3666] - Added script for migration to XDG basedir. - Fixed tons of warnings. @@ -4877,14 +4877,14 @@ 12 files changed, 49 insertions(+), 28 deletions(-) -2007-01-14 00:09:38 +0000 Jonathan Schleifer +2007-01-14 00:09:38 +0000 Jonathan Schleifer revision [3664] Fixed: audtool.c:883: warning: implicit declaration of function 'strncmp' trunk/src/audtool/audtool.c | 1 + 1 file changed, 1 insertion(+) -2007-01-14 00:07:48 +0000 Jonathan Schleifer +2007-01-14 00:07:48 +0000 Jonathan Schleifer revision [3662] Fixed: configdb_rcfile.c:57: warning: suggest parentheses around assignment used as truth value trunk/src/libaudacious/configdb_rcfile.c | 2 +- @@ -4952,14 +4952,14 @@ 1 file changed, 25 insertions(+), 25 deletions(-) -2007-01-13 17:34:48 +0000 Jonathan Schleifer +2007-01-13 17:34:48 +0000 Jonathan Schleifer revision [3648] Fix missing s trunk/src/audacious/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -2007-01-13 17:33:35 +0000 Jonathan Schleifer +2007-01-13 17:33:35 +0000 Jonathan Schleifer revision [3646] Remove old shit. trunk/configure.ac | 3 +-- @@ -4967,7 +4967,7 @@ 2 files changed, 2 insertions(+), 17 deletions(-) -2007-01-13 17:19:52 +0000 Jonathan Schleifer +2007-01-13 17:19:52 +0000 Jonathan Schleifer revision [3644] Full support for XDG basedir added. The old config doesn't get automatically converted yet. trunk/src/audacious/main.c | 66 +++++++++++++++++++++++----------- @@ -4976,14 +4976,14 @@ 3 files changed, 48 insertions(+), 34 deletions(-) -2007-01-12 20:33:07 +0000 Jonathan Schleifer +2007-01-12 20:33:07 +0000 Jonathan Schleifer revision [3642] Same for -pipe. trunk/configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -2007-01-12 20:32:12 +0000 Jonathan Schleifer +2007-01-12 20:32:12 +0000 Jonathan Schleifer revision [3640] Add -Wall to CFLAGS by default if the CC is gcc trunk/configure.ac | 2 ++ @@ -5183,7 +5183,7 @@ 176 files changed, 52955 insertions(+), 52937 deletions(-) -2007-01-11 13:47:16 +0000 Jonathan Schleifer +2007-01-11 13:47:16 +0000 Jonathan Schleifer revision [3634] Added #ifdefs around $HOME/.audacious compatibility code trunk/configure.ac | 1 + @@ -5253,14 +5253,14 @@ 1 file changed, 1 insertion(+), 1 deletion(-) -2007-01-09 22:53:19 +0000 Jonathan Schleifer +2007-01-09 22:53:19 +0000 Jonathan Schleifer revision [3618] Fuck, I forgot to quote the $ in the commit msg, so my home was in the ChangeLog. trunk/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -2007-01-09 22:51:38 +0000 Jonathan Schleifer +2007-01-09 22:51:38 +0000 Jonathan Schleifer revision [3616] Initial XDG basedir support. trunk/libaudacious/configdb_rcfile.c | 23 ++++++++++++++++++++--- @@ -5274,7 +5274,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) -2007-01-09 15:45:01 +0000 Jonathan Schleifer +2007-01-09 15:45:01 +0000 Jonathan Schleifer revision [3612] Change $HOME/.audacious to $HOME/.config/audacious trunk/configure.ac | 2 +- @@ -5374,7 +5374,7 @@ 2 files changed, 3 insertions(+), 12 deletions(-) -2007-01-07 22:14:14 +0000 Jonathan Schleifer +2007-01-07 22:14:14 +0000 Jonathan Schleifer revision [3594] WTF addr? ITYM ptr! trunk/audacious/memorypool.c | 2 +- @@ -8476,7 +8476,7 @@ 1 file changed, 17 insertions(+), 22 deletions(-) -2006-11-24 17:49:06 +0000 Jonathan Schleifer +2006-11-24 17:49:06 +0000 Jonathan Schleifer revision [3003] Fixed wrong help, it has to be --with-rc-path. Found by Benny Siegert @@ -8654,7 +8654,7 @@ 1 file changed, 40 insertions(+), 2030 deletions(-) -2006-11-19 18:50:21 +0000 Jonathan Schleifer +2006-11-19 18:50:21 +0000 Jonathan Schleifer revision [2963] Fixed broken Classic skin. @@ -9953,7 +9953,7 @@ 1 file changed, 8 insertions(+), 7 deletions(-) -2006-10-07 20:31:15 +0000 Jonathan Schleifer +2006-10-07 20:31:15 +0000 Jonathan Schleifer revision [2641] - Replace ?= at CFLAGS, CPPFLAGS and CXXFLAGS with += - Replace ?= at CC, CPP and CXX with = @@ -10292,7 +10292,7 @@ 3 files changed, 301 insertions(+), 13 deletions(-) -2006-10-05 04:05:51 +0000 Jonathan Schleifer +2006-10-05 04:05:51 +0000 Jonathan Schleifer revision [2563] WTF, and now even a typo in the ChangeLog! (Fixed.) @@ -10300,7 +10300,7 @@ 1 file changed, 1 insertion(+), 1 deletion(-) -2006-10-05 04:04:50 +0000 Jonathan Schleifer +2006-10-05 04:04:50 +0000 Jonathan Schleifer revision [2561] Just saw that it's ordered by last name. Of course, I was too blind to see that and just added myself at the wrong place. oO @@ -10309,7 +10309,7 @@ 1 file changed, 2 insertions(+), 2 deletions(-) -2006-10-05 04:02:06 +0000 Jonathan Schleifer +2006-10-05 04:02:06 +0000 Jonathan Schleifer revision [2559] Just saw that we have an AUTHORS file here as well, so I added myself here, too. @@ -10469,7 +10469,7 @@ 4 files changed, 25 insertions(+), 11 deletions(-) -2006-10-04 19:47:37 +0000 Jonathan Schleifer +2006-10-04 19:47:37 +0000 Jonathan Schleifer revision [2523] The default values for old skins were wrong. But since changing from the new skin to an old doesn't work anyway, we can set these to 0 so @@ -10964,7 +10964,7 @@ +1 -1 trunk/configure.ac -2006-09-17 02:37:08 +0000 Jonathan Schleifer +2006-09-17 02:37:08 +0000 Jonathan Schleifer revision [2395] Fixed unused variable and missing type conversion @@ -10973,7 +10973,7 @@ +4 -2 trunk/Plugins/Visualization/paranormal/client.c -2006-09-17 02:21:06 +0000 Jonathan Schleifer +2006-09-17 02:21:06 +0000 Jonathan Schleifer revision [2393] Add #undef FSCALE, since it's already defined on OpenBSD @@ -10981,7 +10981,7 @@ +1 -0 trunk/Plugins/Input/timidity/libtimidity/options.h -2006-09-17 02:18:59 +0000 Jonathan Schleifer +2006-09-17 02:18:59 +0000 Jonathan Schleifer revision [2391] #undef TRUE and FALSE before inclusion of mpcdec.h since both, GTK and mpcdev, define this, which leads to a hard error on OpenBSD @@ -10989,7 +10989,7 @@ +2 -0 trunk/Plugins/Input/musepack/libmpc.h -2006-09-17 02:13:26 +0000 Jonathan Schleifer +2006-09-17 02:13:26 +0000 Jonathan Schleifer revision [2389] #undef ALIGN, since it's already defined on OpenBSD. @@ -10997,7 +10997,7 @@ +1 -0 trunk/Plugins/Input/wma/libffwma/utils.c -2006-09-17 02:10:07 +0000 Jonathan Schleifer +2006-09-17 02:10:07 +0000 Jonathan Schleifer revision [2387] Seems like someone did a fix for Linux' iconv like I did for BSD's in another file. Added an #ifdef here, too. @@ -11005,7 +11005,7 @@ +4 -0 trunk/Plugins/Input/flac/plugin_common/charset.c -2006-09-17 01:58:23 +0000 Jonathan Schleifer +2006-09-17 01:58:23 +0000 Jonathan Schleifer revision [2385] nenolod's fix for the soundcard.h check was incomplete, fixed @@ -11061,7 +11061,7 @@ +0 -58 trunk/Plugins/Input/wma/libffwma/mms.c -2006-09-17 00:17:22 +0000 Jonathan Schleifer +2006-09-17 00:17:22 +0000 Jonathan Schleifer revision [2373] Fixed a LOT of warnings showing up with -Wall. This is the first step towards making Audacious compile with -Wall -Werror, but it's still far @@ -11085,7 +11085,7 @@ +3 -3 trunk/Plugins/Input/wma/libffwma/futils.c -2006-09-16 23:26:54 +0000 Jonathan Schleifer +2006-09-16 23:26:54 +0000 Jonathan Schleifer revision [2371] Fixed a lot of warnings that only showed up on *BSD. @@ -11109,7 +11109,7 @@ +1 -1 trunk/configure.ac -2006-09-16 17:08:23 +0000 Jonathan Schleifer +2006-09-16 17:08:23 +0000 Jonathan Schleifer revision [2367] Fixed 3 warnings, 2 unused variables and 1 missing include @@ -11126,7 +11126,7 @@ +4 -3 trunk/Plugins/Input/cue/cuesheet.c -2006-09-16 14:33:28 +0000 Jonathan Schleifer +2006-09-16 14:33:28 +0000 Jonathan Schleifer revision [2363] More .cpp -> .cxx. Noticed by Chainsaw. Shame on me that I forgot some ;). @@ -11339,7 +11339,7 @@ +0 -1 trunk/audacious/Makefile -2006-09-15 15:01:40 +0000 Jonathan Schleifer +2006-09-15 15:01:40 +0000 Jonathan Schleifer revision [2331] This adds -lossaudio to the OSS and esd plugin on platforms having that libs. With this, Audacious finally build & runs perfectly on OpenBSD. @@ -11360,7 +11360,7 @@ +2 -2 trunk/audacious/mainwin.c -2006-09-15 13:36:26 +0000 Jonathan Schleifer +2006-09-15 13:36:26 +0000 Jonathan Schleifer revision [2327] - Removed .cpp.o target since we don't have any .cpp files anymore. - A test build then revealed that we still had two .cpp files in @@ -11391,7 +11391,7 @@ +2 -0 trunk/mk/init.mk -2006-09-14 20:56:35 +0000 Jonathan Schleifer +2006-09-14 20:56:35 +0000 Jonathan Schleifer revision [2323] * One more .cpp -> .cxx * Changed sinclude -> include for OpenBSD make compatibility @@ -11406,7 +11406,7 @@ +0 -5 trunk/mk/objective.mk -2006-09-14 20:38:05 +0000 Jonathan Schleifer +2006-09-14 20:38:05 +0000 Jonathan Schleifer revision [2321] Forgot to change .cpp -> .cxx in the Makefile.in. Shame on me... @@ -11415,7 +11415,7 @@ +35 -35 trunk/Plugins/Input/console/Makefile.in -2006-09-14 20:33:10 +0000 Jonathan Schleifer +2006-09-14 20:33:10 +0000 Jonathan Schleifer revision [2319] .cpp -> .cxx This has the nice side effect that we don't need to add .cpp to .SUFFIXES for OpenBSD. @@ -11467,7 +11467,7 @@ +4 -4 trunk/audacious/playlist.c -2006-09-14 15:46:01 +0000 Jonathan Schleifer +2006-09-14 15:46:01 +0000 Jonathan Schleifer revision [2315] Install audacious_player.xpm as well, so one can use it as a desktop icon. Requested by Jan Schummers . @@ -11477,7 +11477,7 @@ +1 -0 trunk/audacious/images/Makefile.in -2006-09-14 14:50:44 +0000 Jonathan Schleifer +2006-09-14 14:50:44 +0000 Jonathan Schleifer revision [2313] Made the content of the password field in the AudioScrobbler plugin invisible. @@ -11486,7 +11486,7 @@ +1 -0 trunk/Plugins/General/scrobbler/configure.c -2006-09-14 14:40:39 +0000 Jonathan Schleifer +2006-09-14 14:40:39 +0000 Jonathan Schleifer revision [2311] Just saw another bug in the same line. The if was always false. @@ -11495,7 +11495,7 @@ +1 -1 trunk/mk/objective.mk -2006-09-14 14:38:06 +0000 Jonathan Schleifer +2006-09-14 14:38:06 +0000 Jonathan Schleifer revision [2309] Fixed mk/objective.mk so that there won't be any [: ==: unexpected operator @@ -11536,7 +11536,7 @@ +12 -0 trunk/libaudacious/vfs_stdio.c -2006-09-13 21:01:54 +0000 Jonathan Schleifer +2006-09-13 21:01:54 +0000 Jonathan Schleifer revision [2301] Added BSD make to the recommended make versions since it's officially supported now. @@ -11554,7 +11554,7 @@ +1 -1 trunk/ChangeLog -2006-09-13 20:56:08 +0000 Jonathan Schleifer +2006-09-13 20:56:08 +0000 Jonathan Schleifer revision [2297] Fixed some Makefiles to make it work with BSD make. I checked that it doesn't break gmake (compile & run works). @@ -11571,7 +11571,7 @@ 2006-09-13 18:03:25 +0000 Tony Vroon revision [2295] - Link C++ plugins correctly on *BSD, by Jonathan Schleifer . + Link C++ plugins correctly on *BSD, by Jonathan Schleifer . Changes: Modified: +1 -1 trunk/Plugins/Input/modplug/gui/support.h @@ -11580,7 +11580,7 @@ 2006-09-13 16:40:07 +0000 Tony Vroon revision [2293] - Remove built-in soundcard.h silliness so OSS actually works on *BSD, by Jonathan Schleifer . + Remove built-in soundcard.h silliness so OSS actually works on *BSD, by Jonathan Schleifer . Changes: Modified: +5 -1 trunk/Plugins/Input/cdaudio/cdaudio.h @@ -11598,7 +11598,7 @@ 2006-09-13 15:06:57 +0000 Tony Vroon revision [2289] - 4-way scroll support in the main window (volume & seek) by Jonathan Schleifer . + 4-way scroll support in the main window (volume & seek) by Jonathan Schleifer . Changes: Modified: +20 -8 trunk/audacious/mainwin.c @@ -11606,7 +11606,7 @@ 2006-09-13 13:38:40 +0000 Tony Vroon revision [2287] - Fixes for NetBSD by Jonathan Schleifer + Fixes for NetBSD by Jonathan Schleifer Changes: Modified: +2 -0 trunk/Plugins/Container/xspf/xspf.c diff -r 4f6c614aee5d -r de76dbec8e1e Makefile --- a/Makefile Wed Oct 24 10:41:53 2007 +0300 +++ b/Makefile Fri Nov 16 05:36:42 2007 +0200 @@ -17,7 +17,24 @@ Skins/Classic/titlebar.png \ Skins/Classic/viscolor.txt \ Skins/Classic/volume.png \ - Skins/Default/balance.png \ + Skins/Classic1.3/balance.png \ + Skins/Classic1.3/cbuttons.png \ + Skins/Classic1.3/eq_ex.png \ + Skins/Classic1.3/eqmain.png \ + Skins/Classic1.3/main.png \ + Skins/Classic1.3/monoster.png \ + Skins/Classic1.3/nums_ex.png \ + Skins/Classic1.3/playpaus.png \ + Skins/Classic1.3/pledit.png \ + Skins/Classic1.3/pledit.txt \ + Skins/Classic1.3/posbar.png \ + Skins/Classic1.3/shufrep.png \ + Skins/Classic1.3/skin-classic.hints \ + Skins/Classic1.3/skin.hints \ + Skins/Classic1.3/text.png \ + Skins/Classic1.3/titlebar.png \ + Skins/Classic1.3/viscolor.txt \ + Skins/Classic1.3/volume.png \ Skins/Default/cbuttons.png \ Skins/Default/eq_ex.png \ Skins/Default/eqmain.png \ @@ -29,12 +46,106 @@ Skins/Default/pledit.txt \ Skins/Default/posbar.png \ Skins/Default/shufrep.png \ - Skins/Default/skin-classic.hints \ Skins/Default/skin.hints \ Skins/Default/text.png \ Skins/Default/titlebar.png \ Skins/Default/viscolor.txt \ Skins/Default/volume.png \ + Skins/Default/gtk-2.0/Arrows/arrow-down.png \ + Skins/Default/gtk-2.0/Arrows/arrow-insens.png \ + Skins/Default/gtk-2.0/Arrows/arrow-left.png \ + Skins/Default/gtk-2.0/Arrows/arrow-right.png \ + Skins/Default/gtk-2.0/Arrows/arrow-up.png \ + Skins/Default/gtk-2.0/Buttons/button-insensitive.png \ + Skins/Default/gtk-2.0/Buttons/button-normal.png \ + Skins/Default/gtk-2.0/Buttons/button-prelight.png \ + Skins/Default/gtk-2.0/Check-Radio/check1.png \ + Skins/Default/gtk-2.0/Check-Radio/check2.png \ + Skins/Default/gtk-2.0/Check-Radio/check3.png \ + Skins/Default/gtk-2.0/Check-Radio/check4.png \ + Skins/Default/gtk-2.0/Check-Radio/check5.png \ + Skins/Default/gtk-2.0/Check-Radio/check6.png \ + Skins/Default/gtk-2.0/Check-Radio/option1.png \ + Skins/Default/gtk-2.0/Check-Radio/option2.png \ + Skins/Default/gtk-2.0/Check-Radio/option3.png \ + Skins/Default/gtk-2.0/Check-Radio/option4.png \ + Skins/Default/gtk-2.0/Check-Radio/option5.png \ + Skins/Default/gtk-2.0/Check-Radio/option6.png \ + Skins/Default/gtk-2.0/Frame-Gap/frame-gap-end.png \ + Skins/Default/gtk-2.0/Frame-Gap/frame-gap-start.png \ + Skins/Default/gtk-2.0/Frame-Gap/frame.png \ + Skins/Default/gtk-2.0/Handles/handle-h.png \ + Skins/Default/gtk-2.0/Handles/handle-v.png \ + Skins/Default/gtk-2.0/Lines/line-h.png \ + Skins/Default/gtk-2.0/Lines/line-v.png \ + Skins/Default/gtk-2.0/ListHeaders/list_header-insens.png \ + Skins/Default/gtk-2.0/ListHeaders/list_header-prelight.png \ + Skins/Default/gtk-2.0/ListHeaders/list_header-pressed.png \ + Skins/Default/gtk-2.0/ListHeaders/list_header.png \ + Skins/Default/gtk-2.0/Menu-Menubar/menu.png \ + Skins/Default/gtk-2.0/Menu-Menubar/menubar-item-active.png \ + Skins/Default/gtk-2.0/Menu-Menubar/menubar-item.png \ + Skins/Default/gtk-2.0/Menu-Menubar/menubar.png \ + Skins/Default/gtk-2.0/Others/null.png \ + Skins/Default/gtk-2.0/Others/ruler.png \ + Skins/Default/gtk-2.0/Panel/panel-bg.png \ + Skins/Default/gtk-2.0/ProgressBar/progressbar-horiz.png \ + Skins/Default/gtk-2.0/ProgressBar/trough-progressbar-horiz.png \ + Skins/Default/gtk-2.0/Range/slider-horiz-prelight.png \ + Skins/Default/gtk-2.0/Range/slider-horiz.png \ + Skins/Default/gtk-2.0/Range/slider-vert-prelight.png \ + Skins/Default/gtk-2.0/Range/slider-vert.png \ + Skins/Default/gtk-2.0/Range/trough-horizontal.png \ + Skins/Default/gtk-2.0/Range/trough-vertical.png \ + Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz-pre.png \ + Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz.png \ + Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert-pre.png \ + Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert.png \ + Skins/Default/gtk-2.0/Scrollbars/slider-horiz-pre.png \ + Skins/Default/gtk-2.0/Scrollbars/slider-horiz.png \ + Skins/Default/gtk-2.0/Scrollbars/slider-vert-pre.png \ + Skins/Default/gtk-2.0/Scrollbars/slider-vert.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-down-prelight.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-down.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-left-prelight.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-left.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-right-prelight.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-right.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-up-prelight.png \ + Skins/Default/gtk-2.0/Scrollbars/stepper-up.png \ + Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-horiz.png \ + Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-vert.png \ + Skins/Default/gtk-2.0/Shadows/shadow-in.png \ + Skins/Default/gtk-2.0/Shadows/shadow-out.png \ + Skins/Default/gtk-2.0/Shadows/text-.png \ + Skins/Default/gtk-2.0/Shadows/text-entry.png \ + Skins/Default/gtk-2.0/Spin/spin-down-disable.png \ + Skins/Default/gtk-2.0/Spin/spin-down-prelight.png \ + Skins/Default/gtk-2.0/Spin/spin-down.png \ + Skins/Default/gtk-2.0/Spin/spin-up-disable.png \ + Skins/Default/gtk-2.0/Spin/spin-up-prelight.png \ + Skins/Default/gtk-2.0/Spin/spin-up.png \ + Skins/Default/gtk-2.0/Tabs/gap-bottom-left.png \ + Skins/Default/gtk-2.0/Tabs/gap-bottom-right.png \ + Skins/Default/gtk-2.0/Tabs/gap-left-bottom.png \ + Skins/Default/gtk-2.0/Tabs/gap-left-top.png \ + Skins/Default/gtk-2.0/Tabs/gap-right-bottom.png \ + Skins/Default/gtk-2.0/Tabs/gap-right-top.png \ + Skins/Default/gtk-2.0/Tabs/gap-top-current.png \ + Skins/Default/gtk-2.0/Tabs/gap-top-left.png \ + Skins/Default/gtk-2.0/Tabs/gap-top-right.png \ + Skins/Default/gtk-2.0/Tabs/notebook.png \ + Skins/Default/gtk-2.0/Tabs/tab-bottom-active.png \ + Skins/Default/gtk-2.0/Tabs/tab-bottom.png \ + Skins/Default/gtk-2.0/Tabs/tab-left-active.png \ + Skins/Default/gtk-2.0/Tabs/tab-left.png \ + Skins/Default/gtk-2.0/Tabs/tab-right-active.png \ + Skins/Default/gtk-2.0/Tabs/tab-right.png \ + Skins/Default/gtk-2.0/Tabs/tab-top-active.png \ + Skins/Default/gtk-2.0/Tabs/tab-top.png \ + Skins/Default/gtk-2.0/Toolbar/toolbar.png \ + Skins/Default/gtk-2.0/gtkrc \ + Skins/Default/gtk-2.0/panel.rc \ Skins/Ivory/balance.png \ Skins/Ivory/cbuttons.png \ Skins/Ivory/eq_ex.png \ @@ -124,6 +235,9 @@ ${INSTALL_FAILED}; \ fi \ done + if [ -f ${DESTDIR}${datadir}/audacious/Skins/Default/balance.png ]; then \ + rm -f ${DESTDIR}${datadir}/audacious/Skins/Default/balance.png; \ + fi uninstall-extra: for i in audacious.pc audclient.pc; do \ diff -r 4f6c614aee5d -r de76dbec8e1e NEWS --- a/NEWS Wed Oct 24 10:41:53 2007 +0300 +++ b/NEWS Fri Nov 16 05:36:42 2007 +0200 @@ -1,3 +1,30 @@ +Audacious 1.4.1 (2007-11-??) + +Enhancements: +* The skin code has been tweaked a little to fix loading of + more substandard winamp skins. + (http://boards.nenolod.net/viewtopic.php?f=5&t=859) +* Playlists now carry an atomic serial number in order to avoid + unnecessary reloading of metadata. +* The command names used by audtool have been sanitized in order + to make some leve of sense. +* Add many new calls to libaudclient which were unimplemented after + DBus transition. + +Bugfixes: +* [Bugzilla #53]: UTF-8 validation gives false positives + (Reported by Kosma Moczek; Fixed by Yoshiki Yazawa) +* [Bugzilla #20]: status icon plugin breaks the 'always on top' feature + (Reported by Dorian Scholz; Fixed by Tomasz Moń) +* playback_get_length() was returning the typecode of FIELD_LENGTH, not + it's value (Fixed by Yoshiki Yazawa) +* audctrl.h was dependent on #ifdef __cplusplus being a valid macro, + now we use G_BEGIN_DECLS/G_END_DECLS to handle that. + +Audacious 1.4.0 (2007-11-01) + +* Everything ;) + Audacious 1.3.0 (2007-03-02) Enhancements diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic/.depend diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/balance.png Binary file Skins/Classic1.3/balance.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/cbuttons.png Binary file Skins/Classic1.3/cbuttons.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/eq_ex.png Binary file Skins/Classic1.3/eq_ex.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/eqmain.png Binary file Skins/Classic1.3/eqmain.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/main.png Binary file Skins/Classic1.3/main.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/monoster.png Binary file Skins/Classic1.3/monoster.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/nums_ex.png Binary file Skins/Classic1.3/nums_ex.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/playpaus.png Binary file Skins/Classic1.3/playpaus.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/pledit.png Binary file Skins/Classic1.3/pledit.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/pledit.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Classic1.3/pledit.txt Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,6 @@ +[Text] +Normal=#a6c1df +Current=#eeeeee +NormalBG=#000000 +SelectedBG=#666666 +Font=Helvetica diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/posbar.png Binary file Skins/Classic1.3/posbar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/shufrep.png Binary file Skins/Classic1.3/shufrep.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/skin-classic.hints --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Classic1.3/skin-classic.hints Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,3 @@ +[skin] +skinDescription=The default skin for Audacious. (Classic variant) +mainwinOthertext=1 diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/skin.hints --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Classic1.3/skin.hints Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,28 @@ +[skin] +skinDescription=The default skin for Audacious. +mainwinOthertext=1 +mainwinVisX=19 +mainwinVisY=39 +mainwinTextX=19 +mainwinTextY=26 +mainwinTextWidth=246 +mainwinInfobarX=111 +mainwinInfobarY=42 +mainwinNumber0X=30 +mainwinNumber0Y=56 +mainwinNumber1X=42 +mainwinNumber1Y=56 +mainwinNumber2X=54 +mainwinNumber2Y=56 +mainwinNumber3X=72 +mainwinNumber3Y=56 +mainwinNumber4X=84 +mainwinNumber4Y=56 +mainwinPlayStatusX=19 +mainwinPlayStatusY=58 +mainwinMenurowVisible=1 +mainwinOthertextIsStatus=1 +mainwinOthertextVisible=1 +mainwinTextVisible=1 +mainwinVisVisible=1 + diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/text.png Binary file Skins/Classic1.3/text.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/titlebar.png Binary file Skins/Classic1.3/titlebar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/viscolor.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Classic1.3/viscolor.txt Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,24 @@ +0,0,0 // [background color 1] +0,0,0 // [background color 2] +9,13,15 +19,26,31 +29,39,47 +39,52,63 +49,65,79 +59,78,95 +69,91,111 +79,105,127 +88,118,143 +98,131,159 +108,144,175 +118,157,191 +128,170,207 +138,183,223 +148,196,239 +158,210,255 +240,240,240 // [osc 1] +220,220,220 // [osc 2] +170,170,170 // [osc 3] +100,100,100 // [osc 4] +20,20,20 // [osc 5] +200,200,220 // [peak color] diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Classic1.3/volume.png Binary file Skins/Classic1.3/volume.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/.depend diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/cbuttons.png Binary file Skins/Default/cbuttons.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/eq_ex.png Binary file Skins/Default/eq_ex.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/eqmain.png Binary file Skins/Default/eqmain.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Arrows/arrow-down.png Binary file Skins/Default/gtk-2.0/Arrows/arrow-down.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Arrows/arrow-insens.png Binary file Skins/Default/gtk-2.0/Arrows/arrow-insens.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Arrows/arrow-left.png Binary file Skins/Default/gtk-2.0/Arrows/arrow-left.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Arrows/arrow-right.png Binary file Skins/Default/gtk-2.0/Arrows/arrow-right.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Arrows/arrow-up.png Binary file Skins/Default/gtk-2.0/Arrows/arrow-up.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Buttons/button-insensitive.png Binary file Skins/Default/gtk-2.0/Buttons/button-insensitive.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Buttons/button-normal.png Binary file Skins/Default/gtk-2.0/Buttons/button-normal.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Buttons/button-prelight.png Binary file Skins/Default/gtk-2.0/Buttons/button-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check1.png Binary file Skins/Default/gtk-2.0/Check-Radio/check1.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check2.png Binary file Skins/Default/gtk-2.0/Check-Radio/check2.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check3.png Binary file Skins/Default/gtk-2.0/Check-Radio/check3.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check4.png Binary file Skins/Default/gtk-2.0/Check-Radio/check4.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check5.png Binary file Skins/Default/gtk-2.0/Check-Radio/check5.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/check6.png Binary file Skins/Default/gtk-2.0/Check-Radio/check6.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option1.png Binary file Skins/Default/gtk-2.0/Check-Radio/option1.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option2.png Binary file Skins/Default/gtk-2.0/Check-Radio/option2.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option3.png Binary file Skins/Default/gtk-2.0/Check-Radio/option3.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option4.png Binary file Skins/Default/gtk-2.0/Check-Radio/option4.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option5.png Binary file Skins/Default/gtk-2.0/Check-Radio/option5.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Check-Radio/option6.png Binary file Skins/Default/gtk-2.0/Check-Radio/option6.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Frame-Gap/frame-gap-end.png Binary file Skins/Default/gtk-2.0/Frame-Gap/frame-gap-end.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Frame-Gap/frame-gap-start.png Binary file Skins/Default/gtk-2.0/Frame-Gap/frame-gap-start.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Frame-Gap/frame.png Binary file Skins/Default/gtk-2.0/Frame-Gap/frame.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Handles/handle-h.png Binary file Skins/Default/gtk-2.0/Handles/handle-h.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Handles/handle-v.png Binary file Skins/Default/gtk-2.0/Handles/handle-v.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Lines/line-h.png Binary file Skins/Default/gtk-2.0/Lines/line-h.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Lines/line-v.png Binary file Skins/Default/gtk-2.0/Lines/line-v.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ListHeaders/list_header-insens.png Binary file Skins/Default/gtk-2.0/ListHeaders/list_header-insens.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ListHeaders/list_header-prelight.png Binary file Skins/Default/gtk-2.0/ListHeaders/list_header-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ListHeaders/list_header-pressed.png Binary file Skins/Default/gtk-2.0/ListHeaders/list_header-pressed.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ListHeaders/list_header.png Binary file Skins/Default/gtk-2.0/ListHeaders/list_header.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Menu-Menubar/menu.png Binary file Skins/Default/gtk-2.0/Menu-Menubar/menu.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Menu-Menubar/menubar-item-active.png Binary file Skins/Default/gtk-2.0/Menu-Menubar/menubar-item-active.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Menu-Menubar/menubar-item.png Binary file Skins/Default/gtk-2.0/Menu-Menubar/menubar-item.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Menu-Menubar/menubar.png Binary file Skins/Default/gtk-2.0/Menu-Menubar/menubar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Others/null.png Binary file Skins/Default/gtk-2.0/Others/null.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Others/ruler.png Binary file Skins/Default/gtk-2.0/Others/ruler.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Panel/panel-bg.png Binary file Skins/Default/gtk-2.0/Panel/panel-bg.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ProgressBar/progressbar-horiz.png Binary file Skins/Default/gtk-2.0/ProgressBar/progressbar-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/ProgressBar/trough-progressbar-horiz.png Binary file Skins/Default/gtk-2.0/ProgressBar/trough-progressbar-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/slider-horiz-prelight.png Binary file Skins/Default/gtk-2.0/Range/slider-horiz-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/slider-horiz.png Binary file Skins/Default/gtk-2.0/Range/slider-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/slider-vert-prelight.png Binary file Skins/Default/gtk-2.0/Range/slider-vert-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/slider-vert.png Binary file Skins/Default/gtk-2.0/Range/slider-vert.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/trough-horizontal.png Binary file Skins/Default/gtk-2.0/Range/trough-horizontal.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Range/trough-vertical.png Binary file Skins/Default/gtk-2.0/Range/trough-vertical.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz-pre.png Binary file Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz-pre.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz.png Binary file Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert-pre.png Binary file Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert-pre.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert.png Binary file Skins/Default/gtk-2.0/Scrollbars/scroll-thumb-vert.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/slider-horiz-pre.png Binary file Skins/Default/gtk-2.0/Scrollbars/slider-horiz-pre.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/slider-horiz.png Binary file Skins/Default/gtk-2.0/Scrollbars/slider-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/slider-vert-pre.png Binary file Skins/Default/gtk-2.0/Scrollbars/slider-vert-pre.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/slider-vert.png Binary file Skins/Default/gtk-2.0/Scrollbars/slider-vert.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-down-prelight.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-down-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-down.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-down.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-left-prelight.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-left-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-left.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-left.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-right-prelight.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-right-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-right.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-right.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-up-prelight.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-up-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/stepper-up.png Binary file Skins/Default/gtk-2.0/Scrollbars/stepper-up.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-horiz.png Binary file Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-horiz.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-vert.png Binary file Skins/Default/gtk-2.0/Scrollbars/trough-scrollbar-vert.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Shadows/shadow-in.png Binary file Skins/Default/gtk-2.0/Shadows/shadow-in.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Shadows/shadow-out.png Binary file Skins/Default/gtk-2.0/Shadows/shadow-out.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Shadows/text-.png Binary file Skins/Default/gtk-2.0/Shadows/text-.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Shadows/text-entry.png Binary file Skins/Default/gtk-2.0/Shadows/text-entry.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-down-disable.png Binary file Skins/Default/gtk-2.0/Spin/spin-down-disable.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-down-prelight.png Binary file Skins/Default/gtk-2.0/Spin/spin-down-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-down.png Binary file Skins/Default/gtk-2.0/Spin/spin-down.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-up-disable.png Binary file Skins/Default/gtk-2.0/Spin/spin-up-disable.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-up-prelight.png Binary file Skins/Default/gtk-2.0/Spin/spin-up-prelight.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Spin/spin-up.png Binary file Skins/Default/gtk-2.0/Spin/spin-up.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-bottom-left.png Binary file Skins/Default/gtk-2.0/Tabs/gap-bottom-left.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-bottom-right.png Binary file Skins/Default/gtk-2.0/Tabs/gap-bottom-right.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-left-bottom.png Binary file Skins/Default/gtk-2.0/Tabs/gap-left-bottom.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-left-top.png Binary file Skins/Default/gtk-2.0/Tabs/gap-left-top.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-right-bottom.png Binary file Skins/Default/gtk-2.0/Tabs/gap-right-bottom.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-right-top.png Binary file Skins/Default/gtk-2.0/Tabs/gap-right-top.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-top-current.png Binary file Skins/Default/gtk-2.0/Tabs/gap-top-current.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-top-left.png Binary file Skins/Default/gtk-2.0/Tabs/gap-top-left.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/gap-top-right.png Binary file Skins/Default/gtk-2.0/Tabs/gap-top-right.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/notebook.png Binary file Skins/Default/gtk-2.0/Tabs/notebook.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-bottom-active.png Binary file Skins/Default/gtk-2.0/Tabs/tab-bottom-active.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-bottom.png Binary file Skins/Default/gtk-2.0/Tabs/tab-bottom.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-left-active.png Binary file Skins/Default/gtk-2.0/Tabs/tab-left-active.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-left.png Binary file Skins/Default/gtk-2.0/Tabs/tab-left.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-right-active.png Binary file Skins/Default/gtk-2.0/Tabs/tab-right-active.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-right.png Binary file Skins/Default/gtk-2.0/Tabs/tab-right.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-top-active.png Binary file Skins/Default/gtk-2.0/Tabs/tab-top-active.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Tabs/tab-top.png Binary file Skins/Default/gtk-2.0/Tabs/tab-top.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/Toolbar/toolbar.png Binary file Skins/Default/gtk-2.0/Toolbar/toolbar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/gtkrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Default/gtk-2.0/gtkrc Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,1534 @@ +include "panel.rc" + +gtk-menu-drop-shadow = 0 +gtk-menu-shadow-delay = 0 + +style "default" +{ +GtkWidget::interior_focus = 7 +GtkWidget::focus_padding = 1 +GtkButton::default_border = {0,0,0,0} +GtkButton::default_outside_border = {0,0,0,0} + +GtkRange::trough_border = 1 +GtkRange::slider_width = 14 +GtkRange::stepper_size = 14 + +GtkVScale::slider_length = 29 +GtkVScale::slider_width = 15 +GtkHScale::slider_length = 29 +GtkHScale::slider_width = 15 + +GtkPaned::handle_size = 6 +GtkScrollbar::min_slider_length = 50 +GtkCheckButton::indicator_size = 12 +GtkCheckButton::indicator_spacing = 3 +GtkMenuBar::internal_padding = 1 +#GtkOptionMenu::indicator_size = {15,8} +#GtkOptionMenu::indicator_spacing = {8,2,0,0} +GtkStatusbar::shadow_type = GTK_SHADOW_NONE +GtkSpinButton::shadow_type = GTK_SHADOW_NONE + +xthickness = 2 +ythickness = 2 + +GtkEntry::cursor_color = "#ffffff" +GtkTextView::cursor_color = "#ffffff" +GtkTextView::secondary_cursor_color = "#ffffff" +GtkWidget::cursor_color = "#ffffff" +GtkWidget::secondary_cursor_color = "#ffffff" + +fg[NORMAL] = "#ffffff" +fg[PRELIGHT] = "#ffffff" +fg[ACTIVE] = "#ffffff" +fg[SELECTED] = "#909090" +fg[INSENSITIVE] = "#909090" + +bg[NORMAL] = "#080808" +bg[PRELIGHT] = "#000000" +bg[ACTIVE] = "#000000" +bg[SELECTED] = "#080808" +bg[INSENSITIVE] = "#3f3f3f" + +base[NORMAL] = "#000000" +base[PRELIGHT] = "#313131" +base[ACTIVE] = "#071f46" +base[SELECTED] = "#0d377c" +base[INSENSITIVE] = "#000000" + +text[NORMAL] = "#ffffff" +text[PRELIGHT] = "#ffffff" +text[ACTIVE] = "#ffffff" +text[SELECTED] = "#ffffff" +text[INSENSITIVE] = "#606060" + +engine "pixmap" +{ +image +{ +function = HANDLE +overlay_file = "Handles/handle-h.png" +overlay_stretch = FALSE +orientation = HORIZONTAL +} +image +{ +function = HANDLE +overlay_file = "Handles/handle-v.png" +overlay_stretch = FALSE +orientation = VERTICAL +} + +image +{ +function = SHADOW +shadow = IN +file = "Shadows/shadow-in.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = SHADOW +shadow = OUT +file = "Shadows/shadow-out.png" +stretch = TRUE +} + +image +{ +function = SHADOW +shadow = ETCHED_IN +file = "Frame-Gap/frame.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = SHADOW +shadow = ETCHED_OUT +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +} +image +{ +function = SHADOW_GAP +file = "Frame-Gap/frame.png" +border = {2,2,2,2} +stretch = TRUE +gap_start_file = "Frame-Gap/frame-gap-start.png" +gap_start_border = {2,0,2,0} +gap_end_file = "Frame-Gap/frame-gap-end.png" +gap_end_border = {0,2,2,0} +gap_side = TOP +} +image +{ +function = VLINE +file = "Lines/line-v.png" +border = {0,0,0,0} +stretch = TRUE +} +image +{ +function = HLINE +file = "Lines/line-h.png" +border = {0,0,0,0} +stretch = TRUE +} + +image +{ +function = ARROW +overlay_file = "Arrows/arrow-up.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +arrow_direction = UP +} +image +{ +function = ARROW +overlay_file = "Arrows/arrow-down.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +arrow_direction = DOWN +} +image +{ +function = ARROW +overlay_file = "Arrows/arrow-left.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +arrow_direction = LEFT +} +image +{ +function = ARROW +overlay_file = "Arrows/arrow-right.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +arrow_direction = RIGHT +} +image +{ +function = BOX +file = "Toolbar/toolbar.png" +border = {2,2,2,2} +stretch = TRUE +} +} + +} + +gtk-font-name = "Sans 8" + +class "GtkWidget" style "default" + +style "button" = "default" +{ +engine "pixmap" +{ +image +{ +function = BOX +detail = "buttondefault" +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = PRELIGHT +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = ACTIVE +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = INSENSITIVE +file = "Buttons/button-insensitive.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} +} +} + +style "checkradiobutton" { +engine "pixmap" { +image +{ +function = FLAT_BOX +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +} +} +} + +class "GtkRadioButton" style "checkradiobutton" +class "GtkCheckButton" style "checkradiobutton" + +style "optionmenu" = "default" +{ +engine "pixmap" +{ +image +{ +function = BOX +state = PRELIGHT +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +detail = "buttondefault" +state = NORMAL +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} + +image +{ +function = BOX +state = ACTIVE +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = INSENSITIVE +file = "Buttons/button-insensitive.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = TAB +state = INSENSITIVE +overlay_file = "Arrows/arrow-insens.png" +overlay_stretch = FALSE +} +image +{ +function = TAB +state = NORMAL +overlay_file = "Arrows/arrow-down.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +} +image +{ +function = TAB +state = PRELIGHT +overlay_file = "Arrows/arrow-down.png" +overlay_border = {0,0,0,0} +overlay_stretch = FALSE +} +} +} + +widget_class "*Combo*" style "optionmenu" + +style "radiobutton" = "default" +{ +engine "pixmap" +{ +image +{ +function = OPTION +state = NORMAL +shadow = OUT +overlay_file = "Check-Radio/option1.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = PRELIGHT +shadow = OUT +overlay_file = "Check-Radio/option3.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = ACTIVE +shadow = OUT +overlay_file = "Check-Radio/option1.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = INSENSITIVE +shadow = OUT +overlay_file = "Check-Radio/option5.png" +overlay_stretch = FALSE +} + +image +{ +function = OPTION +state = NORMAL +shadow = IN +overlay_file = "Check-Radio/option2.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = PRELIGHT +shadow = IN +overlay_file = "Check-Radio/option4.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = ACTIVE +shadow = IN +overlay_file = "Check-Radio/option2.png" +overlay_stretch = FALSE +} +image +{ +function = OPTION +state = INSENSITIVE +shadow = IN +overlay_file = "Check-Radio/option6.png" +overlay_stretch = FALSE +} + +image +{ +function = FLAT_BOX +stretch = TRUE +file = "Others/null.png" +border = {0,0,0,0} +} +} +} + +style "checkbutton" = "default" +{ +engine "pixmap" +{ +image +{ +function = CHECK +state = NORMAL +shadow = OUT +overlay_file = "Check-Radio/check1.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = PRELIGHT +shadow = OUT +overlay_file = "Check-Radio/check3.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = ACTIVE +shadow = OUT +overlay_file = "Check-Radio/check1.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = INSENSITIVE +shadow = OUT +overlay_file = "Check-Radio/check5.png" +overlay_stretch = FALSE +} + +image +{ +function = CHECK +state = NORMAL +shadow = IN +overlay_file = "Check-Radio/check2.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = PRELIGHT +shadow = IN +overlay_file = "Check-Radio/check4.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = ACTIVE +shadow = IN +overlay_file = "Check-Radio/check4.png" +overlay_stretch = FALSE +} +image +{ +function = CHECK +state = INSENSITIVE +shadow = IN +overlay_file = "Check-Radio/check6.png" +overlay_stretch = FALSE +} + +image +{ +function = FLAT_BOX +stretch = TRUE +file = "Others/null.png" +border = {2,2,2,2} +} +} +} + +style "entry" = "default" +{ + +xthickness = 3 +ythickness = 1 + +GtkWidget::interior_focus = 0 + +engine "pixmap" +{ +image +{ +function = FOCUS +file = "Shadows/text-entry.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = BOX +shadow = IN +state = NORMAL +file = "Shadows/text-entry.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = BOX +shadow = OUT +state = NORMAL +file = "Shadows/text-entry.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = SHADOW +detail = "entry" +shadow = IN +file = "Shadows/text-entry.png" +border = {1,1,1,1} +stretch = TRUE +} +} +} + + +style "spinbutton" = "entry" +{ + + +engine "pixmap" +{ +image +{ +function = ARROW +} + +image +{ +function = BOX +state = NORMAL +detail = "spinbutton_up" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-up.png" +overlay_stretch = FALSE +} +image +{ +function = BOX +state = PRELIGHT +detail = "spinbutton_up" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-up-prelight.png" +overlay_stretch = FALSE +} +image +{ +function = BOX +state = INSENSITIVE +detail = "spinbutton_up" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-up-disable.png" +overlay_stretch = FALSE +} +image +{ +function = BOX +state = ACTIVE +detail = "spinbutton_up" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-up-prelight.png" +overlay_stretch = FALSE +} + +image +{ +function = BOX +state = NORMAL +detail = "spinbutton_down" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-down.png" +overlay_stretch = FALSE +} +image +{ +function = BOX +state = PRELIGHT +detail = "spinbutton_down" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-down-prelight.png" +overlay_stretch = FALSE +} +image +{ +function = BOX +state = INSENSITIVE +detail = "spinbutton_down" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-down-disable.png" +overlay_stretch = FALSE +} + +image +{ +function = BOX +state = ACTIVE +detail = "spinbutton_down" +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Spin/spin-down-prelight.png" +overlay_stretch = FALSE +} +} +} + +style "scrollbar" = "default" +{ +engine "pixmap" +{ + +image +{ +function = BOX +detail = "trough" +file = "Scrollbars/trough-scrollbar-horiz.png" +border = {16,16,2,2} +stretch = TRUE +orientation = HORIZONTAL +} +image +{ +function = BOX +detail = "trough" +file = "Scrollbars/trough-scrollbar-vert.png" +border = {2,2,16,16} +stretch = TRUE +orientation = VERTICAL +} + + +image +{ +function = SLIDER +state = NORMAL +file = "Scrollbars/slider-horiz.png" +border = {2,2,2,2} +stretch = TRUE +orientation = HORIZONTAL +} +image +{ +function = SLIDER +state = ACTIVE +shadow = IN +file = "Scrollbars/slider-horiz-pre.png" +border = {2,2,2,2} +stretch = TRUE +orientation = HORIZONTAL +} + +image +{ +function = SLIDER +state = PRELIGHT +file = "Scrollbars/slider-horiz-pre.png" +border = {2,2,2,2} +stretch = TRUE +orientation = HORIZONTAL +} +image +{ +function = SLIDER +state = INSENSITIVE +file = "Scrollbars/slider-horiz.png" +border = {2,2,2,2} +stretch = TRUE +orientation = HORIZONTAL +} + + +image +{ +function = SLIDER +state = NORMAL +file = "Scrollbars/slider-vert.png" +border = {2,2,2,2} +stretch = TRUE +orientation = VERTICAL +} +image +{ +function = SLIDER +state = ACTIVE +shadow = IN +file = "Scrollbars/slider-vert-pre.png" +border = {2,2,2,2} +stretch = TRUE +orientation = VERTICAL +} +image +{ +function = SLIDER +state = PRELIGHT +file = "Scrollbars/slider-vert-pre.png" +border = {2,2,2,2} +stretch = TRUE +orientation = VERTICAL +} +image +{ +function = SLIDER +state = INSENSITIVE +file = "Scrollbars/slider-vert.png" +border = {2,2,2,2} +stretch = TRUE +orientation = VERTICAL +} + +image +{ +function = STEPPER +state = NORMAL +file = "Scrollbars/stepper-up.png" +stretch = TRUE +arrow_direction = UP +} +image +{ +function = STEPPER +state = PRELIGHT +file = "Scrollbars/stepper-up-prelight.png" +stretch = TRUE +arrow_direction = UP +} +image +{ +function = STEPPER +state = ACTIVE +file = "Scrollbars/stepper-up-prelight.png" +stretch = TRUE +arrow_direction = UP +} +image +{ +function = STEPPER +state = INSENSITIVE +file = "Scrollbars/stepper-up.png" +stretch = TRUE +arrow_direction = UP +} + + +image +{ +function = STEPPER +state = NORMAL +file = "Scrollbars/stepper-down.png" +stretch = TRUE +arrow_direction = DOWN +} +image +{ +function = STEPPER +state = PRELIGHT +file = "Scrollbars/stepper-down-prelight.png" +stretch = TRUE +arrow_direction = DOWN +} +image +{ +function = STEPPER +state = ACTIVE +file = "Scrollbars/stepper-down-prelight.png" +stretch = TRUE +arrow_direction = DOWN +} +image +{ +function = STEPPER +state = INSENSITIVE +file = "Scrollbars/stepper-down.png" +stretch = TRUE +arrow_direction = DOWN +} + +image +{ +function = STEPPER +state = NORMAL +file = "Scrollbars/stepper-right.png" +stretch = TRUE +arrow_direction = RIGHT +} +image +{ +function = STEPPER +state = PRELIGHT +file = "Scrollbars/stepper-right-prelight.png" +stretch = TRUE +arrow_direction = RIGHT +} +image +{ +function = STEPPER +state = ACTIVE +file = "Scrollbars/stepper-right-prelight.png" +stretch = TRUE +arrow_direction = RIGHT +} +image +{ +function = STEPPER +state = INSENSITIVE +file = "Scrollbars/stepper-right.png" +stretch = TRUE +arrow_direction = RIGHT +} + +image +{ +function = STEPPER +state = NORMAL +file = "Scrollbars/stepper-left.png" +stretch = TRUE +arrow_direction = LEFT +} +image +{ +function = STEPPER +state = PRELIGHT +file = "Scrollbars/stepper-left-prelight.png" +stretch = TRUE +arrow_direction = LEFT +} +image +{ +function = STEPPER +state = ACTIVE +file = "Scrollbars/stepper-left-prelight.png" +stretch = TRUE +arrow_direction = LEFT +} +image +{ +function = STEPPER +state = INSENSITIVE +file = "Scrollbars/stepper-left.png" +stretch = TRUE +arrow_direction = LEFT +} +} +} + +style "progressbar" { +fg[PRELIGHT] = "#ffffff" +text[PRELIGHT] = "#ffffff" +xthickness = 2 +ythickness = 2 + +engine "pixmap" +{ +image +{ +function = BOX +detail = "trough" +file = "ProgressBar/trough-progressbar-horiz.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = BOX +detail = "bar" +file = "ProgressBar/progressbar-horiz.png" +border = {1,1,1,1} +stretch = TRUE +} +} +} + +style "range" = "default" +{ +engine "pixmap" +{ +image +{ +function = BOX +detail = "trough" +file = "Range/trough-horizontal.png" +border = {2,2,8,7} +stretch = TRUE +orientation = HORIZONTAL +} +image +{ +function = BOX +detail = "trough" +file = "Range/trough-vertical.png" +border = {7,8,2,2} +stretch = TRUE +orientation = VERTICAL +} + +image +{ +function = SLIDER +state = NORMAL +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-horiz.png" +overlay_stretch = FALSE +orientation = HORIZONTAL +} +image +{ +function = SLIDER +state = PRELIGHT +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-horiz-prelight.png" +overlay_stretch = FALSE +orientation = HORIZONTAL +} +image +{ +function = SLIDER +state = INSENSITIVE +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-horiz.png" +overlay_stretch = FALSE +orientation = HORIZONTAL +} + +image +{ +function = SLIDER +state = NORMAL +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-vert.png" +overlay_stretch = FALSE +orientation = VERTICAL +} +image +{ +function = SLIDER +state = PRELIGHT +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-vert-prelight.png" +overlay_stretch = FALSE +orientation = VERTICAL +} +image +{ +function = SLIDER +state = INSENSITIVE +file = "Others/null.png" +border = {0,0,0,0} +stretch = TRUE +overlay_file = "Range/slider-vert.png" +overlay_stretch = FALSE +orientation = VERTICAL +} +} +} + +style "toolbar" +{ + +engine "pixmap" +{ +image +{ +function = BOX +file = "Toolbar/toolbar.png" +border = {2,2,2,2} +stretch = TRUE +} +} +} +#widget_class "*BonoboDockItem" style "toolbar" +#class "*BonoboDockItem" style "toolbar" + +widget_class "*HandleBox" style "toolbar" +class "*HandleBox" style "toolbar" + +widget_class "*Toolbar" style "toolbar" +class "*Toolbar" style "toolbar" + +style "toolbuttons" = "default" +{ +xthickness = 1 +ythickness = 1 + +GtkWidget::focus_padding = 2 + +engine "pixmap" { + +image +{ +function = BOX +state = NORMAL +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = PRELIGHT +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = ACTIVE +file = "Buttons/button-prelight.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = INSENSITIVE +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} +} +} +widget_class "*Tool*GtkToggleButton" style "toolbuttons" +widget_class "*Tool*GtkButton" style "toolbuttons" + +style "menu" = "default" +{ +#bg_pixmap[NORMAL] = "Menu-Menubar/menu-overlay.png" +xthickness = 1 +ythickness = 1 + +engine "pixmap" +{ +image +{ +function = BOX +detail = "menu" +file = "Menu-Menubar/menu.png" +border = {2,2,14,2} +stretch = TRUE +} +} +} + +style "menuitem" = "default" +{ +xthickness = 1 +fg[PRELIGHT] = "#ffffff" +text[PRELIGHT] = "#949494" + +engine "pixmap" +{ +image +{ +function = BOX +file = "Menu-Menubar/menubar-item-active.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = ARROW +state = NORMAL +overlay_file = "Arrows/arrow-right.png" +overlay_stretch = FALSE +arrow_direction = RIGHT +} +image +{ +function = ARROW +state = PRELIGHT +overlay_file = "Arrows/arrow-right.png" +overlay_stretch = FALSE +arrow_direction = RIGHT +} +} +} + +style "tearoffmenuitem" = "menuitem" +{ +engine "pixmap" +{ +image +{ +function = ARROW +file = "Arrows/arrow-left.png" +stretch = TRUE +arrow_direction = LEFT +} +} +} + +style "menubar" +{ +fg[NORMAL] = "#ffffff" +text[NORMAL] = "#ffffff" +fg[PRELIGHT] = "#ffffff" +fg[ACTIVE] = "#ffffff" +fg[INSENSITIVE] = "#909090" +bg[INSENSITIVE] = "#3f3f3f" +text[PRELIGHT] = "#ffffff" + +xthickness = 1 +ythickness = 1 +engine "pixmap" +{ +image +{ +function = BOX +state = NORMAL +file = "Menu-Menubar/menubar.png" +border = {2,2,2,2} +stretch = TRUE +} + +image +{ +function = BOX +state = ACTIVE +file = "Menu-Menubar/menubar.png" +border = {2,2,2,2} +stretch = TRUE +} + +image +{ +function = BOX +state = INSENSITIVE +file = "Menu-Menubar/menubar.png" +border = {2,2,2,2} +stretch = TRUE +} + +image +{ +function = BOX +state = PRELIGHT +file = "Menu-Menubar/menubar-item.png" +border = {2,2,14,1} +stretch = TRUE +} +} +} + +style "notebook" = "default" +{ + +xthickness = 2 +ythickness = 2 +engine "pixmap" +{ +image +{ +function = EXTENSION +state = ACTIVE +file = "Tabs/tab-bottom.png" +border = {3,3,1,4} +stretch = TRUE +gap_side = TOP +} +image +{ +function = EXTENSION +state = ACTIVE +file = "Tabs/tab-top.png" +border = {3,3,4,1} +stretch = TRUE +gap_side = BOTTOM +} +image +{ +function = EXTENSION +state = ACTIVE +file = "Tabs/tab-left.png" +border = {4,1,3,3} +stretch = TRUE +gap_side = RIGHT +} +image +{ +function = EXTENSION +state = ACTIVE +file = "Tabs/tab-right.png" +border = {1,4,3,3} +stretch = TRUE +gap_side = LEFT +} +image +{ +function = EXTENSION +file = "Tabs/tab-top-active.png" +border = {3,3,3,1} +stretch = TRUE +gap_side = BOTTOM +} +image +{ +function = EXTENSION +file = "Tabs/tab-bottom-active.png" +border = {3,3,1,3} +stretch = TRUE +gap_side = TOP +} +image +{ +function = EXTENSION +file = "Tabs/tab-left-active.png" +border = {3,1,3,3} +stretch = TRUE +gap_side = RIGHT +} +image +{ +function = EXTENSION +file = "Tabs/tab-right-active.png" +border = {1,3,3,3} +stretch = TRUE +gap_side = LEFT +} + +image +{ +function = BOX_GAP +file = "Tabs/notebook.png" +border = {1,1,1,1} +stretch = TRUE +gap_file = "Tabs/gap-top-current.png" +gap_border = {2,2,2,2} +gap_start_file = "Tabs/gap-top-left.png" +gap_start_border = {1,0,1,0} +gap_end_file = "Tabs/gap-top-right.png" +gap_end_border = {0,1,1,0} +gap_side = TOP +} +image +{ +function = BOX_GAP +file = "Tabs/notebook.png" +border = {1,1,1,1} +stretch = TRUE +gap_file = "Tabs/gap-top-current.png" +gap_border = {2,2,2,2} +gap_start_file = "Tabs/gap-bottom-left.png" +gap_start_border = {1,0,1,0} +gap_end_file = "Tabs/gap-bottom-right.png" +gap_end_border = {0,1,1,0} +gap_side = BOTTOM +} +image +{ +function = BOX_GAP +file = "Tabs/notebook.png" +border = {1,1,1,1} +stretch = TRUE +gap_file = "Tabs/gap-top-current.png" +gap_border = {2,2,2,2} +gap_start_file = "Tabs/gap-left-top.png" +gap_start_border = {1,0,1,0} +gap_end_file = "Tabs/gap-left-bottom.png" +gap_end_border = {1,0,0,1} +gap_side = LEFT +} +image +{ +function = BOX_GAP +file = "Tabs/notebook.png" +border = {1,1,1,1} +stretch = TRUE +gap_file = "Tabs/gap-top-current.png" +gap_border = {2,2,2,2} +gap_start_file = "Tabs/gap-right-top.png" +gap_start_border = {0,1,1,0} +gap_end_file = "Tabs/gap-right-bottom.png" +gap_end_border = {0,1,0,1} +gap_side = RIGHT +} + +# Notebook with no tabs +image +{ +function = BOX +file = "Tabs/notebook.png" +border = {1,1,1,1} +stretch = TRUE +} +} +} + +style "tooltips" = "default" +{ +bg[NORMAL] = "#070707" +} + +style "ruler" = "default" +{ +engine "pixmap" { +image +{ +function = BOX +detail = "vruler" +file = "Others/ruler.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = BOX +detail = "hruler" +file = "Others/ruler.png" +border = {1,1,1,1} +stretch = TRUE +} +} +} + +style "handlebox" = "default" +{ +engine "pixmap" +{ +image +{ +} +image +{ +function = HANDLE +overlay_file = "Handles/handle-v.png" +overlay_stretch = FALSE +orientation = VERTICAL +} +image +{ +function = HANDLE +overlay_file = "Handles/handle-h.png" +overlay_stretch = FALSE +orientation = HORIZONTAL +} +} +} + +style "flat" = "default" +{ +engine "pixmap" +{ +image +{ +function = SHADOW +} +} +} + +style "layout" = "default" +{ +engine "pixmap" +{ +image +{ +function = SHADOW +detail = "entry" +shadow = IN +file = "Shadows/text-.png" +border = {1,1,1,1} +stretch = TRUE +} +image +{ +function = BOX +detail = "button" +state = NORMAL +file = "Buttons/button-normal.png" +border = {2,2,2,2} +stretch = TRUE +} +} +} + +style "list-header" +{ +ythickness = 3 +GtkTreeView::odd_row_color = "#171717" +GtkTreeView::even_row_color = "#000000" + +engine "pixmap" +{ +image +{ +function = BOX +state = NORMAL +file = "ListHeaders/list_header.png" +border = {1,2,1,2} +stretch = TRUE +} + +image +{ +function = BOX +state = PRELIGHT +file = "ListHeaders/list_header-prelight.png" +border = {1,2,5,2} +stretch = TRUE +} + +image +{ +function = BOX +state = ACTIVE +file = "ListHeaders/list_header-pressed.png" +border = {0,0,0,0} +stretch = TRUE +} +image +{ +function = BOX +state = SELECTED +file = "ListHeaders/list_header-prelight.png" +border = {4,5,2,2} +stretch = TRUE +} +image +{ +function = BOX +state = INSENSITIVE +file = "ListHeaders/list_header-insens.png" +border = {1,2,1,2} +stretch = TRUE +} +} +} + +widget_class "*List" style "list-header" +widget_class "*GtkTree*" style "list-header" +widget_class "*GtkCList*" style "list-header" +#widget_class "*Tree*" style "list-header" + +# Sodipodi bug +style "unstyle" +{ +engine "" +{ +} +} +class "SPColorSlider" style "unstyle" + +style "SPbutton" +{ +engine "pixmap" +{ +image +{ +function = BOX +shadow = IN +file = "Shadows/shadow-out.png" +border = {2,2,2,2} +stretch = TRUE +} +image +{ +function = BOX +} +} +} + +style "treecol" +{ +bg[NORMAL] = "#000000" +} + +class "GtkButton" style "button" +class "GtkRadioButton" style "radiobutton" +class "GtkRadioMenuItem" style "radiobutton" +class "GtkCheckButton" style "checkbutton" +class "GtkCheckMenuItem" style "checkbutton" +class "GtkOptionMenu" style "optionmenu" +class "GtkCombo*" style "optionmenu" +class "*Font*" style "optionmenu" +class "GtkEntry" style "entry" +class "GtkOldEditable" style "entry" +class "GtkSpinButton" style "spinbutton" +class "GtkRuler" style "ruler" +class "GtkScrollbar" style "scrollbar" +class "GtkProgressBar" style "progressbar" +class "GtkRange" style "range" +class "GtkMenu" style "menu" +class "GtkMenuBar*" style "menubar" +widget_class "*MenuBar.*" style "menubar" +class "GtkMenuItem" style "menuitem" +class "GtkTearoffMenuItem" style "menuitem" +class "GtkNotebook" style "notebook" +class "GtkToolbar" style "flat" +class "GtkHandleBox" style "handlebox" +class "GtkEventBox" style "flat" +class "GtkPaned" style "handlebox" +class "GtkLayout" style "layout" +class "SPButton" style "SPbutton" +widget "gtk-tooltips" style "tooltips" + +# colorize ugly white line at the top of the vertical scrollbar in Nautilus +style "searchbar" { +bg[NORMAL] = "#080808" +} +widget "*.nautilus-extra-view-widget" style:highest "searchbar" + +# separator in Nautilus sidebar +style "separator" { +bg[NORMAL] = "#191919" +} +widget "*nautilus*side*" style:highest "separator" diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/gtk-2.0/panel.rc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Skins/Default/gtk-2.0/panel.rc Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,50 @@ +style "tasklist-button" +{ +xthickness = 0 +ythickness = 0 +engine "pixmap" +{ +image +{ +function = BOX +state = NORMAL +file = "Buttons/button-normal.png" +border = {6,6,14,2} +stretch = TRUE +} +image +{ +function = BOX +state = ACTIVE +file = "Buttons/button-prelight.png" +border = {6,6,14,2} +stretch = TRUE +} +image +{ +function = BOX +state = PRELIGHT +file = "Buttons/button-prelight.png" +border = {6,6,14,2} +stretch = TRUE +} +} +} +widget "*.tasklist-button" style "tasklist-button" +style "panel-menubar" +{ +xthickness = 1 +ythickness = 0 +engine "pixmap" +{ +image +{ +function = BOX +state = NORMAL +file = "Panel/panel-bg.png" +border = {0,0,0,0} +stretch = FALSE +} +} +} +class "*Panel*" style "panel-menubar" diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/main.png Binary file Skins/Default/main.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/monoster.png Binary file Skins/Default/monoster.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/nums_ex.png Binary file Skins/Default/nums_ex.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/playpaus.png Binary file Skins/Default/playpaus.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/pledit.png Binary file Skins/Default/pledit.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/pledit.txt --- a/Skins/Default/pledit.txt Wed Oct 24 10:41:53 2007 +0300 +++ b/Skins/Default/pledit.txt Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ -[Text] -Normal=#a6c1df -Current=#eeeeee -NormalBG=#000000 -SelectedBG=#666666 -Font=Helvetica +[Text] +Normal=#2499FF +Current=#FFEEFF +NormalBG=#000000 +SelectedBG=#0A124A + diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/posbar.png Binary file Skins/Default/posbar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/shufrep.png Binary file Skins/Default/shufrep.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/skin.hints --- a/Skins/Default/skin.hints Wed Oct 24 10:41:53 2007 +0300 +++ b/Skins/Default/skin.hints Fri Nov 16 05:36:42 2007 +0200 @@ -1,28 +1,32 @@ +# Hints for "Starsidhe", the Audacious 1.4 Default Skin. + [skin] -skinDescription=The default skin for Audacious. +skinDescription=Starsidhe, the Audacious 1.4 default skin. mainwinOthertext=1 -mainwinVisX=19 -mainwinVisY=39 -mainwinTextX=19 -mainwinTextY=26 -mainwinTextWidth=246 -mainwinInfobarX=111 -mainwinInfobarY=42 -mainwinNumber0X=30 -mainwinNumber0Y=56 -mainwinNumber1X=42 -mainwinNumber1Y=56 -mainwinNumber2X=54 -mainwinNumber2Y=56 -mainwinNumber3X=72 -mainwinNumber3Y=56 -mainwinNumber4X=84 -mainwinNumber4Y=56 -mainwinPlayStatusX=19 -mainwinPlayStatusY=58 -mainwinMenurowVisible=1 -mainwinOthertextIsStatus=1 mainwinOthertextVisible=1 mainwinTextVisible=1 mainwinVisVisible=1 - +mainwinMenurowVisible=0 +mainwinNumber0X=28 +mainwinNumber0Y=26 +mainwinNumber1X=40 +mainwinNumber1Y=26 +mainwinNumber2X=52 +mainwinNumber2Y=26 +mainwinNumber3X=70 +mainwinNumber3Y=26 +mainwinNumber4X=82 +mainwinNumber4Y=26 +mainwinPlayStatusX=18 +mainwinPlayStatusY=28 +mainwinVisX=18 +mainwinVisY=49 +mainwinTextX=98 +mainwinTextY=27 +mainwinTextWidth=167 +mainwinInfobarX=98 +mainwinInfobarY=43 +mainwinVolumeX=98 +mainwinVolumeY=57 +mainwinBalanceX=174 +mainwinBalanceY=57 diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/text.png Binary file Skins/Default/text.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/titlebar.png Binary file Skins/Default/titlebar.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/viscolor.txt --- a/Skins/Default/viscolor.txt Wed Oct 24 10:41:53 2007 +0300 +++ b/Skins/Default/viscolor.txt Fri Nov 16 05:36:42 2007 +0200 @@ -1,24 +1,24 @@ -0,0,0 // [background color 1] -0,0,0 // [background color 2] -9,13,15 -19,26,31 -29,39,47 -39,52,63 -49,65,79 -59,78,95 -69,91,111 -79,105,127 -88,118,143 -98,131,159 -108,144,175 -118,157,191 -128,170,207 -138,183,223 -148,196,239 -158,210,255 -240,240,240 // [osc 1] -220,220,220 // [osc 2] -170,170,170 // [osc 3] -100,100,100 // [osc 4] -20,20,20 // [osc 5] -200,200,220 // [peak color] +8,8,8 // 0 = black (background color #1) +8,8,8 // 1 = grey (background color #2) +8,8,8 // 2 +8,58,116 // 3 +8,8,8 // 4 +8,66,132 // 5 +8,8,8 // 6 +8,74,148 // 7 +8,8,8 // 8 +8,82,164 // 9 +8,8,8 // 10 +8,92,184 // 11 +8,8,8 // 12 +8,104,208 // 13 +8,8,8 // 14 +8,116,232 // 15 +8,8,8 // 16 +8,128,255 // 17 = bottom of spec +0,128,255 // 18 = osc 1 (brightest) +0,104,208 // 19 = osc 2 +0,80,160 // 20 = osc 3 +0,56,112 // 21 = osc 4 +0,32,64 // 22 = osc 5 (dimmest) +200,200,200 diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Default/volume.png Binary file Skins/Default/volume.png has changed diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Ivory/.depend diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Ivory/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Osmosis/.depend diff -r 4f6c614aee5d -r de76dbec8e1e Skins/Osmosis/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e Skins/TinyPlayer/.depend diff -r 4f6c614aee5d -r de76dbec8e1e Skins/TinyPlayer/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e buildsys.mk.in --- a/buildsys.mk.in Wed Oct 24 10:41:53 2007 +0300 +++ b/buildsys.mk.in Fri Nov 16 05:36:42 2007 +0200 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, Jonathan Schleifer +# Copyright (c) 2007, Jonathan Schleifer # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -43,6 +43,7 @@ LIB_LDFLAGS = @LIB_LDFLAGS@ LIB_PREFIX = @LIB_PREFIX@ LIB_SUFFIX = @LIB_SUFFIX@ +LIBDIR ?= ${libdir} PLUGIN_CPPFLAGS = @PLUGIN_CPPFLAGS@ PLUGIN_CFLAGS = @PLUGIN_CFLAGS@ PLUGIN_LDFLAGS = @PLUGIN_LDFLAGS@ @@ -203,7 +204,7 @@ for i in ${LIB}; do \ ${INSTALL_STATUS}; \ - if ${MKDIR_P} ${DESTDIR}${libdir} && ${INSTALL_LIB}; then \ + if ${MKDIR_P} ${DESTDIR}${LIBDIR} && ${INSTALL_LIB}; then \ ${INSTALL_OK}; \ else \ ${INSTALL_FAILED}; \ diff -r 4f6c614aee5d -r de76dbec8e1e configure.ac --- a/configure.ac Wed Oct 24 10:41:53 2007 +0300 +++ b/configure.ac Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([audacious], [1.4.0], [bugs+audacious@atheme.org]) +AC_INIT([audacious], [1.4.1], [bugs+audacious@atheme.org]) AC_PREREQ([2.59]) AC_CANONICAL_HOST @@ -87,8 +87,8 @@ dnl Check for GTK/GLib/GThread/Pango -PKG_CHECK_MODULES(GTK, [glib-2.0 >= 2.10.0 gtk+-2.0 >= 2.6.0 gthread-2.0 pango], - [ADD_PC_REQUIRES([glib-2.0 >= 2.10.0, gtk+-2.0 >= 2.6.0])], +PKG_CHECK_MODULES(GTK, [glib-2.0 >= 2.10.0 gtk+-2.0 >= 2.10.0 gthread-2.0 pango], + [ADD_PC_REQUIRES([glib-2.0 >= 2.10.0, gtk+-2.0 >= 2.10.0])], [AC_MSG_ERROR([Cannot find glib2/gtk2/pango])] ) diff -r 4f6c614aee5d -r de76dbec8e1e m4/buildsys.m4 --- a/m4/buildsys.m4 Wed Oct 24 10:41:53 2007 +0300 +++ b/m4/buildsys.m4 Fri Nov 16 05:36:42 2007 +0200 @@ -1,5 +1,5 @@ dnl -dnl Copyright (c) 2007, Jonathan Schleifer +dnl Copyright (c) 2007, Jonathan Schleifer dnl dnl Permission to use, copy, modify, and/or distribute this software for any dnl purpose with or without fee is hereby granted, provided that the above @@ -106,8 +106,8 @@ PLUGIN_CFLAGS='-fPIC' PLUGIN_LDFLAGS='-shared -fPIC' PLUGIN_SUFFIX='.so' - INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i' - UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' + INSTALL_LIB='${INSTALL} -m 755 $$i ${DESTDIR}${LIBDIR}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${LIBDIR}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${LIBDIR}/$$i' + UNINSTALL_LIB='rm -f ${DESTDIR}${LIBDIR}/$$i ${DESTDIR}${LIBDIR}/$$i.${LIB_MAJOR} ${DESTDIR}${LIBDIR}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0' CLEAN_LIB='' ;; esac diff -r 4f6c614aee5d -r de76dbec8e1e pixmaps/.depend diff -r 4f6c614aee5d -r de76dbec8e1e pixmaps/.depend-done diff -r 4f6c614aee5d -r de76dbec8e1e po/ChangeLog --- a/po/ChangeLog Wed Oct 24 10:41:53 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1211 +0,0 @@ - -Wed Nov 26 09:20:47 SGT 2003 Chong Kai Xiong - - * Makefile.in.in: New file, from gettext-0.12.1. - - * en@boldquot.header: New file, from gettext-0.12.1. - - * en@quot.header: New file, from gettext-0.12.1. - -Fri Aug 8 17:12:10 CEST 2003 Hvard Kvlen - - * sl.po: New translation by Tadej Panjtar - - * LINGUAS: Add "sl" (Slovenian). - -Wed Jul 16 01:41:20 CEST 2003 Hvard Kvlen - - * no.po: Updated. - -Mon Jul 14 00:34:06 CEST 2003 Hvard Kvlen - - * en.po: New "translation". The only things that are translated - are non-ascii characters. - - * LINGUAS: Add "en". - -Sat Jul 5 02:18:03 CEST 2003 Hvard Kvlen - - * LINGUAS: Add Belarusian (be) and Welsh (cy). - - * cy.po: New translation by: - Rhoslyn Prys - - * be.po: New translation by: Smaliakou Zmicer - - * pt.po: Updated translation by Jorge Costa - - * uk.po: Updated translation by - Dmytro Koval'ov - -Tue Jan 7 23:43:10 CET 2003 Hvard Kvlen - - * ja.po: Updated translation by Hiroshi Takekawa . - -Wed Dec 11 23:17:10 CET 2002 Hvard Kvlen - - * zh_TW.po: Updated translation by - Chun-Chung Chen - -Fri Nov 22 22:10:48 BRST 2002 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Sun Oct 27 20:17:45 CET 2002 Hvard Kvlen - - * ca.po: Updated translation by - Albert Astals Cid - - * ro.po: Updated translation by Miu Moldovan - - * no.po: Updated translation. - -Wed Sep 11 11:25:37 CEST 2002 Hvard Kvlen - - * nl.po: Fixed two errors that new gettext's would abort on. - -Tue Jul 30 23:24:12 BRT 2002 Juan Carlos C. y Castro - - * pt_BR.po: Some language names were missing the ':'. - -Tue Jul 30 23:04:05 BRT 2002 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Mon Jul 29 12:56:24 CEST 2002 Hvard Kvlen - - * ru.po: Updated translation by - Alexandr P. Kovalenko - - * nl.po: Updated translation by Bart Coppens - -Tue May 21 02:09:36 BRT 2002 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Sun May 12 17:41:35 CEST 2002 Hvard Kvlen - - * mk.po: New translation by Stojcev Darko - -Mon May 6 16:50:28 CEST 2002 Hvard Kvlen - - * no.po: Updated translation by - Terje Bjerkelia - -Wed Apr 10 15:19:22 CEST 2002 Hvard Kvlen - - * ru.po: Updated translation by - Alexandr P. Kovalenko - -Tue Mar 26 15:20:20 CET 2002 Hvard Kvlen - - * cs.po: One string updated. - Patch by Martin Macok - -2002-03-14 Christian Rose - - * sv.po: Changed Swedish translation. - -Tue Mar 5 15:47:41 CET 2002 Hvard Kvlen - - * es.po: Updated translation by - Jordi Mallach - -2002-03-03 Christian Rose - - * sv.po: Changed Swedish translation. - -2002-03-02 Christian Rose - - * sv.po: Updated Swedish translation. - -Mon Feb 11 13:08:44 CET 2002 Thomas Nilsson - - * *.po: Updated copyright year. - -Fri Jan 25 18:48:08 CET 2002 Hvard Kvlen - - * ru.po: Updated translation by - Alexandr P. Kovalenko - -Thu Jan 24 19:48:47 BRST 2002 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Sun Jan 20 21:35:24 CET 2002 Hvard Kvlen - - * ru.po: Updated translation by - Alexandr P. Kovalenko - -2002-01-04 Hvard Kvlen - - * no.po: Updated. - -Sat Dec 29 19:36:18 CET 2001 Hvard Kvlen - - * fr.po: Updated translation by - Arnaud Boissinot - -2001-12-29 Christian Rose - - * POTFILES.in: Sorted. - * sv.po: Updated Swedish translation. - -Fri Dec 14 22:36:08 CET 2001 Hvard Kvlen - - * ro.po: Updated translation by - Miu Moldovan - - * az.po: Updated translation by - Vasif Cabbarli - -Tue Dec 11 23:44:35 CET 2001 Hvard Kvlen - - * uk.po: Updated translation by Dmytro Koval'ov - - * de.po: Updated translation by - Colin Marquardt - - * ro.po: Updated translation by - Miu Moldovan - - * tr.po: Updated translation by - mer Fadl USTA - - * cs.po: Updated translation by - Radek Vybiral - - * hu.po: Updated translation by Arpad Biro - - * th.po: Updated translation by - Supphachoke Suntiwichaya - -Sat Dec 8 12:08:22 BRST 2001 Juan Carlos C. y Castro - - * pt_BR.po: Fixed inconsistencies in menu translation. - -Sat Dec 8 12:11:58 CET 2001 Hvard Kvlen - - * ja.po: Updated translation by - Hiroshi Takekawa - - * zh_TW.po: Updated translation by - Chun-Chung Chen - - * el.po: Updated translation by - Thanos Kyritsis - - * pl.po: Updated translation by - GNOME PL Team - - * de.po: Updated translation by - Colin Marquardt - - * hr.po: Updated translation by - Vlatko Kosturjak - - * es.po: Updated translation by - Jordi Mallach - - * fr.po: Updated translation by - Arnaud Boissinot - - * gl.po: Updated translation by - Alberto Garca - - * nn.po: Updated translation by - Roy-Magne Mo - -2001-12-07 Christian Rose - - * sv.po: Updated Swedish translation. - -Tue Dec 4 19:42:25 BRST 2001 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -2001-12-03 Christian Rose - - * sv.po: Updated Swedish translation. - -2001-11-27 Christian Rose - - * sv.po: Updated Swedish translation. - -Thu Nov 15 22:06:11 BRST 2001 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Wed Nov 14 00:02:51 CET 2001 Hvard Kvlen - - * ja.po: Updated translation by - Hiroshi Takekawa - -Mon Nov 12 22:44:20 CET 2001 Hvard Kvlen - - * sv.po: Updated translation by - Christian Rose - -Sat Nov 10 22:11:37 BRST 2001 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Sat Nov 10 18:46:14 CET 2001 Hvard Kvlen - - * sv.po: Updated translation by - Christian Rose - - * pl.po: Updated translation by - GNOME PL Team - -Wed Nov 7 01:26:26 CET 2001 Hvard Kvlen - - * th.po: New translation by - Supphachoke Suntiwichaya - -Fri Sep 21 10:57:54 BRT 2001 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Tue Sep 18 21:03:21 CEST 2001 Hvard Kvlen - - * es.po: Updated translation by - Jordi Mallach - - * tr.po: Updated translation by - mer Fadl USTA - - * sk.po: Updated translation by Jan Matis - - * lv.po: Updated translation by Juris Kudi - - * ko.po: Updated translation by Jaegeum - - * ga.po: Updated translation by - Alastair McKinstry - - * es.po: Updated translation by - Juan Manuel Garca Molina - - * da.po: Updated translation by Keld Simonsen - - * eu.po: New translation by - Iigo Salvador Azurmendi - - * tg.po: New translation by - Dilshod Marupov and - Roger Kovacs - - * vi.po: New translation by Trinh Minh Thanh - - * nn.po: Fixed one error. - -Tue Sep 18 00:28:00 BRT 2001 Juan Carlos C. y Castro - - * pt_BR.po: Updated translation. - -Sun Aug 26 19:20:02 CEST 2001 Hvard Kvlen - - * ja.po: Updated translation by - Hiroshi Takekawa - - * nn.po: New translation by Roy-Magne Mo . - -Sun Aug 19 19:07:04 CEST 2001 Hvard Kvlen - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * sk.po: Updated translation by - Pavol Cvengros - - * hu.po: Updated translation by - Arpad Biro - - * es.po: Updated translation by - Juan Manuel Garca Molina - - * eo.po: Updated translation by - D. Dale Gulledge - - * no.po: Updated translation by - Andreas Bergstrm - -Thu Jun 21 01:23:37 CEST 2001 Hvard Kvlen - - * *.po: Update the bugreport url for all translations. - Patch by Thomas Nilsson . - -Mon Jun 18 18:50:37 CEST 2001 Hvard Kvlen - - * sv.po: Updated translation by - Christian Rose - -Wed Jun 13 16:59:34 CEST 2001 Hvard Kvlen - - * az.po, es.po, fr.po, ko.po, no.po, sk.po: Fixed some typos in - menus. - -Sun Jun 10 23:20:21 CEST 2001 Hvard Kvlen - - * pl.po: Updated translation by - Grzegorz Kowal - - * az.po, da.po, es.po, fr.po, ga.po, hr.po, ro.po, uk.po: Fixed - errors with menus. - - * no.po: Updated. - -Thu Jun 7 18:31:40 CEST 2001 Hvard Kvlen - - * de.po: Updated translation by - Colin Marquardt - -Wed Jun 6 14:15:09 CEST 2001 Hvard Kvlen - - * hu.po: Commit the right version this time. Update by - Arpad Biro - -Tue Jun 5 15:44:08 CEST 2001 Hvard Kvlen - - * no.po: Updated. - - * da.po: Updated translation by - Nikolaj Berg Amodsen - - * zh_TW.po: File renamed from "zh_TW.Big5.po" and updated by - Chun-Chung Chen and - Jouston Huang - -Sun Jun 3 22:35:40 CEST 2001 Hvard Kvlen - - * es.po: Updated translation by - Jordi Mallach - - * uk.po: Dmytro Kovalov - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * hu.po: Updated translation by - Arpad Biro - - * az.po: Updated translation by - Vasif Ismailoglu - - * lt.po: Updated translation by - Gediminas Paulauskas - - * cs.po: Updated translation by - Radek Vybiral - - * hr.po: Updated translation by - Vlatko Kosturjak - - * tr.po: Updated translation by - mer Fadl USTA - - * ru.po: Updated translation by - Maxim Koshelev - - * gl.po: Updated translation by - Alberto Garca - - * ro.po: Updated translation by Misu Moldovan - - * sk.po: Updated translation by - Pavol Cvengros - - * fr.po: Updated translation by - Arnaud Boissinot - - * ko.po: Updated translation by - Jaegeum Choe - - * ja.po: Updated translation by - Hiroshi Takekawa - - * sv.po: Updated translation by - Christian Rose - - * el.po: Updated translation by - Kyritsis Athanasios - -Wed May 9 00:52:48 CEST 2001 Hvard Kvlen - - * *.po: Ran 'make update-po'. - - * ja.po: Updated translation by - Hiroshi Takekawa - - * sv.po: Updated translation by - Christian Rose - -Tue Apr 10 17:29:14 CEST 2001 Hvard Kvlen - - * bg.po: Updated translation by - Yovko D. Lambrev - - * az.po: Updated translation by - Vasif Ismailoglu - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * sv.po: Updated translation by - Christian Rose - -Mon Mar 26 03:36:41 CEST 2001 Hvard Kvlen - - * sr.po: New translation by Tomislav Jankovic_ - - * wa.po: Updated translation by - Pablo Saratxaga - - * tr.po: Updated translation by - mer Fadl USTA - - * ko.po: Updated translation by - Jaegeum Choe - - * id.po: Updated translation by Budi Rachmanto - - * hr.po: Updated translation by Vlatko Kosturjak - - * de.po: Updated translation by - Colin Marquardt - - * az.po: Updated translation by - Vasif Ismailoglu - -Tue Mar 20 17:08:41 EST 2001 Hvard Kvlen - - * no.po: Updated translation. - -Tue Mar 20 01:22:44 CET 2001 Hvard Kvlen - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - -Tue Mar 13 22:00:03 CET 2001 Hvard Kvlen - - * pt.po: New translation by Jorge Costa - -Fri Mar 9 01:47:22 CET 2001 Hvard Kvlen - - * sv.po: Updated translation by - Fuad Sabanovic - - * sk.po: Updated translation by - Pavol Cvengros - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * lt.po: Updated translation by - Gediminas Paulauskas - - * ja.po: Updated translation by - Hiroshi Takekawa - - * bg.po: Updated translation by - Yovko D. Lambrev - -Fri Mar 2 18:32:16 CET 2001 Hvard Kvlen - - * tr.po: Updated translation by - mer Fadl USTA - - * ru.po: Updated translation by Valek Filippov - - * pl.po: Updated translation by - Grzegorz Kowal - - * id.po: New translation by Budi Rachmanto - -Fri Feb 16 23:21:53 CET 2001 Hvard Kvlen - - * gl.po: Updated translation by Alberto Garca - - * wa.po: Updated translation by - Pablo Saratxaga - - * tr.po: Updated translation by Nazmi Savga - - * no.po: Updated translation by - Terje Bjerkelia - - * hr.po: Updated translation by Vlatko Kosturjak - - * az.po: Updated traslation by - Vasif Ismailoglu - -Wed Feb 7 20:34:54 CET 2001 Hvard Kvlen - - * hr.po: Updated translation by Vlatko Kosturjak - - * de.po: Updated translation by - Colin Marquardt - - * da.po: Updated translation by Keld Simonsen - - * cs.po: Updated translation by - Radek Vybiral - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - -Thu Jan 4 21:54:46 CET 2001 Hvard Kvlen - - * ja.po: Updated translation by - Hiroshi Takekawa - -Tue Jan 2 00:19:16 CET 2001 Hvard Kvlen - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * ru.po: Updated translation by - Alexandr P. Kovalenko - -Tue Dec 19 18:36:10 CET 2000 Hvard Kvlen - - * ru.po: Updated translation by - Alexandr P. Kovalenko - -Sun Dec 10 23:44:00 CET 2000 Hvard Kvlen - - * wa.po: Updated translation by - Pablo Saratxaga - - * ru.po: Updated translation by - Aleksey Smirnov - - * ga.po: The charset was slightly wrong. - Fix by Pablo Saratxaga . - - * es.po: Updated translation by - Fabian Mandelbaum - - * az.po: Converted to UTF-8. Supposed to work better. Thanks to - Pablo Saratxaga - - * no.po: Updated translation by - Andreas Bergstrm - - * it.po: Fixed a couple of errors. One of them caused segfaults - with XMMS 1.2.4. - -Wed Nov 29 12:46:20 CET 2000 Hvard Kvlen - - * gl.po: New translation by Alberto Garca - -Mon Nov 27 15:17:08 CET 2000 Hvard Kvlen - - * es.po: Fixed a typo. - -Mon Nov 27 14:52:43 CET 2000 Hvard Kvlen - - * ro.po: Updated translation by - Miu Moldovan - - * sk.po: Updated translation by - Pavol Cvengros - - * pl.po: Updated translation by - Grzegorz Kowal - - * no.po: Updated translation by - Terje Bjerkelia - - * lv.po: Updated translation by Vitauts Stochka - - * cs.po: Updated translation by - Vladimr Marek - - * ca.po: Updated translation by - Quico Llach - - * da.po: Some corrections by - Kenneth Christiansen and - Keld Simonsen - - * az.po: Updated translation by - Vasif Ismailoglu - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * sv.po: Updated translation by - Christian Rose - - * it.po: Updated translation by Paolo Lorenzin - -Tue Nov 21 23:22:02 CET 2000 Hvard Kvlen - - * uk.po: Updated translation by - Dmytro Koval'ov - - * it.po: Updated translation by Paolo Lorenzin - - * zh_TW.Big5.po: One correction. - -Tue Nov 21 01:34:15 CET 2000 Hvard Kvlen - - * zh_TW.Big5.po: Updated translation by - Chun-Chung Chen - - * hu.po: Updated translation by - Arpad BIRO - - * de.po: Updated translation by - Colin Marquardt - - * da.po: Updated translation by - Nikolaj Berg Amondsen - -Sun Nov 19 17:08:16 CET 2000 Hvard Kvlen - - * ja.po: Updated translation by - Hiroshi Takekawa - - * lt.po: Updated translation by - Gediminas Paulauskas - -Fri Nov 17 14:39:39 CET 2000 Hvard Kvlen - - * ko.po: Updated translation by - Man-Yong Lee - - * bg.po: Updated translation by - Yovko D. Lambrev - - * sv.po: Updated translation by - Christian Rose - -Fri Nov 17 00:20:08 CET 2000 Hvard Kvlen - - * el.po: Updated translation by - Kyritsis Athanasios - -Wed Nov 8 22:07:11 CET 2000 Hvard Kvlen - - * tr.po: Updated translation by - Nazmi Savga - - * sv.po: Updated translations by - Christian Rose - - * pl.po: Updated translation by - Grzegorz Kowal - - * es.po: Updated translation by - Fabian Mandelbaum - - * az.po: Updated translation by - Vasif Ismailoglu - - * zh_CN.GB2312.po: A missing slash was causing crashes on start. - -Wed Oct 25 18:41:51 CEST 2000 Hvard Kvlen - - * uk.po: Updated translation by - Dmytro Koval'ov - - * ja.po: Updated translation by - Hiroshi Takekawa - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - -Wed Oct 18 13:35:48 CEST 2000 Hvard Kvlen - - * pt_BR.po: Updated translation by - Juan Carlos Castro y Castro - - * tr.po: New translation by Nazmi Savga - -Mon Oct 2 11:37:24 2000 Espen Skoglund - - * ja.po: Update strings for 3DNow! patch: - Osamu Kayasono - -Sun Oct 1 19:45:07 CEST 2000 Hvard Kvlen - - * da.po: Updated translation by: - Nikolaj Berg Amondsen - - * ga.po: Updated translation by: - Alastair McKinstry - -Tue Sep 26 23:03:21 CEST 2000 Hvard Kvlen - - * it.po: New translation by: Paolo Lorenzin - - * az.po: New translation by: - Vasif Ismailoglu - - * eo.po: Updated translation by: - D. Dale Gulledge - - * sk.po: Updated translation by: - Pavol Cvengros - -Tue Sep 26 00:40:31 CEST 2000 Hvard Kvlen - - * ko.po: Updated translation by: - Byeong-Chan Kim - -Tue Sep 19 17:11:41 CEST 2000 Hvard Kvlen - - * cs.po: Update by Vladimr Marek . - -Mon Sep 18 02:03:32 CEST 2000 Hvard Kvlen - - * lv.po: New translation by: Vitauts Stochka - - * af.po: Updated translation by: - Schalk W. Cronj - - * nl.po: Updated translation by: - Tom Laermans - - * ga.po: Updated translaion by: - Alastair McKinstry - - * pl.po: Updated translation by: - Grzegorz Kowal - - * ca.po: Updated translation by: - Quico Llach - - * zh_TW.Big5.po: Fixed two duplicate strings. - -Mon Sep 11 23:18:20 CEST 2000 Hvard Kvlen - - * ga.po: New translation by: - Alastair McKinstry - - * zh_TW.Big5.po: Updated translation by: - Jouston Huang and others. - - * zh_CN.GB2312.po: Updated translation by: - Danny Zeng - - * wa.po: Updated translation by: - Pablo Saratxaga - - * uk.po: Updated translation by: - Dmytro Kovalov - - * ru.po: Updated translation by: - Maxim Koshelev - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - - * pl.po: Updated translation by: - Grzegorz Kowal - - * no.po: Updated translation by: - Terje Bjerkelia - - * lt.po: Updated translation by: - Gediminas Paulauskas - - * ja.po: Updated translation by: - Hiroshi Takekawa - - * hu.po: Updated translation by: - Arpad BIRO - - * fr.po: Updated translation by: - Eric Fernandez-Bellot - - * es.po: Updated translation by: - Fabian Mandelbaum - - * el.po: el_GR.po renamed to el.po. Also updated by: - Kyritsis Athanasios - - * de.po: Updated translation by: - Colin Marquardt - - * cs.po: Updated translation by: - Radek Vybiral - - * bg.po: Updated translation by: - Yovko D. Lambrev - -Sun Sep 3 22:24:28 CEST 2000 Hvard Kvlen - - * sv.po: Updated translation by: - Christian Rose - - * *.po: Ran 'make update-po'. - -Fri Aug 11 20:20:27 CEST 2000 Hvard Kvlen - - * sv.po: Updated translation by: - Christian Rose - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Wed Aug 9 23:54:22 CEST 2000 Hvard Kvlen - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Wed Aug 9 16:47:33 CEST 2000 Hvard Kvlen - - * sv.po: Updated translation by: Thomas Nilsson - -Mon Aug 7 17:38:26 CEST 2000 Hvard Kvlen - - * ja.po: Updated translation by: - Hiroshi Takekawa - -Fri Jul 28 18:39:18 CEST 2000 Hvard Kvlen - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Fri Jul 14 01:24:03 CEST 2000 Hvard Kvlen - - * sv.po: Updated translation by: - Christian Rose - -Tue Jul 4 19:21:59 CEST 2000 Hvard Kvlen - - * bg.po: Updated translation by: - Yovko D. Lambrev - - * cs.po: Updated translation by: - Radek Vybiral - -Tue Jun 27 16:07:18 CEST 2000 Hvard Kvlen - - * el_GR.po: New translation by: - Kyritsis Athanasios - - * pl.po: New translation by: - Grzegorz Kowal - -Sat Jun 17 19:54:49 CEST 2000 Hvard Kvlen - - * sv.po: Updated translation by: Thomas Nilsson - -Sat Jun 17 18:38:14 CEST 2000 Hvard Kvlen - - * eo.po: New translation by: - D. Dale Gulledge - - * hr.po, ja.po, ko.po, ru.po, sv.po, uk.po, wa.po, zh_TW.Big5.po, - zh_CN.GB2312.po: Various small fixes by Pablo Saratxaga - - - * no.po: Updated translation by: - Terje Bjerkelia . A couple of strings altered - by me. - -Tue Jun 13 23:40:15 CEST 2000 Hvard Kvlen - - * ja.po: Updated translation by: - Hiroshi Takekawa - -Mon Jun 12 16:56:55 CEST 2000 Hvard Kvlen - - * pt_BR.po: One string added by: - Juan Carlos Castro y Castro - -Mon Jun 12 15:39:23 CEST 2000 Hvard Kvlen - - * *.po: Ran 'make update-po' and updated the copyright string from - about.c for all translations. - -Fri Jun 9 10:40:42 CEST 2000 Hvard Kvlen - - * zh_CN.GB2312.po: Updated translation by: - Danny Zeng - - * fr.po: Update which fixes a incorrect string (again). - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Wed May 31 00:58:34 CEST 2000 Hvard Kvlen - - * cs.po: New translation by: Radek Vybiral - - * fr.po: Updated translation by: - Eric Fernandez-Bellot - - * da.po: Updated translation by: - Nikolaj Berg Amondsen - - * ro.po: Updated translation by: - Florin Grad - - * es.po: Updated translation by: - Fabian Mandelbaum - - * sk.po: Updated translation by: - Jan Matis - - * lt.po: Updated translation by: - Gediminas Paulauskas - - * hu.po: Updated tranlation by: - Arpad BIRO - - * ca.po: Updated translation by: - Quico Llach - - * af.po: Update translation by: - Schalk W. Cronj - -Tue May 30 01:50:32 CEST 2000 Hvard Kvlen - - * de.po: Updated translation by: - Colin Marquardt - -Mon May 22 22:10:54 CEST 2000 Hvard Kvlen - - * fr.po: Updated translation by: - Eric Fernandez-Bellot - - * wa.po: Updated translation by: - Pablo Saratxaga , - Lucyin Mahin - - * bg.po: Updated translation by: - Yovko D. Lambrev - - * ca.po: Updated translation by: - Quico Llach - - * uk.po: Updated translation by: - Dmytro Koval'ov - - * hu.po: New translation by: Arpad BIRO - - * af.po: New translation by: - Schalk W. Cronj - - * es.po: Updated translation by: - Fabian Mandelbaum - -Fri May 19 13:36:02 CEST 2000 Hvard Kvlen - - * sk.po: Updated translation by: Jan Matis - - * lt.po: Updated translation by: - Gediminas Paulauskas - - * hr.po: Updated translation by: Vladimir Vuksan - -Tue May 9 00:05:04 CEST 2000 Hvard Kvlen - - * uk.po: Updated translation by: - Dmytro Kovalov - -Wed May 3 14:21:47 CEST 2000 Hvard Kvlen - - * ro.po: New translation by: Florin Grad - - * hr.po: New translation by: Vladimir Vuksan - - * es.po: New translation by: - Fabian Mandelbaum - - * no.po: Fixed a typo that affected the Visualization menu. - -Wed Apr 12 13:55:01 CEST 2000 Hvard Kvlen - - * da.po: Updated translation by: - Nikolaj Berg Amondsen , - Kenneth Christiansen, - Troels Liebe Bentsen - -Mon Apr 3 00:54:10 CEST 2000 Hvard Kvlen - - * lt.po: New translation by: - Gediminas Paulauskas - - * sk.po: Updated translation by: Jan Matis - -Thu Mar 30 00:42:05 CEST 2000 Hvard Kvlen - - * zh_TW.Big5.po: Updated translation by: - Jouston Huang - -Tue Mar 28 11:26:57 CEST 2000 Hvard Kvlen - - * sk.po: New translation by: - TOMAS HORNICEK , - Jan Matis - -Mon Mar 27 02:26:29 CEST 2000 Hvard Kvlen - - * no.po: Updated translation by: - Terje Bjerkelia - -Fri Mar 24 17:37:10 CET 2000 Hvard Kvlen - - * bg.po: Updated translation by: - Yovko D. Lambrev - - * ru.po: Updated translation by: Maxim Koshelev - -Thu Mar 23 13:21:17 CET 2000 Hvard Kvlen - - * fr.po: One string corrected. Thanks to: - Guillaume Cottenceau - -Tue Mar 21 23:05:19 CET 2000 Hvard Kvlen - - * de.po: Updated translation by: - Colin Marquardt - - * ja.po: Updated translation by: - Hiroshi Takekawa - -Mon Mar 20 23:27:51 CET 2000 Hvard Kvlen - - * bg.po: Updated translation by: - Yovko D. Lambrev - -Mon Mar 20 18:50:23 CET 2000 Hvard Kvlen - - * ca.po: Updated translation by: - Quico Llach - - * da.po: Updated translation by: - Nikolaj Berg Amondsen - - * zh_CN.GB2312.po: Updated translation by: - Danny Zeng - -Sun Mar 19 01:36:19 CET 2000 Hvard Kvlen - - * wa.po: Updated translation by: - Pablo Saratxaga - - * nl.po: New translation by: - Tom Laermans - - * da.po: New translation by: - Nikolaj Berg Amondsen - -Thu Mar 9 15:41:20 CET 2000 Hvard Kvlen - - * ko.po: Updated translation by: - Byeong-Chan Kim - -Tue Mar 7 23:17:24 CET 2000 Hvard Kvlen - - * ja.po: Updated translation by: - Hiroshi Takekawa - -Mon Mar 6 15:57:58 CET 2000 Hvard Kvlen - - * no.po: Updated translation. - - * fr.po: Updated translation by: - Eric Fernandez-Bellot - - * ca.po: Updated translation by: - Quico Llach - -Sun Mar 5 00:20:11 CET 2000 Hvard Kvlen - - * uk.po: Updated translation by: - Dmytro Koval'ov - - * de.po: Updated translation by: - Colin Marquardt - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Sat Feb 26 00:35:44 CET 2000 Hvard Kvlen - - * ca.po: New translation by: Quico Llach - - * bg.po: New translation by: - Yovko D. Lambrev - - * sv.po: New translation by: Olle Hllns - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Thu Feb 17 10:50:41 CET 2000 Hvard Kvlen - - * ko.po: Updated translation by: - Byeong-Chan Kim - -Wed Feb 16 22:19:51 CET 2000 Hvard Kvlen - - * pt_BR.po: Updated translation by: - Juan Carlos Castro y Castro - -Wed Feb 16 02:09:22 CET 2000 Hvard Kvlen - - * no.po: Updated translation. - -Wed Feb 16 00:00:20 CET 2000 Hvard Kvlen - - * pt_BR.po: New translation by: - Juan Carlos Castro y Castro - -Tue Feb 15 21:13:03 CET 2000 Hvard Kvlen - - * ko.po: Updated translation by: - Byeong-Chan Kim - -Thu Feb 10 22:15:00 CET 2000 Hvard Kvlen - - * ko.po: New translation by: - Sang-Jin Hwang , - Updated by: Byeong-Chan Kim - -Thu Feb 10 14:14:48 CET 2000 Hvard Kvlen - - * ru.po: New translation by: Koshelev Maxim - -Mon Feb 7 22:48:26 CET 2000 Hvard Kvlen - - * de.po: Updated translation by: - Colin Marquardt - -Mon Feb 7 14:15:42 CET 2000 Hvard Kvlen - - * ja.po: New translation by: - Hiroshi Takekawa - -Sun Feb 6 13:33:35 CET 2000 Hvard Kvlen - - * zh_CN.GB2312.po: Added translation by: - Jouston Huang , - Andrew Lee , - Chih-Wei Huang . - - * zh_TW.Big5.po: Added translation by: - Jouston Huang , - Andrew Lee , - Chih-Wei Huang . - - * wa.po: Added translation by: - Pablo Saratxaga - - * uk.po: Added translation by: - "Dmytro Koval'ov" - - * fr.po: Added translation by: - Eric Fernandez-Bellot - - * de.po: Added translation by: - Colin Marquardt - diff -r 4f6c614aee5d -r de76dbec8e1e po/bg.po --- a/po/bg.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/bg.po Fri Nov 16 05:36:42 2007 +0200 @@ -531,6 +531,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/br.po --- a/po/br.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/br.po Fri Nov 16 05:36:42 2007 +0200 @@ -498,6 +498,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/ca.po --- a/po/ca.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ca.po Fri Nov 16 05:36:42 2007 +0200 @@ -534,6 +534,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/cs.po --- a/po/cs.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/cs.po Fri Nov 16 05:36:42 2007 +0200 @@ -6,10 +6,10 @@ # msgid "" msgstr "" -"Project-Id-Version: audacious svn-4131\n" +"Project-Id-Version: audacious hg-3877\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-02-26 13:41+0100\n" +"POT-Creation-Date: 2007-11-01 16:25+0100\n" +"PO-Revision-Date: 2007-11-01 17:59+0100\n" "Last-Translator: Petr Písař \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" @@ -125,12 +125,11 @@ #: src/audacious/glade/prefswin.glade:1050 msgid "Select main player window font:" -msgstr "Font v hlavním okně přehrávače:" +msgstr "Vyberte font pro hlavní okno přehrávače:" #: src/audacious/glade/prefswin.glade:1072 -#, fuzzy msgid "Select playlist font:" -msgstr "Font v hlavním okně přehrávače:" +msgstr "Vyberte font pro seznam skladeb:" #: src/audacious/glade/prefswin.glade:1112 msgid "" @@ -188,10 +187,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 "" +"Bude-li vybráno, text s informacemi o souboru v hlavním okně bude běhat tam " +"a zpět. Nebude-li vybráno, text se bude pohybovat jen jedním směrem." #: src/audacious/glade/prefswin.glade:1380 msgid "Use two-way text scroller" -msgstr "" +msgstr "Pohybovat textem v obou směrech" #: src/audacious/glade/prefswin.glade:1422 src/audacious/ui_preferences.c:111 msgid "Appearance" @@ -429,7 +430,6 @@ msgstr "Velikost vyrovnávací paměti:" #: src/audacious/glade/prefswin.glade:3593 -#, fuzzy msgid "" "This is the amount of time to prebuffer audio streams " "by, in milliseconds.\n" @@ -440,7 +440,7 @@ "Určuje délku zvukového proudu v milisekundách, který " "bude předpočítán do vyrovnávací paměti.\n" "Pokud máte problémy s přeskakováním zvuku, zvyšte tuto hodnotu.\n" -"Prosím, vezměte na vědomí, že příliš vysoké hodnoty mohou vézt ke zhoršení " +"Prosím, vezměte na vědomí, že příliš vysoké hodnoty mohou vést ke zhoršení " "výkonu Audacious." #: src/audacious/glade/prefswin.glade:3663 @@ -465,7 +465,7 @@ "in a messier playlist, but delivers a major speed benefit." msgstr "" "Je-li zatrhnuto, Audacious bude rozpoznávat formát souboru, až bude potřeba. " -"Toto může vézt k ošklivému seznamu skladeb, ale značně urychluje jeho " +"Toto může vést k ošklivému seznamu skladeb, ale značně urychluje jeho " "zpracování." #: src/audacious/glade/prefswin.glade:3937 @@ -480,7 +480,7 @@ msgstr "" "Je-li zatrhnuto, Audacious bude rozpoznávat formát souboru podle přípony. " "Tento způsob je o něco pomalejší než rozpoznávání na požádání, ale poskytuje " -"alespoň základní úrověň rozpoznání formátu. " +"alespoň základní úroveň rozpoznání formátu. " #: src/audacious/glade/prefswin.glade:3973 msgid "Detect file formats by extension." @@ -522,18 +522,30 @@ msgstr "s" #: src/audacious/glade/prefswin.glade:4249 -#, fuzzy msgid "Sampling Rate Converter" -msgstr "Vzorkovací kmitočet" +msgstr "Konvertor vzorkovacího kmitočtu" #: src/audacious/glade/prefswin.glade:4289 -#, fuzzy msgid "Enable Sampling Rate Converter" -msgstr "Vzorkovací kmitočet" +msgstr "Zapnout konvertor vzorkovacího kmitočtu" + +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" +"Nejlepší sinová interpolace\n" +"Střední sinová interpolace\n" +"Nejrychlejší sinová interpolace\n" +"ZOH interpolace\n" +"Lineární interpolace" #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" -msgstr "" +msgstr "Způsob interpolace:" #: src/audacious/glade/prefswin.glade:4389 msgid "" @@ -541,31 +553,34 @@ "This should be the max supported sampling rate of\n" "the sound card or output plugin." msgstr "" +"Všechny proudy budou převedeny na tento vzorkovací " +"kmitočet.\n" +"Ten by měl představovat maximální vzorkovací kmitočet zvukové karty " +"nebo výstupního modulu." #: src/audacious/glade/prefswin.glade:4461 -#, fuzzy msgid "Sampling Rate [Hz]:" -msgstr "Vzorkovací kmitočet" +msgstr "Vzorkovací kmitočet [Hz]:" #: src/audacious/glade/prefswin.glade:4517 -#, fuzzy msgid "Volume Control" -msgstr "Ovládání hlasitosti:" +msgstr "Ovládání hlasitosti" #: 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 "" +"Použije softwarové ovládání hlasitosti. Toto je užitečné, nepodporuje-li " +"váš zvukový systém změnu hlasitosti přehrávání." #: src/audacious/glade/prefswin.glade:4558 msgid "Use software volume control" msgstr "Hlasitost nastavit softwarově" #: src/audacious/glade/prefswin.glade:4746 -#, fuzzy msgid "Reload Plugins" -msgstr "Moduly" +msgstr "Znovu načíst moduly" #: src/audacious/glade/prefswin.glade:4807 msgid "Popup Information Settings" @@ -625,7 +640,7 @@ "Audacious allows you to alter the color balance of the skinned UI. The " "sliders below will allow you to do this." msgstr "" -"Audacious umožňuje změnit zabarvení oskinovaného uživatelského rozhraní " +"Audacious umožňuje změnit zabarvení vzhledu uživatelského rozhraní " "pomocí následujících jezdců." #: src/audacious/glade/prefswin.glade:5359 @@ -661,7 +676,7 @@ #: src/audacious/logger.c:125 #, c-format msgid "Unable to create log file (%s)!\n" -msgstr "Nepodařilo se vytvořit prokolovací soubor (%s)!\n" +msgstr "Nepodařilo se vytvořit protokolovací soubor (%s)!\n" #: src/audacious/main.c:90 src/audacious/main.c:92 src/audacious/ui_main.c:491 #: src/audacious/ui_main.c:2466 @@ -808,6 +823,18 @@ "report:\n" "\n" msgstr "" +"\n" +"Audacious zachytil signál č. 11 (SIGSEGV).\n" +"\n" +"Omlouváme se za potíže, ale Audacious zhavaroval.\n" +"Toto je chyba programu a za běžbých okolností by k ní nikdy nemělo dojít.\n" +"Vaše současná konfigurace byla uložena a neměla by být poškozena.\n" +"\n" +"I vy můžete pomoci zlepšit Audacious tím, že vyplníte chybové hlášení na " +"http://bugs-meta.atheme.org\n" +"Prosím, zahrňte celý text této hlášky a popis toho, co jste dělali, když\n" +"došlo k pádu. Pomůžete tím k rychlejšímu odbavení vašho chybového hlášení:\n" +"\n" #: src/audacious/signals.c:80 msgid "" @@ -815,12 +842,17 @@ "Bugs can be reported at http://bugs-meta.atheme.org against the Audacious " "product.\n" msgstr "" +"\n" +"Chyby mohou být hlášeny na http://bugs-meta.atheme.org pod položkou\n" +"„Audacious product“.\n" #: src/audacious/signals.c:266 msgid "" "Your signaling implementation is broken.\n" "Expect unusable crash reports.\n" msgstr "" +"Vaše implementace signálů je rozbitá.\n" +"Očekávejte nepoužitelné hlášení o pádu.\n" #: src/audacious/strings.c:170 msgid " (invalid UTF-8)" @@ -837,17 +869,17 @@ "\n" "Copyright © 2005–2007 vývojový tým Audacious" -#: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:357 +#: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:358 #: src/audacious/ui_manager.c:391 src/audacious/ui_manager.c:392 msgid "About Audacious" msgstr "O Audacious" -#: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:400 +#: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:401 msgid "Credits" msgstr "Zásluhy" #: src/audacious/ui_credits.c:47 -#, fuzzy, c-format +#, c-format msgid "" "Audacious %s\n" "A skinned multimedia player for many platforms.\n" @@ -855,7 +887,7 @@ "Copyright (C) 2005-2007 Audacious Development Team\n" msgstr "" "Audacious %s\n" -"Budoucnost multimédií v UNIXu\n" +"Přehrávač multimédií s měnitelným vzhledem a pro různé platformy\n" "\n" "Copyright © 2005–2007 vývojový tým Audacious\n" @@ -871,152 +903,151 @@ msgid "Default skin:" msgstr "Standardní skin:" -#: src/audacious/ui_credits.c:81 +#: src/audacious/ui_credits.c:82 msgid "Plugin development:" msgstr "Vývoj zásuvných modulů:" -#: src/audacious/ui_credits.c:97 +#: src/audacious/ui_credits.c:98 msgid "Patch authors:" msgstr "Autoři záplat:" -#: src/audacious/ui_credits.c:117 +#: src/audacious/ui_credits.c:118 msgid "0.1.x developers:" msgstr "Vývojáři v. 0.1.x:" -#: src/audacious/ui_credits.c:123 +#: src/audacious/ui_credits.c:124 msgid "BMP Developers:" msgstr "Vývojáři Audacious:" -#: src/audacious/ui_credits.c:155 +#: src/audacious/ui_credits.c:156 msgid "Brazilian Portuguese:" msgstr "Brazilská portugalština:" -#: src/audacious/ui_credits.c:159 +#: src/audacious/ui_credits.c:160 msgid "Breton:" msgstr "Bretonština:" -#: src/audacious/ui_credits.c:162 +#: src/audacious/ui_credits.c:163 msgid "Bulgarian:" msgstr "Bulharština:" -#: src/audacious/ui_credits.c:165 -#, fuzzy +#: src/audacious/ui_credits.c:166 msgid "Catalan:" -msgstr "Italština:" - -#: src/audacious/ui_credits.c:168 +msgstr "Katalánština:" + +#: src/audacious/ui_credits.c:169 msgid "Croatian:" msgstr "Chorvatština:" -#: src/audacious/ui_credits.c:171 +#: src/audacious/ui_credits.c:172 msgid "Czech:" msgstr "Čeština:" -#: src/audacious/ui_credits.c:174 +#: src/audacious/ui_credits.c:175 msgid "Dutch:" msgstr "Holandština:" -#: src/audacious/ui_credits.c:178 +#: src/audacious/ui_credits.c:179 msgid "Finnish:" msgstr "Finština:" -#: src/audacious/ui_credits.c:181 +#: src/audacious/ui_credits.c:182 msgid "French:" msgstr "Francouzština:" -#: src/audacious/ui_credits.c:185 +#: src/audacious/ui_credits.c:186 msgid "German:" msgstr "Němčina:" -#: src/audacious/ui_credits.c:190 +#: src/audacious/ui_credits.c:191 msgid "Georgian:" msgstr "Gruzínština:" -#: src/audacious/ui_credits.c:193 +#: src/audacious/ui_credits.c:194 msgid "Greek:" msgstr "Řečtina:" -#: src/audacious/ui_credits.c:198 +#: src/audacious/ui_credits.c:199 msgid "Hindi:" msgstr "Hindština:" -#: src/audacious/ui_credits.c:201 +#: src/audacious/ui_credits.c:202 msgid "Hungarian:" msgstr "Maďarština:" -#: src/audacious/ui_credits.c:204 +#: src/audacious/ui_credits.c:205 msgid "Italian:" msgstr "Italština:" -#: src/audacious/ui_credits.c:208 +#: src/audacious/ui_credits.c:209 msgid "Japanese:" msgstr "Japonština:" -#: src/audacious/ui_credits.c:211 +#: src/audacious/ui_credits.c:212 msgid "Korean:" msgstr "Korejština:" -#: src/audacious/ui_credits.c:214 +#: src/audacious/ui_credits.c:215 msgid "Lithuanian:" msgstr "Litevština:" -#: src/audacious/ui_credits.c:217 +#: src/audacious/ui_credits.c:218 msgid "Macedonian:" msgstr "Makedonština:" -#: src/audacious/ui_credits.c:220 +#: src/audacious/ui_credits.c:221 msgid "Polish:" msgstr "Polština:" -#: src/audacious/ui_credits.c:223 +#: src/audacious/ui_credits.c:224 msgid "Romanian:" msgstr "Rumunština:" -#: src/audacious/ui_credits.c:227 +#: src/audacious/ui_credits.c:228 msgid "Russian:" msgstr "Ruština:" -#: src/audacious/ui_credits.c:230 +#: src/audacious/ui_credits.c:231 msgid "Serbian (Latin):" msgstr "Srbština (latinka):" -#: src/audacious/ui_credits.c:233 +#: src/audacious/ui_credits.c:234 msgid "Serbian (Cyrillic):" msgstr "Srbština (cyrilice):" -#: src/audacious/ui_credits.c:236 +#: src/audacious/ui_credits.c:237 msgid "Simplified Chinese:" msgstr "Zjednodušená čínština:" -#: src/audacious/ui_credits.c:239 +#: src/audacious/ui_credits.c:240 msgid "Slovak:" msgstr "Slovenština:" -#: src/audacious/ui_credits.c:242 +#: src/audacious/ui_credits.c:243 msgid "Spanish:" msgstr "Španělština:" -#: src/audacious/ui_credits.c:245 +#: src/audacious/ui_credits.c:246 msgid "Swedish:" msgstr "Švédština:" -#: src/audacious/ui_credits.c:248 +#: src/audacious/ui_credits.c:249 msgid "Traditional Chinese:" msgstr "Tradiční čínština:" -#: src/audacious/ui_credits.c:251 +#: src/audacious/ui_credits.c:252 msgid "Turkish:" msgstr "Turečtina:" -#: src/audacious/ui_credits.c:255 +#: src/audacious/ui_credits.c:256 msgid "Ukrainian:" msgstr "Ukrajinština:" -#: src/audacious/ui_credits.c:258 +#: src/audacious/ui_credits.c:259 msgid "Welsh:" msgstr "Welština:" -#: src/audacious/ui_credits.c:404 +#: src/audacious/ui_credits.c:405 msgid "Translators" msgstr "Překladatelé" @@ -1111,9 +1142,8 @@ msgstr "_Filtr:" #: src/audacious/ui_jumptotrack.c:594 -#, fuzzy msgid "Close on Jump" -msgstr "Zavřít dialog při otevření" +msgstr "Zavřít při skoku" #: src/audacious/ui_main.c:489 #, c-format @@ -1147,17 +1177,15 @@ #: src/audacious/ui_main.c:1228 msgid "Audacious - visibility warning" -msgstr "" +msgstr "Audacious – viditelnost varování" #: src/audacious/ui_main.c:1230 -#, fuzzy msgid "Show main player window" -msgstr "Font v hlavním okně přehrávače:" +msgstr "Ukázat hlavní okno přehrávače:" #: src/audacious/ui_main.c:1231 -#, fuzzy msgid "Ignore" -msgstr "žádný" +msgstr "Ignorovat" #: src/audacious/ui_main.c:1235 msgid "" @@ -1166,73 +1194,70 @@ "otherwise, you'll have to control it remotely via audtool or enabled plugins " "(such as the statusicon plugin)." msgstr "" +"Audacious byl spuštěn se všemi okny skrytými.\n" +"Možná budete chtít kvůli ovládání okno přehrávače opět zobrazit. V opačném " +"případě budete muset přehrávač ovládat vzdáleně pomocí audtool nebo pomocí " +"zapnutého modulu (např. modulu statusicon [stavová ikona])." #: src/audacious/ui_main.c:1241 msgid "Always ignore, show/hide is controlled remotely" -msgstr "" +msgstr "Vždy ignorovat, ukázat/skrýt je ovládáno vzdáleně" #: src/audacious/ui_main.c:1259 msgid "Enter location to play:" msgstr "Zadejte adresu, z které se má hrát:" #: src/audacious/ui_main.c:1504 -#, fuzzy, c-format +#, c-format msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)" -msgstr "PŘEJÍT NA %d:%-2.2d/%d:%-2.2d (%d%%)" +msgstr "Přejít na: %d:%-2.2d/%d:%-2.2d (%d %%)" #: src/audacious/ui_main.c:1536 -#, fuzzy, c-format +#, c-format msgid "Volume: %d%%" -msgstr "Hlasitost" +msgstr "Hlasitost %d %%" #: src/audacious/ui_main.c:1566 #, c-format msgid "Balance: %d%% left" -msgstr "" +msgstr "Vyvážení: %d %% vlevo" #: src/audacious/ui_main.c:1570 msgid "Balance: center" -msgstr "" +msgstr "Vyvážení: střed" #: src/audacious/ui_main.c:1574 #, c-format msgid "Balance: %d%% right" -msgstr "" +msgstr "Vyvážení: %d %% vpravo" #: src/audacious/ui_main.c:1916 -#, fuzzy msgid "Options Menu" -msgstr "Nastavení" +msgstr "Nabídka s nastavením" #: src/audacious/ui_main.c:1920 -#, fuzzy msgid "Disable 'Always On Top'" -msgstr "Vždy na vrchu" +msgstr "Vypnout „Vždy na vrchu“" #: src/audacious/ui_main.c:1922 -#, fuzzy msgid "Enable 'Always On Top'" -msgstr "Vždy na vrchu" +msgstr "Zapnout „Vždy na vrchu“" #: src/audacious/ui_main.c:1925 -#, fuzzy msgid "File Info Box" msgstr "Informace o souboru" #: src/audacious/ui_main.c:1929 -#, fuzzy msgid "Disable 'Doublesize'" -msgstr "Dvojitá velikost" +msgstr "Vypnout „Dvojitou velikost“" #: src/audacious/ui_main.c:1931 -#, fuzzy msgid "Enable 'Doublesize'" -msgstr "Dvojitá velikost" +msgstr "Zapnout „Dvojitou velikost“" #: src/audacious/ui_main.c:1934 -#, fuzzy msgid "Visualization Menu" -msgstr "Typ znázornění" +msgstr "Nabídka s typem znázornění" #: src/audacious/ui_main.c:1982 msgid "" @@ -1485,7 +1510,7 @@ #: src/audacious/ui_manager.c:208 src/audacious/ui_manager.c:209 msgid "Select Next Playlist" -msgstr "Vybrat následujicí seznam skladeb" +msgstr "Vybrat následující seznam skladeb" #: src/audacious/ui_manager.c:211 src/audacious/ui_manager.c:212 msgid "Select Previous Playlist" @@ -1643,7 +1668,7 @@ #: src/audacious/ui_manager.c:293 msgid "Removes all entries from the playlist." -msgstr "Ze seznamu odstraní věechny skladby." +msgstr "Ze seznamu odstraní všechny skladby." #: src/audacious/ui_manager.c:296 msgid "Remove Unselected" @@ -1699,7 +1724,7 @@ #: src/audacious/ui_manager.c:329 src/audacious/ui_manager.c:359 msgid "Sorts the list by full pathname." -msgstr "Skladby v seznmu seřadí podle celé cesty." +msgstr "Skladby v seznamu seřadí podle celé cesty." #: src/audacious/ui_manager.c:332 src/audacious/ui_manager.c:362 msgid "By Date" @@ -1730,18 +1755,16 @@ msgstr "Seřadit vybrané" #: src/audacious/ui_manager.c:380 -#, fuzzy msgid "File" -msgstr "Oheň" +msgstr "Soubor" #: src/audacious/ui_manager.c:381 msgid "Help" msgstr "Nápověda" #: src/audacious/ui_manager.c:383 -#, fuzzy msgid "Plugin Services" -msgstr "Moduly" +msgstr "Služby modulu" #: src/audacious/ui_manager.c:385 src/audacious/ui_manager.c:388 msgid "View Track Details" @@ -1768,9 +1791,8 @@ msgstr "Přehrát média z vybrané adresy" #: src/audacious/ui_manager.c:400 -#, fuzzy msgid "Plugin services" -msgstr "Moduly" +msgstr "Služby modulu" #: src/audacious/ui_manager.c:402 msgid "Preferences" @@ -1860,7 +1882,7 @@ #: src/audacious/ui_manager.c:446 msgid "Set equalizer preset levels to zero" -msgstr "Vynulovat předovolby ekvalizéru" +msgstr "Vynulovat předvolby ekvalizéru" #: src/audacious/ui_manager.c:448 msgid "From file" @@ -1939,14 +1961,12 @@ "vyhledat." #: src/audacious/ui_playlist.c:493 -#, fuzzy msgid "Title: " -msgstr "Název:" +msgstr "Název: " #: src/audacious/ui_playlist.c:500 -#, fuzzy msgid "Album: " -msgstr "Album:" +msgstr "Album: " #: src/audacious/ui_playlist.c:507 msgid "Artist: " @@ -1990,13 +2010,12 @@ "Neznámý typ souboru %s.\n" #: src/audacious/ui_playlist.c:911 -#, fuzzy msgid "Save as Static Playlist" -msgstr "Uložit seznam skladeb" +msgstr "Uložit statický seznam skladeb" #: src/audacious/ui_playlist.c:918 msgid "Use Relative Path" -msgstr "" +msgstr "Použít relativní cesty" #: src/audacious/ui_playlist.c:940 msgid "Load Playlist" @@ -2047,9 +2066,8 @@ msgstr "Komentář" #: src/audacious/ui_preferences.c:133 -#, fuzzy msgid "Codec" -msgstr "Zavřít" +msgstr "Kodek" #: src/audacious/ui_preferences.c:134 msgid "Quality" @@ -2071,7 +2089,7 @@ msgid "Category" msgstr "Kategorie" -#: src/audacious/ui_preferences.c:1963 +#: src/audacious/ui_preferences.c:1931 msgid "Preferences Window" msgstr "Okno nastavení" @@ -2131,40 +2149,46 @@ msgid "Add/Open URL Dialog" msgstr "Dialog Přidat/otevřít URL" -#~ msgid "Show window manager decorations" -#~ msgstr "Zobrazovat dekorace podle správce oken" - -#, fuzzy -#~ msgid "Artist: %s" -#~ msgstr "Umělec" - -#, fuzzy -#~ msgid "Title: %s" -#~ msgstr "Název" - -#, fuzzy -#~ msgid "Album: %s" -#~ msgstr "Album" - -#, fuzzy -#~ msgid "Audacious last.fm radio tuner" -#~ msgstr "Zobrazit editor seznamu skladeb" - -#, fuzzy -#~ msgid "Station:" -#~ msgstr "Umístění:" - -#, fuzzy -#~ msgid "Artist:" -#~ msgstr "Umělec" - -#, fuzzy -#~ msgid "Title:" -#~ msgstr "Název" - -#, fuzzy -#~ msgid "Album:" -#~ msgstr "Album" +#~ msgid "" +#~ "Unable to play files.\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 "" +#~ "Soubory nelze přehrát\n" +#~ "\n" +#~ "Následující soubory nelze přehrát. Zkontrolujte zda:\n" +#~ "1. jsou přístupné,\n" +#~ "2. máte povolené příslušné moduly." + +#~ msgid "Don't show this warning anymore" +#~ msgstr "Příště již nevarovat" + +#~ msgid "Show more _details" +#~ msgstr "Ukaž podrobné _informace" + +#~ msgid "" +#~ "Sorry, your GTK+ version (%d.%d.%d) does not work with Audacious.\n" +#~ "Please use GTK+ %s or newer.\n" +#~ msgstr "" +#~ "Verze knihovny GTK+ (%d.%d.%d) není kompatibilní s Audacious.\n" +#~ "Použijte GTK+ %s nebo novější.\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" +#~ "Zachycen SIGSEGV\n" +#~ "\n" +#~ "Asi jste narazili na chybu v programu Audacious. Pokud netušíte proč, " +#~ "nahlaste chybu (anglicky) na http://bugs-meta.atheme.org/\n" +#~ "\n" #~ msgid "VOLUME: %d%%" #~ msgstr "Hlasitost: %d%%" @@ -2178,17 +2202,26 @@ #~ msgid "BALANCE: %d%% RIGHT" #~ msgstr "VYROVNÁNÍ: %d%% VPRAVO" -#, fuzzy -#~ msgid "Last.fm radio" -#~ msgstr "Hrát z adresy" - -#, fuzzy -#~ msgid "Play Last.fm radio" -#~ msgstr "Hrát z adresy" - -#, fuzzy -#~ msgid "Converter Type:" -#~ msgstr "Změnit znakovou sadu" +#~ msgid "OPTIONS MENU" +#~ msgstr "NASTAVENÍ" + +#~ msgid "DISABLE ALWAYS ON TOP" +#~ msgstr "ZAKÁZAT FCI „VŽDY NA VRCHU“" + +#~ msgid "ENABLE ALWAYS ON TOP" +#~ msgstr "POVOLIT FCI „VŽDY NA VRCHU“" + +#~ msgid "FILE INFO BOX" +#~ msgstr "INFORMACE O SOUBORU" + +#~ msgid "DISABLE DOUBLESIZE" +#~ msgstr "ZAKÁZAT DVOJITOU VELIKOST" + +#~ msgid "ENABLE DOUBLESIZE" +#~ msgstr "POVOLIT DVOJITOU VELIKOST" + +#~ msgid "VISUALIZATION MENU" +#~ msgstr "NASTAVENÍ ZOBRAZENÍ" #~ msgid "" #~ "No playable CD found.\n" @@ -2199,14 +2232,20 @@ #~ "\n" #~ "Není vloženo CD, nebo vložené CD není typu Audio CD.\n" +#~ msgid "Play CD" +#~ msgstr "Přehrát CD" + #~ msgid "Add CD..." #~ msgstr "Přidat CD…" #~ msgid "Adds a CD to the playlist." #~ msgstr "Přidá CD do seznamu skladeb" -#~ msgid "Play CD" -#~ msgstr "Přehrát CD" +#~ msgid "Track name: " +#~ msgstr "Název skladby: " + +#~ msgid "Album name: " +#~ msgstr "Název alba: " #~ msgid "Performer/Artist" #~ msgstr "Interpret/umělec" @@ -2229,73 +2268,8 @@ #~ msgid "%{n:...%}: Display \"...\" only if element %n is present" #~ msgstr "%{n:…%}: Zobraz „…“ pouze pokud %n nechybí" -#~ msgid "" -#~ "Sorry, your GTK+ version (%d.%d.%d) does not work with Audacious.\n" -#~ "Please use GTK+ %s or newer.\n" -#~ msgstr "" -#~ "Verze knihovny GTK+ (%d.%d.%d) není kompatibilní s Audacious.\n" -#~ "Použijte GTK+ %s nebo novější.\n" - -#~ msgid "OPTIONS MENU" -#~ msgstr "NASTAVENÍ" - -#~ msgid "DISABLE ALWAYS ON TOP" -#~ msgstr "ZAKÁZAT FCI „VŽDY NA VRCHU“" - -#~ msgid "ENABLE ALWAYS ON TOP" -#~ msgstr "POVOLIT FCI „VŽDY NA VRCHU“" - -#~ msgid "FILE INFO BOX" -#~ msgstr "INFORMACE O SOUBORU" - -#~ msgid "DISABLE DOUBLESIZE" -#~ msgstr "ZAKÁZAT DVOJITOU VELIKOST" - -#~ msgid "ENABLE DOUBLESIZE" -#~ msgstr "POVOLIT DVOJITOU VELIKOST" - -#~ msgid "VISUALIZATION MENU" -#~ msgstr "NASTAVENÍ ZOBRAZENÍ" - -#~ msgid "Track name: " -#~ msgstr "Název skladby: " - -#~ msgid "Album name: " -#~ msgstr "Název alba: " - -#~ msgid "" -#~ "Unable to play files.\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 "" -#~ "Soubory nelze přehrát\n" -#~ "\n" -#~ "Následující soubory nelze přehrát. Zkontrolujte zda:\n" -#~ "1. jsou přístupné,\n" -#~ "2. máte povolené příslušné moduly." - -#~ msgid "Don't show this warning anymore" -#~ msgstr "Příště již nevarovat" - -#~ msgid "Show more _details" -#~ msgstr "Ukaž podrobné _informace" - -#~ 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" -#~ "Zachycen SIGSEGV\n" -#~ "\n" -#~ "Asi jste narazili na chybu v programu Audacious. Pokud netušíte proč, " -#~ "nahlaste chybu (anglicky) na http://bugs-meta.atheme.org/\n" -#~ "\n" +#~ msgid "Show window manager decorations" +#~ msgstr "Zobrazovat dekorace podle správce oken" #~ msgid "Chinese:" #~ msgstr "Čínský:" @@ -2533,6 +2507,15 @@ #~ msgid "Artist Popup" #~ msgstr "Vyskakovací okno o umělci" +#~ msgid "Title" +#~ msgstr "Název" + +#~ msgid "Artist" +#~ msgstr "Umělec" + +#~ msgid "Album" +#~ msgstr "Album" + #~ msgid "Genre" #~ msgstr "Žánr" @@ -3025,6 +3008,9 @@ #~ msgid "Tag Handling" #~ msgstr "Zpracování tagů" +#~ msgid "Convert Character Set" +#~ msgstr "Změnit znakovou sadu" + #~ msgid "Convert character set from :" #~ msgstr "Změnit znakovou sadu z :" @@ -3918,6 +3904,9 @@ #~ msgid "Description:" #~ msgstr "Popis:" +#~ msgid "Location:" +#~ msgstr "Umístění:" + #~ msgid "Version:" #~ msgstr "Verze:" diff -r 4f6c614aee5d -r de76dbec8e1e po/cy.po --- a/po/cy.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/cy.po Fri Nov 16 05:36:42 2007 +0200 @@ -513,6 +513,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Galluogi Dychweliad Graddfa Samplo" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/de.po --- a/po/de.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/de.po Fri Nov 16 05:36:42 2007 +0200 @@ -4,7 +4,7 @@ "Project-Id-Version: de\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-10-13 14:27+0100\n" +"PO-Revision-Date: 2007-10-27 13:29+0100\n" "Last-Translator: Michael Färber <0102@gmx.at>\n" "Language-Team: german \n" "MIME-Version: 1.0\n" @@ -21,8 +21,7 @@ msgstr "" "Konnte %s nicht erstellen.\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" @@ -96,7 +95,8 @@ msgid "Effects" msgstr "Effekte" -#: 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,12 +129,8 @@ 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" @@ -165,33 +161,23 @@ 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" @@ -215,7 +201,8 @@ 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" @@ -249,9 +236,7 @@ #: 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" @@ -270,16 +255,8 @@ 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:" @@ -290,12 +267,8 @@ msgstr "Datei-Dialog" #: 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" @@ -340,15 +313,8 @@ msgstr "Popup-Information" #: 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" @@ -358,8 +324,10 @@ 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" @@ -379,7 +347,8 @@ 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" @@ -412,12 +381,8 @@ msgstr "Benutzername für Proxy:" #: src/audacious/glade/prefswin.glade:3354 -msgid "" -"Changing these settings will require a restart of " -"Audacious." -msgstr "" -"Das Ändern dieser Einstellungen benötigt einen Neustart " -"von Audacious." +msgid "Changing these settings will require a restart of Audacious." +msgstr "Das Ändern dieser Einstellungen benötigt einen Neustart von Audacious." #: src/audacious/glade/prefswin.glade:3493 msgid "Audio System" @@ -429,16 +394,12 @@ #: src/audacious/glade/prefswin.glade:3593 msgid "" -"This is the amount of time to prebuffer audio streams " -"by, in milliseconds.\n" +"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." +"Please note however, that high values will result in Audacious performing poorly." msgstr "" -"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" +"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." #: src/audacious/glade/prefswin.glade:3663 @@ -458,27 +419,16 @@ msgstr "Formaterkennung" #: 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." @@ -489,11 +439,8 @@ msgstr "Wiedergabe" #: 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" @@ -501,9 +448,7 @@ #: 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" @@ -529,6 +474,20 @@ msgid "Enable Sampling Rate Converter" msgstr "Aktiviere Abtastfrequenz-Umwandler" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" +"Beste Sinc-Interpolation\n" +"Mittlere Sinc-Interpolation\n" +"Schnellste Sinc-Interpolation\n" +"ZOH-Interpolation\n" +"Lineare Interpolation" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "Interpolations-Engine:" @@ -539,8 +498,7 @@ "This should be the max supported sampling rate of\n" "the sound card or output plugin." msgstr "" -"Alle Streams werden in diese Abtastfrequenz " -"umgewandelt.\n" +"Alle Streams werden in diese Abtastfrequenz umgewandelt.\n" "Sie sollte die maximal unterstützte Abtastfrequenz der\n" "Soundkarte oder des Ausgabe-Plugins sein." @@ -553,13 +511,8 @@ msgstr "Lautstärkeregelung" #: 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" @@ -578,14 +531,8 @@ msgstr "Cover-Bild finden" #: 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:" @@ -624,12 +571,8 @@ 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" @@ -666,7 +609,9 @@ 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" @@ -756,27 +701,22 @@ msgid "" "Unable to load skin.\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 "" "Konnte Skin nicht laden.\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" @@ -810,16 +750,12 @@ "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" @@ -840,8 +776,7 @@ #: 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" @@ -869,12 +804,15 @@ "\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" @@ -1063,24 +1001,29 @@ 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" @@ -1092,7 +1035,8 @@ 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" @@ -1125,7 +1069,8 @@ 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" @@ -1154,15 +1099,18 @@ 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" @@ -1190,14 +1138,10 @@ #: 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" @@ -1279,68 +1223,84 @@ 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" @@ -1360,12 +1320,14 @@ 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" @@ -1417,23 +1379,28 @@ 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" @@ -1449,23 +1416,28 @@ 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" @@ -1505,19 +1477,23 @@ 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" @@ -1588,12 +1564,8 @@ 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" @@ -1639,7 +1611,8 @@ 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" @@ -1648,26 +1621,25 @@ 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" @@ -1714,47 +1686,58 @@ 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" @@ -1774,11 +1757,13 @@ 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" @@ -1819,19 +1804,23 @@ 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" @@ -1859,7 +1848,8 @@ 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" @@ -1868,7 +1858,8 @@ 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" @@ -1877,7 +1868,8 @@ 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" @@ -1958,17 +1950,8 @@ 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: " @@ -2159,3 +2142,4 @@ #: src/audacious/ui_urlopener.c:88 msgid "Add/Open URL Dialog" msgstr "«URL hinzufügen/öffnen»-Fenster" + diff -r 4f6c614aee5d -r de76dbec8e1e po/el.po --- a/po/el.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/el.po Fri Nov 16 05:36:42 2007 +0200 @@ -538,6 +538,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Ρυθμός δειγματοληψίας" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/es.po --- a/po/es.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/es.po Fri Nov 16 05:36:42 2007 +0200 @@ -551,6 +551,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Tasa de muestreo" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/fi.po --- a/po/fi.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/fi.po Fri Nov 16 05:36:42 2007 +0200 @@ -529,6 +529,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Näytetaajuus:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/fr.po --- a/po/fr.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/fr.po Fri Nov 16 05:36:42 2007 +0200 @@ -10,7 +10,7 @@ "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-10-17 03:45+0100\n" +"PO-Revision-Date: 2007-10-27 10:18+0100\n" "Last-Translator: Stany Henry \n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -1120,7 +1120,7 @@ #: src/audacious/ui_main.c:1228 msgid "Audacious - visibility warning" -msgstr "Audacious - avertissement quant à la visibilité" +msgstr "Audacious - avertissement" #: src/audacious/ui_main.c:1230 msgid "Show main player window" @@ -1136,14 +1136,16 @@ "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 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)." +"\n" +"Peut-être voulez-vous voir à nouveau la fenêtre principale, afin de pouvoir contrôler Audacious.\n" +"Dans le cas contraire, vous devrez utiliser les commandes distantes, par l'intermédiaire de 'audtool' ou des extensions activées (le module 'statusicon', par exemple).\n" +" " #: src/audacious/ui_main.c:1241 msgid "Always ignore, show/hide is controlled remotely" -msgstr "Toujours ignorer : la fonction 'montrer'/'cacher' est contrôlée de manière distante." +msgstr "" +"Toujours ignorer : la fonction 'montrer/cacher'\n" +"est contrôlée de manière distante." #: src/audacious/ui_main.c:1259 msgid "Enter location to play:" @@ -2071,6 +2073,7 @@ msgid "Description" msgstr "Description" +#: src/audacious/ui_preferences.c:1395 msgid "Category" msgstr "Catégorie" @@ -2133,4 +2136,3 @@ #: src/audacious/ui_urlopener.c:88 msgid "Add/Open URL Dialog" msgstr "Ouvrir/Ajouter un flux" - diff -r 4f6c614aee5d -r de76dbec8e1e po/hi.po --- a/po/hi.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/hi.po Fri Nov 16 05:36:42 2007 +0200 @@ -531,6 +531,15 @@ msgid "Enable Sampling Rate Converter" msgstr "सैम्पल की दर:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/hr.po --- a/po/hr.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/hr.po Fri Nov 16 05:36:42 2007 +0200 @@ -532,6 +532,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/hu.po --- a/po/hu.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/hu.po Fri Nov 16 05:36:42 2007 +0200 @@ -530,6 +530,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/it.po --- a/po/it.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/it.po Fri Nov 16 05:36:42 2007 +0200 @@ -541,6 +541,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/ja.po --- a/po/ja.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ja.po Fri Nov 16 05:36:42 2007 +0200 @@ -533,6 +533,15 @@ msgid "Enable Sampling Rate Converter" msgstr "サンプリングレートコンバータを有効にする" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "インターポレーションエンジン:" diff -r 4f6c614aee5d -r de76dbec8e1e po/ka.po --- a/po/ka.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ka.po Fri Nov 16 05:36:42 2007 +0200 @@ -529,6 +529,15 @@ msgid "Enable Sampling Rate Converter" msgstr "სემპლირების სიხშირე:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/ko.po --- a/po/ko.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ko.po Fri Nov 16 05:36:42 2007 +0200 @@ -528,6 +528,15 @@ msgid "Enable Sampling Rate Converter" msgstr "샘플링율:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/lt.po --- a/po/lt.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/lt.po Fri Nov 16 05:36:42 2007 +0200 @@ -527,6 +527,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Semplų dažnis:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/mk.po --- a/po/mk.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/mk.po Fri Nov 16 05:36:42 2007 +0200 @@ -533,6 +533,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/nl.po --- a/po/nl.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/nl.po Fri Nov 16 05:36:42 2007 +0200 @@ -538,6 +538,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/pl.po --- a/po/pl.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/pl.po Fri Nov 16 05:36:42 2007 +0200 @@ -539,6 +539,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Włącz konwersję częstotliwości próbkowania" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/pt_BR.po --- a/po/pt_BR.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/pt_BR.po Fri Nov 16 05:36:42 2007 +0200 @@ -524,6 +524,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Ativar Conversor de Taxa de Amostragem" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "Motor de interpolação:" diff -r 4f6c614aee5d -r de76dbec8e1e po/ro.po --- a/po/ro.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ro.po Fri Nov 16 05:36:42 2007 +0200 @@ -528,6 +528,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Activează conversia ratei de eșantionare" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/ru.po --- a/po/ru.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/ru.po Fri Nov 16 05:36:42 2007 +0200 @@ -1,22 +1,26 @@ # Russian translation for Audacious. # Copyright (C) 2006,2007 Alexander Orlov # This file is distributed under the same license as the Audacious package. -# Alexander Orlov , 2007. # # За основу взят перевод Виталия Липатова для BMP. # Улучшения перевода приветствуются :) # +# Alexander Orlov , 2007. +# Vitaly Lipatov , 2007. +# msgid "" msgstr "" -"Project-Id-Version: audacious 1.3\n" +"Project-Id-Version: audacious 1.4\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-04-12 21:52+0300\n" -"Last-Translator: Alexander Orlov \n" +"PO-Revision-Date: 2007-11-02 02:05+0300\n" +"Last-Translator: Vitaly Lipatov \n" "Language-Team: none\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: src/audacious/glade.c:45 #, c-format @@ -47,7 +51,7 @@ #: src/audacious/glade/fileinfo.glade:255 msgid "Comment" -msgstr "Коментарии" +msgstr "Комментарии" #: src/audacious/glade/fileinfo.glade:313 msgid "Genre" @@ -130,9 +134,8 @@ msgstr "Выбор шрифта для главного окна" #: src/audacious/glade/prefswin.glade:1072 -#, fuzzy msgid "Select playlist font:" -msgstr "Выбор шрифта для главного окна" +msgstr "Выбор шрифта для списка воспроизведения" #: src/audacious/glade/prefswin.glade:1112 msgid "" @@ -189,10 +192,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" @@ -306,7 +311,7 @@ #: src/audacious/glade/prefswin.glade:2191 msgid "Always refresh directory when opening file dialog" -msgstr "Всевгда обновлять каталог при открытии окна выбора файлов" +msgstr "Всегда обновлять каталог при открытии окна выбора файлов" #: src/audacious/glade/prefswin.glade:2225 msgid "Song Display" @@ -434,7 +439,6 @@ msgstr "Размер буфера:" #: src/audacious/glade/prefswin.glade:3593 -#, fuzzy msgid "" "This is the amount of time to prebuffer audio streams " "by, in milliseconds.\n" @@ -445,7 +449,7 @@ "Это время предварительной буферизации звуковых потоков, " "в миллисекундах.\n" "Увеличьте это значение, если при проигрывании звук прерывается. \n" -"Учтите, что при слишком больших значениях Audacious будет работать медленно." +"Учтите, что при слишком больших значениях Audacious будет работать замедленно." "" #: src/audacious/glade/prefswin.glade:3663 @@ -531,15 +535,24 @@ #: src/audacious/glade/prefswin.glade:4249 msgid "Sampling Rate Converter" -msgstr "" +msgstr "Преобразование частоты дискретизации" #: src/audacious/glade/prefswin.glade:4289 msgid "Enable Sampling Rate Converter" +msgstr "Включить преобразование частоты дискретизации" + +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" msgstr "" #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" -msgstr "" +msgstr "Алгоритм интерполяции:" #: src/audacious/glade/prefswin.glade:4389 msgid "" @@ -547,30 +560,34 @@ "This should be the max supported sampling rate of\n" "the sound card or output plugin." msgstr "" +"Все потоки будут преобразованы к этой частоте\n" +"дискретизации, которая должна быть максимальной поддерживаемой\n" +"частотой звуковой карты или выходного модуля." #: src/audacious/glade/prefswin.glade:4461 msgid "Sampling Rate [Hz]:" -msgstr "" +msgstr "Частота дискретизации [Гц]:" #: src/audacious/glade/prefswin.glade:4517 -#, fuzzy msgid "Volume Control" -msgstr "Колесо мыши" +msgstr "Регулировка громкости" #: 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 -#, fuzzy msgid "Reload Plugins" -msgstr "Модули" +msgstr "Перезагрузить модули" #: src/audacious/glade/prefswin.glade:4807 msgid "Popup Information Settings" @@ -684,7 +701,7 @@ #: src/audacious/main.c:1066 msgid "Skip backwards in playlist" -msgstr "Перейти к предыдущей песне в списке песен" +msgstr "Перейти к предыдущей песне в списке воспроизведения" #: src/audacious/main.c:1067 msgid "Start playing current playlist" @@ -732,7 +749,7 @@ #: src/audacious/main.c:1078 msgid "Print all errors and warnings to stdout" -msgstr "Выводить все ошибки и предупреждения стандартный вывод" +msgstr "Выводить все ошибки и предупреждения в стандартный вывод" #: src/audacious/main.c:1079 msgid "Show version and builtin features" @@ -813,6 +830,19 @@ "report:\n" "\n" msgstr "" +"\n" +"Audacious получил сигнал 11 (SIGSEGV).\n" +"\n" +"Мы приносим извинения за неудобство, но Audacious аварийно завершает работу.\n" +"Это ошибка программы, и такого не должно происходить в нормальных условиях.\n" +"Текущие параметры будут сохранены и не должны быть повреждены.\n" +"\n" +"Вы можете помочь улучшить качество Audacious заполнением отчёта о проблеме на http://bugs-" +"meta.atheme.org\n" +"Приведите там весь текст следующего сообщения и опишите что именно вы делали\n" +"когда произошла данная авария.\n" +"Это поможет быстро обработать ваш отчёт и понять в чём проблема:\n" +"\n" #: src/audacious/signals.c:80 msgid "" @@ -820,12 +850,16 @@ "Bugs can be reported at http://bugs-meta.atheme.org against the Audacious " "product.\n" msgstr "" +"\n" +"Об ошибках в Audacious можно сообщить на http://bugs-meta.atheme.org .\n" #: src/audacious/signals.c:266 msgid "" "Your signaling implementation is broken.\n" "Expect unusable crash reports.\n" msgstr "" +"Реализация системы сигналов некорректна.\n" +"Возможны бесполезные сообщения о падении программы.\n" #: src/audacious/strings.c:170 msgid " (invalid UTF-8)" @@ -852,7 +886,7 @@ msgstr "Авторы" #: src/audacious/ui_credits.c:47 -#, fuzzy, c-format +#, c-format msgid "" "Audacious %s\n" "A skinned multimedia player for many platforms.\n" @@ -860,7 +894,7 @@ "Copyright (C) 2005-2007 Audacious Development Team\n" msgstr "" "Audacious %s\n" -"Мультимедийный проигрыватель будущего для UNIX.\n" +"Многофункциональный мультимедийный проигрыватель для различных платформ.\n" "\n" "Copyright (C) 2005-2007 Команда разработчиков Audacious\n" @@ -905,9 +939,8 @@ msgstr "Болгарский:" #: src/audacious/ui_credits.c:165 -#, fuzzy msgid "Catalan:" -msgstr "Итальянский:" +msgstr "Каталанский:" #: src/audacious/ui_credits.c:168 msgid "Croatian:" @@ -1116,9 +1149,8 @@ msgstr "_Фильтр:" #: src/audacious/ui_jumptotrack.c:594 -#, fuzzy msgid "Close on Jump" -msgstr "Закрыть окно при Открытии" +msgstr "Закрыть после" #: src/audacious/ui_main.c:489 #, c-format @@ -1152,16 +1184,15 @@ #: src/audacious/ui_main.c:1228 msgid "Audacious - visibility warning" -msgstr "" +msgstr "Audacious - предупреждение видимости" #: src/audacious/ui_main.c:1230 -#, fuzzy msgid "Show main player window" -msgstr "Выбор шрифта для главного окна" +msgstr "Показывать главное окно проигрывателя" #: src/audacious/ui_main.c:1231 msgid "Ignore" -msgstr "" +msgstr "Игнорировать" #: src/audacious/ui_main.c:1235 msgid "" @@ -1170,71 +1201,70 @@ "otherwise, you'll have to control it remotely via audtool or enabled plugins " "(such as the statusicon plugin)." msgstr "" +"Audacious был запущен, но все окна спрятаны.\n" +"Для управления Audacious вам возможно потребуется показать окно " +"проигрывателя вновь; в противном случае вы можете управлять " +"им удалённо через audtool или дополнительный модуль (такой как statusicon). " #: src/audacious/ui_main.c:1241 msgid "Always ignore, show/hide is controlled remotely" -msgstr "" +msgstr "Всегда игнорировать, показывать/прятать управляется удалённо" #: src/audacious/ui_main.c:1259 msgid "Enter location to play:" msgstr "Введите адрес для воспроизведения:" #: src/audacious/ui_main.c:1504 -#, fuzzy, c-format +#, c-format msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)" -msgstr "ПЕРЕМЕЩЕНИЕ: %d:%-2.2d/%d:%-2.2d (%d%%)" +msgstr "Перемещение: %d:%-2.2d/%d:%-2.2d (%d%%)" #: src/audacious/ui_main.c:1536 #, c-format msgid "Volume: %d%%" -msgstr "" +msgstr "Громкость: %d%%" #: src/audacious/ui_main.c:1566 #, c-format msgid "Balance: %d%% left" -msgstr "" +msgstr "Баланс: %d%% влево" #: src/audacious/ui_main.c:1570 msgid "Balance: center" -msgstr "" +msgstr "Баланс: центр" #: src/audacious/ui_main.c:1574 #, c-format msgid "Balance: %d%% right" -msgstr "" +msgstr "Баланс: %d%% вправо" #: src/audacious/ui_main.c:1916 msgid "Options Menu" -msgstr "" +msgstr "Меню параметров" #: src/audacious/ui_main.c:1920 -#, fuzzy msgid "Disable 'Always On Top'" -msgstr "Поднять на передний план" +msgstr "Выключить \"Всегда на переднем плане\"" #: src/audacious/ui_main.c:1922 -#, fuzzy msgid "Enable 'Always On Top'" -msgstr "Поднять на передний план" +msgstr "Включить \"Всегда на переднем плане\"" #: src/audacious/ui_main.c:1925 msgid "File Info Box" -msgstr "" +msgstr "Окно информации о файле" #: src/audacious/ui_main.c:1929 -#, fuzzy msgid "Disable 'Doublesize'" -msgstr "Двойной размер" +msgstr "Выключить \"Двойной размер\"" #: src/audacious/ui_main.c:1931 -#, fuzzy msgid "Enable 'Doublesize'" -msgstr "Двойной размер" +msgstr "Включить \"Двойной размер\"" #: src/audacious/ui_main.c:1934 -#, fuzzy msgid "Visualization Menu" -msgstr "Режим визуализации" +msgstr "Меню визуализации" #: src/audacious/ui_main.c:1982 msgid "" @@ -1427,7 +1457,7 @@ #: src/audacious/ui_manager.c:172 src/audacious/ui_manager.c:173 msgid "Play" -msgstr "Воспроизведение" +msgstr "Воспроизвести" #: src/audacious/ui_manager.c:175 src/audacious/ui_manager.c:176 msgid "Pause" @@ -1733,18 +1763,16 @@ msgstr "Сортировать выбранные" #: src/audacious/ui_manager.c:380 -#, fuzzy msgid "File" -msgstr "Пламя" +msgstr "Файл" #: src/audacious/ui_manager.c:381 msgid "Help" -msgstr "" +msgstr "Справка" #: src/audacious/ui_manager.c:383 -#, fuzzy msgid "Plugin Services" -msgstr "Модули" +msgstr "Вспомогательные модули" #: src/audacious/ui_manager.c:385 src/audacious/ui_manager.c:388 msgid "View Track Details" @@ -1771,9 +1799,8 @@ msgstr "Воспроизвести запись с указанного адреса" #: src/audacious/ui_manager.c:400 -#, fuzzy msgid "Plugin services" -msgstr "Модули" +msgstr "Вспомогательные модули" #: src/audacious/ui_manager.c:402 msgid "Preferences" @@ -1793,7 +1820,7 @@ #: src/audacious/ui_manager.c:408 src/audacious/ui_manager.c:409 msgid "Set A-B" -msgstr "Поставить метку A-B" +msgstr "Поставить метки A-B" #: src/audacious/ui_manager.c:411 src/audacious/ui_manager.c:412 msgid "Clear A-B" @@ -1942,14 +1969,12 @@ "часть того, что вы ищете." #: src/audacious/ui_playlist.c:493 -#, fuzzy msgid "Title: " -msgstr "Название" +msgstr "Название: " #: src/audacious/ui_playlist.c:500 -#, fuzzy msgid "Album: " -msgstr "Альбом" +msgstr "Альбом: " #: src/audacious/ui_playlist.c:507 msgid "Artist: " @@ -1993,13 +2018,12 @@ "Неизвестный формат файла '%s'.\n" #: src/audacious/ui_playlist.c:911 -#, fuzzy msgid "Save as Static Playlist" -msgstr "Сохранение списка воспроизведения" +msgstr "Сохранить статический список воспроизведения" #: src/audacious/ui_playlist.c:918 msgid "Use Relative Path" -msgstr "" +msgstr "Использовать относительный путь" #: src/audacious/ui_playlist.c:940 msgid "Load Playlist" @@ -2051,12 +2075,11 @@ #: src/audacious/ui_preferences.c:133 msgid "Codec" -msgstr "" +msgstr "Кодек" #: src/audacious/ui_preferences.c:134 -#, fuzzy msgid "Quality" -msgstr "_Выход" +msgstr "Качество" #: src/audacious/ui_preferences.c:155 msgid "localhost" @@ -2133,178 +2156,3 @@ #: src/audacious/ui_urlopener.c:88 msgid "Add/Open URL Dialog" msgstr "Добавить/Открыть URL" - -#~ msgid "Show window manager decorations" -#~ msgstr "Показывать заголовки менеджера окон" - -#, fuzzy -#~ msgid "Artist: %s" -#~ msgstr "Предустановки" - -#, fuzzy -#~ msgid "Title: %s" -#~ msgstr "Название файла" - -#, fuzzy -#~ msgid "Album: %s" -#~ msgstr "Альбом" - -#, fuzzy -#~ msgid "Audacious last.fm radio tuner" -#~ msgstr "Список воспроизведения Audacious" - -#, fuzzy -#~ msgid "Station:" -#~ msgstr "Итальянский:" - -#, fuzzy -#~ msgid "Artist:" -#~ msgstr "Предустановки" - -#, fuzzy -#~ msgid "Title:" -#~ msgstr "Название файла" - -#, fuzzy -#~ msgid "Album:" -#~ msgstr "Название файла" - -#~ msgid "VOLUME: %d%%" -#~ msgstr "ГРОМКОСТЬ: %d%%" - -#~ msgid "BALANCE: %d%% LEFT" -#~ msgstr "БАЛАНС: %d%% ВЛЕВО" - -#~ msgid "BALANCE: CENTER" -#~ msgstr "БАЛАНС: ЦЕНТР" - -#~ msgid "BALANCE: %d%% RIGHT" -#~ msgstr "БАЛАНС: %d%% ВПРАВО" - -#, fuzzy -#~ msgid "Last.fm radio" -#~ msgstr "Открыть адрес" - -#, fuzzy -#~ msgid "Play Last.fm radio" -#~ msgstr "Открыть адрес" - -#~ msgid "" -#~ "No playable CD found.\n" -#~ "\n" -#~ "No CD inserted, or inserted CD is not an audio CD.\n" -#~ msgstr "" -#~ "Не найдено воспроизводимого CD.\n" -#~ "\n" -#~ "Компакт-диск отсутствует или не содержит аудио-дорожек.\n" - -#~ msgid "Add CD..." -#~ msgstr "Добавить CD..." - -#~ msgid "Adds a CD to the playlist." -#~ msgstr "Добавляет записи с компакт-диска в список воспроизведения." - -#~ msgid "Play CD" -#~ msgstr "Воспроизвести CD" - -#~ msgid "Performer/Artist" -#~ msgstr "Исполнитель" - -#~ msgid "File name" -#~ msgstr "Имя файла" - -#~ msgid "File path" -#~ msgstr "Путь к файлу" - -#~ msgid "File extension" -#~ msgstr "Расширение файла" - -#~ msgid "Track name" -#~ msgstr "Название" - -#~ msgid "Track number" -#~ msgstr "Номер дорожки" - -#~ msgid "%{n:...%}: Display \"...\" only if element %n is present" -#~ msgstr "%{n:...%}: Отображать \"...\", когда элемент %n присутствует" - -#~ msgid "" -#~ "Sorry, your GTK+ version (%d.%d.%d) does not work with Audacious.\n" -#~ "Please use GTK+ %s or newer.\n" -#~ msgstr "" -#~ "Простите, ваша версия GTK+ (%d.%d.%d) не будет работать с Audacious.\n" -#~ "Пожалуйста, используйте GTK+ %s или новее.\n" - -#~ msgid "OPTIONS MENU" -#~ msgstr "МЕНЮ НАСТРОЕК" - -#~ msgid "DISABLE ALWAYS ON TOP" -#~ msgstr "ОТКЛЮЧИТЬ ВСЕГДА НАВЕРХУ" - -#~ msgid "ENABLE ALWAYS ON TOP" -#~ msgstr "ВКЛЮЧИТЬ ВСЕГДА НАВЕРХУ" - -#~ msgid "FILE INFO BOX" -#~ msgstr "ОКНО ИНФОРМАЦИИ О ФАЙЛЕ" - -#~ msgid "DISABLE DOUBLESIZE" -#~ msgstr "ОТКЛЮЧИТЬ ДВОЙНОЙ РАЗМЕР" - -#~ msgid "ENABLE DOUBLESIZE" -#~ msgstr "ВКЛЮЧИТЬ ДВОЙНОЙ РАЗМЕР" - -#~ msgid "VISUALIZATION MENU" -#~ msgstr "МЕНЮ ВИЗУАЛИЗАЦИИ" - -#~ msgid "Track name: " -#~ msgstr "Название: " - -#~ msgid "Album name: " -#~ msgstr "Альбом: " - -#~ msgid "" -#~ "Unable to play files.\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 "" -#~ "Невозможно воспроизвести файлы.\n" -#~ "\n" -#~ "Некоторые файлы не могут быть воспроизведены. Пожалуйста, проверьте " -#~ "следующее:\n" -#~ "1. Доступность этих файлов.\n" -#~ "2. Включены необходимые аудио-модули." - -#~ msgid "Don't show this warning anymore" -#~ msgstr "Больше не показывать это предупреждение" - -#~ msgid "Show more _details" -#~ msgstr "_Подробнее" - -#~ 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\n" -#~ "\n" -#~ "Возможно это ошибка в Audacious. Если вы не знаете, почему это произошло, " -#~ "то напишите сообщение об ошибке на http://bugs-meta.atheme.org/\n" -#~ "\n" - -#~ msgid "" -#~ "Enables playlist transparency. This is not recommended for slower " -#~ "machines as it requires some CPU time to create and cache the pixmaps " -#~ "used for the transparency." -#~ msgstr "" -#~ "Включает прозрачность списка воспроизведения. Не рекомендуется для " -#~ "медленных машин потому что это требует дополнительное процессорное время " -#~ "для создания и кэширования изображений необходимых для прозрачности." - -#~ msgid "Enable playlist transparency" -#~ msgstr "Прозрачный список воспроизведения" diff -r 4f6c614aee5d -r de76dbec8e1e po/sk.po --- a/po/sk.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/sk.po Fri Nov 16 05:36:42 2007 +0200 @@ -530,6 +530,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/sr.po --- a/po/sr.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/sr.po Fri Nov 16 05:36:42 2007 +0200 @@ -525,6 +525,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Укључи претварач учесталости одабирања узорака" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/sr@Latn.po --- a/po/sr@Latn.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/sr@Latn.po Fri Nov 16 05:36:42 2007 +0200 @@ -526,6 +526,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Uključi pretvarač učestalosti odabiranja uzoraka" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/sv.po --- a/po/sv.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/sv.po Fri Nov 16 05:36:42 2007 +0200 @@ -545,6 +545,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Uppsamlingstakt:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/tr.po --- a/po/tr.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/tr.po Fri Nov 16 05:36:42 2007 +0200 @@ -530,6 +530,15 @@ msgid "Enable Sampling Rate Converter" msgstr "" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e po/uk.po --- a/po/uk.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/uk.po Fri Nov 16 05:36:42 2007 +0200 @@ -531,6 +531,15 @@ msgid "Enable Sampling Rate Converter" msgstr "Частота:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 #, fuzzy msgid "Interpolation Engine:" diff -r 4f6c614aee5d -r de76dbec8e1e po/zh_CN.po --- a/po/zh_CN.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/zh_CN.po Fri Nov 16 05:36:42 2007 +0200 @@ -2,7 +2,7 @@ msgstr "" "Project-Id-Version: Audacious\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-10-13 14:15+0200\n" +"POT-Creation-Date: 2007-09-05 19:18+0200\n" "PO-Revision-Date: 2007-04-18 20:00+0700\n" "Last-Translator: Yang Zhang \n" "Language-Team: Chinese/Simplified\n" @@ -93,191 +93,187 @@ msgid "Effects" msgstr "效果" -#: src/audacious/glade/prefswin.glade:693 src/audacious/ui_preferences.c:117 +#: src/audacious/glade/prefswin.glade:693 src/audacious/ui_manager.c:403 +#: src/audacious/ui_preferences.c:116 msgid "Plugins" msgstr "插件" -#: src/audacious/glade/prefswin.glade:758 +#: src/audacious/glade/prefswin.glade:746 msgid "_Skin" msgstr "皮肤(_S)" -#: src/audacious/glade/prefswin.glade:811 +#: src/audacious/glade/prefswin.glade:799 msgid "Refresh skin list" msgstr "刷新皮肤列表" -#: src/audacious/glade/prefswin.glade:926 +#: src/audacious/glade/prefswin.glade:893 msgid "_Fonts" msgstr "字体(_F)" -#: src/audacious/glade/prefswin.glade:975 +#: src/audacious/glade/prefswin.glade:948 msgid "_Player:" msgstr "播放器(_P):" -#: src/audacious/glade/prefswin.glade:1018 +#: src/audacious/glade/prefswin.glade:991 msgid "_Playlist:" msgstr "播放列表(_P):" -#: src/audacious/glade/prefswin.glade:1050 +#: src/audacious/glade/prefswin.glade:1023 msgid "Select main player window font:" -msgstr "选择主窗口字体:" - -#: src/audacious/glade/prefswin.glade:1072 +msgstr "选择播放窗口字体:" + +#: src/audacious/glade/prefswin.glade:1045 #, fuzzy msgid "Select playlist font:" -msgstr "选择主窗口字体:" - -#: src/audacious/glade/prefswin.glade:1112 +msgstr "选择播放列表字体:" + +#: src/audacious/glade/prefswin.glade:1091 msgid "" "Use bitmap fonts if they are available. Bitmap fonts do not support Unicode " "strings." msgstr "如果可能,则使用点阵字体。点阵字体不支持 Unicode 字符串。" -#: src/audacious/glade/prefswin.glade:1114 +#: src/audacious/glade/prefswin.glade:1093 msgid "Use Bitmap fonts if available" msgstr "如果可能则使用点阵字体" -#: src/audacious/glade/prefswin.glade:1161 +#: src/audacious/glade/prefswin.glade:1127 msgid "_Miscellaneous" msgstr "杂项(_M)" -#: src/audacious/glade/prefswin.glade:1202 +#: src/audacious/glade/prefswin.glade:1175 msgid "Show track numbers in playlist" msgstr "在播放列表中显示编号" -#: src/audacious/glade/prefswin.glade:1237 +#: src/audacious/glade/prefswin.glade:1210 msgid "Show separators in playlist" msgstr "在播放列表中显示分隔符" -#: src/audacious/glade/prefswin.glade:1272 +#: src/audacious/glade/prefswin.glade:1245 msgid "Use custom cursors" -msgstr "使用自定光标" - -#: src/audacious/glade/prefswin.glade:1306 +msgstr "使用自定义光标" + +#: src/audacious/glade/prefswin.glade:1279 +#: src/audacious/glade/prefswin.glade:1290 msgid "This enables the window manager to show decorations for windows." msgstr "这个选项启用窗口管理器显示窗口装饰。" -#: src/audacious/glade/prefswin.glade:1308 +#: src/audacious/glade/prefswin.glade:1281 msgid "Show window manager decoration" msgstr "显示窗口管理器装饰" -#: src/audacious/glade/prefswin.glade:1342 +#: src/audacious/glade/prefswin.glade:1289 +msgid "Show window manager decorations" +msgstr "显示窗口管理器装饰" + +#: src/audacious/glade/prefswin.glade:1319 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/GTK-1 样式的文件选择对话框。该选择是 Audadious 自身提供的,比默" -"认的 GTK2 选择器快(但可惜不如它对用户友好)。" - -#: src/audacious/glade/prefswin.glade:1344 +"认的 GTK2 选择器快(但可惜对用户不太友好)。" + +#: src/audacious/glade/prefswin.glade:1321 msgid "Use XMMS-style file selector instead of the default selector" msgstr "使用 XMMS 样式的文件选择器" -#: 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 "" - -#: src/audacious/glade/prefswin.glade:1380 -msgid "Use two-way text scroller" -msgstr "" - -#: src/audacious/glade/prefswin.glade:1422 src/audacious/ui_preferences.c:111 +#: src/audacious/glade/prefswin.glade:1363 src/audacious/ui_preferences.c:110 msgid "Appearance" msgstr "外观" -#: src/audacious/glade/prefswin.glade:1469 +#: src/audacious/glade/prefswin.glade:1410 msgid "Mouse wheel" msgstr "鼠标滚轮" -#: src/audacious/glade/prefswin.glade:1542 -msgid "lines" -msgstr "行" - -#: src/audacious/glade/prefswin.glade:1595 -msgid "Scrolls playlist by" -msgstr "列表滑动" - -#: src/audacious/glade/prefswin.glade:1623 +#: src/audacious/glade/prefswin.glade:1458 +msgid "Changes volume by" +msgstr "调节音量" + +#: src/audacious/glade/prefswin.glade:1486 msgid "percent" msgstr "%" -#: src/audacious/glade/prefswin.glade:1651 -msgid "Changes volume by" -msgstr "调节音量" - -#: src/audacious/glade/prefswin.glade:1701 src/audacious/ui_preferences.c:115 +#: src/audacious/glade/prefswin.glade:1514 +msgid "Scrolls playlist by" +msgstr "列表滑动" + +#: src/audacious/glade/prefswin.glade:1567 +msgid "lines" +msgstr "行" + +#: src/audacious/glade/prefswin.glade:1642 src/audacious/ui_preferences.c:114 msgid "Mouse" msgstr "鼠标" -#: src/audacious/glade/prefswin.glade:1748 +#: src/audacious/glade/prefswin.glade:1689 msgid "Filename" msgstr "文件名" -#: src/audacious/glade/prefswin.glade:1788 +#: src/audacious/glade/prefswin.glade:1729 msgid "Convert underscores to blanks" msgstr "将下划线转换成空格" -#: src/audacious/glade/prefswin.glade:1823 +#: src/audacious/glade/prefswin.glade:1764 msgid "Convert %20 to blanks" msgstr "将 %20 转换成空格" -#: src/audacious/glade/prefswin.glade:1858 +#: src/audacious/glade/prefswin.glade:1799 msgid "Convert backslash '\\' to forward slash '/'" msgstr "转换反斜杠“\\”为正斜杠“/”" -#: src/audacious/glade/prefswin.glade:1892 +#: src/audacious/glade/prefswin.glade:1833 msgid "Metadata" msgstr "元数据" -#: src/audacious/glade/prefswin.glade:1931 +#: src/audacious/glade/prefswin.glade:1872 msgid "Load metadata (tag information) from music files." msgstr "从文件中获取元数据(标签信息)。" -#: src/audacious/glade/prefswin.glade:1933 +#: src/audacious/glade/prefswin.glade:1874 msgid "Load metadata from playlists and files" -msgstr "使用播放列表中的元数据" - -#: src/audacious/glade/prefswin.glade:1971 +msgstr "从播放列表和文件中载入元数据" + +#: src/audacious/glade/prefswin.glade:1912 msgid "Load metadata when adding the file to the playlist or opening it" -msgstr "打开文件或者把文件加入列表时加载原数据" - -#: src/audacious/glade/prefswin.glade:1973 +msgstr "打开文件或者把文件加入列表时载入元数据" + +#: src/audacious/glade/prefswin.glade:1914 msgid "On load" msgstr "装入时" -#: src/audacious/glade/prefswin.glade:1993 +#: src/audacious/glade/prefswin.glade:1934 msgid "Load metadata on demand when displaying the file in the playlist" -msgstr "当文件在列表中显示时根据需要加载原数据" - -#: src/audacious/glade/prefswin.glade:1995 +msgstr "当文件在列表中显示时根据需要加载元数据" + +#: src/audacious/glade/prefswin.glade:1936 msgid "On display" msgstr "显示时" -#: src/audacious/glade/prefswin.glade:2025 -msgid "Auto character encoding detector for:" -msgstr "使用自动编码检测器:" - -#: src/audacious/glade/prefswin.glade:2070 +#: src/audacious/glade/prefswin.glade:1966 +msgid "Fallback character encodings:" +msgstr "备用字符编码:" + +#: src/audacious/glade/prefswin.glade:1994 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 "" -"缺省的元数据转换使用的字符编码列表。如果自动编码转换检测器失败或被禁用,这个" -"列表中的编码将被作为元数据编码的候选,并将试图由此转换到UTF-8。" - -#: src/audacious/glade/prefswin.glade:2094 -msgid "Fallback character encodings:" -msgstr "缺省字符编码:" - -#: src/audacious/glade/prefswin.glade:2150 +"元数据转换使用的备用字符编码列表。如果自动编码转换检测器失败或被禁用," +"列表中的编码将被作为元数据编码的候选,并将试图由此转换到 UTF-8。" + +#: src/audacious/glade/prefswin.glade:2035 +msgid "Auto character encoding detector for:" +msgstr "使用自动编码检测器:" + +#: src/audacious/glade/prefswin.glade:2091 msgid "File Dialog" msgstr "文件对话框" -#: src/audacious/glade/prefswin.glade:2189 +#: src/audacious/glade/prefswin.glade:2130 msgid "" "Always refresh the file dialog (this will slow opening the dialog on large " "directories, and Gnome VFS should handle automatically)." @@ -285,19 +281,23 @@ "总是自动刷新文件对话框 (这将使在大目录打开时文件打开对话框变慢,并且 Gnome " "VFS 应该能够自动处理。)。" -#: src/audacious/glade/prefswin.glade:2191 +#: src/audacious/glade/prefswin.glade:2132 msgid "Always refresh directory when opening file dialog" msgstr "当打开文件对话框时总是自动刷新目录" -#: src/audacious/glade/prefswin.glade:2225 +#: src/audacious/glade/prefswin.glade:2166 msgid "Song Display" msgstr " 歌曲显示" -#: src/audacious/glade/prefswin.glade:2273 -msgid "Show information about titlestring format" -msgstr "显示标题格式信息" - -#: src/audacious/glade/prefswin.glade:2302 +#: src/audacious/glade/prefswin.glade:2214 +msgid "Title format:" +msgstr "标题格式:" + +#: src/audacious/glade/prefswin.glade:2242 +msgid "Custom string:" +msgstr "自定字符串:" + +#: src/audacious/glade/prefswin.glade:2293 msgid "" "TITLE\n" "ARTIST - TITLE\n" @@ -313,21 +313,17 @@ "艺术家 - 唱片 - 音轨. 标题\n" "艺术家 [唱片] - 音轨. 标题\n" "唱片 - 标题\n" -"自定" - -#: src/audacious/glade/prefswin.glade:2347 -msgid "Custom string:" -msgstr "自定格式:" - -#: src/audacious/glade/prefswin.glade:2375 -msgid "Title format:" -msgstr "标题格式:" - -#: src/audacious/glade/prefswin.glade:2424 +"自定义" + +#: src/audacious/glade/prefswin.glade:2315 +msgid "Show information about titlestring format" +msgstr "显示标题格式信息" + +#: src/audacious/glade/prefswin.glade:2365 msgid "Popup Information" msgstr "弹出信息" -#: src/audacious/glade/prefswin.glade:2475 +#: src/audacious/glade/prefswin.glade:2416 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 " @@ -336,82 +332,82 @@ "切换播放列表中鼠标指向的项的弹出信息窗口。该窗口显示歌曲标题、专辑名、流派信" "息、发布年份,音轨编号,音轨长度和艺术品(专辑封面)。" -#: src/audacious/glade/prefswin.glade:2477 +#: src/audacious/glade/prefswin.glade:2418 msgid "Show popup information for playlist entries" -msgstr "为播放列表项显示弹出信息" - -#: src/audacious/glade/prefswin.glade:2504 +msgstr "显示播放列表项弹出信息" + +#: src/audacious/glade/prefswin.glade:2445 msgid "Edit settings for popup information" -msgstr "编辑弹出信息设置" - -#: 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 +msgstr "编辑弹出信息的设置" + +#: src/audacious/glade/prefswin.glade:2494 src/audacious/ui_manager.c:203 +#: src/audacious/ui_playlist_manager.c:290 src/audacious/ui_preferences.c:115 msgid "Playlist" msgstr "播放列表" -#: src/audacious/glade/prefswin.glade:2612 +#: src/audacious/glade/prefswin.glade:2553 msgid "Presets" msgstr "预设" -#: src/audacious/glade/prefswin.glade:2666 -msgid "File preset extension:" -msgstr "文件预设扩展名:" - -#: src/audacious/glade/prefswin.glade:2694 +#: src/audacious/glade/prefswin.glade:2653 msgid "Directory preset file:" msgstr "目录预设文件:" -#: src/audacious/glade/prefswin.glade:2788 +#: src/audacious/glade/prefswin.glade:2681 +msgid "File preset extension:" +msgstr "文件预设扩展名:" + +#: src/audacious/glade/prefswin.glade:2729 msgid "Available _Presets:" -msgstr "可用预设:" - -#: src/audacious/glade/prefswin.glade:2921 src/audacious/ui_preferences.c:114 +msgstr "可用预设(_P):" + +#: src/audacious/glade/prefswin.glade:2862 src/audacious/ui_preferences.c:113 msgid "Equalizer" msgstr "均衡器" -#: src/audacious/glade/prefswin.glade:2968 +#: src/audacious/glade/prefswin.glade:2909 msgid "Proxy Configuration" -msgstr "代理服务器设置" - -#: src/audacious/glade/prefswin.glade:3026 +msgstr "代理服务器配置" + +#: src/audacious/glade/prefswin.glade:2967 msgid "Enable proxy usage" msgstr "启用代理服务器" -#: src/audacious/glade/prefswin.glade:3103 +#: src/audacious/glade/prefswin.glade:2998 +msgid "Proxy hostname:" +msgstr "代理主机名:" + +#: src/audacious/glade/prefswin.glade:3026 msgid "Proxy port:" -msgstr "端口:" - -#: src/audacious/glade/prefswin.glade:3131 -msgid "Proxy hostname:" -msgstr "主机名:" +msgstr "代理端口:" + +#: src/audacious/glade/prefswin.glade:3120 +msgid "Use authentication with proxy" +msgstr "使用代理身份验证" + +#: src/audacious/glade/prefswin.glade:3151 +msgid "Proxy username:" +msgstr "代理用户名:" #: src/audacious/glade/prefswin.glade:3179 -msgid "Use authentication with proxy" -msgstr "使用身份验证" - -#: src/audacious/glade/prefswin.glade:3256 msgid "Proxy password:" -msgstr "密码:" - -#: src/audacious/glade/prefswin.glade:3284 -msgid "Proxy username:" -msgstr "用户名:" - -#: src/audacious/glade/prefswin.glade:3354 +msgstr "代理密码:" + +#: src/audacious/glade/prefswin.glade:3295 msgid "" "Changing these settings will require a restart of " "Audacious." msgstr "这些设置将在重启 Audacious 后生效。" -#: src/audacious/glade/prefswin.glade:3493 +#: src/audacious/glade/prefswin.glade:3419 msgid "Audio System" msgstr "音频系统" -#: src/audacious/glade/prefswin.glade:3566 -msgid "Buffer size:" -msgstr "缓冲区大小:" - -#: src/audacious/glade/prefswin.glade:3593 +#: src/audacious/glade/prefswin.glade:3473 +msgid "Current output plugin:" +msgstr "当前输出插件:" + +#: src/audacious/glade/prefswin.glade:3541 #, fuzzy msgid "" "This is the amount of time to prebuffer audio streams " @@ -424,94 +420,94 @@ "如果您碰到跳音,请增加这个值。\n" "但需要注意的是:增大这个值可能会使 Audacious 表现很糟糕。" -#: src/audacious/glade/prefswin.glade:3663 -msgid "Current output plugin:" -msgstr "当前输出插件:" - -#: src/audacious/glade/prefswin.glade:3769 +#: src/audacious/glade/prefswin.glade:3571 +msgid "Buffer size:" +msgstr "缓冲区大小:" + +#: src/audacious/glade/prefswin.glade:3695 msgid "Output Plugin Preferences" msgstr "输出插件首选项" -#: src/audacious/glade/prefswin.glade:3844 +#: src/audacious/glade/prefswin.glade:3770 msgid "Output Plugin Information" msgstr "输出插件信息" -#: src/audacious/glade/prefswin.glade:3896 +#: src/audacious/glade/prefswin.glade:3822 msgid "Format Detection" msgstr "格式检测" -#: src/audacious/glade/prefswin.glade:3935 +#: src/audacious/glade/prefswin.glade:3861 msgid "" "When checked, Audacious will detect file formats on demand. This can result " "in a messier playlist, but delivers a major speed benefit." msgstr "" -"当选中时,Audacious 将在需要时才检测文件格式。这会使播放列表有些混乱,但会使" -"速度大大提高。" - -#: src/audacious/glade/prefswin.glade:3937 +"当选中时,Audacious 将在需要时才检测文件格式。这会使播放列表有些混乱,但速度" +"有很大提高。" + +#: src/audacious/glade/prefswin.glade:3863 msgid "Detect file formats on demand, instead of immediately." msgstr "在需要时而不是立即检测文件格式" -#: src/audacious/glade/prefswin.glade:3971 +#: src/audacious/glade/prefswin.glade:3897 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 "" -"当选中时,Audacious 将会根据扩展名来检测文件格式。这样会轻微的慢于根据需要检" -"测格式。但是却能提供一个最简单的文件格式检测。" - -#: src/audacious/glade/prefswin.glade:3973 +"选中时,Audacious 将会根据扩展名来检测文件格式。这样会略微慢于根据需要检" +"测格式。但是仍然提供了一个最简单的文件格式检测。" + +#: src/audacious/glade/prefswin.glade:3899 msgid "Detect file formats by extension." msgstr "根据扩展名检测文件格式" -#: src/audacious/glade/prefswin.glade:4007 +#: src/audacious/glade/prefswin.glade:3933 msgid "Playback" msgstr "播放" -#: src/audacious/glade/prefswin.glade:4046 +#: src/audacious/glade/prefswin.glade:3972 msgid "" "When Audacious starts, automatically begin playing from the point where we " "stopped before." msgstr "当 Audacious 启动时,自动从上次停止的地方开始播放。" -#: src/audacious/glade/prefswin.glade:4048 +#: src/audacious/glade/prefswin.glade:3974 msgid "Continue playback on startup" -msgstr "在启动时恢复回放" - -#: src/audacious/glade/prefswin.glade:4082 +msgstr "在启动时恢复播放" + +#: src/audacious/glade/prefswin.glade:4008 msgid "When finished playing a song, don't automatically advance to the next." -msgstr "歌曲播完后,不要自动快进到下一曲。" - -#: src/audacious/glade/prefswin.glade:4084 +msgstr "歌曲播完后,不要自动播放下一曲。" + +#: src/audacious/glade/prefswin.glade:4010 msgid "Don't advance in the playlist" -msgstr "不允许列表快进" - -#: src/audacious/glade/prefswin.glade:4119 +msgstr "不允许在列表前进" + +#: src/audacious/glade/prefswin.glade:4045 msgid "Pause between songs" msgstr "在歌曲之间暂停" -#: src/audacious/glade/prefswin.glade:4157 +#: src/audacious/glade/prefswin.glade:4083 msgid "Pause for" msgstr "暂停" -#: src/audacious/glade/prefswin.glade:4203 +#: src/audacious/glade/prefswin.glade:4129 msgid "seconds" msgstr "秒" -#: src/audacious/glade/prefswin.glade:4249 +#: src/audacious/glade/prefswin.glade:4175 msgid "Sampling Rate Converter" msgstr "采样率转换器" -#: src/audacious/glade/prefswin.glade:4289 +#: src/audacious/glade/prefswin.glade:4215 msgid "Enable Sampling Rate Converter" msgstr "启用采样率转换器" -#: src/audacious/glade/prefswin.glade:4361 -msgid "Interpolation Engine:" -msgstr "" - -#: src/audacious/glade/prefswin.glade:4389 +#: src/audacious/glade/prefswin.glade:4264 +msgid "Sampling Rate [Hz]:" +msgstr "采样率 [Hz]:" + +#: src/audacious/glade/prefswin.glade:4334 #, fuzzy msgid "" "All streams will be converted to this sampling rate.\n" @@ -521,38 +517,23 @@ "所有音频流将被转换到此采样率。\n" "这应当是您的声卡或输出插件支持的最大采样率。" -#: src/audacious/glade/prefswin.glade:4461 -msgid "Sampling Rate [Hz]:" -msgstr "采样率 [Hz]:" - -#: src/audacious/glade/prefswin.glade:4517 -#, fuzzy -msgid "Volume Control" -msgstr "鼠标滚轮" - -#: 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 "" - -#: src/audacious/glade/prefswin.glade:4746 +#: src/audacious/glade/prefswin.glade:4364 +msgid "Interpolation Engine:" +msgstr "插值引擎" + +#: src/audacious/glade/prefswin.glade:4593 msgid "Reload Plugins" msgstr "重新加载插件" -#: src/audacious/glade/prefswin.glade:4807 +#: src/audacious/glade/prefswin.glade:4654 msgid "Popup Information Settings" msgstr "弹出信息设置" -#: src/audacious/glade/prefswin.glade:4831 +#: src/audacious/glade/prefswin.glade:4678 msgid "Cover image retrieve" msgstr "专辑封面检索" -#: src/audacious/glade/prefswin.glade:4856 +#: src/audacious/glade/prefswin.glade:4703 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 " @@ -561,158 +542,158 @@ "当搜索专辑封面时,Audacious 搜索文件名中的关键字。您可以在下面列表中指定它" "们,用逗号隔开。" -#: src/audacious/glade/prefswin.glade:4911 -msgid "Exclude:" -msgstr "排除:" - -#: src/audacious/glade/prefswin.glade:4939 +#: src/audacious/glade/prefswin.glade:4758 msgid "Include:" msgstr "包括:" -#: src/audacious/glade/prefswin.glade:5008 +#: src/audacious/glade/prefswin.glade:4786 +msgid "Exclude:" +msgstr "排除:" + +#: src/audacious/glade/prefswin.glade:4855 msgid "Recursively search for cover" msgstr "递归搜索封面" -#: src/audacious/glade/prefswin.glade:5046 +#: src/audacious/glade/prefswin.glade:4893 msgid "Search depth: " msgstr "搜索深度:" -#: src/audacious/glade/prefswin.glade:5112 +#: src/audacious/glade/prefswin.glade:4959 msgid "Use per-file cover" msgstr "为每个文件使用单独封面" -#: src/audacious/glade/prefswin.glade:5132 +#: src/audacious/glade/prefswin.glade:4979 msgid "Miscellaneous" msgstr "杂项" -#: src/audacious/glade/prefswin.glade:5170 +#: src/audacious/glade/prefswin.glade:5017 msgid "Show Progress bar for the current track" msgstr "为当前音轨显示进度条" -#: src/audacious/glade/prefswin.glade:5208 +#: src/audacious/glade/prefswin.glade:5055 msgid "Delay until filepopup comes up: " msgstr "延迟直到文件弹出信息显示:" -#: src/audacious/glade/prefswin.glade:5302 +#: src/audacious/glade/prefswin.glade:5149 msgid "Color Adjustment" msgstr "颜色调节" -#: src/audacious/glade/prefswin.glade:5325 +#: src/audacious/glade/prefswin.glade:5172 msgid "" "Audacious allows you to alter the color balance of the skinned UI. The " "sliders below will allow you to do this." msgstr "Audacious 允许你修改使用皮肤的界面色调。下面的滑动条允许你作这个调整。" -#: src/audacious/glade/prefswin.glade:5359 -msgid "Blue" -msgstr "蓝" - -#: src/audacious/glade/prefswin.glade:5387 +#: src/audacious/glade/prefswin.glade:5268 +msgid "Red" +msgstr "红" + +#: src/audacious/glade/prefswin.glade:5296 msgid "Green" msgstr "绿" -#: src/audacious/glade/prefswin.glade:5415 -msgid "Red" -msgstr "红" - -#: src/audacious/input.c:627 +#: src/audacious/glade/prefswin.glade:5324 +msgid "Blue" +msgstr "蓝" + +#: src/audacious/input.c:657 #, c-format msgid "audacious: %s" msgstr "audacious: %s" -#: src/audacious/input.c:643 +#: src/audacious/input.c:673 msgid "Filename:" msgstr "文件名:" -#: src/audacious/input.c:662 +#: src/audacious/input.c:692 msgid "No input plugin recognized this file" msgstr "没有输入插件可识别此文件" -#: src/audacious/input.c:664 +#: src/audacious/input.c:694 #, c-format msgid "Input plugin: %s" msgstr "输入插件:%s" -#: src/audacious/logger.c:125 +#: src/audacious/logger.c:124 #, c-format msgid "Unable to create log file (%s)!\n" msgstr "无法创建日志文件 (%s)!\n" -#: src/audacious/main.c:90 src/audacious/main.c:92 src/audacious/ui_main.c:491 -#: src/audacious/ui_main.c:2466 +#: src/audacious/main.c:90 src/audacious/main.c:92 src/audacious/ui_main.c:502 +#: src/audacious/ui_main.c:2514 msgid "Audacious" msgstr "Audacious" -#: src/audacious/main.c:477 +#: src/audacious/main.c:475 #, c-format msgid "Could not create directory (%s): %s\n" msgstr "新建目录 %s 失败,错误:%s\n" -#: src/audacious/main.c:1065 +#: src/audacious/main.c:891 msgid "Select which Audacious session ID to use" msgstr "选择 Audacious 会话 ID" -#: src/audacious/main.c:1066 +#: src/audacious/main.c:892 msgid "Skip backwards in playlist" msgstr "在播放列表中向后跳" -#: src/audacious/main.c:1067 +#: src/audacious/main.c:893 msgid "Start playing current playlist" -msgstr "开始播放现有列表" - -#: src/audacious/main.c:1068 +msgstr "开始播放当前列表" + +#: src/audacious/main.c:894 msgid "Pause current song" msgstr "暂停当前歌曲" -#: src/audacious/main.c:1069 +#: src/audacious/main.c:895 msgid "Stop current song" msgstr "停止当前歌曲" -#: src/audacious/main.c:1070 +#: src/audacious/main.c:896 msgid "Pause if playing, play otherwise" msgstr "如正播放则暂停,否则播放" -#: src/audacious/main.c:1071 +#: src/audacious/main.c:897 msgid "Skip forward in playlist" msgstr "在播放列表中向前跳" -#: src/audacious/main.c:1072 +#: src/audacious/main.c:898 msgid "Display Jump to File dialog" msgstr "显示 “跳到文件” 对话框" -#: src/audacious/main.c:1073 +#: src/audacious/main.c:899 msgid "Don't clear the playlist" msgstr "不要清除播放列表" -#: src/audacious/main.c:1074 +#: src/audacious/main.c:900 msgid "Add new files to a temporary playlist" msgstr "添加新文件到临时列表" -#: src/audacious/main.c:1075 +#: src/audacious/main.c:901 msgid "Display the main window" msgstr "显示主窗口" -#: src/audacious/main.c:1076 +#: src/audacious/main.c:902 msgid "Display all open Audacious windows" msgstr "显示全部开打的 Audacious 窗口" -#: src/audacious/main.c:1077 +#: src/audacious/main.c:903 msgid "Enable headless operation" msgstr "启动无界面操作" -#: src/audacious/main.c:1078 +#: src/audacious/main.c:904 msgid "Print all errors and warnings to stdout" msgstr "打印所有错误和警告到标准输出" -#: src/audacious/main.c:1079 +#: src/audacious/main.c:905 msgid "Show version and builtin features" msgstr "显示版本和内建特性" -#: src/audacious/main.c:1080 +#: src/audacious/main.c:906 msgid "FILE..." msgstr "文件..." -#: src/audacious/main.c:1239 +#: src/audacious/main.c:1065 #, c-format msgid "" "Unable to load skin.\n" @@ -724,7 +705,7 @@ "\n" "请检查设在'%s'的皮肤是可用的,并且确保默认皮肤也已正确安装到'%s'。\n" -#: src/audacious/main.c:1320 +#: src/audacious/main.c:1123 msgid "" "Sorry, threads isn't supported on your platform.\n" "\n" @@ -737,11 +718,11 @@ "如果你原本使用 libc5 的 Linux 并且装了 GLIB & GTK+ \n" "之后又安装了 LinuxThreads,请重新编译 GLIB & GTK+。\n" -#: src/audacious/main.c:1351 +#: src/audacious/main.c:1154 msgid "- play multimedia files" msgstr "- 播放多媒体文件" -#: src/audacious/main.c:1358 +#: src/audacious/main.c:1161 #, c-format msgid "" "%s: %s\n" @@ -750,12 +731,12 @@ "%s: %s\n" "尝试 `%s --help' 来获得更多信息.\n" -#: src/audacious/main.c:1368 +#: src/audacious/main.c:1171 #, c-format msgid "%s: Unable to open display, exiting.\n" msgstr "%s: 无法打开显示,即将退出。\n" -#: src/audacious/playback.c:343 +#: src/audacious/playback.c:274 msgid "" "No output plugin selected.\n" "You have not selected an output plugin." @@ -807,7 +788,7 @@ "Your signaling implementation is broken.\n" "Expect unusable crash reports.\n" msgstr "" -"您的信号的实现已损坏。\n" +"您信号的实现已损坏。\n" "崩溃报告将会不能使用。\n" #: src/audacious/strings.c:170 @@ -825,25 +806,25 @@ "\n" "Copyright (C) 2005-2006 Audacious 开发小组" -#: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:357 +#: src/audacious/ui_about.c:125 src/audacious/ui_credits.c:355 #: src/audacious/ui_manager.c:391 src/audacious/ui_manager.c:392 msgid "About Audacious" msgstr "关于 Audacious" -#: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:400 +#: src/audacious/ui_about.c:174 src/audacious/ui_credits.c:398 msgid "Credits" msgstr "致谢" #: src/audacious/ui_credits.c:47 -#, fuzzy, c-format +#, c-format msgid "" "Audacious %s\n" -"A skinned multimedia player for many platforms.\n" +"The future of UNIX multimedia.\n" "\n" "Copyright (C) 2005-2007 Audacious Development Team\n" msgstr "" "Audacious %s\n" -"The future of UNIX multimedia.\n" +"UNIX 多媒体的未来。\n" "\n" "Copyright (C) 2005-2006 Audacious 开发小组\n" @@ -863,147 +844,147 @@ msgid "Plugin development:" msgstr "插件开发:" -#: src/audacious/ui_credits.c:97 +#: src/audacious/ui_credits.c:96 msgid "Patch authors:" msgstr "补丁作者:" -#: src/audacious/ui_credits.c:117 +#: src/audacious/ui_credits.c:116 msgid "0.1.x developers:" msgstr "0.1.x 开发者:" -#: src/audacious/ui_credits.c:123 +#: src/audacious/ui_credits.c:122 msgid "BMP Developers:" msgstr "BMP 开发者:" -#: src/audacious/ui_credits.c:155 +#: src/audacious/ui_credits.c:154 msgid "Brazilian Portuguese:" msgstr "巴西葡萄牙语:" -#: src/audacious/ui_credits.c:159 +#: src/audacious/ui_credits.c:158 msgid "Breton:" msgstr "布列塔尼语:" -#: src/audacious/ui_credits.c:162 +#: src/audacious/ui_credits.c:161 msgid "Bulgarian:" msgstr "匈牙利语:" -#: src/audacious/ui_credits.c:165 +#: src/audacious/ui_credits.c:164 msgid "Catalan:" msgstr "加泰罗尼亚语:" -#: src/audacious/ui_credits.c:168 +#: src/audacious/ui_credits.c:167 msgid "Croatian:" msgstr "罗马尼亚语:" -#: src/audacious/ui_credits.c:171 +#: src/audacious/ui_credits.c:170 msgid "Czech:" msgstr "捷克语:" -#: src/audacious/ui_credits.c:174 +#: src/audacious/ui_credits.c:173 msgid "Dutch:" msgstr "荷兰语:" -#: src/audacious/ui_credits.c:178 +#: src/audacious/ui_credits.c:177 msgid "Finnish:" msgstr "芬兰语:" -#: src/audacious/ui_credits.c:181 +#: src/audacious/ui_credits.c:180 msgid "French:" msgstr "法语:" -#: src/audacious/ui_credits.c:185 +#: src/audacious/ui_credits.c:183 msgid "German:" msgstr "德语:" -#: src/audacious/ui_credits.c:190 +#: src/audacious/ui_credits.c:188 msgid "Georgian:" msgstr "乔治亚语:" -#: src/audacious/ui_credits.c:193 +#: src/audacious/ui_credits.c:191 msgid "Greek:" msgstr "希腊语:" -#: src/audacious/ui_credits.c:198 +#: src/audacious/ui_credits.c:196 msgid "Hindi:" msgstr "北印度语:" -#: src/audacious/ui_credits.c:201 +#: src/audacious/ui_credits.c:199 msgid "Hungarian:" msgstr "匈牙利语:" -#: src/audacious/ui_credits.c:204 +#: src/audacious/ui_credits.c:202 msgid "Italian:" msgstr "意大利语:" -#: src/audacious/ui_credits.c:208 +#: src/audacious/ui_credits.c:206 msgid "Japanese:" msgstr "日语:" -#: src/audacious/ui_credits.c:211 +#: src/audacious/ui_credits.c:209 msgid "Korean:" msgstr "朝语:" -#: src/audacious/ui_credits.c:214 +#: src/audacious/ui_credits.c:212 msgid "Lithuanian:" msgstr "立陶宛语:" -#: src/audacious/ui_credits.c:217 +#: src/audacious/ui_credits.c:215 msgid "Macedonian:" msgstr "马其顿语:" -#: src/audacious/ui_credits.c:220 +#: src/audacious/ui_credits.c:218 msgid "Polish:" msgstr "波兰语:" -#: src/audacious/ui_credits.c:223 +#: src/audacious/ui_credits.c:221 msgid "Romanian:" msgstr "罗马尼亚语:" -#: src/audacious/ui_credits.c:227 +#: src/audacious/ui_credits.c:225 msgid "Russian:" msgstr "俄语:" -#: src/audacious/ui_credits.c:230 +#: src/audacious/ui_credits.c:228 msgid "Serbian (Latin):" msgstr "塞尔维亚语(拉丁文)" -#: src/audacious/ui_credits.c:233 +#: src/audacious/ui_credits.c:231 msgid "Serbian (Cyrillic):" msgstr "塞尔维亚语(斯拉夫文)" -#: src/audacious/ui_credits.c:236 +#: src/audacious/ui_credits.c:234 msgid "Simplified Chinese:" msgstr "简体中文:" -#: src/audacious/ui_credits.c:239 +#: src/audacious/ui_credits.c:237 msgid "Slovak:" msgstr "斯洛伐克语:" -#: src/audacious/ui_credits.c:242 +#: src/audacious/ui_credits.c:240 msgid "Spanish:" msgstr "西班牙语:" -#: src/audacious/ui_credits.c:245 +#: src/audacious/ui_credits.c:243 msgid "Swedish:" msgstr "瑞典语:" -#: src/audacious/ui_credits.c:248 +#: src/audacious/ui_credits.c:246 msgid "Traditional Chinese:" msgstr "繁体中文:" -#: src/audacious/ui_credits.c:251 +#: src/audacious/ui_credits.c:249 msgid "Turkish:" msgstr "土耳其语:" -#: src/audacious/ui_credits.c:255 +#: src/audacious/ui_credits.c:253 msgid "Ukrainian:" msgstr "乌克兰语:" -#: src/audacious/ui_credits.c:258 +#: src/audacious/ui_credits.c:256 msgid "Welsh:" msgstr "威尔斯语:" -#: src/audacious/ui_credits.c:404 +#: src/audacious/ui_credits.c:402 msgid "Translators" msgstr "翻译者" @@ -1020,23 +1001,23 @@ msgstr "音轨信息窗口" #: src/audacious/ui_fileinfopopup.c:252 src/audacious/ui_fileinfopopup.c:364 -#: src/audacious/ui_preferences.c:125 +#: src/audacious/ui_preferences.c:124 msgid "Title" msgstr "标题" -#: src/audacious/ui_fileinfopopup.c:255 src/audacious/ui_preferences.c:123 +#: src/audacious/ui_fileinfopopup.c:255 src/audacious/ui_preferences.c:122 msgid "Artist" msgstr "艺术家" -#: src/audacious/ui_fileinfopopup.c:258 src/audacious/ui_preferences.c:124 +#: src/audacious/ui_fileinfopopup.c:258 src/audacious/ui_preferences.c:123 msgid "Album" msgstr "专辑" -#: src/audacious/ui_fileinfopopup.c:261 src/audacious/ui_preferences.c:127 +#: src/audacious/ui_fileinfopopup.c:261 src/audacious/ui_preferences.c:126 msgid "Genre" msgstr "风格" -#: src/audacious/ui_fileinfopopup.c:264 src/audacious/ui_preferences.c:131 +#: src/audacious/ui_fileinfopopup.c:264 src/audacious/ui_preferences.c:130 msgid "Year" msgstr "年份" @@ -1048,103 +1029,186 @@ msgid "Track Length" msgstr "音轨长度" -#: src/audacious/ui_fileinfopopup.c:373 src/audacious/ui_preferences.c:128 -#: src/audacious/ui_preferences.c:420 +#: src/audacious/ui_fileinfopopup.c:373 src/audacious/ui_preferences.c:127 +#: src/audacious/ui_preferences.c:426 src/audacious/ui_preferences.c:514 +#: src/audacious/ui_preferences.c:603 src/audacious/ui_preferences.c:699 msgid "Filename" msgstr "文件名" -#: src/audacious/ui_fileopener.c:127 +#: src/audacious/ui_fileopener.c:128 msgid "Open Files" msgstr "打开文件" -#: src/audacious/ui_fileopener.c:127 +#: src/audacious/ui_fileopener.c:128 msgid "Add Files" msgstr "添加文件" -#: src/audacious/ui_fileopener.c:129 +#: src/audacious/ui_fileopener.c:130 msgid "Close dialog on Open" msgstr "打开后关闭对话框" -#: src/audacious/ui_fileopener.c:129 +#: src/audacious/ui_fileopener.c:130 msgid "Close dialog on Add" msgstr "添加后关闭对话框" -#: src/audacious/ui_fileopener.c:356 +#: src/audacious/ui_fileopener.c:357 msgid "Play files" msgstr "播放文件" -#: src/audacious/ui_fileopener.c:358 +#: src/audacious/ui_fileopener.c:359 msgid "Load files" msgstr "装入文件" -#: src/audacious/ui_jumptotrack.c:138 +#: src/audacious/ui_jumptotrack.c:140 msgid "Un_queue" msgstr "不排队(_q)" -#: src/audacious/ui_jumptotrack.c:140 src/audacious/ui_jumptotrack.c:603 +#: src/audacious/ui_jumptotrack.c:142 src/audacious/ui_jumptotrack.c:605 msgid "_Queue" msgstr "排队(_Q)" -#: src/audacious/ui_jumptotrack.c:518 +#: src/audacious/ui_jumptotrack.c:520 msgid "Jump to Track" msgstr "跳到音轨" -#: src/audacious/ui_jumptotrack.c:559 +#: src/audacious/ui_jumptotrack.c:561 msgid "Filter: " msgstr "过滤: " -#: src/audacious/ui_jumptotrack.c:560 +#: src/audacious/ui_jumptotrack.c:562 msgid "_Filter:" msgstr "过滤(_F): " -#: src/audacious/ui_jumptotrack.c:594 +#: src/audacious/ui_jumptotrack.c:596 #, fuzzy msgid "Close on Jump" msgstr "打开后关闭对话框" -#: src/audacious/ui_main.c:489 +#: src/audacious/ui_lastfm.c:65 +msgid "Not last.fm stream" +msgstr "不是 last.fm 流" + +#: src/audacious/ui_lastfm.c:90 +#, fuzzy, c-format +msgid "Artist: %s" +msgstr "艺术家" + +#: src/audacious/ui_lastfm.c:98 +#, fuzzy, c-format +msgid "Title: %s" +msgstr "标题" + +#: src/audacious/ui_lastfm.c:102 +#, fuzzy, c-format +msgid "Album: %s" +msgstr "唱片" + +#: src/audacious/ui_lastfm.c:117 +msgid "" +"Couldn't find your lastfm login data.\n" +"\n" +"Check if your Scrobbler's plugin login settings are configured properly.\n" +msgstr "" + +#: src/audacious/ui_lastfm.c:238 +#, fuzzy +msgid "Audacious last.fm radio tuner" +msgstr "Audacious last.fm 广播调谐器" + +#: src/audacious/ui_lastfm.c:239 +#, fuzzy +msgid "Station:" +msgstr "广播站:" + +#: src/audacious/ui_lastfm.c:245 +#, fuzzy +msgid "Artist:" +msgstr "艺术家" + +#: src/audacious/ui_lastfm.c:249 +#, fuzzy +msgid "Title:" +msgstr "标题" + +#: src/audacious/ui_lastfm.c:253 +#, fuzzy +msgid "Album:" +msgstr "唱片" + +#: src/audacious/ui_lastfm.c:257 +msgid "Love" +msgstr "" + +#: src/audacious/ui_lastfm.c:258 +msgid "Ban" +msgstr "屏蔽" + +#: src/audacious/ui_lastfm.c:259 +msgid "Skip" +msgstr "跳过" + +#: src/audacious/ui_lastfm.c:260 +msgid "Tune in" +msgstr "" + +#: src/audacious/ui_lastfm.c:262 +msgid "Neighbours' radio" +msgstr "邻居的广播" + +#: src/audacious/ui_lastfm.c:263 +msgid "Personal radio" +msgstr "个人广播" + +#: src/audacious/ui_lastfm.c:337 +msgid "" +"The lastfm radio plugin could not be found.\n" +"\n" +"Check if the AudioScrobbler plugin was compiled in\n" +msgstr "" + +#: src/audacious/ui_main.c:500 #, c-format msgid "%s - Audacious" msgstr "%s - Audacious" -#: src/audacious/ui_main.c:744 +#: src/audacious/ui_main.c:755 msgid "VBR" msgstr "可变位数率" -#: src/audacious/ui_main.c:761 src/audacious/ui_main.c:765 +#: src/audacious/ui_main.c:772 src/audacious/ui_main.c:776 msgid "stereo" msgstr "立体声" -#: src/audacious/ui_main.c:761 src/audacious/ui_main.c:765 +#: src/audacious/ui_main.c:772 src/audacious/ui_main.c:776 msgid "mono" msgstr "单声道" -#: src/audacious/ui_main.c:1060 src/audacious/ui_manager.c:420 -#: src/audacious/ui_manager.c:421 +#: src/audacious/ui_main.c:1032 src/audacious/ui_manager.c:423 +#: src/audacious/ui_manager.c:424 msgid "Jump to Time" msgstr "跳到特定时间" -#: src/audacious/ui_main.c:1081 +#: src/audacious/ui_main.c:1053 msgid "minutes:seconds" msgstr "分:秒" -#: src/audacious/ui_main.c:1091 +#: src/audacious/ui_main.c:1063 msgid "Track length:" msgstr "音轨长度:" -#: src/audacious/ui_main.c:1228 +#: src/audacious/ui_main.c:1200 msgid "Audacious - visibility warning" msgstr "Audacious - 可见性警告" -#: src/audacious/ui_main.c:1230 +#: src/audacious/ui_main.c:1202 msgid "Show main player window" msgstr "显示播放器主窗口" -#: src/audacious/ui_main.c:1231 +#: src/audacious/ui_main.c:1203 msgid "Ignore" msgstr "忽略" -#: src/audacious/ui_main.c:1235 +#: src/audacious/ui_main.c:1207 msgid "" "Audacious has been started with all of its windows hidden.\n" "You may want to show the player window again to control Audacious; " @@ -1155,72 +1219,72 @@ "您或许想要显示播放器窗口以控制 Audacious;否则您将不得不通过 audtool 远程控制" "或通过启用的插件(如 statusicon 插件)来控制。" -#: src/audacious/ui_main.c:1241 +#: src/audacious/ui_main.c:1213 msgid "Always ignore, show/hide is controlled remotely" msgstr "总是忽略,并远程控制 显示/隐藏" -#: src/audacious/ui_main.c:1259 +#: src/audacious/ui_main.c:1231 msgid "Enter location to play:" msgstr "输入要播放的位置:" -#: src/audacious/ui_main.c:1504 +#: src/audacious/ui_main.c:1465 #, fuzzy, c-format msgid "Seek to: %d:%-2.2d/%d:%-2.2d (%d%%)" msgstr "搜寻:%d:%-2.2d/%d:%-2.2d (%d%%)" +#: src/audacious/ui_main.c:1497 +#, c-format +msgid "Volume: %d%%" +msgstr "音量: %d%%" + +#: src/audacious/ui_main.c:1528 +#, c-format +msgid "Balance: %d%% left" +msgstr "平衡: %d%% 左" + +#: src/audacious/ui_main.c:1532 +msgid "Balance: center" +msgstr "平衡: 中间" + #: src/audacious/ui_main.c:1536 #, c-format -msgid "Volume: %d%%" -msgstr "" - -#: src/audacious/ui_main.c:1566 -#, c-format -msgid "Balance: %d%% left" -msgstr "" - -#: src/audacious/ui_main.c:1570 -msgid "Balance: center" -msgstr "" - -#: src/audacious/ui_main.c:1574 -#, c-format msgid "Balance: %d%% right" -msgstr "" - -#: src/audacious/ui_main.c:1916 +msgstr "平衡: %d%% 右" + +#: src/audacious/ui_main.c:1879 msgid "Options Menu" -msgstr "" - -#: src/audacious/ui_main.c:1920 +msgstr "选项菜单" + +#: src/audacious/ui_main.c:1883 #, fuzzy msgid "Disable 'Always On Top'" -msgstr "永远在上层" - -#: src/audacious/ui_main.c:1922 +msgstr "禁用永远在上层" + +#: src/audacious/ui_main.c:1885 #, fuzzy msgid "Enable 'Always On Top'" -msgstr "永远在上层" - -#: src/audacious/ui_main.c:1925 +msgstr "启用永远在上层" + +#: src/audacious/ui_main.c:1888 msgid "File Info Box" -msgstr "" - -#: src/audacious/ui_main.c:1929 +msgstr "文件信息框" + +#: src/audacious/ui_main.c:1892 #, fuzzy msgid "Disable 'Doublesize'" -msgstr "两倍放大" - -#: src/audacious/ui_main.c:1931 +msgstr "禁用两倍放大" + +#: src/audacious/ui_main.c:1894 #, fuzzy msgid "Enable 'Doublesize'" -msgstr "两倍放大" - -#: src/audacious/ui_main.c:1934 +msgstr "启用两倍放大" + +#: src/audacious/ui_main.c:1897 #, fuzzy msgid "Visualization Menu" -msgstr "视觉化模式" - -#: src/audacious/ui_main.c:1982 +msgstr "视觉化菜单" + +#: src/audacious/ui_main.c:1945 msgid "" "Couldn't open audio.\n" "\n" @@ -1229,13 +1293,32 @@ "2. No other programs is blocking the soundcard.\n" "3. Your soundcard is configured properly.\n" msgstr "" -"无法使用音频设备。\n" +"无法打开音频。\n" "请确定:\n" "1. 您是否选择了正确的输出插件。\n" -"2. 没有其他的程式正在使用音效卡。\n" -"3. 您的音效卡有正常驱动。\n" - -#: src/audacious/ui_main.c:2446 +"2. 没有其他的程序阻塞了声卡。\n" +"3. 您声卡的配置是否正确。\n" + +#: src/audacious/ui_main.c:2025 +#, c-format +msgid "VOLUME: %d%%" +msgstr "音量:%d%%" + +#: src/audacious/ui_main.c:2028 +#, c-format +msgid "BALANCE: %d%% LEFT" +msgstr "平衡:%d%% 左" + +#: src/audacious/ui_main.c:2031 +msgid "BALANCE: CENTER" +msgstr "平衡:中心" + +#: src/audacious/ui_main.c:2033 +#, c-format +msgid "BALANCE: %d%% RIGHT" +msgstr "平衡:%d%% 右" + +#: src/audacious/ui_main.c:2496 msgid "Error in Audacious." msgstr "Audacious 错误" @@ -1261,7 +1344,7 @@ #: src/audacious/ui_manager.c:63 src/audacious/ui_manager.c:64 msgid "No Playlist Advance" -msgstr "无预设播放列表" +msgstr "播放列表不前进" #: src/audacious/ui_manager.c:66 src/audacious/ui_manager.c:67 msgid "Show Player" @@ -1269,7 +1352,7 @@ #: src/audacious/ui_manager.c:69 src/audacious/ui_manager.c:70 msgid "Show Playlist Editor" -msgstr "显示播放列表" +msgstr "显示播放列表编辑器" #: src/audacious/ui_manager.c:72 src/audacious/ui_manager.c:73 msgid "Show Equalizer" @@ -1289,7 +1372,7 @@ #: src/audacious/ui_manager.c:84 src/audacious/ui_manager.c:85 msgid "Roll up Playlist Editor" -msgstr "卷起播放列表" +msgstr "卷起播放列表编辑器" #: src/audacious/ui_manager.c:87 src/audacious/ui_manager.c:88 msgid "Roll up Equalizer" @@ -1301,11 +1384,11 @@ #: src/audacious/ui_manager.c:93 src/audacious/ui_manager.c:94 msgid "Easy Move" -msgstr "如意移动" +msgstr "简单移动" #: src/audacious/ui_manager.c:102 msgid "Analyzer" -msgstr "分析器模式" +msgstr "分析器" #: src/audacious/ui_manager.c:103 msgid "Scope" @@ -1406,7 +1489,7 @@ #: src/audacious/ui_manager.c:170 msgid "Playback" -msgstr "回放" +msgstr "重放" #: src/audacious/ui_manager.c:172 src/audacious/ui_manager.c:173 msgid "Play" @@ -1486,7 +1569,7 @@ #: src/audacious/ui_manager.c:218 msgid "Loads a playlist file into the selected playlist." -msgstr "加入一个列表到当前列表" +msgstr "将一个列表文件加入到当前播放列表" #: src/audacious/ui_manager.c:220 msgid "Save List" @@ -1498,7 +1581,7 @@ #: src/audacious/ui_manager.c:223 msgid "Save Default List" -msgstr "保存为默认列表" +msgstr "保存默认列表" #: src/audacious/ui_manager.c:224 msgid "Saves the selected playlist to the default location." @@ -1510,7 +1593,7 @@ #: src/audacious/ui_manager.c:228 msgid "Refreshes metadata associated with a playlist entry." -msgstr "刷新媒体联合信息到列表条目。" +msgstr "刷新媒体元信息到列表条目。" #: src/audacious/ui_manager.c:231 msgid "List Manager" @@ -1530,7 +1613,7 @@ #: src/audacious/ui_manager.c:243 msgid "Adds a remote track to the playlist." -msgstr "添加音轨到列表" +msgstr "添加远程音轨到列表" #: src/audacious/ui_manager.c:246 msgid "Add Files..." @@ -1542,7 +1625,7 @@ #: src/audacious/ui_manager.c:252 msgid "Search and Select" -msgstr "搜索并且选定" +msgstr "搜索并选择" #: src/audacious/ui_manager.c:253 msgid "" @@ -1592,12 +1675,12 @@ #: src/audacious/ui_manager.c:278 msgid "Remove Duplicates" -msgstr "移除重复" +msgstr "移除重复项" #: src/audacious/ui_manager.c:280 src/audacious/ui_manager.c:316 #: src/audacious/ui_manager.c:346 msgid "By Title" -msgstr "基于标题" +msgstr "根据标题" #: src/audacious/ui_manager.c:281 msgid "Removes duplicate entries from the playlist by title." @@ -1606,7 +1689,7 @@ #: src/audacious/ui_manager.c:284 src/audacious/ui_manager.c:324 #: src/audacious/ui_manager.c:354 msgid "By Filename" -msgstr "基于文件名" +msgstr "根据文件名" #: src/audacious/ui_manager.c:285 msgid "Removes duplicate entries from the playlist by filename." @@ -1615,7 +1698,7 @@ #: src/audacious/ui_manager.c:288 src/audacious/ui_manager.c:328 #: src/audacious/ui_manager.c:358 msgid "By Path + Filename" -msgstr "按路径+文件名" +msgstr "根据路径+文件名" #: src/audacious/ui_manager.c:289 msgid "Removes duplicate entries from the playlist by their full path." @@ -1623,7 +1706,7 @@ #: src/audacious/ui_manager.c:292 msgid "Remove All" -msgstr "删除全部" +msgstr "全部删除" #: src/audacious/ui_manager.c:293 msgid "Removes all entries from the playlist." @@ -1639,7 +1722,7 @@ #: src/audacious/ui_manager.c:300 msgid "Remove Selected" -msgstr "删除选中" +msgstr "删除选中的" #: src/audacious/ui_manager.c:301 msgid "Remove selected entries from the playlist." @@ -1711,29 +1794,29 @@ #: src/audacious/ui_manager.c:344 msgid "Sort Selected" -msgstr "排序选择" +msgstr "排序选择的项" #: src/audacious/ui_manager.c:380 #, fuzzy msgid "File" -msgstr "火焰" +msgstr "文件" #: src/audacious/ui_manager.c:381 msgid "Help" -msgstr "" +msgstr "帮助" #: src/audacious/ui_manager.c:383 #, fuzzy msgid "Plugin Services" -msgstr "插件" +msgstr "插件服务" #: src/audacious/ui_manager.c:385 src/audacious/ui_manager.c:388 msgid "View Track Details" -msgstr "查看音轨信息" +msgstr "查看音轨详细信息" #: src/audacious/ui_manager.c:386 src/audacious/ui_manager.c:389 msgid "View track details" -msgstr "查看音轨信息" +msgstr "查看音轨详细信息" #: src/audacious/ui_manager.c:394 msgid "Play File" @@ -1753,164 +1836,169 @@ #: src/audacious/ui_manager.c:400 #, fuzzy -msgid "Plugin services" -msgstr "插件" - -#: src/audacious/ui_manager.c:402 +msgid "Last.fm radio" +msgstr "Last.fm 广播" + +#: src/audacious/ui_manager.c:401 +#, fuzzy +msgid "Play Last.fm radio" +msgstr "Last.fm 广播" + +#: src/audacious/ui_manager.c:405 msgid "Preferences" msgstr "首选项" -#: src/audacious/ui_manager.c:403 -msgid "Open preferences window" -msgstr "打开首选项窗口" - -#: src/audacious/ui_manager.c:405 -msgid "_Quit" -msgstr "退出(_Q)" - #: src/audacious/ui_manager.c:406 +msgid "Open preferences window" +msgstr "打开首选项窗口" + +#: src/audacious/ui_manager.c:408 +msgid "_Quit" +msgstr "退出(_Q)" + +#: src/audacious/ui_manager.c:409 msgid "Quit Audacious" msgstr "退出 Audacious" -#: src/audacious/ui_manager.c:408 src/audacious/ui_manager.c:409 -msgid "Set A-B" -msgstr "设置 A-B" - #: src/audacious/ui_manager.c:411 src/audacious/ui_manager.c:412 -msgid "Clear A-B" -msgstr "清除 A-B" +msgid "Set A-B" +msgstr "设置 A-B" #: src/audacious/ui_manager.c:414 src/audacious/ui_manager.c:415 -msgid "Jump to Playlist Start" -msgstr "跳到列表最前" +msgid "Clear A-B" +msgstr "清除 A-B" #: src/audacious/ui_manager.c:417 src/audacious/ui_manager.c:418 +msgid "Jump to Playlist Start" +msgstr "跳到列表开始处" + +#: src/audacious/ui_manager.c:420 src/audacious/ui_manager.c:421 msgid "Jump to File" msgstr "跳到文件" -#: src/audacious/ui_manager.c:423 +#: src/audacious/ui_manager.c:426 msgid "Queue Toggle" msgstr "队列切换" -#: src/audacious/ui_manager.c:424 +#: src/audacious/ui_manager.c:427 msgid "Enables/disables the entry in the playlist's queue." msgstr "打开/关闭列表队列项目" -#: src/audacious/ui_manager.c:431 +#: src/audacious/ui_manager.c:434 msgid "Load" msgstr "装入" -#: src/audacious/ui_manager.c:432 +#: src/audacious/ui_manager.c:435 msgid "Import" msgstr "导入" -#: src/audacious/ui_manager.c:433 +#: src/audacious/ui_manager.c:436 msgid "Save" msgstr "保存" -#: src/audacious/ui_manager.c:434 +#: src/audacious/ui_manager.c:437 msgid "Delete" msgstr "删除" -#: src/audacious/ui_manager.c:436 src/audacious/ui_manager.c:457 -#: src/audacious/ui_manager.c:472 -msgid "Preset" -msgstr "均衡设置" - -#: src/audacious/ui_manager.c:437 -msgid "Load preset" -msgstr "读取均衡设置" - #: src/audacious/ui_manager.c:439 src/audacious/ui_manager.c:460 #: src/audacious/ui_manager.c:475 -msgid "Auto-load preset" -msgstr "自动装入均衡设置" +msgid "Preset" +msgstr "均衡设置" #: src/audacious/ui_manager.c:440 -msgid "Load auto-load preset" -msgstr "读取自动装入均衡设置" +msgid "Load preset" +msgstr "读取均衡设置" #: src/audacious/ui_manager.c:442 src/audacious/ui_manager.c:463 -msgid "Default" -msgstr "默认" +#: src/audacious/ui_manager.c:478 +msgid "Auto-load preset" +msgstr "自动载入均衡设置" #: src/audacious/ui_manager.c:443 -msgid "Load default preset into equalizer" -msgstr "读取默认均衡设置到均衡器" - -#: src/audacious/ui_manager.c:445 -msgid "Zero" -msgstr "无增益调节" +msgid "Load auto-load preset" +msgstr "载入自动装载的均衡设置" + +#: src/audacious/ui_manager.c:445 src/audacious/ui_manager.c:466 +msgid "Default" +msgstr "默认" #: src/audacious/ui_manager.c:446 -msgid "Set equalizer preset levels to zero" -msgstr "设置均衡器均衡设置为无增益调节" +msgid "Load default preset into equalizer" +msgstr "读取默认均衡设置到均衡器" #: src/audacious/ui_manager.c:448 +msgid "Zero" +msgstr "无增益调节" + +#: src/audacious/ui_manager.c:449 +msgid "Set equalizer preset levels to zero" +msgstr "设置均衡器均衡设置为无增益调节" + +#: src/audacious/ui_manager.c:451 msgid "From file" msgstr "从文件" -#: src/audacious/ui_manager.c:449 +#: src/audacious/ui_manager.c:452 msgid "Load preset from file" msgstr "从文件读取均衡设置" -#: src/audacious/ui_manager.c:451 +#: src/audacious/ui_manager.c:454 msgid "From WinAMP EQF file" msgstr "从 WinAMP EQF 文件" -#: src/audacious/ui_manager.c:452 -msgid "Load preset from WinAMP EQF file" -msgstr "从 WinAMP EQF 文件读取均衡设置" - -#: src/audacious/ui_manager.c:454 -msgid "WinAMP Presets" -msgstr "WinAMP 均衡设置" - #: src/audacious/ui_manager.c:455 -msgid "Import WinAMP presets" -msgstr "导入 WinAMP 预设均衡设置" +msgid "Load preset from WinAMP EQF file" +msgstr "从 WinAMP EQF 文件读取均衡设置" + +#: src/audacious/ui_manager.c:457 +msgid "WinAMP Presets" +msgstr "WinAMP 均衡设置" #: src/audacious/ui_manager.c:458 +msgid "Import WinAMP presets" +msgstr "导入 WinAMP 预设均衡设置" + +#: src/audacious/ui_manager.c:461 msgid "Save preset" msgstr "保存均衡设置" -#: src/audacious/ui_manager.c:461 +#: src/audacious/ui_manager.c:464 msgid "Save auto-load preset" msgstr "保存自动读取均衡设置" -#: src/audacious/ui_manager.c:464 +#: src/audacious/ui_manager.c:467 msgid "Save default preset" msgstr "保存默认均衡设置" -#: src/audacious/ui_manager.c:466 +#: src/audacious/ui_manager.c:469 msgid "To file" msgstr "到文件" -#: src/audacious/ui_manager.c:467 +#: src/audacious/ui_manager.c:470 msgid "Save preset to file" msgstr "保存均衡设置到文件" -#: src/audacious/ui_manager.c:469 +#: src/audacious/ui_manager.c:472 msgid "To WinAMP EQF file" msgstr "到 WinAMP EQF 文件" -#: src/audacious/ui_manager.c:470 +#: src/audacious/ui_manager.c:473 msgid "Save preset to WinAMP EQF file" msgstr "保存均衡设置到 WinAMP EQF 文件" -#: src/audacious/ui_manager.c:473 +#: src/audacious/ui_manager.c:476 msgid "Delete preset" msgstr "删除均衡设置" -#: src/audacious/ui_manager.c:476 +#: src/audacious/ui_manager.c:479 msgid "Delete auto-load preset" msgstr "删除自动读取均衡设置" -#: src/audacious/ui_playlist.c:477 +#: src/audacious/ui_playlist.c:476 msgid "Search entries in active playlist" msgstr "在当前列表中搜索条目" -#: src/audacious/ui_playlist.c:485 +#: src/audacious/ui_playlist.c:484 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 " @@ -1920,47 +2008,47 @@ "填写一个或多个域来在列表中选择项目。 域中可以使用正规表达式。如果你不知道如何" "使用正规表达式。只要输入你想搜索的文字一部分就可以了。" -#: src/audacious/ui_playlist.c:493 +#: src/audacious/ui_playlist.c:492 #, fuzzy msgid "Title: " msgstr "标题" -#: src/audacious/ui_playlist.c:500 +#: src/audacious/ui_playlist.c:499 #, fuzzy msgid "Album: " msgstr "专辑" -#: src/audacious/ui_playlist.c:507 +#: src/audacious/ui_playlist.c:506 msgid "Artist: " msgstr "艺术家:" -#: src/audacious/ui_playlist.c:514 +#: src/audacious/ui_playlist.c:513 msgid "Filename: " msgstr "文件名:" -#: src/audacious/ui_playlist.c:522 +#: src/audacious/ui_playlist.c:521 msgid "Clear previous selection before searching" msgstr "在搜索前清除以前的选择" -#: src/audacious/ui_playlist.c:525 +#: src/audacious/ui_playlist.c:524 msgid "Automatically toggle queue for matching entries" msgstr "搜索结果自动排序" -#: src/audacious/ui_playlist.c:528 +#: src/audacious/ui_playlist.c:527 msgid "Create a new playlist with matching entries" msgstr "将搜索结果建立为新的播放列表" -#: src/audacious/ui_playlist.c:748 +#: src/audacious/ui_playlist.c:747 #, c-format msgid "Error writing playlist \"%s\": %s" msgstr "写入播放列表“%s”:%s 出错" -#: src/audacious/ui_playlist.c:770 +#: src/audacious/ui_playlist.c:769 #, c-format msgid "%s already exist. Continue?" msgstr "%s 已经存在。继续吗?" -#: src/audacious/ui_playlist.c:785 +#: src/audacious/ui_playlist.c:784 #, c-format msgid "" "Unable to save playlist.\n" @@ -1970,89 +2058,82 @@ "无法保存播放列表!\n" "未知文件类型 %s\n" -#: src/audacious/ui_playlist.c:911 +#: src/audacious/ui_playlist.c:907 #, fuzzy msgid "Save as Static Playlist" -msgstr "保存播放列表" - -#: src/audacious/ui_playlist.c:918 +msgstr "保存为静态播放列表" + +#: src/audacious/ui_playlist.c:914 msgid "Use Relative Path" -msgstr "" - -#: src/audacious/ui_playlist.c:940 +msgstr "使用相对路径" + +#: src/audacious/ui_playlist.c:936 msgid "Load Playlist" -msgstr "装入播放列表" - -#: src/audacious/ui_playlist.c:953 +msgstr "载入播放列表" + +#: src/audacious/ui_playlist.c:949 msgid "Save Playlist" msgstr "保存播放列表" -#: src/audacious/ui_playlist.c:1508 +#: src/audacious/ui_playlist.c:1500 msgid "Audacious Playlist Editor" msgstr "Audacious 播放列表编辑器" -#: src/audacious/ui_playlist_manager.c:363 +#: src/audacious/ui_playlist_manager.c:255 msgid "Playlist Manager" msgstr "列表管理器" -#: src/audacious/ui_playlist_manager.c:409 +#: src/audacious/ui_playlist_manager.c:294 msgid "Entries" msgstr "条目" -#: src/audacious/ui_playlist_manager.c:424 +#: src/audacious/ui_playlist_manager.c:306 msgid "_Rename" -msgstr "文件名(_R)" +msgstr "重命名(_R)" + +#: src/audacious/ui_preferences.c:111 +msgid "Audio" +msgstr "音频" #: src/audacious/ui_preferences.c:112 -msgid "Audio" -msgstr "音频" - -#: src/audacious/ui_preferences.c:113 msgid "Connectivity" msgstr "连接" -#: src/audacious/ui_preferences.c:126 +#: src/audacious/ui_preferences.c:125 msgid "Tracknumber" msgstr "音轨编号" -#: src/audacious/ui_preferences.c:129 +#: src/audacious/ui_preferences.c:128 msgid "Filepath" msgstr "文件路径" -#: src/audacious/ui_preferences.c:130 +#: src/audacious/ui_preferences.c:129 msgid "Date" msgstr "日期" -#: src/audacious/ui_preferences.c:132 +#: src/audacious/ui_preferences.c:131 msgid "Comment" msgstr "备注" -#: src/audacious/ui_preferences.c:133 -msgid "Codec" -msgstr "" - -#: src/audacious/ui_preferences.c:134 -#, fuzzy -msgid "Quality" -msgstr "退出(_Q)" - -#: src/audacious/ui_preferences.c:155 +#: src/audacious/ui_preferences.c:152 msgid "localhost" -msgstr "本地 (localhost)" - -#: src/audacious/ui_preferences.c:390 +msgstr "本地主机 (localhost)" + +#: src/audacious/ui_preferences.c:396 src/audacious/ui_preferences.c:483 +#: src/audacious/ui_preferences.c:572 src/audacious/ui_preferences.c:668 msgid "Enabled" msgstr "启用" -#: src/audacious/ui_preferences.c:406 +#: src/audacious/ui_preferences.c:412 src/audacious/ui_preferences.c:499 +#: src/audacious/ui_preferences.c:588 src/audacious/ui_preferences.c:684 msgid "Description" msgstr "描述" -#: src/audacious/ui_preferences.c:1395 +#: src/audacious/ui_preferences.c:1684 msgid "Category" -msgstr "项目" - -#: src/audacious/ui_preferences.c:1963 +msgstr "种类" + +#: src/audacious/ui_preferences.c:2231 msgid "Preferences Window" msgstr "首选项窗口" @@ -2112,61 +2193,6 @@ msgid "Add/Open URL Dialog" msgstr "打开/添加 URL 对话框" -#~ msgid "Show window manager decorations" -#~ msgstr "显示窗口管理器装饰" - -#, fuzzy -#~ msgid "Artist: %s" -#~ msgstr "艺术家" - -#, fuzzy -#~ msgid "Title: %s" -#~ msgstr "标题" - -#, fuzzy -#~ msgid "Album: %s" -#~ msgstr "唱片" - -#, fuzzy -#~ msgid "Audacious last.fm radio tuner" -#~ msgstr "Audacious 播放列表编辑器" - -#, fuzzy -#~ msgid "Station:" -#~ msgstr "意大利语:" - -#, fuzzy -#~ msgid "Artist:" -#~ msgstr "艺术家" - -#, fuzzy -#~ msgid "Title:" -#~ msgstr "标题" - -#, fuzzy -#~ msgid "Album:" -#~ msgstr "唱片" - -#~ msgid "VOLUME: %d%%" -#~ msgstr "音量:%d%%" - -#~ msgid "BALANCE: %d%% LEFT" -#~ msgstr "平衡:%d%% 左" - -#~ msgid "BALANCE: CENTER" -#~ msgstr "平衡:中心" - -#~ msgid "BALANCE: %d%% RIGHT" -#~ msgstr "平衡:%d%% 右" - -#, fuzzy -#~ msgid "Last.fm radio" -#~ msgstr "播放位置" - -#, fuzzy -#~ msgid "Play Last.fm radio" -#~ msgstr "播放位置" - #~ msgid "Converter Type:" #~ msgstr "转换器类型:" diff -r 4f6c614aee5d -r de76dbec8e1e po/zh_TW.po --- a/po/zh_TW.po Wed Oct 24 10:41:53 2007 +0300 +++ b/po/zh_TW.po Fri Nov 16 05:36:42 2007 +0200 @@ -518,6 +518,15 @@ msgid "Enable Sampling Rate Converter" msgstr "取樣率:" +#: src/audacious/glade/prefswin.glade:4338 +msgid "" +"Best Sinc Interpolation\n" +"Medium Sinc Interpolation\n" +"Fastest Sinc Interpolation\n" +"ZOH Interpolation\n" +"Linear Interpolation" +msgstr "" + #: src/audacious/glade/prefswin.glade:4361 msgid "Interpolation Engine:" msgstr "" diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/Makefile --- a/src/audacious/Makefile Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/Makefile Fri Nov 16 05:36:42 2007 +0200 @@ -25,7 +25,6 @@ input.c \ logger.c \ main.c \ - memorypool.c \ mime.c \ output.c \ pixbuf_effects.c \ diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/dbus-service.h --- a/src/audacious/dbus-service.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/dbus-service.h Fri Nov 16 05:36:42 2007 +0200 @@ -111,8 +111,7 @@ /* Legacy API */ // Audacious General Information -gboolean audacious_rc_version(RemoteObject *obj, gchar **version, - GError **error); +gboolean audacious_rc_version(RemoteObject *obj, gchar **version, GError **error); gboolean audacious_rc_quit(RemoteObject *obj, GError **error); gboolean audacious_rc_eject(RemoteObject *obj, GError **error); gboolean audacious_rc_main_win_visible(RemoteObject *obj, @@ -183,4 +182,36 @@ gboolean audacious_rc_shuffle(RemoteObject *obj, gboolean *is_shuffle, GError **error); gboolean audacious_rc_toggle_shuffle(RemoteObject *obj, GError **error); + +/* new */ +gboolean audacious_rc_show_prefs_box(RemoteObject *obj, gboolean show, GError **error); +gboolean audacious_rc_show_about_box(RemoteObject *obj, gboolean show, GError **error); +gboolean audacious_rc_show_jtf_box(RemoteObject *obj, gboolean show, GError **error); +gboolean audacious_rc_show_filebrowser(RemoteObject *obj, gboolean show, GError **error); //new Nov 8 +gboolean audacious_rc_play_pause(RemoteObject *obj, GError **error); +gboolean audacious_rc_activate(RemoteObject *obj, GError **error); +gboolean audacious_rc_queue_get_list_pos(RemoteObject *obj, gint qpos, gint *pos, GError **error); +gboolean audacious_rc_queue_get_queue_pos(RemoteObject *obj, gint pos, gint *qpos, GError **error); +gboolean audacious_rc_get_skin(RemoteObject *obj, gchar **skin, GError **error); +gboolean audacious_rc_set_skin(RemoteObject *obj, gchar *skin, GError **error); +gboolean audacious_rc_get_info(RemoteObject *obj, gint *rate, gint *freq, gint *nch, GError **error); +gboolean audacious_rc_toggle_aot(RemoteObject *obj, gboolean ontop, GError **error); +gboolean audacious_rc_get_playqueue_length(RemoteObject *obj, gint *length, GError **error); +gboolean audacious_rc_playqueue_add(RemoteObject *obj, gint pos, GError **error); +gboolean audacious_rc_playqueue_remove(RemoteObject *obj, gint pos, GError **error); +gboolean audacious_rc_playqueue_clear(RemoteObject *obj, GError **error); +gboolean audacious_rc_playqueue_is_queued(RemoteObject *obj, gint pos, gboolean *is_queued, GError **error); +gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint pos, GError **error); +gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, gchar *url, GError **error); +gboolean audacious_rc_playlist_add(RemoteObject *obj, gpointer list, GError **error); + +/* new on nov 7 */ +gboolean audacious_rc_get_eq(RemoteObject *obj, gdouble *preamp, GArray **bands, GError **error); +gboolean audacious_rc_get_eq_preamp(RemoteObject *obj, gdouble *preamp, GError **error); +gboolean audacious_rc_get_eq_band(RemoteObject *obj, gint band, gdouble *value, GError **error); +gboolean audacious_rc_set_eq(RemoteObject *obj, gdouble preamp, GArray *bands, GError **error); +gboolean audacious_rc_set_eq_preamp(RemoteObject *obj, gdouble preamp, GError **error); +gboolean audacious_rc_set_eq_band(RemoteObject *obj, gint band, gdouble value, GError **error); +gboolean audacious_rc_equalizer_activate(RemoteObject *obj, gboolean active, GError **error); + #endif // !_DBUS_SERVICE_H diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/dbus.c --- a/src/audacious/dbus.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/dbus.c Fri Nov 16 05:36:42 2007 +0200 @@ -23,7 +23,10 @@ #endif #include +#include +#include #include +#include #include "dbus.h" #include "dbus-service.h" #include "dbus-server-bindings.h" @@ -37,10 +40,12 @@ #include "playlist.h" #include "ui_playlist.h" #include "ui_preferences.h" -#include "memorypool.h" #include "tuple.h" #include "ui_jumptotrack.h" #include "strings.h" +#include "ui_credits.h" +#include "skin.h" +#include "ui_fileopener.h" static DBusGConnection *dbus_conn = NULL; static guint signals[LAST_SIG] = { 0 }; @@ -159,6 +164,7 @@ void init_dbus() { GError *error = NULL; + DBusConnection *local_conn; // Initialize the DBus connection dbus_conn = dbus_g_bus_get(DBUS_BUS_SESSION, &error); if (dbus_conn == NULL) { @@ -173,6 +179,9 @@ mpris = g_object_new(mpris_player_get_type(), NULL); g_object_new(mpris_tracklist_get_type(), NULL); g_message("D-Bus support has been activated"); + + local_conn = dbus_g_connection_get_connection(dbus_conn); + dbus_connection_set_exit_on_disconnect(local_conn, FALSE); } GValue *tuple_value_to_gvalue(Tuple *tuple, const gchar *key) { @@ -484,8 +493,7 @@ } // Audacious General Information -gboolean audacious_rc_version(RemoteObject *obj, gchar **version, - GError **error) { +gboolean audacious_rc_version(RemoteObject *obj, gchar **version, GError **error) { *version = g_strdup(VERSION); return TRUE; } @@ -792,6 +800,229 @@ return TRUE; } +/* New on Oct 5 */ +gboolean audacious_rc_show_prefs_box(RemoteObject *obj, gboolean show, GError **error) { + if (has_x11_connection) { + if (show) + show_prefs_window(); + else + hide_prefs_window(); + } + return TRUE; +} +gboolean audacious_rc_show_about_box(RemoteObject *obj, gboolean show, GError **error) { + if (has_x11_connection) { + if (show) + show_about_window(); + else + hide_about_window(); + } + return TRUE; +} + +gboolean audacious_rc_show_jtf_box(RemoteObject *obj, gboolean show, GError **error) { + if (has_x11_connection) { + if (show) + ui_jump_to_track(); + else + ui_jump_to_track_hide(); + } + return TRUE; +} + +gboolean audacious_rc_show_filebrowser(RemoteObject *obj, gboolean show, GError **error) +{ + if (has_x11_connection) { + if (show) + run_filebrowser(FALSE); + else + hide_filebrowser(); + } + return TRUE; +} + +gboolean audacious_rc_play_pause(RemoteObject *obj, GError **error) { + if (playback_get_playing()) + playback_pause(); + else + playback_initiate(); + return TRUE; +} + +gboolean audacious_rc_activate(RemoteObject *obj, GError **error) { + gtk_window_present(GTK_WINDOW(mainwin)); + return TRUE; +} + +gboolean audacious_rc_get_skin(RemoteObject *obj, gchar **skin, GError **error) { + *skin = g_strdup(bmp_active_skin->path); + return TRUE; +} + +gboolean audacious_rc_set_skin(RemoteObject *obj, gchar *skin, GError **error) { + if (has_x11_connection == TRUE) + bmp_active_skin_load(skin); + return TRUE; +} + +gboolean audacious_rc_get_info(RemoteObject *obj, gint *rate, gint *freq, gint *nch, GError **error) { + playback_get_sample_params(rate, freq, nch); + return TRUE; +} + +gboolean audacious_rc_toggle_aot(RemoteObject *obj, gboolean ontop, GError **error) { + if (has_x11_connection) { + mainwin_set_always_on_top(ontop); + } + return TRUE; +} + +/* New on Oct 9: Queue */ +gboolean audacious_rc_playqueue_add(RemoteObject *obj, gint pos, GError **error) { + if (pos < (guint)playlist_get_length(playlist_get_active())) + playlist_queue_position(playlist_get_active(), pos); + return TRUE; +} + +gboolean audacious_rc_playqueue_remove(RemoteObject *obj, gint pos, GError **error) { + if (pos < (guint)playlist_get_length(playlist_get_active())) + playlist_queue_remove(playlist_get_active(), pos); + return TRUE; +} + +gboolean audacious_rc_playqueue_clear(RemoteObject *obj, GError **error) { + playlist_clear_queue(playlist_get_active()); + return TRUE; +} + +gboolean audacious_rc_get_playqueue_length(RemoteObject *obj, gint *length, GError **error) { + *length = playlist_queue_get_length(playlist_get_active()); + return TRUE; +} + +gboolean audacious_rc_queue_get_list_pos(RemoteObject *obj, gint qpos, gint *pos, GError **error) { + if (playback_get_playing()) + *pos = playlist_get_queue_qposition_number(playlist_get_active(), qpos); + + return TRUE; +} + +gboolean audacious_rc_queue_get_queue_pos(RemoteObject *obj, gint pos, gint *qpos, GError **error) { + if (playback_get_playing()) + *qpos = playlist_get_queue_position_number(playlist_get_active(), pos); + + return TRUE; +} + +gboolean audacious_rc_playqueue_is_queued(RemoteObject *obj, gint pos, gboolean *is_queued, GError **error) { + *is_queued = playlist_is_position_queued(playlist_get_active(), pos); + return TRUE; +} + +gboolean audacious_rc_playlist_ins_url_string(RemoteObject *obj, gchar *url, gint pos, GError **error) { + if (pos >= 0 && url && strlen(url)) { + playlist_ins_url(playlist_get_active(), url, pos); + } + return TRUE; +} + +static void call_playlist_add_url(GList *list, gpointer *data) { + playlist_add_url(playlist_get_active(), list->data); +} + +gboolean audacious_rc_playlist_add(RemoteObject *obj, gpointer list, GError **error) { + g_list_foreach((GList *)list, (GFunc)call_playlist_add_url, NULL); + return TRUE; +} + +gboolean audacious_rc_playlist_enqueue_to_temp(RemoteObject *obj, gchar *url, GError **error) { + GList *playlists = NULL; + Playlist *new_pl = playlist_new(); + gchar *pl_name = NULL; + + pl_name = (gchar*)playlist_get_current_name(new_pl); + if(!pl_name) + pl_name = g_strdup("New Playlist"); + playlist_set_current_name(new_pl, pl_name); + g_free(pl_name); + + playlists = playlist_get_playlists(); + playlist_add_playlist(new_pl); + +// DISABLE_MANAGER_UPDATE(); + playlist_select_playlist(new_pl); +// ENABLE_MANAGER_UPDATE(); + + playlist_add_url(new_pl, url); + + return TRUE; +} + +/* New on Nov 7: Equalizer */ +gboolean audacious_rc_get_eq(RemoteObject *obj, gdouble *preamp, GArray **bands, GError **error) +{ + int i; + + *preamp = (gdouble)equalizerwin_get_preamp(); + *bands = g_array_sized_new(FALSE, FALSE, sizeof(gdouble), 10); + + for(i=0; i<10; i++){ + gdouble val = (gdouble)equalizerwin_get_band(i); + g_array_append_val(*bands, val); + } + + return TRUE; +} + +gboolean audacious_rc_get_eq_preamp(RemoteObject *obj, gdouble *preamp, GError **error) +{ + *preamp = (gdouble)equalizerwin_get_preamp(); + return TRUE; +} + +gboolean audacious_rc_get_eq_band(RemoteObject *obj, gint band, gdouble *value, GError **error) +{ + *value = (gdouble)equalizerwin_get_band(band); + return TRUE; +} + +gboolean audacious_rc_set_eq(RemoteObject *obj, gdouble preamp, GArray *bands, GError **error) +{ + gdouble element; + int i; + + equalizerwin_set_preamp((gfloat)preamp); + + for (i = 0; i < 10; i++) { + element = g_array_index(bands, gdouble, i); + equalizerwin_set_band(i, (gfloat)element); + } + equalizerwin_eq_changed(); + + return TRUE; +} + +gboolean audacious_rc_set_eq_preamp(RemoteObject *obj, gdouble preamp, GError **error) +{ + equalizerwin_set_preamp((gfloat)preamp); + equalizerwin_eq_changed(); + return TRUE; +} + +gboolean audacious_rc_set_eq_band(RemoteObject *obj, gint band, gdouble value, GError **error) +{ + equalizerwin_set_band(band, (gfloat)value); + equalizerwin_eq_changed(); + return TRUE; +} + +gboolean audacious_rc_equalizer_activate(RemoteObject *obj, gboolean active, GError **error) +{ + equalizer_activate(active); + return TRUE; +} + + DBusGProxy *audacious_get_dbus_proxy(void) { DBusGConnection *connection = NULL; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/glade/prefswin.glade --- a/src/audacious/glade/prefswin.glade Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/glade/prefswin.glade Fri Nov 16 05:36:42 2007 +0200 @@ -4698,7 +4698,6 @@ - True True True GTK_RELIEF_NORMAL diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/main.c --- a/src/audacious/main.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/main.c Fri Nov 16 05:36:42 2007 +0200 @@ -1081,6 +1081,13 @@ {NULL}, }; +static gboolean +aud_start_playback(gpointer unused) +{ + drct_play(); + return FALSE; +} + static void handle_cmd_line_options(BmpCmdLineOpt * options, gboolean remote) @@ -1088,6 +1095,9 @@ gchar **filenames = options->filenames; #ifdef USE_DBUS DBusGProxy *session = audacious_get_dbus_proxy(); + gboolean is_running = audacious_remote_is_running(session); +#else + gboolean is_running = FALSE; #endif if (options->version) @@ -1097,65 +1107,74 @@ } #ifdef USE_DBUS - if (filenames != NULL) + if (is_running) { - gint pos = 0; - gint i = 0; - GList *fns = NULL; - - for (i = 0; filenames[i] != NULL; i++) + if (filenames != NULL) { - gchar *filename; - gchar *current_dir = g_get_current_dir(); + gint pos = 0; + gint i = 0; + GList *fns = NULL; - if (filenames[i][0] == '/' || strstr(filenames[i], "://")) - filename = g_strdup(filenames[i]); - else - filename = g_build_filename(current_dir, filenames[i], NULL); - - fns = g_list_prepend(fns, filename); + for (i = 0; filenames[i] != NULL; i++) + { + gchar *filename; + gchar *current_dir = g_get_current_dir(); - g_free(current_dir); - } - - fns = g_list_reverse(fns); + if (!strstr(filenames[i], "://")) + { + if (filenames[i][0] == '/') + filename = g_strdup_printf("file:///%s", filenames[i]); + else + filename = g_strdup_printf("file:///%s/%s", current_dir, filenames[i]); + } + else + filename = g_strdup(filenames[i]); - if (options->load_skins) - { - audacious_remote_set_skin(session, filenames[0]); - skin_install_skin(filenames[0]); - } - else - { - if (options->enqueue_to_temp) - audacious_remote_playlist_enqueue_to_temp(session, filenames[0]); + fns = g_list_prepend(fns, filename); - if (options->enqueue && options->play) - pos = audacious_remote_get_playlist_length(session); - - if (!options->enqueue) - { - audacious_remote_playlist_clear(session); - audacious_remote_stop(session); + g_free(current_dir); } - audacious_remote_playlist_add(session, fns); + fns = g_list_reverse(fns); - if (options->enqueue && options->play && - audacious_remote_get_playlist_length(session) > pos) - audacious_remote_set_playlist_pos(session, pos); + if (options->load_skins) + { + audacious_remote_set_skin(session, filenames[0]); + skin_install_skin(filenames[0]); + } + else + { + GList *i; + + if (options->enqueue_to_temp) + audacious_remote_playlist_enqueue_to_temp(session, filenames[0]); + + if (options->enqueue && options->play) + pos = audacious_remote_get_playlist_length(session); - if (!options->enqueue) - audacious_remote_play(session); - } + if (!options->enqueue) + { + audacious_remote_playlist_clear(session); + audacious_remote_stop(session); + } + + for (i = fns; i != NULL; i = i->next) + audacious_remote_playlist_add_url_string(session, i->data); - g_list_foreach(fns, (GFunc) g_free, NULL); - g_list_free(fns); + if (options->enqueue && options->play && + audacious_remote_get_playlist_length(session) > pos) + audacious_remote_set_playlist_pos(session, pos); - g_strfreev(filenames); - } /* filename */ + if (!options->enqueue) + audacious_remote_play(session); + } - if (remote) { + g_list_foreach(fns, (GFunc) g_free, NULL); + g_list_free(fns); + + g_strfreev(filenames); + } /* filename */ + if (options->rew) audacious_remote_playlist_prev(session); @@ -1182,7 +1201,69 @@ if (options->activate) audacious_remote_activate(session); - } else { + + exit(EXIT_SUCCESS); + } + else +#endif + { + if (filenames != NULL) + { + gint pos = 0; + gint i = 0; + GList *fns = NULL; + + for (i = 0; filenames[i] != NULL; i++) + { + gchar *filename; + gchar *current_dir = g_get_current_dir(); + + if (!strstr(filenames[i], "://")) + { + if (filenames[i][0] == '/') + filename = g_strdup_printf("file:///%s", filenames[i]); + else + filename = g_strdup_printf("file:///%s/%s", current_dir, filenames[i]); + } + else + filename = g_strdup(filenames[i]); + + fns = g_list_prepend(fns, filename); + + g_free(current_dir); + } + + fns = g_list_reverse(fns); + + { + if (options->enqueue_to_temp) + drct_pl_enqueue_to_temp(filenames[0]); + + if (options->enqueue && options->play) + pos = drct_pl_get_length(); + + if (!options->enqueue) + { + drct_pl_clear(); + drct_stop(); + } + + drct_pl_add(fns); + + if (options->enqueue && options->play && + drct_pl_get_length() > pos) + drct_pl_set_pos(pos); + + if (!options->enqueue) + g_idle_add(aud_start_playback, NULL); + } + + g_list_foreach(fns, (GFunc) g_free, NULL); + g_list_free(fns); + + g_strfreev(filenames); + } /* filename */ + if (options->rew) drct_pl_prev(); @@ -1214,13 +1295,6 @@ if (options->activate) drct_activate(); } - - if(remote) { - gboolean is_running = audacious_remote_is_running(session); - if (is_running) - exit(EXIT_SUCCESS); - } -#endif } static void @@ -1385,11 +1459,6 @@ bmp_config_load(); - handle_cmd_line_options(&options, TRUE); - -#ifdef USE_DBUS - init_dbus(); -#endif mowgli_init(); if (options.headless != 1) @@ -1405,6 +1474,15 @@ /* Initialize the playlist system. */ playlist_init(); + playlist = playlist_get_active(); + playlist_load(playlist, bmp_paths[BMP_PATH_PLAYLIST_FILE]); + playlist_set_position(playlist, cfg.playlist_position); + + handle_cmd_line_options(&options, TRUE); + +#ifdef USE_DBUS + init_dbus(); +#endif if (options.headless != 1) { @@ -1426,11 +1504,6 @@ GDK_THREADS_ENTER(); } - /* Load the default playlist in. */ - playlist = playlist_get_active(); - playlist_load(playlist, bmp_paths[BMP_PATH_PLAYLIST_FILE]); - playlist_set_position(playlist, cfg.playlist_position); - /* Load extra playlists */ if(!dir_foreach(bmp_paths[BMP_PATH_PLAYLISTS_DIR], load_extra_playlist, playlist, NULL)) { diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/memorypool.c --- a/src/audacious/memorypool.c Wed Oct 24 10:41:53 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -/* Audacious - * Copyright (c) 2007 William Pitcock - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; under version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * The Audacious team does not consider modular code linking to - * Audacious or using our public API to be a derived work. - */ - -#include -#include -#include - -#include "util.h" -#include "memorypool.h" - -/* visibility of this object is not available to the outside */ -struct _MemoryPool { - GList *stack; - GDestroyNotify notify; - GMutex *mutex; -}; - -MemoryPool * -memory_pool_new(void) -{ - MemoryPool *pool; - - pool = g_new0(MemoryPool, 1); - pool->notify = g_free; - pool->mutex = g_mutex_new(); - - return pool; -} - -MemoryPool * -memory_pool_with_custom_destructor(GDestroyNotify notify) -{ - MemoryPool *pool; - - pool = g_new0(MemoryPool, 1); - pool->notify = notify; - pool->mutex = g_mutex_new(); - - return pool; -} - -gpointer -memory_pool_add(MemoryPool * pool, gpointer ptr) -{ - g_mutex_lock(pool->mutex); - pool->stack = g_list_append(pool->stack, ptr); - g_mutex_unlock(pool->mutex); - - return ptr; -} - -gpointer -memory_pool_allocate(MemoryPool * pool, gsize sz) -{ - gpointer addr; - - g_mutex_lock(pool->mutex); - addr = g_malloc0(sz); - pool->stack = g_list_append(pool->stack, addr); - g_mutex_unlock(pool->mutex); - - return addr; -} - -void -memory_pool_release(MemoryPool * pool, gpointer addr) -{ - g_mutex_lock(pool->mutex); - - pool->stack = g_list_remove(pool->stack, addr); - pool->notify(addr); - - g_mutex_unlock(pool->mutex); -} - -static void -memory_pool_cleanup_nolock(MemoryPool * pool) -{ - GList *iter; - - for (iter = pool->stack; iter != NULL; iter = g_list_next(iter)) - { - pool->stack = g_list_delete_link(pool->stack, iter); - g_warning("MemoryPool<%p> element at %p was not released until cleanup!", pool, iter->data); - pool->notify(iter->data); - } -} - -void -memory_pool_cleanup(MemoryPool * pool) -{ - g_mutex_lock(pool->mutex); - memory_pool_cleanup_nolock(pool); - g_mutex_unlock(pool->mutex); -} - -void -memory_pool_destroy(MemoryPool * pool) -{ - g_mutex_lock(pool->mutex); - memory_pool_cleanup_nolock(pool); - g_mutex_unlock(pool->mutex); - - g_mutex_free(pool->mutex); - g_free(pool); -} - -gchar * -memory_pool_strdup(MemoryPool * pool, gchar * src) -{ - gchar *out; - gsize sz = strlen(src) + 1; - - out = memory_pool_allocate(pool, sz); - g_strlcpy(out, src, sz); - - return out; -} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/memorypool.h --- a/src/audacious/memorypool.h Wed Oct 24 10:41:53 2007 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* Audacious - * Copyright (c) 2007 William Pitcock - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; under version 3 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * The Audacious team does not consider modular code linking to - * Audacious or using our public API to be a derived work. - */ - -#ifndef AUDACIOUS_MEMORYPOOL_H -#define AUDACIOUS_MEMORYPOOL_H - -typedef struct _MemoryPool MemoryPool; - -MemoryPool * memory_pool_new(void); -MemoryPool * memory_pool_with_custom_destructor(GDestroyNotify notify); - -gpointer memory_pool_add(MemoryPool * pool, gpointer ptr); -gpointer memory_pool_allocate(MemoryPool * pool, gsize sz); -void memory_pool_release(MemoryPool * pool, gpointer addr); - -void memory_pool_cleanup(MemoryPool * pool); - -void memory_pool_destroy(MemoryPool * pool); - -gchar * memory_pool_strdup(MemoryPool * pool, gchar * src); - -#define memory_pool_alloc_object(pool, obj) \ - memory_pool_allocate(pool, sizeof(obj)) - -#endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/objects.xml --- a/src/audacious/objects.xml Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/objects.xml Fri Nov 16 05:36:42 2007 +0200 @@ -19,7 +19,7 @@ @@ -358,5 +360,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/playback.c --- a/src/audacious/playback.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/playback.c Fri Nov 16 05:36:42 2007 +0200 @@ -168,7 +168,7 @@ if (playback && playback->plugin->get_song_tuple) { Tuple *tuple = playback->plugin->get_song_tuple(playback->filename); if (tuple_get_value_type(tuple, FIELD_LENGTH, NULL) == TUPLE_INT) - return tuple_get_value_type(tuple, FIELD_LENGTH, NULL); + return tuple_get_int(tuple, FIELD_LENGTH, NULL); } return -1; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/playlist.c --- a/src/audacious/playlist.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/playlist.c Fri Nov 16 05:36:42 2007 +0200 @@ -110,6 +110,8 @@ static gboolean playlist_get_info_going = FALSE; static GThread *playlist_get_info_thread; +extern GHashTable *ext_hash; + static gint path_compare(const gchar * a, const gchar * b); static gint playlist_compare_path(PlaylistEntry * a, PlaylistEntry * b); static gint playlist_compare_filename(PlaylistEntry * a, PlaylistEntry * b); @@ -143,6 +145,8 @@ static void playlist_recalc_total_time(Playlist *); static gboolean playlist_entry_get_info(PlaylistEntry * entry); +static gboolean filter_by_extension(const gchar *filename); + static mowgli_heap_t *playlist_entry_heap = NULL; /* *********************** playlist entry code ********************** */ @@ -451,6 +455,7 @@ playlist->entries = NULL; playlist->tail = NULL; playlist->attribute = PLAYLIST_PLAIN; + playlist->serial = 0; PLAYLIST_UNLOCK(playlist); } @@ -465,6 +470,7 @@ playlist_generate_shuffle_list(playlist); playlistwin_update_list(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); playlist_manager_update(); } @@ -524,6 +530,7 @@ g_list_free_1(node); playlist_recalc_total_time_nolock(playlist); + PLAYLIST_INCR_SERIAL(playlist); } void @@ -549,6 +556,7 @@ PLAYLIST_UNLOCK(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); playlistwin_update_list(playlist); if (restart_playing) { @@ -586,6 +594,7 @@ PLAYLIST_UNLOCK(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); playlistwin_update_list(playlist); if (restart_playing) { @@ -626,6 +635,7 @@ PLAYLIST_UNLOCK(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); if (restart_playing) { if (playlist->position) @@ -658,6 +668,7 @@ playlist_get_info_scan_active = TRUE; g_mutex_unlock(mutex_scan); g_cond_signal(cond_scan); + PLAYLIST_INCR_SERIAL(playlist); } static void @@ -743,13 +754,14 @@ 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) + if (!tuple || (tuple && tuple_get_int(tuple, FIELD_MTIME, NULL) == -1)) { + // kick the scanner thread when tuple == NULL or mtime = -1 (uninitialized) g_mutex_lock(mutex_scan); playlist_get_info_scan_active = TRUE; g_mutex_unlock(mutex_scan); g_cond_signal(cond_scan); } + PLAYLIST_INCR_SERIAL(playlist); } gboolean @@ -772,10 +784,13 @@ return TRUE; } - if (playlist->loading_playlist == TRUE || cfg.playlist_detect == TRUE) - dec = NULL; + if (playlist->loading_playlist == TRUE || cfg.playlist_detect == TRUE) { + dec = NULL; + if(!filter_by_extension(filename)) + return FALSE; + } else if (!str_has_prefix_nocase(filename, "http://") && - !str_has_prefix_nocase(filename, "https://")) { + !str_has_prefix_nocase(filename, "https://")) { pr = input_check_file(filename, TRUE); if (pr) { @@ -788,7 +803,9 @@ if (cfg.playlist_detect == TRUE || playlist->loading_playlist == TRUE || (playlist->loading_playlist == FALSE && dec != NULL) || (playlist->loading_playlist == FALSE && !is_playlist_name(filename) && - str_has_prefix_nocase(filename, "http"))) { + str_has_prefix_nocase(filename, "http"))) { + if(!filter_by_extension(filename)) + return FALSE; __playlist_ins_with_info_tuple(playlist, filename, pos, tuple, dec); playlist_generate_shuffle_list(playlist); playlistwin_update_list(playlist); @@ -948,8 +965,11 @@ g_free(filename); list = g_list_concat(list, sub); } - else if (cfg.playlist_detect == TRUE) - list = g_list_prepend(list, filename); + else if (cfg.playlist_detect == TRUE) { + if(filter_by_extension(filename)) { + list = g_list_prepend(list, filename); + } + } else if ((pr = input_check_file(filename, TRUE)) != NULL) { list = g_list_prepend(list, filename); @@ -985,7 +1005,6 @@ { guint entries; entries = playlist_ins_url(playlist, url, -1); -// printf("playlist_add_url: entries = %d\n", entries); return entries; } @@ -1038,8 +1057,6 @@ g_return_val_if_fail(playlist != NULL, 0); g_return_val_if_fail(string != NULL, 0); -// playlistwin_update_list(playlist); // is this necessary? --yaz - while (*string) { GList *node; guint i = 0; @@ -1081,6 +1098,7 @@ } playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); //probably necessary because there is no underlying __playlist_ins --yaz playlist_generate_shuffle_list(playlist); playlistwin_update_list(playlist); @@ -1145,6 +1163,7 @@ } playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); //tentative --yaz mainwin_set_song_info(rate, freq, nch); @@ -1368,7 +1387,7 @@ playlist_is_position_queued(Playlist *playlist, guint pos) { PlaylistEntry *entry; - GList *tmp; + GList *tmp = NULL; PLAYLIST_LOCK(playlist); entry = g_list_nth_data(playlist->entries, pos); @@ -1683,7 +1702,7 @@ void playlist_load_ins_file(Playlist *playlist, - const gchar * filename_p, + const gchar * filename_p, const gchar * playlist_name, gint pos, const gchar * title, gint len) { @@ -1707,22 +1726,27 @@ *tmp = '\0'; else { if ((playlist->loading_playlist == TRUE || - cfg.playlist_detect == TRUE)) + cfg.playlist_detect == TRUE)) { pr = NULL; + if(!filter_by_extension(filename)) + return; + } else if (!str_has_prefix_nocase(filename, "http://") && !str_has_prefix_nocase(filename, "https://")) pr = input_check_file(filename, FALSE); __playlist_ins_with_info(playlist, filename, pos, title, len, pr ? pr->ip : NULL); - g_free(pr); return; } tmp = g_build_filename(path, filename, NULL); - if (playlist->loading_playlist == TRUE && cfg.playlist_detect == TRUE) - pr = NULL; - else if (!str_has_prefix_nocase(tmp, "http://") && + if (playlist->loading_playlist == TRUE && cfg.playlist_detect == TRUE) { + pr = NULL; + if(!filter_by_extension(filename)) + return; + } + else if (!str_has_prefix_nocase(tmp, "http://") && !str_has_prefix_nocase(tmp, "https://")) pr = input_check_file(tmp, FALSE); @@ -1734,14 +1758,16 @@ else { if ((playlist->loading_playlist == TRUE || - cfg.playlist_detect == TRUE)) + cfg.playlist_detect == TRUE)) { pr = NULL; + if(!filter_by_extension(filename)) + return; + } else if (!str_has_prefix_nocase(filename, "http://") && !str_has_prefix_nocase(filename, "https://")) pr = input_check_file(filename, FALSE); __playlist_ins_with_info(playlist, filename, pos, title, len, pr ? pr->ip : NULL); - g_free(pr); } @@ -1775,25 +1801,30 @@ *tmp = '\0'; else { if ((playlist->loading_playlist == TRUE || - cfg.playlist_detect == TRUE)) + cfg.playlist_detect == TRUE)) { pr = NULL; + if(!filter_by_extension(filename)) + return; + } else if (!str_has_prefix_nocase(filename, "http://") && !str_has_prefix_nocase(filename, "https://")) pr = input_check_file(filename, FALSE); __playlist_ins_with_info_tuple(playlist, filename, pos, tuple, pr ? pr->ip : NULL); - g_free(pr); return; } tmp = g_build_filename(path, filename, NULL); if ((playlist->loading_playlist == TRUE || - cfg.playlist_detect == TRUE)) + cfg.playlist_detect == TRUE)) { pr = NULL; + if(!filter_by_extension(filename)) + return; + } else if (!str_has_prefix_nocase(filename, "http://") && !str_has_prefix_nocase(filename, "https://")) - pr = input_check_file(filename, FALSE); + pr = input_check_file(filename, FALSE); //here! --yaz __playlist_ins_with_info_tuple(playlist, tmp, pos, tuple, pr ? pr->ip : NULL); g_free(tmp); @@ -1803,8 +1834,11 @@ else { if ((playlist->loading_playlist == TRUE || - cfg.playlist_detect == TRUE)) + cfg.playlist_detect == TRUE)) { pr = NULL; + if(!filter_by_extension(filename)) + return; + } else if (!str_has_prefix_nocase(filename, "http://") && !str_has_prefix_nocase(filename, "https://")) pr = input_check_file(filename, FALSE); @@ -1850,6 +1884,9 @@ playlistwin_update_list(playlist); playlist_manager_update(); + playlist_recalc_total_time(playlist); //tentative --yaz + PLAYLIST_INCR_SERIAL(playlist); + return new_len - old_len; } @@ -2613,7 +2650,7 @@ for (node = playlist->entries; node; node = g_list_next(node)) { entry = node->data; - if(playlist->attribute & PLAYLIST_STATIC || + if(playlist->attribute & PLAYLIST_STATIC || // live lock fix (entry->tuple && tuple_get_int(entry->tuple, FIELD_LENGTH, NULL) > -1 && tuple_get_int(entry->tuple, FIELD_MTIME, NULL) != -1)) { update_playlistwin = TRUE; @@ -2658,7 +2695,7 @@ entry = node->data; - if(playlist->attribute & PLAYLIST_STATIC || + if(playlist->attribute & PLAYLIST_STATIC || // live lock fix (entry->tuple && tuple_get_int(entry->tuple, FIELD_LENGTH, NULL) > -1 && tuple_get_int(entry->tuple, FIELD_MTIME, NULL) != -1)) { update_playlistwin = TRUE; @@ -2710,6 +2747,8 @@ g_cond_wait(cond_scan, mutex_scan); g_mutex_unlock(mutex_scan); +// g_print("scanner invoked\n"); + } // while g_thread_exit(NULL); @@ -2793,6 +2832,7 @@ playlist_generate_shuffle_list(playlist); playlistwin_update_list(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); playlist_manager_update(); } @@ -2912,6 +2952,7 @@ playlistwin_update_list(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); playlist_manager_update(); } @@ -2931,7 +2972,6 @@ PLAYLIST_UNLOCK(playlist); } - static void playlist_recalc_total_time_nolock(Playlist *playlist) { @@ -2977,10 +3017,10 @@ gboolean is_first_search = TRUE; gint num_of_entries_found = 0; const gchar *regex_pattern; - const gchar *track_name = tuple_get_string( tuple, FIELD_TITLE, NULL ); - const gchar *album_name = tuple_get_string( tuple, FIELD_ALBUM, NULL ); - const gchar *performer = tuple_get_string( tuple, FIELD_PERFORMER, NULL ); - const gchar *file_name = tuple_get_string( tuple, FIELD_FILE_NAME, NULL ); + const gchar *track_name; + const gchar *album_name; + const gchar *performer; + const gchar *file_name; #if defined(USE_REGEX_ONIGURUMA) /* set encoding for Oniguruma regex to UTF-8 */ @@ -2990,7 +3030,8 @@ PLAYLIST_LOCK(playlist); - if ( (regex_pattern = tuple_get_string(tuple, FIELD_TITLE, NULL)) != NULL ) + if ( (regex_pattern = tuple_get_string(tuple, FIELD_TITLE, NULL)) != NULL && + (*regex_pattern != '\0') ) { /* match by track_name */ regex_t regex; @@ -3006,10 +3047,14 @@ for ( ; entry_list ; entry_list = g_list_next(entry_list) ) { PlaylistEntry *entry = entry_list->data; - if ( ( entry->tuple != NULL ) && ( track_name != NULL ) && - ( regexec( ®ex , track_name , 0 , NULL , 0 ) == 0 ) ) + if ( entry->tuple != NULL ) { - tfound_list = g_list_append( tfound_list , entry ); + track_name = tuple_get_string( entry->tuple, FIELD_TITLE, NULL ); + if (( track_name != NULL ) && + ( regexec( ®ex , track_name , 0 , NULL , 0 ) == 0 ) ) + { + tfound_list = g_list_append( tfound_list , entry ); + } } } g_list_free( found_list ); /* wipe old found_list */ @@ -3019,7 +3064,8 @@ is_first_search = FALSE; } - if ( (regex_pattern = tuple_get_string(tuple, FIELD_ALBUM, NULL)) != NULL ) + if ( (regex_pattern = tuple_get_string(tuple, FIELD_ALBUM, NULL)) != NULL && + (*regex_pattern != '\0') ) { /* match by album_name */ regex_t regex; @@ -3035,10 +3081,14 @@ for ( ; entry_list ; entry_list = g_list_next(entry_list) ) { PlaylistEntry *entry = entry_list->data; - if ( ( entry->tuple != NULL ) && ( album_name != NULL ) && - ( regexec( ®ex , album_name , 0 , NULL , 0 ) == 0 ) ) + if ( entry->tuple != NULL ) { - tfound_list = g_list_append( tfound_list , entry ); + album_name = tuple_get_string( entry->tuple, FIELD_ALBUM, NULL ); + if ( ( album_name != NULL ) && + ( regexec( ®ex , album_name , 0 , NULL , 0 ) == 0 ) ) + { + tfound_list = g_list_append( tfound_list , entry ); + } } } g_list_free( found_list ); /* wipe old found_list */ @@ -3048,7 +3098,8 @@ is_first_search = FALSE; } - if ( (regex_pattern = tuple_get_string(tuple, FIELD_ARTIST, NULL)) != NULL ) + if ( (regex_pattern = tuple_get_string(tuple, FIELD_ARTIST, NULL)) != NULL && + (*regex_pattern != '\0') ) { /* match by performer */ regex_t regex; @@ -3064,10 +3115,14 @@ for ( ; entry_list ; entry_list = g_list_next(entry_list) ) { PlaylistEntry *entry = entry_list->data; - if ( ( entry->tuple != NULL ) && ( performer != NULL ) && - ( regexec( ®ex , performer , 0 , NULL , 0 ) == 0 ) ) + if ( entry->tuple != NULL ) { - tfound_list = g_list_append( tfound_list , entry ); + performer = tuple_get_string( entry->tuple, FIELD_ARTIST, NULL ); + if ( ( entry->tuple != NULL ) && ( performer != NULL ) && + ( regexec( ®ex , performer , 0 , NULL , 0 ) == 0 ) ) + { + tfound_list = g_list_append( tfound_list , entry ); + } } } g_list_free( found_list ); /* wipe old found_list */ @@ -3077,7 +3132,8 @@ is_first_search = FALSE; } - if ( (regex_pattern = tuple_get_string(tuple, FIELD_FILE_NAME, NULL)) != NULL ) + if ( (regex_pattern = tuple_get_string(tuple, FIELD_FILE_NAME, NULL)) != NULL && + (*regex_pattern != '\0') ) { /* match by file_name */ regex_t regex; @@ -3093,10 +3149,14 @@ for ( ; entry_list ; entry_list = g_list_next(entry_list) ) { PlaylistEntry *entry = entry_list->data; - if ( ( entry->tuple != NULL ) && ( file_name != NULL ) && - ( regexec( ®ex , file_name , 0 , NULL , 0 ) == 0 ) ) + if ( entry->tuple != NULL ) { - tfound_list = g_list_append( tfound_list , entry ); + file_name = tuple_get_string( entry->tuple, FIELD_FILE_NAME, NULL ); + if ( ( file_name != NULL ) && + ( regexec( ®ex , file_name , 0 , NULL , 0 ) == 0 ) ) + { + tfound_list = g_list_append( tfound_list , entry ); + } } } g_list_free( found_list ); /* wipe old found_list */ @@ -3120,6 +3180,7 @@ PLAYLIST_UNLOCK(playlist); playlist_recalc_total_time(playlist); +// PLAYLIST_INCR_SERIAL(playlist); //unnecessary? --yaz return num_of_entries_found; } @@ -3233,6 +3294,7 @@ playlistwin_update_list(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); //tentative --yaz return retval; } @@ -3255,6 +3317,7 @@ playlistwin_update_list(playlist); playlist_recalc_total_time(playlist); + PLAYLIST_INCR_SERIAL(playlist); //tentative --yaz } Playlist * @@ -3295,6 +3358,9 @@ playlist->title = NULL; playlist->filename = NULL; playlist_clear(playlist); + playlist->tail = NULL; + playlist->attribute = PLAYLIST_PLAIN; + playlist->serial = 0; return playlist; } @@ -3307,6 +3373,7 @@ g_mutex_free( playlist->mutex ); g_free( playlist ); + playlist = NULL; //XXX lead to crash? --yaz } Playlist * @@ -3400,3 +3467,33 @@ } while(1); return TRUE; } + +static gboolean +filter_by_extension(const gchar *uri) +{ + gchar *base, *ext, *lext, *filename; + gchar *tmp = g_filename_from_uri(uri, NULL, NULL); + gboolean rv; + + filename = g_strdup(tmp ? tmp : uri); + g_free(tmp); + + base = g_path_get_basename(filename); + ext = g_strrstr(base, "."); + + if(!ext) { + g_free(base); + return FALSE; + } + + lext = g_utf8_strdown(ext+1, -1); + + if(g_hash_table_lookup(ext_hash, lext)) + rv = TRUE; + else + rv = FALSE; + + g_free(lext); + g_free(base); + return rv; +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/playlist.h --- a/src/audacious/playlist.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/playlist.h Fri Nov 16 05:36:42 2007 +0200 @@ -77,7 +77,7 @@ typedef enum { PLAYLIST_PLAIN = 0, PLAYLIST_STATIC = 1, - PLAYLIST_USE_RELATIVE = 1 << 1, + PLAYLIST_USE_RELATIVE = 1 << 1 } PlaylistAttribute; struct _Playlist { @@ -94,8 +94,9 @@ gboolean pl_selection_more; gboolean loading_playlist; GMutex *mutex; /* this is required for multiple playlist */ - GList *tail; /* marker for the last element in playlist->entries */ + GList *tail; /* marker for the last element in playlist->entries */ gint attribute; /* PlaylistAttribute */ + gulong serial; /* serial number */ }; typedef enum { @@ -223,8 +224,9 @@ gboolean is_playlist_name(const gchar * filename); -#define PLAYLIST_LOCK(pl) g_mutex_lock(pl->mutex) -#define PLAYLIST_UNLOCK(pl) g_mutex_unlock(pl->mutex) +#define PLAYLIST_LOCK(pl) g_mutex_lock((pl)->mutex) +#define PLAYLIST_UNLOCK(pl) g_mutex_unlock((pl)->mutex) +#define PLAYLIST_INCR_SERIAL(pl) (pl)->serial++ G_LOCK_EXTERN(playlists); diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/plugin.h --- a/src/audacious/plugin.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/plugin.h Fri Nov 16 05:36:42 2007 +0200 @@ -926,7 +926,9 @@ #include "audacious/auddrct.h" /* for multi-file plugins :( */ +G_BEGIN_DECLS extern struct _AudaciousFuncTableV1 *_audvt; +G_END_DECLS #define DECLARE_PLUGIN(name, init, fini, ...) \ G_BEGIN_DECLS \ diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/pluginenum.c --- a/src/audacious/pluginenum.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/pluginenum.c Fri Nov 16 05:36:42 2007 +0200 @@ -68,6 +68,8 @@ NULL }; +GHashTable *ext_hash = NULL; + /*****************************************************************/ static struct _AudaciousFuncTableV1 _aud_papi_v1 = { @@ -517,6 +519,14 @@ /* XXX: we need something better than p->filename if plugins will eventually provide multiple plugins --nenolod */ mowgli_dictionary_add(plugin_dict, g_basename(p->filename), p); + + /* build the extension hash table */ + gint i; + if(p->vfs_extensions) { + for(i = 0; p->vfs_extensions[i] != NULL; i++) { + g_hash_table_replace(ext_hash, g_strdup(p->vfs_extensions[i]), g_strdup(p->description)); + } + } } static void @@ -752,6 +762,9 @@ plugin_dict = mowgli_dictionary_create(g_ascii_strcasecmp); + /* make extension hash */ + ext_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); + #ifndef DISABLE_USER_PLUGIN_DIR scan_plugins(bmp_paths[BMP_PATH_USER_PLUGIN_DIR]); /* @@ -1030,4 +1043,5 @@ } mowgli_dictionary_destroy(plugin_dict, NULL, NULL); + g_hash_table_remove_all(ext_hash); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/skin.c --- a/src/audacious/skin.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/skin.c Fri Nov 16 05:36:42 2007 +0200 @@ -48,6 +48,10 @@ #include "vfs.h" #include "ui_skinned_window.h" +#include "ui_skinned_button.h" +#include "ui_skinned_number.h" +#include "ui_skinned_horizontal_slider.h" +#include "ui_skinned_playstatus.h" #define EXTENSION_TARGETS 7 @@ -1348,7 +1352,6 @@ vfs_fclose(file); } -#if 0 static void skin_numbers_generate_dash(Skin * skin) { @@ -1362,22 +1365,22 @@ if (!numbers->pixmap || numbers->current_width < 99) return; - gc = gdk_gc_new(numbers->pixmap); - pixmap = gdk_pixmap_new(mainwin->window, 108, + pixmap = gdk_pixmap_new(NULL, 108, numbers->current_height, - -1); + gdk_rgb_get_visual()->depth); + gc = gdk_gc_new(pixmap); - skin_draw_pixmap(skin, pixmap, gc, SKIN_NUMBERS, 0, 0, 0, 0, 99, 13); - skin_draw_pixmap(skin, pixmap, gc, SKIN_NUMBERS, 90, 0, 99, 0, 9, 13); - skin_draw_pixmap(skin, pixmap, gc, SKIN_NUMBERS, 20, 6, 101, 6, 5, 1); + skin_draw_pixmap(NULL, skin, pixmap, gc, SKIN_NUMBERS, 0, 0, 0, 0, 99, numbers->current_height); + skin_draw_pixmap(NULL, skin, pixmap, gc, SKIN_NUMBERS, 90, 0, 99, 0, 9, numbers->current_height); + skin_draw_pixmap(NULL, skin, pixmap, gc, SKIN_NUMBERS, 20, 6, 101, 6, 5, 1); g_object_unref(numbers->pixmap); g_object_unref(gc); numbers->pixmap = pixmap; numbers->current_width = 108; + numbers->width = 108; } -#endif static void skin_load_cursor(Skin * skin, const gchar * dirname) @@ -1428,10 +1431,9 @@ if (text_pm) skin_get_textcolors(text_pm, skin->textbg, skin->textfg); -#if 0 - if (skin->pixmaps[SKIN_NUMBERS].pixmap) + if (skin->pixmaps[SKIN_NUMBERS].pixmap && + skin->pixmaps[SKIN_NUMBERS].width < 108 ) skin_numbers_generate_dash(skin); -#endif filename = find_file_recursively(path, "pledit.txt"); inifile = open_ini_file(filename); @@ -1464,11 +1466,13 @@ } static void -skin_set_gtk_theme(GtkSettings * settings, Skin * skin, gboolean tmp_clean) +skin_set_gtk_theme(GtkSettings * settings, Skin * skin) { if (original_gtk_theme == NULL) g_object_get(settings, "gtk-theme-name", &original_gtk_theme, NULL); + /* the way GTK does things can be very broken. --nenolod */ + gchar *tmp = g_strdup_printf("%s/.themes/aud-%s", g_get_home_dir(), basename(skin->path)); @@ -1479,14 +1483,7 @@ 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 + g_free(tmp); } static gboolean @@ -1532,12 +1529,8 @@ #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); - } - + if (gtkrcpath != NULL) + skin_set_gtk_theme(settings, skin); g_free(gtkrcpath); #endif @@ -1563,12 +1556,8 @@ #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); - } - + if (gtkrcpath != NULL) + skin_set_gtk_theme(settings, skin); g_free(gtkrcpath); #endif @@ -1594,6 +1583,14 @@ g_free(command); } +static SkinPixmap * +skin_get_pixmap(Skin * skin, SkinPixmapId map_id) +{ + g_return_val_if_fail(skin != NULL, NULL); + g_return_val_if_fail(map_id < SKIN_PIXMAP_COUNT, NULL); + + return &skin->pixmaps[map_id]; +} gboolean skin_load(Skin * skin, const gchar * path) @@ -1608,7 +1605,29 @@ skin_lock(skin); error = skin_load_nolock(skin, path, FALSE); skin_unlock(skin); - + + SkinPixmap *pixmap = NULL; + pixmap = skin_get_pixmap(skin, SKIN_NUMBERS); + if (pixmap) { + ui_skinned_number_set_size(mainwin_minus_num, 9, pixmap->height); + ui_skinned_number_set_size(mainwin_10min_num, 9, pixmap->height); + ui_skinned_number_set_size(mainwin_min_num, 9, pixmap->height); + ui_skinned_number_set_size(mainwin_10sec_num, 9, pixmap->height); + ui_skinned_number_set_size(mainwin_sec_num, 9, pixmap->height); + } + + pixmap = skin_get_pixmap(skin, SKIN_MAIN); + if (pixmap && skin->properties.mainwin_height > pixmap->height) + skin->properties.mainwin_height = pixmap->height; + + pixmap = skin_get_pixmap(skin, SKIN_PLAYPAUSE); + if (pixmap) + ui_skinned_playstatus_set_size(mainwin_playstatus, 11, pixmap->height); + + pixmap = skin_get_pixmap(skin, SKIN_EQMAIN); + if (pixmap->height >= 313) + gtk_widget_show(equalizerwin_graph); + return error; } @@ -1631,16 +1650,6 @@ skin_load_nolock(skin, skin->path, TRUE); } - -static SkinPixmap * -skin_get_pixmap(Skin * skin, SkinPixmapId map_id) -{ - g_return_val_if_fail(skin != NULL, NULL); - g_return_val_if_fail(map_id < SKIN_PIXMAP_COUNT, NULL); - - return &skin->pixmaps[map_id]; -} - GdkBitmap * skin_get_mask(Skin * skin, SkinMaskId mi) { @@ -1702,7 +1711,7 @@ } void -skin_draw_pixmap(Skin * skin, GdkDrawable * drawable, GdkGC * gc, +skin_draw_pixmap(GtkWidget *widget, Skin * skin, GdkDrawable * drawable, GdkGC * gc, SkinPixmapId pixmap_id, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height) @@ -1715,20 +1724,51 @@ g_return_if_fail(pixmap != NULL); g_return_if_fail(pixmap->pixmap != NULL); + /* perhaps we should use transparency or resize widget? */ if (xsrc+width > pixmap->width || ysrc+height > pixmap->height) { - if (pixmap_id == SKIN_NUMBERS) - xsrc = 90; - else if (pixmap_id == SKIN_VOLUME) { - /* some winamp skins have too strait SKIN_VOLUME, so let's copy what's remain from SKIN_MAIN */ - gdk_draw_drawable(drawable, gc, skin_get_pixmap(bmp_active_skin, SKIN_MAIN)->pixmap, - skin->properties.mainwin_volume_x, skin->properties.mainwin_volume_y, - pixmap->width, ydest, width - pixmap->width, height); - width = pixmap->width; - } else if (pixmap_id == SKIN_MONOSTEREO) { - /* XMMS skins seems to have SKIN_MONOSTEREO with size 58x20 instead of 58x24 */ - gdk_draw_drawable(drawable, gc, skin_get_pixmap(bmp_active_skin, SKIN_MAIN)->pixmap, - 212 + xdest, 41, xdest, ydest, width, height); - height = pixmap->height/2; + if (widget) { + /* it's better to hide widget using SKIN_PLAYPAUSE/SKIN_POSBAR than display mess */ + if ((pixmap_id == SKIN_PLAYPAUSE && pixmap->width != 42) || pixmap_id == SKIN_POSBAR) { + gtk_widget_hide(widget); + return; + } + gint x, y; + x = -1; + y = -1; + + if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(mainwin)->fixed) { + GList *iter; + for (iter = GTK_FIXED (SKINNED_WINDOW(mainwin)->fixed)->children; iter; iter = g_list_next (iter)) { + GtkFixedChild *child_data = (GtkFixedChild *) iter->data; + if (child_data->widget == widget) { + x = child_data->x; + y = child_data->y; + break; + } + } + + if (x != -1 && y != -1) { + /* Some skins include SKIN_VOLUME and/or SKIN_BALANCE + without knobs */ + if (pixmap_id == SKIN_VOLUME || pixmap_id == SKIN_BALANCE) { + if (ysrc+height > 421 && xsrc+width <= pixmap->width) + return; + } + /* let's copy what's under widget */ + gdk_draw_drawable(drawable, gc, skin_get_pixmap(bmp_active_skin, SKIN_MAIN)->pixmap, + x, y, xdest, ydest, width, height); + + /* XMMS skins seems to have SKIN_MONOSTEREO with size 58x20 instead of 58x24 */ + if (pixmap_id == SKIN_MONOSTEREO) + height = pixmap->height/2; + } + } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(equalizerwin)->fixed) { + if (!(pixmap_id == SKIN_EQMAIN && ysrc == 314)) /* equalizer preamp on equalizer graph */ + gtk_widget_hide(widget); + } else if (gtk_widget_get_parent(widget) == SKINNED_WINDOW(playlistwin)->fixed) { + /* I haven't seen any skin with substandard playlist */ + gtk_widget_hide(widget); + } } else return; } @@ -1796,14 +1836,14 @@ y = 21; /* left corner */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 0, y, 0, 0, 25, 20); + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 0, y, 0, 0, 25, 20); /* titlebar title */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 26, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 26, y, (width - 100) / 2, 0, 100, 20); /* titlebar right corner */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 153, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 153, y, width - 25, 0, 25, 20); /* tile draw the remaining frame */ @@ -1813,20 +1853,20 @@ for (i = 0; i < c / 2; i++) { /* left of title */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 127, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 127, y, 25 + i * 25, 0, 25, 20); /* right of title */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 127, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 127, y, (width + 100) / 2 + i * 25, 0, 25, 20); } if (c & 1) { /* Odd tile count, so one remaining to draw. Here we split * it into two and draw half on either side of the title */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 127, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 127, y, ((c / 2) * 25) + 25, 0, 12, 20); - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 127, y, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 127, y, (width / 2) + ((c / 2) * 25) + 50, 0, 13, 20); } } @@ -1851,7 +1891,7 @@ gint i, c; /* bottom left corner (menu buttons) */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 0, 72, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 0, 72, 0, height - 38, 125, 38); c = (width - 275) / 25; @@ -1859,17 +1899,17 @@ /* draw visualization window, if width allows */ if (c >= 3) { c -= 3; - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 205, 0, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 205, 0, width - (150 + 75), height - 38, 75, 38); } /* Bottom right corner (playbuttons etc) */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 126, 72, width - 150, height - 38, 150, 38); /* Tile draw the remaining undrawn portions */ for (i = 0; i < c; i++) - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 179, 0, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 179, 0, 125 + i * 25, height - 38, 25, 38); } @@ -1890,11 +1930,11 @@ /* frame sides */ for (i = 0; i < (height - (20 + 38)) / 29; i++) { /* left */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 0, 42, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 0, 42, 0, 20 + i * 29, 12, 29); /* right */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 32, 42, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 32, 42, width - 19, 20 + i * 29, 19, 29); } } @@ -1928,15 +1968,15 @@ gint i; /* left corner */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 72, 42, 0, 0, 25, 14); + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 72, 42, 0, 0, 25, 14); /* bar tile */ for (i = 0; i < (width - 75) / 25; i++) - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 72, 57, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 72, 57, (i * 25) + 25, 0, 25, 14); /* right corner */ - skin_draw_pixmap(skin, drawable, gc, SKIN_PLEDIT, 99, focus ? 42 : 57, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_PLEDIT, 99, focus ? 42 : 57, width - 50, 0, 50, 14); } @@ -1972,7 +2012,7 @@ y_offset = 15; } - skin_draw_pixmap(skin, drawable, gc, SKIN_TITLEBAR, 27, y_offset, + skin_draw_pixmap(NULL, skin, drawable, gc, SKIN_TITLEBAR, 27, y_offset, 0, 0, bmp_active_skin->properties.mainwin_width, MAINWIN_TITLEBAR_HEIGHT); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/skin.h --- a/src/audacious/skin.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/skin.h Fri Nov 16 05:36:42 2007 +0200 @@ -29,7 +29,7 @@ #include #include - +#include #define BMP_DEFAULT_SKIN_PATH \ DATA_DIR G_DIR_SEPARATOR_S "Skins" G_DIR_SEPARATOR_S "Default" @@ -219,7 +219,7 @@ void skin_get_viscolor(Skin * skin, guchar vis_color[24][3]); gint skin_get_id(void); -void skin_draw_pixmap(Skin * skin, GdkDrawable * drawable, GdkGC * gc, +void skin_draw_pixmap(GtkWidget * widget, Skin * skin, GdkDrawable * drawable, GdkGC * gc, SkinPixmapId pixmap_id, gint xsrc, gint ysrc, gint xdest, gint ydest, gint width, gint height); diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/tuple_formatter.c --- a/src/audacious/tuple_formatter.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/tuple_formatter.c Fri Nov 16 05:36:42 2007 +0200 @@ -24,6 +24,7 @@ #include "config.h" #include "tuple.h" #include "tuple_formatter.h" +#include "strings.h" /* * TUPLE_USE_COMPILER: @@ -528,6 +529,7 @@ #ifdef TUPLE_USE_COMPILER static TupleEvalContext *last_ctx = NULL; static TupleEvalNode *last_ev = NULL; + gchar *result = NULL; #endif if (initialized == FALSE) @@ -556,6 +558,12 @@ last_ctx = tuple_evalctx_new(); last_string = g_strdup(string); last_ev = tuple_formatter_compile(last_ctx, last_string); + if (last_ctx->iserror) { + fprintf(stderr, "[TuplezCC]: %s", last_ctx->errmsg); + } + if (!last_ev) { + fprintf(stderr, "[TuplezCC]: Compilation failed!\n"); + } } #ifdef TUPLE_COMPILER_DEBUG @@ -567,7 +575,11 @@ #endif tuple_evalctx_reset(last_ctx); - return tuple_formatter_eval(last_ctx, last_ev, tuple); + result = tuple_formatter_eval(last_ctx, last_ev, tuple); + if (last_ctx->iserror) { + fprintf(stderr, "[TuplezEV]: %s", last_ctx->errmsg); + } + return result; #else return tuple_formatter_process_construct(tuple, string); #endif @@ -585,8 +597,12 @@ rv = tuple_formatter_process_string(tuple, string); if(!rv || !strcmp(rv, "")) { + const gchar *file_name = tuple_get_string(tuple, FIELD_FILE_NAME, NULL); + gchar *realfn = g_filename_from_uri(file_name, NULL, NULL); + g_free(rv); - rv = g_strdup(tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); + rv = str_to_utf8(realfn ? realfn : file_name); + g_free(realfn); } return rv; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_about.c --- a/src/audacious/ui_about.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_about.c Fri Nov 16 05:36:42 2007 +0200 @@ -203,3 +203,10 @@ gtk_widget_show_all(about_window); gtk_window_present(GTK_WINDOW(about_window)); } + +void +hide_about_window(void) +{ + g_return_if_fail(about_window); + gtk_widget_hide(GTK_WIDGET(about_window)); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_credits.c --- a/src/audacious/ui_credits.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_credits.c Fri Nov 16 05:36:42 2007 +0200 @@ -75,6 +75,7 @@ N_("Default skin:"), "George Averill", + "Michael Färber", "William Pitcock", NULL, diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_credits.h --- a/src/audacious/ui_credits.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_credits.h Fri Nov 16 05:36:42 2007 +0200 @@ -3,6 +3,7 @@ #define ABOUT_H void show_about_window(void); +void hide_about_window(void); void show_credits_window(void); #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_equalizer.c --- a/src/audacious/ui_equalizer.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_equalizer.c Fri Nov 16 05:36:42 2007 +0200 @@ -74,6 +74,7 @@ GtkWidget *equalizerwin; +GtkWidget *equalizerwin_graph; static GtkWidget *equalizerwin_load_window = NULL; static GtkWidget *equalizerwin_load_auto_window = NULL; @@ -87,7 +88,6 @@ static GtkWidget *equalizerwin_on, *equalizerwin_auto; static GtkWidget *equalizerwin_close, *equalizerwin_presets, *equalizerwin_shade; -static GtkWidget *equalizerwin_graph; static GtkWidget *equalizerwin_preamp,*equalizerwin_bands[10]; static GtkWidget *equalizerwin_volume, *equalizerwin_balance; @@ -1282,7 +1282,7 @@ gfloat equalizerwin_get_band(gint band) { - g_return_val_if_fail(band >= 0 && band < 10, 0); + g_return_val_if_fail(band >= 0 && band < 10, 0.0); return ui_skinned_equalizer_slider_get_position(equalizerwin_bands[band]); } @@ -1515,3 +1515,13 @@ G_CALLBACK(equalizerwin_delete_auto_delete), NULL); } + +void +equalizer_activate(gboolean active) +{ + cfg.equalizer_active = active; + UI_SKINNED_BUTTON(equalizerwin_on)->inside = active; + gtk_widget_queue_draw(equalizerwin_on); + + equalizerwin_eq_changed(); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_equalizer.h --- a/src/audacious/ui_equalizer.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_equalizer.h Fri Nov 16 05:36:42 2007 +0200 @@ -58,6 +58,9 @@ gboolean equalizerwin_has_focus(void); extern GtkWidget *equalizerwin; +extern GtkWidget *equalizerwin_graph; extern gboolean equalizerwin_focus; +void equalizer_activate(gboolean active); + #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_fileinfopopup.c --- a/src/audacious/ui_fileinfopopup.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_fileinfopopup.c Fri Nov 16 05:36:42 2007 +0200 @@ -220,6 +220,8 @@ GtkWidget *filepopup_progress; filepopup_win = gtk_window_new(GTK_WINDOW_POPUP); + gtk_window_set_type_hint(GTK_WINDOW(filepopup_win), + GDK_WINDOW_TYPE_HINT_TOOLTIP); gtk_window_set_decorated(GTK_WINDOW(filepopup_win), FALSE); gtk_container_set_border_width(GTK_CONTAINER(filepopup_win), 6); gtk_window_set_transient_for(GTK_WINDOW(filepopup_win), diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_fileopener.c --- a/src/audacious/ui_fileopener.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_fileopener.c Fri Nov 16 05:36:42 2007 +0200 @@ -108,8 +108,8 @@ return FALSE; } -void -util_run_filebrowser_gtk2style(gboolean play_button) +static void +util_run_filebrowser_gtk2style(gboolean play_button, gboolean show) { static GtkWidget *window = NULL; GtkWidget *vbox, *hbox, *bbox; @@ -119,9 +119,19 @@ gchar *window_title, *toggle_text; gpointer action_stock, storage; - if(window) { - gtk_window_present(GTK_WINDOW(window)); /* raise filebrowser */ - return; + if(!show) { + if(window){ + gtk_widget_hide(window); + return; + } + else + return; + } + else { + if(window) { + gtk_window_present(GTK_WINDOW(window)); /* raise filebrowser */ + return; + } } window_title = play_button ? _("Open Files") : _("Add Files"); @@ -339,17 +349,27 @@ gtk_entry_set_text(GTK_ENTRY(filesel->selection_entry), ""); } -void -util_run_filebrowser_classic(gboolean play_button) +static void +util_run_filebrowser_classic(gboolean play_button, gboolean show) { static GtkWidget *dialog; GtkWidget *button_add_selected, *button_add_all, *button_close, *button_add; char *title; - if (dialog != NULL) { - gtk_window_present(GTK_WINDOW(dialog)); - return; + if (!show) { + if(dialog) { + gtk_widget_hide(dialog); + return; + } + else + return; + } + else { + if (dialog) { + gtk_window_present(GTK_WINDOW(dialog)); + return; + } } if (play_button) @@ -450,7 +470,16 @@ run_filebrowser(gboolean play_button) { if (!cfg.use_xmms_style_fileselector) - util_run_filebrowser_gtk2style(play_button); + util_run_filebrowser_gtk2style(play_button, TRUE); else - util_run_filebrowser_classic(play_button); + util_run_filebrowser_classic(play_button, TRUE); } + +void +hide_filebrowser(void) +{ + if (!cfg.use_xmms_style_fileselector) + util_run_filebrowser_gtk2style(FALSE, FALSE); + else + util_run_filebrowser_classic(FALSE, FALSE); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_fileopener.h --- a/src/audacious/ui_fileopener.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_fileopener.h Fri Nov 16 05:36:42 2007 +0200 @@ -26,5 +26,6 @@ #define PLAY_BUTTON TRUE void run_filebrowser(gboolean clear_pl_on_ok); +void hide_filebrowser(void); #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_jumptotrack.c --- a/src/audacious/ui_jumptotrack.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_jumptotrack.c Fri Nov 16 05:36:42 2007 +0200 @@ -80,6 +80,7 @@ #include "ui_skinned_window.h" static GtkWidget *jump_to_track_win = NULL; +static gulong serial = 0; static void change_song(guint pos) @@ -91,6 +92,13 @@ playback_initiate(); } +void +ui_jump_to_track_hide(void) +{ + g_return_if_fail(jump_to_track_win); + gtk_widget_hide(jump_to_track_win); +} + static void ui_jump_to_track_jump(GtkTreeView * treeview) { @@ -109,11 +117,8 @@ change_song(pos - 1); - /* FIXME: should only hide window */ - if(cfg.close_jtf_dialog){ - gtk_widget_destroy(jump_to_track_win); - jump_to_track_win = NULL; - } + if(cfg.close_jtf_dialog) + ui_jump_to_track_hide(); } static void @@ -212,9 +217,7 @@ { switch (event->keyval) { case GDK_Escape: - /* FIXME: show only hide window */ - gtk_widget_destroy(jump_to_track_win); - jump_to_track_win = NULL; + ui_jump_to_track_hide(); return TRUE; case GDK_KP_Enter: ui_jump_to_track_queue_cb(NULL, data); @@ -247,12 +250,9 @@ return rv; } -/* FIXME: Clear the entry when the list gets updated */ void ui_jump_to_track_update(GtkWidget * widget, gpointer user_data) { - /* FIXME: Is not in sync with playlist due to delayed extinfo - * reading */ guint row; GList *playlist_glist; gchar *desc_buf = NULL; @@ -262,10 +262,18 @@ GtkTreeModel *store; + GtkTreeView *tree = GTK_TREE_VIEW(g_object_get_data(user_data, "treeview")); + GtkEntry *edit = g_object_get_data(user_data, "edit"); + if (!jump_to_track_win) return; - store = gtk_tree_view_get_model(GTK_TREE_VIEW(user_data)); + /* clear edit widget */ + if(edit){ + gtk_entry_set_text(edit, "\0"); + } + + store = gtk_tree_view_get_model(tree); gtk_list_store_clear(GTK_LIST_STORE(store)); row = 1; @@ -296,8 +304,9 @@ } gtk_tree_model_get_iter_first(GTK_TREE_MODEL(store), &iter); - selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(user_data)); + selection = gtk_tree_view_get_selection(tree); gtk_tree_selection_select_iter(selection, &iter); + serial = playlist->serial; // important. --yaz } static void @@ -443,11 +452,9 @@ gtk_list_store_clear(jtf_store); row = 1; - playlist = playlist_get_active(); PLAYLIST_LOCK(playlist); - for (playlist_glist = playlist->entries; playlist_glist; playlist_glist = g_list_next(playlist_glist)) { @@ -470,36 +477,50 @@ 0, row, 1, desc_buf, -1); row++; - if (desc_buf) { - g_free(desc_buf); - desc_buf = NULL; - } + g_free(desc_buf); + desc_buf = NULL; } - PLAYLIST_UNLOCK(playlist); /* attach liststore to treeview */ gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(jtf_store)); g_object_unref(jtf_store); + serial = playlist->serial; return FALSE; } +static gboolean +watchdog(gpointer storage) +{ + GtkWidget *widget; + Playlist *playlist = playlist_get_active(); + + if(serial == playlist->serial) + return TRUE; + + widget = g_object_get_data(storage, "widget"); + ui_jump_to_track_update(widget, storage); + return TRUE; +} + void ui_jump_to_track(void) { GtkWidget *scrollwin; GtkWidget *vbox, *bbox, *sep; GtkWidget *toggle; - GtkWidget *jump, *queue, *cancel; + GtkWidget *jump, *queue, *close; GtkWidget *rescan, *edit; GtkWidget *search_label, *hbox; - GtkWidget *treeview; + GtkWidget *treeview = NULL; GtkListStore *jtf_store; GtkCellRenderer *renderer; GtkTreeViewColumn *column; + gpointer storage; + if (jump_to_track_win) { gtk_window_present(GTK_WINDOW(jump_to_track_win)); return; @@ -612,8 +633,16 @@ rescan = gtk_button_new_from_stock(GTK_STOCK_REFRESH); gtk_box_pack_start(GTK_BOX(bbox), rescan, FALSE, FALSE, 0); + + /* pack to container */ + storage = g_object_new(G_TYPE_OBJECT, NULL); + g_object_set_data(storage, "widget", rescan); + g_object_set_data(storage, "treeview", treeview); + g_object_set_data(storage, "edit", edit); + g_signal_connect(rescan, "clicked", - G_CALLBACK(ui_jump_to_track_update), treeview); + G_CALLBACK(ui_jump_to_track_update), storage); + GTK_WIDGET_SET_FLAGS(rescan, GTK_CAN_DEFAULT); gtk_widget_grab_default(rescan); @@ -627,14 +656,18 @@ GTK_WIDGET_SET_FLAGS(jump, GTK_CAN_DEFAULT); gtk_widget_grab_default(jump); - cancel = gtk_button_new_from_stock(GTK_STOCK_CLOSE); - gtk_box_pack_start(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); - g_signal_connect_swapped(cancel, "clicked", - G_CALLBACK(gtk_widget_destroy), - jump_to_track_win); - GTK_WIDGET_SET_FLAGS(cancel, GTK_CAN_DEFAULT); + close = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + gtk_box_pack_start(GTK_BOX(bbox), close, FALSE, FALSE, 0); +/* g_signal_connect_swapped(close, "clicked", */ +/* G_CALLBACK(gtk_widget_destroy), */ +/* jump_to_track_win); */ + g_signal_connect_swapped(close, "clicked", + G_CALLBACK(gtk_widget_hide), + jump_to_track_win); // just hide --yaz + GTK_WIDGET_SET_FLAGS(close, GTK_CAN_DEFAULT); g_timeout_add(100, (GSourceFunc)ui_jump_to_track_fill, treeview); + g_timeout_add(500, (GSourceFunc)watchdog, storage); gtk_widget_show_all(jump_to_track_win); gtk_widget_grab_focus(edit); diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_jumptotrack.h --- a/src/audacious/ui_jumptotrack.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_jumptotrack.h Fri Nov 16 05:36:42 2007 +0200 @@ -28,5 +28,6 @@ extern void ui_jump_to_track_update(GtkWidget * widget, gpointer user_data); extern void ui_jump_to_track(void); +extern void ui_jump_to_track_hide(void); #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_main.c --- a/src/audacious/ui_main.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_main.c Fri Nov 16 05:36:42 2007 +0200 @@ -694,23 +694,16 @@ cfg.player_shaded ? 3 : bmp_active_skin->properties.mainwin_close_y); mainwin_refresh_visible(); + /* window size, mainwinWidth && mainwinHeight properties */ if (bmp_active_skin->properties.mainwin_height && bmp_active_skin->properties.mainwin_width) { - gint width, height; - - gdk_window_get_size(mainwin->window, &width, &height); - - if (width == bmp_active_skin->properties.mainwin_width * (cfg.doublesize + 1) && - height == bmp_active_skin->properties.mainwin_height * (cfg.doublesize + 1)) - return; - dock_window_resize(GTK_WINDOW(mainwin), cfg.player_shaded ? MAINWIN_SHADED_WIDTH * (cfg.doublesize + 1) : bmp_active_skin->properties.mainwin_width * (cfg.doublesize + 1), - cfg.player_shaded ? MAINWIN_SHADED_HEIGHT * (cfg.doublesize + 1) : bmp_active_skin->properties.mainwin_height * (cfg.doublesize + 1), - bmp_active_skin->properties.mainwin_width * (cfg.doublesize + 1), - bmp_active_skin->properties.mainwin_height * (cfg.doublesize + 1)); - - gdk_flush(); + cfg.player_shaded ? MAINWIN_SHADED_HEIGHT * (cfg.doublesize + 1) : bmp_active_skin->properties.mainwin_height * (cfg.doublesize + 1), + bmp_active_skin->properties.mainwin_width * (cfg.doublesize + 1), + bmp_active_skin->properties.mainwin_height * (cfg.doublesize + 1)); + + gdk_flush(); } } @@ -1697,17 +1690,11 @@ nullmask = NULL; } - gtk_window_resize(GTK_WINDOW(mainwin), - !bmp_active_skin->properties.mainwin_width ? PLAYER_WIDTH : - bmp_active_skin->properties.mainwin_width, - !bmp_active_skin->properties.mainwin_height ? PLAYER_HEIGHT : - bmp_active_skin->properties.mainwin_height); - if (cfg.player_x != -1 && cfg.save_window_position) gtk_window_move(GTK_WINDOW(mainwin), cfg.player_x, cfg.player_y); + mainwin_refresh_hints(); gtk_window_present(GTK_WINDOW(mainwin)); - mainwin_refresh_hints(); } void diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_main_evlisteners.c --- a/src/audacious/ui_main_evlisteners.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_main_evlisteners.c Fri Nov 16 05:36:42 2007 +0200 @@ -19,6 +19,8 @@ */ #include +#include + #include "hook.h" #include "playback.h" #include "playlist.h" @@ -26,6 +28,7 @@ #include "playlist_evlisteners.h" #include "ui_main.h" +#include "ui_equalizer.h" #include "ui_skinned_textbox.h" #include "ui_playlist.h" @@ -45,9 +48,33 @@ mainwin_disable_seekbar(); } +static void +ui_main_evlistener_volume_change(gpointer hook_data, gpointer user_data) +{ + gint *h_vol = (gint *) hook_data; + gint vl, vr, b, v; + + vl = CLAMP(h_vol[0], 0, 100); + vr = CLAMP(h_vol[1], 0, 100); + v = MAX(vl, vr); + if (vl > vr) + b = (gint) rint(((gdouble) vr / vl) * 100) - 100; + else if (vl < vr) + b = 100 - (gint) rint(((gdouble) vl / vr) * 100); + else + b = 0; + + mainwin_set_volume_slider(v); + equalizerwin_set_volume_slider(v); + mainwin_set_balance_slider(b); + equalizerwin_set_balance_slider(b); +} + void ui_main_evlistener_init(void) { hook_associate("title change", ui_main_evlistener_title_change, NULL); hook_associate("hide seekbar", ui_main_evlistener_hide_seekbar, NULL); + hook_associate("volume set", ui_main_evlistener_volume_change, NULL); } + diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_preferences.c --- a/src/audacious/ui_preferences.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_preferences.c Fri Nov 16 05:36:42 2007 +0200 @@ -1634,66 +1634,34 @@ } static void +reload_skin() +{ + /* reload the skin to apply the change */ + skin_reload_forced(); + ui_skinned_window_draw_all(mainwin); + ui_skinned_window_draw_all(equalizerwin); + ui_skinned_window_draw_all(playlistwin); +} + +static void on_red_scale_value_changed(GtkHScale *scale, gpointer data) { - //GladeXML *xml = prefswin_get_xml(); - //GtkWidget *widget; - gint value; - - value = gtk_range_get_value(GTK_RANGE(scale)); - - if (value != cfg.colorize_r) - { - cfg.colorize_r = value; - - /* reload the skin to apply the change */ - skin_reload_forced(); - ui_skinned_window_draw_all(mainwin); - ui_skinned_window_draw_all(equalizerwin); - ui_skinned_window_draw_all(playlistwin); - } + cfg.colorize_r = gtk_range_get_value(GTK_RANGE(scale)); + reload_skin(); } static void on_green_scale_value_changed(GtkHScale *scale, gpointer data) { - //GladeXML *xml = prefswin_get_xml(); - //GtkWidget *widget; - gint value; - - value = gtk_range_get_value(GTK_RANGE(scale)); - - if (value != cfg.colorize_r) - { - cfg.colorize_g = value; - - /* reload the skin to apply the change */ - skin_reload_forced(); - ui_skinned_window_draw_all(mainwin); - ui_skinned_window_draw_all(equalizerwin); - ui_skinned_window_draw_all(playlistwin); - } + cfg.colorize_g = gtk_range_get_value(GTK_RANGE(scale)); + reload_skin(); } static void on_blue_scale_value_changed(GtkHScale *scale, gpointer data) { - //GladeXML *xml = prefswin_get_xml(); - //GtkWidget *widget; - gint value; - - value = gtk_range_get_value(GTK_RANGE(scale)); - - if (value != cfg.colorize_r) - { - cfg.colorize_b = value; - - /* reload the skin to apply the change */ - skin_reload_forced(); - ui_skinned_window_draw_all(mainwin); - ui_skinned_window_draw_all(equalizerwin); - ui_skinned_window_draw_all(playlistwin); - } + cfg.colorize_b = gtk_range_get_value(GTK_RANGE(scale)); + reload_skin(); } static void @@ -2214,6 +2182,13 @@ } } +void +hide_prefs_window(void) +{ + g_return_if_fail(prefswin); + gtk_widget_hide(GTK_WIDGET(prefswin)); +} + static void prefswin_page_queue_new(GtkWidget *container, gchar *name, gchar *imgurl) { diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_preferences.h --- a/src/audacious/ui_preferences.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_preferences.h Fri Nov 16 05:36:42 2007 +0200 @@ -22,6 +22,7 @@ void create_prefs_window(void); void show_prefs_window(void); +void hide_prefs_window(void); gint prefswin_page_new(GtkWidget *container, gchar *name, gchar *imgurl); void prefswin_page_destroy(GtkWidget *container); diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_button.c --- a/src/audacious/ui_skinned_button.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_button.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -40,7 +40,6 @@ gint h; SkinPixmapId skin_index1; SkinPixmapId skin_index2; - GtkWidget *fixed; gboolean double_size; gint move_x, move_y; @@ -307,7 +306,7 @@ switch (button->type) { case TYPE_PUSH: - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->px : priv->nx, button->pressed ? priv->py : priv->ny, @@ -315,13 +314,13 @@ break; case TYPE_TOGGLE: if (button->inside) - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->ppx : priv->pnx, button->pressed ? priv->ppy : priv->pny, 0, 0, priv->w, priv->h); else - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, button->pressed ? priv->skin_index2 : priv->skin_index1, button->pressed ? priv->px : priv->nx, button->pressed ? priv->py : priv->ny, @@ -372,10 +371,9 @@ sbutton->type = TYPE_PUSH; priv->skin_index1 = si; priv->skin_index2 = si; - priv->fixed = fixed; priv->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(priv->fixed),GTK_WIDGET(button), sbutton->x, sbutton->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(button), sbutton->x, sbutton->y); } void ui_skinned_toggle_button_setup(GtkWidget *button, GtkWidget *fixed, gint x, gint y, gint w, gint h, gint nx, gint ny, gint px, gint py, gint pnx, gint pny, gint ppx, gint ppy, SkinPixmapId si) { @@ -397,10 +395,9 @@ sbutton->type = TYPE_TOGGLE; priv->skin_index1 = si; priv->skin_index2 = si; - priv->fixed = fixed; priv->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(priv->fixed),GTK_WIDGET(button), sbutton->x, sbutton->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(button), sbutton->x, sbutton->y); } void ui_skinned_small_button_setup(GtkWidget *button, GtkWidget *fixed, gint x, gint y, gint w, gint h) { @@ -412,10 +409,9 @@ sbutton->x = x; sbutton->y = y; sbutton->type = TYPE_SMALL; - priv->fixed = fixed; priv->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(priv->fixed),GTK_WIDGET(button), sbutton->x, sbutton->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(button), sbutton->x, sbutton->y); } static void button_pressed(UiSkinnedButton *button) { @@ -516,7 +512,8 @@ static void ui_skinned_button_redraw(UiSkinnedButton *button) { UiSkinnedButtonPrivate *priv = UI_SKINNED_BUTTON_GET_PRIVATE (button); if (priv->move_x || priv->move_y) - gtk_fixed_move(GTK_FIXED(priv->fixed), GTK_WIDGET(button), button->x+priv->move_x, button->y+priv->move_y); + gtk_fixed_move(GTK_FIXED(gtk_widget_get_parent(GTK_WIDGET(button))), GTK_WIDGET(button), + button->x+priv->move_x, button->y+priv->move_y); gtk_widget_queue_draw(GTK_WIDGET(button)); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_button.h --- a/src/audacious/ui_skinned_button.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_button.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_equalizer_graph.c --- a/src/audacious/ui_skinned_equalizer_graph.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_equalizer_graph.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -101,10 +101,9 @@ equalizer_graph->x = x; equalizer_graph->y = y; equalizer_graph->skin_index = SKIN_EQMAIN; - equalizer_graph->fixed = fixed; equalizer_graph->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(equalizer_graph->fixed), GTK_WIDGET(equalizer_graph), equalizer_graph->x, equalizer_graph->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(equalizer_graph), equalizer_graph->x, equalizer_graph->y); return GTK_WIDGET(equalizer_graph); } @@ -246,9 +245,9 @@ */ void (*__init_spline) (gfloat *, gfloat *, gint, gfloat *) = init_spline; - skin_draw_pixmap(bmp_active_skin, obj, gc, equalizer_graph->skin_index, 0, 294, 0, 0, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, equalizer_graph->skin_index, 0, 294, 0, 0, equalizer_graph->width, equalizer_graph->height); - skin_draw_pixmap(bmp_active_skin, obj, gc, equalizer_graph->skin_index, 0, 314, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, equalizer_graph->skin_index, 0, 314, 0, 9 + ((cfg.equalizer_preamp * 9) / 20), equalizer_graph->width, 1); diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_equalizer_graph.h --- a/src/audacious/ui_skinned_equalizer_graph.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_equalizer_graph.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -46,7 +46,6 @@ gint x, y, width, height; SkinPixmapId skin_index; - GtkWidget *fixed; gboolean double_size; }; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_equalizer_slider.c --- a/src/audacious/ui_skinned_equalizer_slider.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_equalizer_slider.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -38,7 +38,6 @@ }; struct _UiSkinnedEqualizerSliderPrivate { - GtkWidget *fixed; SkinPixmapId skin_index; gboolean double_size; gint position; @@ -129,9 +128,8 @@ priv->width = 14; priv->height = 63; priv->skin_index = SKIN_EQMAIN; - priv->fixed = fixed; - gtk_fixed_put(GTK_FIXED(priv->fixed), GTK_WIDGET(es), es->x, es->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(es), es->x, es->y); return GTK_WIDGET(es); } @@ -216,14 +214,14 @@ gint frame; frame = 27 - ((priv->position * 27) / 50); if (frame < 14) - skin_draw_pixmap(bmp_active_skin, obj, gc, priv->skin_index, (frame * 15) + 13, 164, 0, 0, priv->width, priv->height); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, (frame * 15) + 13, 164, 0, 0, priv->width, priv->height); else - skin_draw_pixmap(bmp_active_skin, obj, gc, priv->skin_index, ((frame - 14) * 15) + 13, 229, 0, 0, priv->width, priv->height); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, ((frame - 14) * 15) + 13, 229, 0, 0, priv->width, priv->height); if (priv->pressed) - skin_draw_pixmap(bmp_active_skin, obj, gc, priv->skin_index, 0, 176, 1, priv->position, 11, 11); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, 0, 176, 1, priv->position, 11, 11); else - skin_draw_pixmap(bmp_active_skin, obj, gc, priv->skin_index, 0, 164, 1, priv->position, 11, 11); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, 0, 164, 1, priv->position, 11, 11); GdkPixmap *image = NULL; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_equalizer_slider.h --- a/src/audacious/ui_skinned_equalizer_slider.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_equalizer_slider.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_horizontal_slider.c --- a/src/audacious/ui_skinned_horizontal_slider.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_horizontal_slider.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -39,7 +39,6 @@ }; struct _UiSkinnedHorizontalSliderPrivate { - GtkWidget *fixed; SkinPixmapId skin_index; gboolean double_size; gint frame, frame_offset, frame_height, min, max; @@ -141,7 +140,6 @@ hs->y = y; priv->width = w; priv->height = h; - priv->fixed = fixed; hs->knob_nx = knx; hs->knob_ny = kny; hs->knob_px = kpx; @@ -158,7 +156,7 @@ priv->frame = priv->frame_cb(0); priv->skin_index = si; - gtk_fixed_put(GTK_FIXED(priv->fixed), GTK_WIDGET(hs), hs->x, hs->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(hs), hs->x, hs->y); return GTK_WIDGET(hs); } @@ -249,18 +247,18 @@ obj = gdk_pixmap_new(NULL, priv->width, priv->height, gdk_rgb_get_visual()->depth); gc = gdk_gc_new(obj); - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, priv->frame_offset, priv->frame * priv->frame_height, 0, 0, priv->width, priv->height); if (hs->pressed) - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, hs->knob_px, hs->knob_py, priv->position, ((priv->height - priv->knob_height) / 2), priv->knob_width, priv->knob_height); else - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, hs->knob_nx, hs->knob_ny, priv->position, ((priv->height - priv->knob_height) / 2), diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_horizontal_slider.h --- a/src/audacious/ui_skinned_horizontal_slider.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_horizontal_slider.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_menurow.c --- a/src/audacious/ui_skinned_menurow.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_menurow.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -133,10 +133,9 @@ menurow->skin_index = si; - menurow->fixed = fixed; menurow->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(menurow->fixed), GTK_WIDGET(menurow), menurow->x, menurow->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(menurow), menurow->x, menurow->y); return GTK_WIDGET(menurow); } @@ -219,23 +218,23 @@ if (menurow->selected == MENUROW_NONE) { if (cfg.always_show_cb || menurow->pushed) - skin_draw_pixmap(bmp_active_skin, obj, gc, menurow->skin_index, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, menurow->skin_index, menurow->nx, menurow->ny, 0, 0, 8, 43); else - skin_draw_pixmap(bmp_active_skin, obj, gc, menurow->skin_index, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, menurow->skin_index, menurow->nx + 8, menurow->ny, 0, 0, 8, 43); } else { - skin_draw_pixmap(bmp_active_skin, obj, gc, menurow->skin_index, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, menurow->skin_index, menurow->sx + ((menurow->selected - 1) * 8), menurow->sy, 0, 0, 8, 43); } if (cfg.always_show_cb || menurow->pushed) { if (menurow->always_selected) - skin_draw_pixmap(bmp_active_skin, obj, gc, menurow->skin_index, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, menurow->skin_index, menurow->sx + 8, menurow->sy + 10, 0, 10, 8, 8); if (menurow->doublesize_selected) - skin_draw_pixmap(bmp_active_skin, obj, gc, menurow->skin_index, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, menurow->skin_index, menurow->sx + 24, menurow->sy + 26, 0, 26, 8, 8); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_menurow.h --- a/src/audacious/ui_skinned_menurow.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_menurow.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -50,7 +50,6 @@ GtkWidget widget; gint x, y, width, height; - GtkWidget *fixed; gboolean double_size; gint nx, ny; gint sx, sy; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_monostereo.c --- a/src/audacious/ui_skinned_monostereo.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_monostereo.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -102,10 +102,9 @@ monostereo->x = x; monostereo->y = y; monostereo->skin_index = si; - monostereo->fixed = fixed; monostereo->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(monostereo->fixed), GTK_WIDGET(monostereo), monostereo->x, monostereo->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(monostereo), monostereo->x, monostereo->y); return GTK_WIDGET(monostereo); } @@ -187,17 +186,17 @@ switch (monostereo->num_channels) { case 1: - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 29, 0, 0, 0, 27, 12); - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 0, 12, 27, 0, 29, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 29, 0, 0, 0, 27, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 0, 12, 27, 0, 29, 12); break; case 2: - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 29, 12, 0, 0, 27, 12); - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 0, 0, 27, 0, 29, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 29, 12, 0, 0, 27, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 0, 0, 27, 0, 29, 12); break; default: case 0: - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 29, 12, 0, 0, 27, 12); - skin_draw_pixmap(bmp_active_skin, obj, gc, monostereo->skin_index, 0, 12, 27, 0, 29, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 29, 12, 0, 0, 27, 12); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, monostereo->skin_index, 0, 12, 27, 0, 29, 12); break; } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_monostereo.h --- a/src/audacious/ui_skinned_monostereo.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_monostereo.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -47,7 +47,6 @@ gint x, y, width, height; gint num_channels; SkinPixmapId skin_index; - GtkWidget *fixed; gboolean double_size; }; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_number.c --- a/src/audacious/ui_skinned_number.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_number.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -108,10 +108,9 @@ number->num = 0; number->skin_index = si; - number->fixed = fixed; number->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(number->fixed), GTK_WIDGET(number), number->x, number->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(number), number->x, number->y); return GTK_WIDGET(number); } @@ -193,7 +192,7 @@ if (number->num > 11 || number->num < 0) number->num = 10; - skin_draw_pixmap(bmp_active_skin, obj, gc, + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, number->skin_index, number->num * 9, 0, 0, 0, number->width, number->height); @@ -227,6 +226,7 @@ } void ui_skinned_number_set_number(GtkWidget *widget, gint num) { + g_return_if_fail(UI_SKINNED_IS_NUMBER(widget)); UiSkinnedNumber *number = UI_SKINNED_NUMBER (widget); if (number->num == num) @@ -235,3 +235,13 @@ number->num = num; gtk_widget_queue_draw(GTK_WIDGET(number)); } + +void ui_skinned_number_set_size(GtkWidget *widget, gint width, gint height) { + g_return_if_fail(UI_SKINNED_IS_NUMBER(widget)); + UiSkinnedNumber *number = UI_SKINNED_NUMBER (widget); + + number->width = width; + number->height = height; + + gtk_widget_set_size_request(widget, width*(1+number->double_size), height*(1+number->double_size)); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_number.h --- a/src/audacious/ui_skinned_number.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_number.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -42,7 +42,6 @@ gint num; gboolean double_size; SkinPixmapId skin_index; - GtkWidget *fixed; }; struct _UiSkinnedNumberClass { @@ -53,6 +52,7 @@ GtkWidget* ui_skinned_number_new (GtkWidget *fixed, gint x, gint y, SkinPixmapId si); GtkType ui_skinned_number_get_type(void); void ui_skinned_number_set_number(GtkWidget *widget, gint num); +void ui_skinned_number_set_size(GtkWidget *widget, gint width, gint height); #ifdef __cplusplus } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playlist.c --- a/src/audacious/ui_skinned_playlist.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playlist.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -72,7 +72,6 @@ }; struct _UiSkinnedPlaylistPrivate { - GtkWidget *fixed; SkinPixmapId skin_index; gint width, height; gint resize_width, resize_height; @@ -179,10 +178,9 @@ hs->y = y; priv->width = w; priv->height = h; - priv->fixed = fixed; priv->skin_index = SKIN_PLEDIT; - gtk_fixed_put(GTK_FIXED(priv->fixed), GTK_WIDGET(hs), hs->x, hs->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(hs), hs->x, hs->y); return GTK_WIDGET(hs); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playlist.h --- a/src/audacious/ui_skinned_playlist.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playlist.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playlist_slider.c --- a/src/audacious/ui_skinned_playlist_slider.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playlist_slider.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -39,7 +39,6 @@ }; struct _UiSkinnedPlaylistSliderPrivate { - GtkWidget *fixed; SkinPixmapId skin_index; gint width, height; @@ -133,10 +132,9 @@ hs->y = y; priv->width = 8; priv->height = h; - priv->fixed = fixed; priv->skin_index = SKIN_PLEDIT; - gtk_fixed_put(GTK_FIXED(priv->fixed), GTK_WIDGET(hs), hs->x, hs->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(hs), hs->x, hs->y); return GTK_WIDGET(hs); } @@ -251,7 +249,7 @@ } /* drawing knob */ - skin_draw_pixmap(bmp_active_skin, obj, gc, priv->skin_index, ps->pressed ? 61 : 52, 53, 0, y, priv->width, 18); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, priv->skin_index, ps->pressed ? 61 : 52, 53, 0, y, priv->width, 18); gdk_draw_drawable(widget->window, gc, obj, 0, 0, 0, 0, priv->width, priv->height); g_object_unref(obj); @@ -326,7 +324,8 @@ if (priv->resize_height) gtk_widget_set_size_request(GTK_WIDGET(playlist_slider), priv->width, priv->height+priv->resize_height); if (priv->move_x) - gtk_fixed_move(GTK_FIXED(priv->fixed), GTK_WIDGET(playlist_slider), playlist_slider->x+priv->move_x, playlist_slider->y); + gtk_fixed_move(GTK_FIXED(gtk_widget_get_parent(GTK_WIDGET(playlist_slider))), GTK_WIDGET(playlist_slider), + playlist_slider->x+priv->move_x, playlist_slider->y); gtk_widget_queue_draw(GTK_WIDGET(playlist_slider)); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playlist_slider.h --- a/src/audacious/ui_skinned_playlist_slider.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playlist_slider.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playstatus.c --- a/src/audacious/ui_skinned_playstatus.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playstatus.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -104,10 +104,9 @@ playstatus->x = x; playstatus->y = y; - playstatus->fixed = fixed; playstatus->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(playstatus->fixed), GTK_WIDGET(playstatus), playstatus->x, playstatus->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(playstatus), playstatus->x, playstatus->y); return GTK_WIDGET(playstatus); } @@ -190,20 +189,20 @@ if (playstatus->status == STATUS_STOP && playstatus->buffering == TRUE) playstatus->buffering = FALSE; if (playstatus->status == STATUS_PLAY && playstatus->buffering == TRUE) - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 39, 0, 0, 0, 3, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 39, 0, 0, 0, 3, playstatus->height); else if (playstatus->status == STATUS_PLAY) - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 36, 0, 0, 0, 3, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 36, 0, 0, 0, 3, playstatus->height); else - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 27, 0, 0, 0, 2, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 27, 0, 0, 0, 2, playstatus->height); switch (playstatus->status) { case STATUS_STOP: - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 18, 0, 2, 0, 9, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 18, 0, 2, 0, 9, playstatus->height); break; case STATUS_PAUSE: - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 9, 0, 2, 0, 9, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 9, 0, 2, 0, 9, playstatus->height); break; case STATUS_PLAY: - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 1, 0, 3, 0, 8, 9); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_PLAYPAUSE, 1, 0, 3, 0, 8, playstatus->height); break; } @@ -250,3 +249,13 @@ playstatus->buffering = status; gtk_widget_queue_draw(widget); } + +void ui_skinned_playstatus_set_size(GtkWidget *widget, gint width, gint height) { + g_return_if_fail (UI_SKINNED_IS_PLAYSTATUS (widget)); + UiSkinnedPlaystatus *playstatus = UI_SKINNED_PLAYSTATUS (widget); + + playstatus->width = width; + playstatus->height = height; + + gtk_widget_set_size_request(widget, width*(1+playstatus->double_size), height*(1+playstatus->double_size)); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_playstatus.h --- a/src/audacious/ui_skinned_playstatus.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_playstatus.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -48,7 +48,6 @@ GtkWidget widget; gint x, y, width, height; - GtkWidget *fixed; gboolean double_size; PStatus status; gboolean buffering; @@ -63,6 +62,7 @@ GtkType ui_skinned_playstatus_get_type(void); void ui_skinned_playstatus_set_status(GtkWidget *widget, PStatus status); void ui_skinned_playstatus_set_buffering(GtkWidget *widget, gboolean status); +void ui_skinned_playstatus_set_size(GtkWidget *widget, gint width, gint height); #ifdef __cplusplus } diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_textbox.c --- a/src/audacious/ui_skinned_textbox.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_textbox.c Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player @@ -47,7 +47,6 @@ struct _UiSkinnedTextboxPrivate { SkinPixmapId skin_index; - GtkWidget *fixed; gboolean double_size; gboolean scroll_back; gint nominal_y, nominal_height; @@ -184,10 +183,9 @@ priv->scroll_timeout = 0; priv->scroll_dummy = 0; - priv->fixed = fixed; priv->double_size = FALSE; - gtk_fixed_put(GTK_FIXED(priv->fixed), GTK_WIDGET(textbox), textbox->x, textbox->y); + gtk_fixed_put(GTK_FIXED(fixed), GTK_WIDGET(textbox), textbox->x, textbox->y); return GTK_WIDGET(textbox); } @@ -431,7 +429,8 @@ UiSkinnedTextboxPrivate *priv = UI_SKINNED_TEXTBOX_GET_PRIVATE(textbox); if (priv->move_x || priv->move_y) - gtk_fixed_move(GTK_FIXED(priv->fixed), GTK_WIDGET(textbox), textbox->x+priv->move_x, textbox->y+priv->move_y); + gtk_fixed_move(GTK_FIXED(gtk_widget_get_parent(GTK_WIDGET(textbox))), GTK_WIDGET(textbox), + textbox->x+priv->move_x, textbox->y+priv->move_y); gtk_widget_queue_draw(GTK_WIDGET(textbox)); } @@ -707,7 +706,7 @@ else textbox_handle_special_char(tmp, &x, &y); - skin_draw_pixmap(bmp_active_skin, + skin_draw_pixmap(GTK_WIDGET(textbox), bmp_active_skin, priv->pixmap, gc, priv->skin_index, x, y, i * bmp_active_skin->properties.textbox_bitmap_font_width, 0, bmp_active_skin->properties.textbox_bitmap_font_width, diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_textbox.h --- a/src/audacious/ui_skinned_textbox.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_textbox.h Fri Nov 16 05:36:42 2007 +0200 @@ -1,6 +1,6 @@ /* * Audacious - a cross-platform multimedia player - * Copyright (c) 2007 Audacious development team. + * Copyright (c) 2007 Tomasz Moń * * Based on: * BMP - Cross-platform multimedia player diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/ui_skinned_window.c --- a/src/audacious/ui_skinned_window.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/ui_skinned_window.c Fri Nov 16 05:36:42 2007 +0200 @@ -102,6 +102,8 @@ window->x = event->x; window->y = event->y; + gtk_window_set_keep_above(GTK_WINDOW(widget), cfg.always_on_top); + return FALSE; } @@ -164,21 +166,21 @@ switch (window->type) { case WINDOW_MAIN: - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_MAIN, 0, 0, 0, 0, width, height); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_MAIN, 0, 0, 0, 0, width, height); skin_draw_mainwin_titlebar(bmp_active_skin, obj, gc, cfg.player_shaded, focus || !cfg.dim_titlebar); break; case WINDOW_EQ: - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 0, 0, 0, width, height); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 0, 0, 0, width, height); if (focus || !cfg.dim_titlebar) { if (!cfg.equalizer_shaded) - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 134, 0, 0, width, 14); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 134, 0, 0, width, 14); else - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_EQ_EX, 0, 0, 0, 0, width, 14); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_EQ_EX, 0, 0, 0, 0, width, 14); } else { if (!cfg.equalizer_shaded) - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 149, 0, 0, width, 14); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_EQMAIN, 0, 149, 0, 0, width, 14); else - skin_draw_pixmap(bmp_active_skin, obj, gc, SKIN_EQ_EX, 0, 15, 0, 0, width, 14); + skin_draw_pixmap(widget, bmp_active_skin, obj, gc, SKIN_EQ_EX, 0, 15, 0, 0, width, 14); } break; case WINDOW_PLAYLIST: diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/vfs.c --- a/src/audacious/vfs.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/vfs.c Fri Nov 16 05:36:42 2007 +0200 @@ -470,14 +470,11 @@ vfs_is_streaming(VFSFile *file) { off_t size = 0; - glong curpos; if(!file) return FALSE; - curpos = file->base->vfs_ftell_impl(file); size = file->base->vfs_fsize_impl(file); - file->base->vfs_fseek_impl(file, curpos, SEEK_SET); if(size == -1) return TRUE; diff -r 4f6c614aee5d -r de76dbec8e1e src/audacious/vfs_buffered_file.c --- a/src/audacious/vfs_buffered_file.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audacious/vfs_buffered_file.c Fri Nov 16 05:36:42 2007 +0200 @@ -221,7 +221,7 @@ handle = g_new0(VFSFile, 1); fd = g_new0(VFSBufferedFile, 1); - fd->mem = g_malloc0(40000); + fd->mem = g_malloc0(128000); fd->fd = vfs_fopen(uri, "rb"); if (fd->fd == NULL) @@ -233,11 +233,12 @@ return NULL; } - sz = vfs_fread(fd->mem, 1, 40000, fd->fd); + sz = vfs_fread(fd->mem, 1, 128000, fd->fd); vfs_rewind(fd->fd); if (!sz) { + vfs_fclose(fd->fd); g_free(fd->mem); g_free(fd); g_free(handle); diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/Makefile --- a/src/audtool/Makefile Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/Makefile Fri Nov 16 05:36:42 2007 +0200 @@ -5,6 +5,7 @@ audtool_handlers_playlist.c \ audtool_handlers_playqueue.c \ audtool_handlers_vitals.c \ + audtool_handlers_test.c \ audtool_report.c include ../../buildsys.mk diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool.h --- a/src/audtool/audtool.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool.h Fri Nov 16 05:36:42 2007 +0200 @@ -87,8 +87,8 @@ extern void playqueue_add(gint, gchar **); extern void playqueue_remove(gint, gchar **); extern void playqueue_is_queued(gint, gchar **); -extern void playqueue_get_position(gint, gchar **); -extern void playqueue_get_qposition(gint, gchar **); +extern void playqueue_get_queue_position(gint, gchar **); +extern void playqueue_get_list_position(gint, gchar **); extern void playqueue_display(gint, gchar **); extern void playqueue_length(gint, gchar **); extern void playqueue_clear(gint, gchar **); @@ -107,9 +107,29 @@ extern void equalizer_show(gint, gchar **); extern void show_preferences_window(gint, gchar **); extern void show_jtf_window(gint, gchar **); +extern void show_filebrowser(gint, gchar **); extern void shutdown_audacious_server(gint, gchar **); +extern void show_about_window(gint, gchar **); extern void audtool_report(const gchar *str, ...); extern void audtool_whine(const gchar *str, ...); +/* test suite */ +extern void test_activate(gint argc, gchar **argv); +extern void test_enqueue_to_temp(gint argc, gchar **argv); +extern void test_toggle_aot(gint argc, gchar **argv); +extern void test_get_skin(gint argc, gchar **argv); +extern void test_set_skin(gint argc, gchar **argv); +extern void test_get_info(gint argc, gchar **argv); +extern void test_ins_url_string(gint argc, gchar **argv); +extern void test_get_version(gint argc, gchar **argv); + +extern void test_get_eq(gint argc, gchar **argv); +extern void test_get_eq_preamp(gint argc, gchar **argv); +extern void test_get_eq_band(gint argc, gchar **argv); +extern void test_set_eq(gint argc, gchar **argv); +extern void test_set_eq_preamp(gint argc, gchar **argv); +extern void test_set_eq_band(gint argc, gchar **argv); +void test_equalizer_active(gint argc, gchar **argv); + #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_general.c --- a/src/audtool/audtool_handlers_general.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_handlers_general.c Fri Nov 16 05:36:42 2007 +0200 @@ -54,7 +54,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } current_volume = audacious_remote_get_main_volume(dbus_proxy); @@ -74,63 +74,167 @@ void mainwin_show(gint argc, gchar **argv) { - if (argc > 1) - { - if (!g_ascii_strcasecmp(argv[1], "on")) { - audacious_remote_main_win_toggle(dbus_proxy, TRUE); - return; - } - else if (!g_ascii_strcasecmp(argv[1], "off")) { - audacious_remote_main_win_toggle(dbus_proxy, FALSE); - return; - } - } - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + if (argc < 2) { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if (!g_ascii_strcasecmp(argv[1], "on")) { + audacious_remote_main_win_toggle(dbus_proxy, TRUE); + return; + } + else if (!g_ascii_strcasecmp(argv[1], "off")) { + audacious_remote_main_win_toggle(dbus_proxy, FALSE); + return; + } } void playlist_show(gint argc, gchar **argv) { - if (argc > 1) - { - if (!g_ascii_strcasecmp(argv[1], "on")) { - audacious_remote_pl_win_toggle(dbus_proxy, TRUE); - return; - } - else if (!g_ascii_strcasecmp(argv[1], "off")) { - audacious_remote_pl_win_toggle(dbus_proxy, FALSE); - return; - } - } - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + if (argc < 2) { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if (!g_ascii_strcasecmp(argv[1], "on")) { + audacious_remote_pl_win_toggle(dbus_proxy, TRUE); + return; + } + else if (!g_ascii_strcasecmp(argv[1], "off")) { + audacious_remote_pl_win_toggle(dbus_proxy, FALSE); + return; + } } void equalizer_show(gint argc, gchar **argv) { - if (argc > 1) - { - if (!g_ascii_strcasecmp(argv[1] ,"on")) { - audacious_remote_eq_win_toggle(dbus_proxy, TRUE); - return; - } - else if (!g_ascii_strcasecmp(argv[1] ,"off")) { - audacious_remote_eq_win_toggle(dbus_proxy, FALSE); - return; - } - } - audtool_whine("invalid parameter for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); + if (argc < 2) { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if (!g_ascii_strcasecmp(argv[1] ,"on")) { + audacious_remote_eq_win_toggle(dbus_proxy, TRUE); + return; + } + else if (!g_ascii_strcasecmp(argv[1] ,"off")) { + audacious_remote_eq_win_toggle(dbus_proxy, FALSE); + return; + } } void show_preferences_window(gint argc, gchar **argv) { - audacious_remote_show_prefs_box(dbus_proxy); + gboolean show = TRUE; + + if (argc < 2) { +#if 0 + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); +#else + audacious_remote_toggle_prefs_box(dbus_proxy, show); + return; +#endif + } + + if (!g_ascii_strcasecmp(argv[1], "on")) + show = TRUE; + else if (!g_ascii_strcasecmp(argv[1], "off")) + show = FALSE; + else { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit (1); + } + + audacious_remote_toggle_prefs_box(dbus_proxy, show); +} + +void show_about_window(gint argc, gchar **argv) +{ + gboolean show = TRUE; + + if (argc < 2) { +#if 0 + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); +#else + audacious_remote_toggle_about_box(dbus_proxy, show); + return; +#endif + } + + if (!g_ascii_strcasecmp(argv[1], "on")) + show = TRUE; + else if (!g_ascii_strcasecmp(argv[1], "off")) + show = FALSE; + else { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit (1); + } + + audacious_remote_toggle_about_box(dbus_proxy, show); } void show_jtf_window(gint argc, gchar **argv) { - audacious_remote_show_jtf_box(dbus_proxy); + gboolean show = TRUE; + + if (argc < 2) { +#if 0 + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); +#else + audacious_remote_toggle_jtf_box(dbus_proxy, show); + return; +#endif + } + if (!g_ascii_strcasecmp(argv[1], "on")) + show = TRUE; + else if (!g_ascii_strcasecmp(argv[1], "off")) + show = FALSE; + else { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit (1); + } + + audacious_remote_toggle_jtf_box(dbus_proxy, show); +} + +void show_filebrowser(gint argc, gchar **argv) +{ + gboolean show = TRUE; + + if (argc < 2) { +#if 0 + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); +#else + audacious_remote_toggle_filebrowser(dbus_proxy, show); + return; +#endif + } + + if (!g_ascii_strcasecmp(argv[1], "on")) + show = TRUE; + else if (!g_ascii_strcasecmp(argv[1], "off")) + show = FALSE; + else { + audtool_whine("invalid parameter for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit (1); + } + + audacious_remote_toggle_filebrowser(dbus_proxy, show); } void shutdown_audacious_server(gint argc, gchar **argv) @@ -150,6 +254,7 @@ audtool_report(" %-34s - %s", handlers[i].name, handlers[i].desc); } + audtool_report(""); audtool_report("Handlers may be prefixed with `--' (GNU-style long-options) or not, your choice."); audtool_report("Report bugs to http://bugs-meta.atheme.org/"); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_playback.c --- a/src/audtool/audtool_handlers_playback.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_handlers_playback.c Fri Nov 16 05:36:42 2007 +0200 @@ -118,7 +118,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } audacious_remote_jump_to_time(dbus_proxy, atoi(argv[1]) * 1000); @@ -132,7 +132,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } oldtime = audacious_remote_get_output_time(dbus_proxy); diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_playlist.c --- a/src/audtool/audtool_handlers_playlist.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_handlers_playlist.c Fri Nov 16 05:36:42 2007 +0200 @@ -53,7 +53,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } audacious_remote_playlist_add_url_string(dbus_proxy, argv[1]); @@ -67,7 +67,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } playpos = atoi(argv[1]); @@ -99,7 +99,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } playpos = atoi(argv[1]); @@ -107,7 +107,7 @@ if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", playpos); - return; + exit(1); } song = audacious_remote_get_playlist_title(dbus_proxy, playpos - 1); @@ -124,7 +124,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } playpos = atoi(argv[1]); @@ -132,7 +132,7 @@ if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", playpos); - return; + exit(1); } frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); @@ -149,7 +149,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } playpos = atoi(argv[1]); @@ -157,7 +157,7 @@ if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", playpos); - return; + exit(1); } frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); @@ -174,7 +174,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } playpos = atoi(argv[1]); @@ -182,7 +182,7 @@ if (playpos < 1 || playpos > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", playpos); - return; + exit(1); } frames = audacious_remote_get_playlist_time(dbus_proxy, playpos - 1); @@ -257,7 +257,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -265,7 +265,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } audtool_report("%s", audacious_remote_get_playlist_file(dbus_proxy, i - 1)); @@ -279,7 +279,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -287,7 +287,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } audacious_remote_set_playlist_pos(dbus_proxy, i - 1); @@ -295,6 +295,7 @@ void playlist_clear(gint argc, gchar **argv) { + audacious_remote_stop(dbus_proxy); audacious_remote_playlist_clear(dbus_proxy); } @@ -339,17 +340,17 @@ void playlist_tuple_field_data(gint argc, gchar **argv) { gint i; - gpointer data; + gchar *data; if (argc < 3) { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - audtool_whine(" - fieldname example choices: performer, album_name,"); - audtool_whine(" track_name, track_number, year, date, genre, comment,"); - audtool_whine(" file_name, file_ext, file_path, length, formatter,"); - audtool_whine(" custom, mtime"); - return; + audtool_whine(" - fieldname example choices include but are not limited to:"); + audtool_whine(" artist, album, title, track_number, year, date,"); + audtool_whine(" genre, comment, file_name, file_ext, file_path,"); + audtool_whine(" length, formatter, custom, mtime"); + exit(1); } i = atoi(argv[2]); @@ -357,7 +358,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } if (!(data = audacious_get_tuple_field_data(dbus_proxy, argv[1], i - 1))) @@ -365,14 +366,7 @@ return; } - if (!g_ascii_strcasecmp(argv[1], "track_number") || !g_ascii_strcasecmp(argv[1], "year") || !g_ascii_strcasecmp(argv[1], "length") || !g_ascii_strcasecmp(argv[1], "mtime")) - { - if (*(gint *)data > 0) - { - audtool_report("%d", *(gint *)data); - } - return; - } + audtool_report("%s", data); - audtool_report("%s", (gchar *)data); + g_free(data); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_playqueue.c --- a/src/audtool/audtool_handlers_playqueue.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_handlers_playqueue.c Fri Nov 16 05:36:42 2007 +0200 @@ -45,7 +45,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -53,7 +53,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } if (!(audacious_remote_playqueue_is_queued(dbus_proxy, i - 1))) @@ -68,7 +68,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -76,7 +76,7 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } if (audacious_remote_playqueue_is_queued(dbus_proxy, i - 1)) @@ -91,29 +91,7 @@ { audtool_whine("invalid parameters for playqueue-is-queued.", argv[0]); audtool_whine("syntax: %s playqueue-is-queued ", argv[0]); - return; - } - - i = atoi(argv[1]); - - if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) - { - audtool_whine("invalid playlist position %d", i); - return; - } - - exit(!(audacious_remote_playqueue_is_queued(dbus_proxy, i - 1))); -} - -void playqueue_get_position(gint argc, gchar **argv) -{ - gint i, pos; - - if (argc < 2) - { - audtool_whine("invalid parameters for %s.", argv[0]); - audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -121,10 +99,36 @@ if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); + } + if(audacious_remote_playqueue_is_queued(dbus_proxy, i - 1)) { + audtool_report("OK"); + exit(0); + } + else + exit(1); +} + +void playqueue_get_queue_position(gint argc, gchar **argv) +{ + gint i, pos; + + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); } - pos = audacious_remote_get_playqueue_position(dbus_proxy, i - 1) + 1; + i = atoi(argv[1]); + + if (i < 1 || i > audacious_remote_get_playlist_length(dbus_proxy)) + { + audtool_whine("invalid playlist position %d", i); + exit(1); + } + + pos = audacious_remote_get_playqueue_queue_position(dbus_proxy, i - 1) + 1; if (pos < 1) return; @@ -132,7 +136,7 @@ audtool_report("%d", pos); } -void playqueue_get_qposition(gint argc, gchar **argv) +void playqueue_get_list_position(gint argc, gchar **argv) { gint i, pos; @@ -140,7 +144,7 @@ { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - return; + exit(1); } i = atoi(argv[1]); @@ -148,10 +152,10 @@ if (i < 1 || i > audacious_remote_get_playqueue_length(dbus_proxy)) { audtool_whine("invalid playlist position %d", i); - return; + exit(1); } - pos = audacious_remote_get_playqueue_queue_position(dbus_proxy, i - 1) + 1; + pos = audacious_remote_get_playqueue_list_position(dbus_proxy, i - 1) + 1; if (pos < 1) return; @@ -174,7 +178,7 @@ for (ii = 0; ii < i; ii++) { - position = audacious_remote_get_playqueue_queue_position(dbus_proxy, ii); + position = audacious_remote_get_playqueue_list_position(dbus_proxy, ii); songname = audacious_remote_get_playlist_title(dbus_proxy, position); frames = audacious_remote_get_playlist_time(dbus_proxy, position); length = frames / 1000; diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_test.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/audtool/audtool_handlers_test.c Fri Nov 16 05:36:42 2007 +0200 @@ -0,0 +1,250 @@ +/* + * Audtool2 + * Copyright (c) 2007 Audacious development team + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include "libaudclient/audctrl.h" +#include "audtool.h" + +void test_activate(gint argc, gchar **argv) +{ + audacious_remote_activate(dbus_proxy); +} + +void test_enqueue_to_temp(gint argc, gchar **argv) +{ + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + audacious_remote_playlist_enqueue_to_temp(dbus_proxy, argv[1]); +} + +void test_toggle_aot(gint argc, gchar **argv) +{ + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if (!g_ascii_strcasecmp(argv[1], "on")) { + audacious_remote_toggle_aot(dbus_proxy, TRUE); + return; + } + else if (!g_ascii_strcasecmp(argv[1], "off")) { + audacious_remote_toggle_aot(dbus_proxy, FALSE); + return; + } +} + +void test_get_skin(gint argc, gchar **argv) +{ + gchar *skin = NULL; + skin = audacious_remote_get_skin(dbus_proxy); + audtool_report("%s", skin); + g_free(skin); +} + +void test_set_skin(gint argc, gchar **argv) +{ + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if(!argv[1] || !strcmp(argv[1], "")) + return; + + audacious_remote_set_skin(dbus_proxy, argv[1]); +} + +void test_get_info(gint argc, gchar **argv) +{ + gint rate, freq, nch; + + audacious_remote_get_info(dbus_proxy, &rate, &freq, &nch); + audtool_report("rate = %d freq = %d nch = %d", rate, freq, nch); +} + +void test_ins_url_string(gint argc, gchar **argv) +{ + gint pos = -1; + + if (argc < 3) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + pos = atoi(argv[2]) - 1; + if(pos >= 0) + audacious_remote_playlist_ins_url_string(dbus_proxy, argv[1], pos); +} + +void test_get_version(gint argc, gchar **argv) +{ + gchar *version = NULL; + version = audacious_remote_get_version(dbus_proxy); + if(version) + audtool_report("Audacious %s", version); + g_free(version); +} + +void test_get_eq(gint argc, gchar **argv) +{ + double preamp; + GArray *bands; + int i; + + audacious_remote_get_eq(dbus_proxy, &preamp, &bands); + + audtool_report("preamp = %.2f", preamp); + for(i=0; i<10; i++){ + printf("%.2f ", g_array_index(bands, gdouble, i)); + } + printf("\n"); + g_array_free(bands, TRUE); +} + +void test_get_eq_preamp(gint argc, gchar **argv) +{ + audtool_report("preamp = %.2f", audacious_remote_get_eq_preamp(dbus_proxy)); +} + +void test_get_eq_band(gint argc, gchar **argv) +{ + int band; + + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + band = atoi(argv[1]); + + if (band < 0 || band > 9) + { + audtool_whine("band number out of range"); + exit(1); + } + + audtool_report("band %d = %.2f", band, audacious_remote_get_eq_band(dbus_proxy, band)); + +} + +void test_set_eq(gint argc, gchar **argv) +{ + gdouble preamp; + GArray *bands = g_array_sized_new(FALSE, FALSE, sizeof(gdouble), 10); + int i; + + if (argc < 12) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + preamp = atof(argv[1]); + + for(i=0; i<10; i++){ + gdouble val = atof(argv[i+2]); + g_array_append_val(bands, val); + } + + audacious_remote_set_eq(dbus_proxy, preamp, bands); +} + +void test_set_eq_preamp(gint argc, gchar **argv) +{ + gdouble preamp; + + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + preamp = atof(argv[1]); + + audacious_remote_set_eq_preamp(dbus_proxy, preamp); +} + +void test_set_eq_band(gint argc, gchar **argv) +{ + int band; + gdouble preamp; + + if (argc < 3) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + band = atoi(argv[1]); + preamp = atof(argv[2]); + + audacious_remote_set_eq_band(dbus_proxy, band, preamp); +} + +void test_equalizer_active(gint argc, gchar **argv) +{ + if (argc < 2) + { + audtool_whine("invalid parameters for %s.", argv[0]); + audtool_whine("syntax: %s ", argv[0]); + exit(1); + } + + if (!g_ascii_strcasecmp(argv[1], "on")) { + audacious_remote_eq_activate(dbus_proxy, TRUE); + return; + } + else if (!g_ascii_strcasecmp(argv[1], "off")) { + audacious_remote_eq_activate(dbus_proxy, FALSE); + return; + } +} diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_handlers_vitals.c --- a/src/audtool/audtool_handlers_vitals.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_handlers_vitals.c Fri Nov 16 05:36:42 2007 +0200 @@ -161,17 +161,17 @@ void get_current_song_tuple_field_data(gint argc, gchar **argv) { - gpointer data; + gchar *data; if (argc < 2) { audtool_whine("invalid parameters for %s.", argv[0]); audtool_whine("syntax: %s ", argv[0]); - audtool_whine(" - fieldname example choices: performer, album_name,"); - audtool_whine(" track_name, track_number, year, date, genre, comment,"); - audtool_whine(" file_name, file_ext, file_path, length, formatter,"); - audtool_whine(" custom, mtime"); - return; + audtool_whine(" - fieldname example choices include but are not limited to:"); + audtool_whine(" artist, album, title, track_number, year, date,"); + audtool_whine(" genre, comment, file_name, file_ext, file_path,"); + audtool_whine(" length, formatter, custom, mtime"); + exit(1); } if (!(data = audacious_get_tuple_field_data(dbus_proxy, argv[1], audacious_remote_get_playlist_pos(dbus_proxy)))) @@ -179,14 +179,7 @@ return; } - if (!g_ascii_strcasecmp(argv[1], "track_number") || !g_ascii_strcasecmp(argv[1], "year") || !g_ascii_strcasecmp(argv[1], "length") || !g_ascii_strcasecmp(argv[1], "mtime")) - { - if (*(gint *)data > 0) - { - audtool_report("%d", *(gint *)data); - } - return; - } + audtool_report("%s", data); - audtool_report("%s", (gchar *)data); + g_free(data); } diff -r 4f6c614aee5d -r de76dbec8e1e src/audtool/audtool_main.c --- a/src/audtool/audtool_main.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/audtool/audtool_main.c Fri Nov 16 05:36:42 2007 +0200 @@ -77,8 +77,8 @@ {"playqueue-add", playqueue_add, "adds a song to the playqueue", 1}, {"playqueue-remove", playqueue_remove, "removes a song from the playqueue", 1}, {"playqueue-is-queued", playqueue_is_queued, "returns OK if a song is queued", 1}, - {"playqueue-get-position", playqueue_get_position, "returns the queue position of a song in the playlist", 1}, - {"playqueue-get-qposition", playqueue_get_qposition, "returns the playlist position of a song in the queue", 1}, + {"playqueue-get-queue-position", playqueue_get_queue_position, "returns the playqueue position of a song in the given poition in the playlist", 1}, + {"playqueue-get-list-position", playqueue_get_list_position, "returns the playlist position of a song in the given position in the playqueue", 1}, {"playqueue-length", playqueue_length, "returns the length of the playqueue", 0}, {"playqueue-display", playqueue_display, "returns a list of currently-queued songs", 0}, {"playqueue-clear", playqueue_clear, "clears the playqueue", 0}, @@ -100,12 +100,37 @@ {"mainwin-show", mainwin_show, "shows/hides the main window", 1}, {"playlist-show", playlist_show, "shows/hides the playlist window", 1}, {"equalizer-show", equalizer_show, "shows/hides the equalizer window", 1}, - {"preferences", show_preferences_window, "shows/hides the preferences window", 0}, - {"jumptofile", show_jtf_window, "shows the jump to file window", 0}, + + {"preferences-show", show_preferences_window, "shows/hides the preferences window", 1}, + {"about-show", show_about_window, "shows/hides the about window", 1}, + {"jumptofile-show", show_jtf_window, "shows/hides the jump to file window", 1}, + {"filebrowser-show", show_filebrowser, "shows/hides the filebrowser", 1}, + {"shutdown", shutdown_audacious_server, "shuts down audacious", 0}, {"", NULL, "Help system", 0}, {"list-handlers", get_handlers_list, "shows handlers list", 0}, {"help", get_handlers_list, "shows handlers list", 0}, + + /* test suite */ + {"", NULL, "Test suite", 0}, + {"activate", test_activate, "activate audacious", 0}, + {"always-on-top", test_toggle_aot, "on/off always on top", 1}, + {"get-version", test_get_version, "get the version string of audacious", 0}, + {"get-info", test_get_info, "get info", 0}, + {"get-skin", test_get_skin, "get skin", 0}, + {"set-skin", test_set_skin, "set skin", 1}, + {"playlist-addurl-to-new-playlist", test_enqueue_to_temp, "adds a url to the newly created playlist", 1}, + {"playlist-insurl", test_ins_url_string, "inserts a url at specified position in the playlist", 2}, + + /* test suite for equalizer */ + {"equalizer-get", test_get_eq, "get the equalizer settings", 0}, + {"equalizer-get-preamp", test_get_eq_preamp, "get the equalizer pre-amplification", 0}, + {"equalizer-get-band", test_get_eq_band, "get the equalizer value in specified band", 1}, + {"equalizer-set", test_set_eq, "set the equalizer settings", 11}, + {"equalizer-set-preamp", test_set_eq_preamp, "set the equalizer pre-amplification", 1}, + {"equalizer-set-band", test_set_eq_band, "set the equalizer value in the specified band", 2}, + {"equalizer-activate", test_equalizer_active, "activate/deactivate the equalizer", 1}, + {NULL, NULL, NULL, 0} }; @@ -146,7 +171,7 @@ mowgli_error_context_push(e, "While processing the commandline"); if (argc < 2) - mowgli_error_context_display_with_error(e, ":\n * ", "not enough parameters, use audtool --help for more information."); + mowgli_error_context_display_with_error(e, ":\n * ", "not enough parameters, use \'audtool help\' for more information."); for (j = 1; j < argc; j++) { @@ -156,15 +181,18 @@ !g_ascii_strcasecmp(g_strconcat("--", handlers[i].name, NULL), argv[j])) && g_ascii_strcasecmp("", handlers[i].name)) { - handlers[i].handler(handlers[i].args + 1, &argv[j]); + int numargs = handlers[i].args + 1 < argc - 1 ? handlers[i].args + 1 : argc - 1; + handlers[i].handler(numargs, &argv[j]); j += handlers[i].args; k++; + if(j >= argc) + break; } } } if (k == 0) - mowgli_error_context_display_with_error(e, ":\n * ", g_strdup_printf("Unknown command `%s' encountered, use audtool --help for a command list.", argv[1])); + mowgli_error_context_display_with_error(e, ":\n * ", g_strdup_printf("Unknown command '%s' encountered, use \'audtool help\' for a command list.", argv[1])); return 0; } diff -r 4f6c614aee5d -r de76dbec8e1e src/libaudclient/audctrl.c --- a/src/libaudclient/audctrl.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/libaudclient/audctrl.c Fri Nov 16 05:36:42 2007 +0200 @@ -21,6 +21,7 @@ #include #include +#include #include #include "audacious/dbus.h" #include "audacious/dbus-client-bindings.h" @@ -37,21 +38,45 @@ * * Sends a playlist to audacious. **/ -void audacious_remote_playlist(DBusGProxy *proxy, gchar **list, gint num, - gboolean enqueue) { -//XXX +void audacious_remote_playlist(DBusGProxy *proxy, gchar **list, gint num, gboolean enqueue) { + GList *glist = NULL; + gchar **data = list; + + g_return_if_fail(list != NULL); + g_return_if_fail(num > 0); + + if (!enqueue) + audacious_remote_playlist_clear(proxy); + + // construct a GList + while(data) { + glist = g_list_append(glist, (gpointer)data); + data++; + } + + org_atheme_audacious_playlist_add(proxy, (gpointer)glist, &error); + + g_list_free(glist); + glist = NULL; + + if (!enqueue) + audacious_remote_play(proxy); } /** * audacious_remote_get_version: * @proxy: DBus proxy for audacious * - * Queries audacious for it's protocol version. + * Queries audacious for it's version. * - * Return value: The protocol version used by Audacious. + * Return value: The version of Audacious. **/ -gint audacious_remote_get_version(DBusGProxy *proxy) { - return 0x09a3; // XXX should do actual dbus call. +gchar *audacious_remote_get_version(DBusGProxy *proxy) { + char *string = NULL; + org_atheme_audacious_version(proxy, &string, &error); + g_clear_error(&error); + + return (string ? string : NULL); } /** @@ -64,7 +89,7 @@ void audacious_remote_playlist_add(DBusGProxy *proxy, GList *list) { GList *iter; for (iter = list; iter != NULL; iter = g_list_next(iter)) - org_atheme_audacious_add(proxy, iter->data, &error); + org_atheme_audacious_playlist_add(proxy, iter->data, &error); g_clear_error(&error); } @@ -76,7 +101,8 @@ * Deletes a playlist entry. **/ void audacious_remote_playlist_delete(DBusGProxy *proxy, guint pos) { -//XXX + org_atheme_audacious_delete(proxy, pos, &error); + g_clear_error(&error); } /** @@ -340,8 +366,10 @@ * Return value: A path to the currently selected skin. **/ gchar *audacious_remote_get_skin(DBusGProxy *proxy) { -//XXX - return NULL; + gchar *skin = NULL; + org_atheme_audacious_get_skin (proxy, &skin, &error); + g_clear_error(&error); + return skin; } /** @@ -352,7 +380,8 @@ * Tells audacious to start using the skinfile provided. **/ void audacious_remote_set_skin(DBusGProxy *proxy, gchar *skinfile) { -//XXX + org_atheme_audacious_set_skin(proxy, skinfile, &error); + g_clear_error(&error); } /** @@ -506,7 +535,41 @@ * Tells audacious to show the preferences pane. **/ void audacious_remote_show_prefs_box(DBusGProxy *proxy) { -//XXX + audacious_remote_toggle_prefs_box(proxy, TRUE); +} + +/** + * audacious_remote_toggle_prefs_box: + * @proxy: DBus proxy for audacious + * @show: shows/hides + * + * Tells audacious to show/hide the preferences pane. + **/ +void audacious_remote_toggle_prefs_box(DBusGProxy *proxy, gboolean show) { + org_atheme_audacious_show_prefs_box(proxy, show, &error); + g_clear_error(&error); +} + +/** + * audacious_remote_show_about_box: + * @proxy: DBus proxy for audacious + * + * Tells audacious to show the about box. + **/ +void audacious_remote_show_about_box(DBusGProxy *proxy) { + audacious_remote_toggle_about_box(proxy, TRUE); +} + +/** + * audacious_remote_toggle_about_box: + * @proxy: DBus proxy for audacious + * @show: shows/hides + * + * Tells audacious to show/hide the about box. + **/ +void audacious_remote_toggle_about_box(DBusGProxy *proxy, gboolean show) { + org_atheme_audacious_show_about_box(proxy, show, &error); + g_clear_error(&error); } /** @@ -517,7 +580,8 @@ * Tells audacious to toggle the always-on-top feature. **/ void audacious_remote_toggle_aot(DBusGProxy *proxy, gboolean ontop) { -//XXX + org_atheme_audacious_toggle_aot(proxy, ontop, &error); + g_clear_error(&error); } /** @@ -646,9 +710,9 @@ * * Queries audacious about the equalizer settings. **/ -void audacious_remote_get_eq(DBusGProxy *proxy, gfloat *preamp, - gfloat **bands) { -//XXX +void audacious_remote_get_eq(DBusGProxy *proxy, gdouble *preamp, GArray **bands) { + org_atheme_audacious_get_eq(proxy, preamp, bands, &error); + g_clear_error(&error); } /** @@ -659,9 +723,13 @@ * * Return value: The equalizer preamp's setting. **/ -gfloat audacious_remote_get_eq_preamp(DBusGProxy *proxy) { -//XXX - return 0.0; +gdouble audacious_remote_get_eq_preamp(DBusGProxy *proxy) { + gdouble preamp = 0.0; + + org_atheme_audacious_get_eq_preamp(proxy, &preamp, &error); + g_clear_error(&error); + + return preamp; } /** @@ -673,9 +741,13 @@ * * Return value: The equalizer band's value. **/ -gfloat audacious_remote_get_eq_band(DBusGProxy *proxy, gint band) { -//XXX - return 0.0; +gdouble audacious_remote_get_eq_band(DBusGProxy *proxy, gint band) { + gdouble value = 0.0; + + org_atheme_audacious_get_eq_band(proxy, band, &value, &error); + g_clear_error(&error); + + return value; } /** @@ -686,9 +758,9 @@ * * Tells audacious to set the equalizer up using the provided values. **/ -void audacious_remote_set_eq(DBusGProxy *proxy, gfloat preamp, - gfloat *bands) { -//XXX +void audacious_remote_set_eq(DBusGProxy *proxy, gdouble preamp, GArray *bands) { + org_atheme_audacious_set_eq(proxy, preamp, bands, &error); + g_clear_error(&error); } /** @@ -698,8 +770,9 @@ * * Tells audacious to set the equalizer's preamp setting. **/ -void audacious_remote_set_eq_preamp(DBusGProxy *proxy, gfloat preamp) { -//XXX +void audacious_remote_set_eq_preamp(DBusGProxy *proxy, gdouble preamp) { + org_atheme_audacious_set_eq_preamp(proxy, preamp, &error); + g_clear_error(&error); } /** @@ -710,9 +783,9 @@ * * Tells audacious to set an equalizer band's setting. **/ -void audacious_remote_set_eq_band(DBusGProxy *proxy, gint band, - gfloat value) { -//XXX +void audacious_remote_set_eq_band(DBusGProxy *proxy, gint band, gdouble value) { + org_atheme_audacious_set_eq_band(proxy, band, value, &error); + g_clear_error(&error); } /** @@ -733,7 +806,7 @@ * Tells audacious to either play or pause. **/ void audacious_remote_play_pause(DBusGProxy *proxy) { -//XXX + org_atheme_audacious_play_pause(proxy, &error); } /** @@ -746,7 +819,8 @@ **/ void audacious_remote_playlist_ins_url_string(DBusGProxy *proxy, gchar *string, guint pos) { -//XXX + org_atheme_audacious_playlist_ins_url_string (proxy, string, pos, &error); + g_clear_error(&error); } /** @@ -757,7 +831,8 @@ * Tells audacious to add a playlist entry to the playqueue. **/ void audacious_remote_playqueue_add(DBusGProxy *proxy, guint pos) { -//XXX + org_atheme_audacious_playqueue_add (proxy, pos, &error); + g_clear_error(&error); } /** @@ -768,7 +843,8 @@ * Tells audacious to remove a playlist entry from the playqueue. **/ void audacious_remote_playqueue_remove(DBusGProxy *proxy, guint pos) { -//XXX + org_atheme_audacious_playqueue_remove (proxy, pos, &error); + g_clear_error(&error); } /** @@ -820,7 +896,8 @@ * Tells audacious to display the main window and become the selected window. **/ void audacious_remote_activate(DBusGProxy *proxy) { -//XXX + org_atheme_audacious_activate(proxy, &error); + g_clear_error(&error); } /** @@ -830,7 +907,31 @@ * Tells audacious to show the Jump-to-File pane. **/ void audacious_remote_show_jtf_box(DBusGProxy *proxy) { -//XXX + audacious_remote_toggle_jtf_box(proxy, TRUE); +} + +/** + * audacious_remote_toggle_jtf_box: + * @proxy: DBus proxy for audacious + * @show: shows/hides jtf pane + * + * Tells audacious to show/hide the Jump-to-File pane. + **/ +void audacious_remote_toggle_jtf_box(DBusGProxy *proxy, gboolean show) { + org_atheme_audacious_show_jtf_box(proxy, show, &error); + g_clear_error(&error); +} + +/** + * audacious_remote_toggle_filebrowser: + * @proxy: DBus proxy for audacious + * @show: shows/hides filebrowser + * + * Tells audacious to show the filebrowser dialog. + **/ +void audacious_remote_toggle_filebrowser(DBusGProxy *proxy, gboolean show) { + org_atheme_audacious_show_filebrowser(proxy, show, &error); + g_clear_error(&error); } /** @@ -840,7 +941,8 @@ * Tells audacious to clear the playqueue. **/ void audacious_remote_playqueue_clear(DBusGProxy *proxy) { -//XXX + org_atheme_audacious_playqueue_clear(proxy, &error); + g_clear_error(&error); } /** @@ -853,22 +955,10 @@ * Return value: TRUE if yes, FALSE otherwise. **/ gboolean audacious_remote_playqueue_is_queued(DBusGProxy *proxy, guint pos) { -//XXX - return FALSE; -} - -/** - * audacious_remote_get_playqueue_position: - * @proxy: DBus proxy for audacious - * @pos: Position to check queue for. - * - * Queries audacious about what the playqueue position is for a playlist entry. - * - * Return value: TRUE if yes, FALSE otherwise. - **/ -gint audacious_remote_get_playqueue_position(DBusGProxy *proxy, guint pos) { -//XXX - return 0; + gboolean is_queued; + org_atheme_audacious_playqueue_is_queued (proxy, pos, &is_queued, &error); + g_clear_error(&error); + return is_queued; } /** @@ -876,14 +966,31 @@ * @proxy: DBus proxy for audacious * @pos: Position to check queue for. * + * Queries audacious about what the playqueue position is for a playlist entry. + * + * Return value: the playqueue position for a playlist entry + **/ +gint audacious_remote_get_playqueue_queue_position(DBusGProxy *proxy, guint pos) { + guint qpos = 0; + org_atheme_audacious_queue_get_queue_pos (proxy, pos, &qpos, &error); + g_clear_error(&error); + return qpos; +} + +/** + * audacious_remote_get_playqueue_list_position: + * @proxy: DBus proxy for audacious + * @pos: Position to check queue for. + * * Queries audacious about what the playlist position is for a playqueue entry. * - * Return value: TRUE if yes, FALSE otherwise. + * Return value: the playlist position for a playqueue entry **/ -gint audacious_remote_get_playqueue_queue_position(DBusGProxy *proxy, - guint pos) { -//XXX - return 0; +gint audacious_remote_get_playqueue_list_position(DBusGProxy *proxy, guint qpos) { + guint pos = 0; + org_atheme_audacious_queue_get_list_pos (proxy, qpos, &pos, &error); + g_clear_error(&error); + return pos; } /** @@ -895,7 +1002,8 @@ **/ void audacious_remote_playlist_enqueue_to_temp(DBusGProxy *proxy, gchar *string) { -//XXX + org_atheme_audacious_playlist_enqueue_to_temp(proxy, string, &error); + g_clear_error(&error); } /** @@ -910,6 +1018,44 @@ **/ gchar *audacious_get_tuple_field_data(DBusGProxy *proxy, gchar *field, guint pos) { -//XXX - return NULL; + GValue value = {}; + gchar *s = NULL; + + org_atheme_audacious_song_tuple(proxy, pos, field, &value, &error); + + g_clear_error(&error); + + if (G_IS_VALUE(&value) == FALSE) + return NULL; + + if (G_VALUE_HOLDS_STRING(&value)) + s = g_strescape(g_value_get_string(&value), NULL); + else if (g_value_type_transformable(G_VALUE_TYPE(&value), G_TYPE_STRING)) + { + GValue tmp_value = { 0, }; + + g_value_init(&tmp_value, G_TYPE_STRING); + g_value_transform(&value, &tmp_value); + + s = g_strescape(g_value_get_string(&tmp_value), NULL); + + g_value_unset(&tmp_value); + } + else + s = g_strdup(""); + + g_value_unset(&value); + return s; } + +/** + * audacious_remote_eq_activate: + * @proxy: DBus proxy for audacious + * @active: Whether or not to activate the equalizer. + * + * Toggles the equalizer. + **/ +void audacious_remote_eq_activate(DBusGProxy *proxy, gboolean active) { + org_atheme_audacious_equalizer_activate (proxy, active, &error); + g_clear_error(&error); +} diff -r 4f6c614aee5d -r de76dbec8e1e src/libaudclient/audctrl.h --- a/src/libaudclient/audctrl.h Wed Oct 24 10:41:53 2007 +0300 +++ b/src/libaudclient/audctrl.h Fri Nov 16 05:36:42 2007 +0200 @@ -23,13 +23,11 @@ #include #include -#ifdef __cplusplus -extern "C" { -#endif +G_BEGIN_DECLS void audacious_remote_playlist(DBusGProxy *proxy, gchar **list, gint num, gboolean enqueue); - gint audacious_remote_get_version(DBusGProxy *proxy); + gchar *audacious_remote_get_version(DBusGProxy *proxy); void audacious_remote_playlist_add(DBusGProxy *proxy, GList *list); void audacious_remote_playlist_delete(DBusGProxy *proxy, guint pos); void audacious_remote_play(DBusGProxy *proxy); @@ -74,15 +72,15 @@ void audacious_remote_toggle_shuffle(DBusGProxy *proxy); gboolean audacious_remote_is_repeat(DBusGProxy *proxy); gboolean audacious_remote_is_shuffle(DBusGProxy *proxy); - void audacious_remote_get_eq(DBusGProxy *proxy, gfloat *preamp, - gfloat **bands); - gfloat audacious_remote_get_eq_preamp(DBusGProxy *proxy); - gfloat audacious_remote_get_eq_band(DBusGProxy *proxy, gint band); - void audacious_remote_set_eq(DBusGProxy *proxy, gfloat preamp, - gfloat *bands); - void audacious_remote_set_eq_preamp(DBusGProxy *proxy, gfloat preamp); + void audacious_remote_get_eq(DBusGProxy *proxy, gdouble *preamp, + GArray **bands); + gdouble audacious_remote_get_eq_preamp(DBusGProxy *proxy); + gdouble audacious_remote_get_eq_band(DBusGProxy *proxy, gint band); + void audacious_remote_set_eq(DBusGProxy *proxy, gdouble preamp, + GArray *bands); + void audacious_remote_set_eq_preamp(DBusGProxy *proxy, gdouble preamp); void audacious_remote_set_eq_band(DBusGProxy *proxy, gint band, - gfloat value); + gdouble value); /* Added in XMMS 1.2.1 */ void audacious_remote_quit(DBusGProxy *proxy); @@ -106,9 +104,8 @@ void audacious_remote_show_jtf_box(DBusGProxy *proxy); void audacious_remote_playqueue_clear(DBusGProxy *proxy); gboolean audacious_remote_playqueue_is_queued(DBusGProxy *proxy, guint pos); - gint audacious_remote_get_playqueue_position(DBusGProxy *proxy, guint pos); - gint audacious_remote_get_playqueue_queue_position(DBusGProxy *proxy, - guint pos); + gint audacious_remote_get_playqueue_list_position(DBusGProxy *proxy, guint qpos); + gint audacious_remote_get_playqueue_queue_position(DBusGProxy *proxy, guint pos); /* Added in Audacious 1.2 */ void audacious_set_session_uri(DBusGProxy *proxy, gchar *uri); @@ -120,9 +117,14 @@ gchar *string); gchar *audacious_get_tuple_field_data(DBusGProxy *proxy, gchar *field, guint pos); +/* Added in Audacious 1.4 */ + void audacious_remote_show_about_box(DBusGProxy *proxy); + void audacious_remote_toggle_about_box(DBusGProxy *proxy, gboolean show); + void audacious_remote_toggle_jtf_box(DBusGProxy *proxy, gboolean show); + void audacious_remote_toggle_prefs_box(DBusGProxy *proxy, gboolean show); + void audacious_remote_toggle_filebrowser(DBusGProxy *proxy, gboolean show); + void audacious_remote_eq_activate(DBusGProxy *proxy, gboolean active); -#ifdef __cplusplus -}; -#endif +G_END_DECLS #endif diff -r 4f6c614aee5d -r de76dbec8e1e src/libguess/cjk_impl.c --- a/src/libguess/cjk_impl.c Wed Oct 24 10:41:53 2007 +0300 +++ b/src/libguess/cjk_impl.c Fri Nov 16 05:36:42 2007 +0200 @@ -112,6 +112,8 @@ break; } + DFA_NEXT(utf8, '\0'); //Bug #53 + if(DFA_ALIVE(utf8)) return 1; else