# HG changeset patch # User William Pitcock # Date 1189703439 18000 # Node ID 1359a81e467407af5df11d886d789ee58c387530 # Parent 5dfa4fc721b0b530c4d534970d1ee826dee657cf# Parent 0d5f7629171fdc18fdf023a05b7c169299ba7ff5 Automated merge with ssh://hg.atheme.org//hg/audacious-plugins. diff -r 5dfa4fc721b0 -r 1359a81e4674 .hgtags --- a/.hgtags Thu Sep 13 12:09:38 2007 -0500 +++ b/.hgtags Thu Sep 13 12:10:39 2007 -0500 @@ -1,3 +1,4 @@ fbeb9446aa2e626eb1944fd872c4995cf3182b43 audacious-plugins-1.4.0-DR1 76c778a3a5fe18c8ea5ddb0c361270a38452edc7 audacious-plugins-1.4.0-dr1 5f892afeb8e1ff5e60f32449359a59eda383f14a audacious-plugins-1.4.0-dr2 +49704b7f41db4070965a16fd6856a7e4760dbc1c audacious-plugins-1.4.0-dr3 diff -r 5dfa4fc721b0 -r 1359a81e4674 po/audacious-plugins.pot --- a/po/audacious-plugins.pot Thu Sep 13 12:09:38 2007 -0500 +++ b/po/audacious-plugins.pot Thu Sep 13 12:10:39 2007 -0500 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -38,7 +38,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -81,8 +81,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -116,14 +116,14 @@ msgstr "" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "" @@ -228,28 +228,28 @@ msgid "Subsong selection" msgstr "" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 msgid "Speed: " msgstr "" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 msgid "Timer: " msgstr "" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "" @@ -284,8 +284,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "" @@ -299,10 +299,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "" @@ -352,6 +352,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 msgid "Quiet after:" msgstr "" @@ -411,10 +415,10 @@ msgid "Fading" msgstr "" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 msgid "seconds" msgstr "" @@ -1180,8 +1184,8 @@ "backend" msgstr "" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "" @@ -1422,10 +1426,10 @@ msgid "Skin file:" msgstr "" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "" @@ -1506,7 +1510,7 @@ msgstr "" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 msgid "Misc" msgstr "" @@ -1771,7 +1775,7 @@ msgstr "" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "" @@ -2070,7 +2074,7 @@ "Ensure that the device has been correctly plugged in." msgstr "" -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "" @@ -2189,11 +2193,11 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 msgid "About FileWriter-Plugin" msgstr "" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 msgid "" "FileWriter-Plugin\n" "\n" @@ -2213,63 +2217,63 @@ "USA." msgstr "" -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 msgid "" "You cannot use the FileWriter plugin\n" "when you're running in realtime mode." msgstr "" -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 msgid "File Writer Configuration" msgstr "" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 msgid "Output file format:" msgstr "" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 msgid "Configure" msgstr "" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -2675,8 +2679,7 @@ msgid "ID3 format:" msgstr "" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "" @@ -3103,8 +3106,8 @@ msgid "Use Album Gain" msgstr "" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "" @@ -3116,8 +3119,8 @@ msgid "Track:" msgstr "" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "" @@ -3365,152 +3368,133 @@ msgid "Scrobbler Error" msgstr "" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -msgid "Subtune Control" -msgstr "" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -msgid "Audacious-SID Configuration" -msgstr "" - -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +msgid "Audacious-SID configuration" +msgstr "" + +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 msgid "8-bit" msgstr "" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 msgid "16-bit" msgstr "" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 msgid "Resolution:" msgstr "" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 msgid "Samplerate:" msgstr "" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 msgid "Use oversampling" msgstr "" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 msgid "Oversampling:" msgstr "" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 msgid "Clock speed:" msgstr "" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 msgid "Force model" msgstr "" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -3518,89 +3502,89 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 msgid "SID model:" msgstr "" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 msgid "Transparent ROM" msgstr "" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 msgid "Memory mode:" msgstr "" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -3609,47 +3593,47 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 msgid "Resampling (FIR)" msgstr "" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 msgid "reSID sampling options:" msgstr "" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -3657,367 +3641,271 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +msgid "Export" +msgstr "" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 msgid "Import" msgstr "" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -msgid "Export" -msgstr "" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +msgid "Delete" +msgstr "" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 msgid "Filter curve:" msgstr "" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 msgid "Play at least for specified time" msgstr "" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 msgid "Playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 msgid "DB-file:" msgstr "" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 msgid "Songlength" msgstr "" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +msgid "Sub-tune handling:" +msgstr "" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 msgid "STIL file:" msgstr "" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -msgid "Override generic XMMS titles" -msgstr "" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -msgid "Song name/title format:" -msgstr "" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -msgid "No sub-tune control." -msgstr "" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -msgid "Sub-tune control:" -msgstr "" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 msgid "Audacious-SID Fileinfo" msgstr "" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 msgid "Song Information:" msgstr "" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 msgid "Duration:" msgstr "" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 msgid "Sub-tune Information:" msgstr "" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +msgid "Confirm selected action" +msgstr "" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +msgid "Yes" +msgstr "" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +msgid "No" +msgstr "" + +#: src/sid/xs_fileinfo.c:238 msgid "General info" msgstr "" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4040,32 +3928,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4102,72 +3990,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/ca.po --- a/po/ca.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/ca.po Thu Sep 13 12:10:39 2007 -0500 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: audacious-plugins 1.3.0-alpha4\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-02-09 21:12+0100\n" "Last-Translator: Ernest Adrogué \n" "Language-Team: Catalan \n" @@ -38,7 +38,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -92,8 +92,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -131,14 +131,14 @@ msgstr "Canals" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Estèreo" @@ -249,30 +249,30 @@ msgid "Subsong selection" msgstr "" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Parlat" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Títol:" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -308,8 +308,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Tanca" @@ -323,10 +323,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "D'acord" @@ -379,6 +379,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -441,10 +445,10 @@ msgid "Fading" msgstr "" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "segons" @@ -1263,8 +1267,8 @@ "backend" msgstr "" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Nom:" @@ -1511,10 +1515,10 @@ msgid "Skin file:" msgstr "" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "" @@ -1600,7 +1604,7 @@ msgstr "Tràiler" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Disco" @@ -1885,7 +1889,7 @@ msgstr "Duració per defecte:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Remostreig" @@ -2220,7 +2224,7 @@ "Ensure that the device has been correctly plugged in." msgstr "" -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Error" @@ -2349,12 +2353,12 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "Quant al plugin per a Scrobbler" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2391,7 +2395,7 @@ "Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n" "Boston, MA 02110-1301, USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2400,60 +2404,60 @@ "No podeu utilitzar el plugin d'escriptura\n" "al disc en mode de temps real." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Configuració de l'escriptura al disc" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Directori de sortida:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Configuració de l'eco" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Directori de sortida:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "Trieu un directori" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Deixa l'extensió del fitxer" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -2904,8 +2908,7 @@ msgid "ID3 format:" msgstr "Format ID3:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Títol" @@ -3359,8 +3362,8 @@ msgid "Use Album Gain" msgstr "usa el guany/pic del disc" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 #, fuzzy msgid "Filename:" msgstr "Nom d'usuari:" @@ -3374,8 +3377,8 @@ msgid "Track:" msgstr "Guany de la pista:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 #, fuzzy msgid "Save" msgstr "Rave" @@ -3684,159 +3687,139 @@ msgid "Scrobbler Error" msgstr "Plugin per a Scrobbler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Control del volum:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Configuració del plugin d'àudio MPEG" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 bits" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 bits" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 msgid "Resolution:" msgstr "Resolució:" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Canals:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Freqüència de mostreig:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Remostreig" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Remostreig" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 msgid "Clock speed:" msgstr "" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 msgid "Force model" msgstr "" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -3844,91 +3827,91 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Mode de reproducció:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 msgid "Transparent ROM" msgstr "" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Mode de reproducció:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -3937,49 +3920,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Remostreig" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Taxa de remostreig:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -3987,377 +3970,280 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +msgid "Export" +msgstr "" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 msgid "Import" msgstr "" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -msgid "Export" -msgstr "" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "Per defecte" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Mida del fitxer:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 msgid "Play at least for specified time" msgstr "" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Mode de reproducció:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 msgid "DB-file:" msgstr "" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Duració per defecte:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Control del volum:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Títol:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Ignora els títols genèrics" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Format del títol:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Control del volum:" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Control del volum:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 msgid "Audacious-SID Fileinfo" msgstr "" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Copyright:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 msgid "Song Information:" msgstr "" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Descripció:" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 msgid "Sub-tune Information:" msgstr "" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +msgid "Confirm selected action" +msgstr "" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "Sí" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +msgid "No" +msgstr "No" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "General" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4380,32 +4266,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4442,72 +4328,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -5792,6 +5683,22 @@ msgstr "Quant a %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Control del volum:" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Ignora els títols genèrics" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Format del títol:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Control del volum:" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Hz" @@ -6006,9 +5913,6 @@ #~ msgid "CCIT J.17" #~ msgstr "CCIT J.17" -#~ msgid "No" -#~ msgstr "No" - #~ msgid "MPEG Level:" #~ msgstr "Nivell d'MPEG:" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/cs.po --- a/po/cs.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/cs.po Thu Sep 13 12:10:39 2007 -0500 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: audacious-plugins svn-1563\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-02-27 23:34+0100\n" "Last-Translator: Petr Písař \n" "Language-Team: Czech \n" @@ -40,7 +40,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -92,8 +92,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -130,14 +130,14 @@ msgstr "Kanálů" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -253,30 +253,30 @@ msgid "Subsong selection" msgstr "Výběr backendu" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Mluvené" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Filtr: " -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -312,8 +312,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Zavřít" @@ -328,10 +328,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "Budiž" @@ -385,6 +385,11 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +#, fuzzy +msgid "minutes" +msgstr "Čáry" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -449,10 +454,10 @@ msgid "Fading" msgstr "Rozsvícení:" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "s" @@ -1391,8 +1396,8 @@ "backend" msgstr "def" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Jméno:" @@ -1647,10 +1652,10 @@ msgid "Skin file:" msgstr "Soubor se skinem:" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "Procházet" @@ -1733,7 +1738,7 @@ msgstr "Spouštěč" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Disko" @@ -2033,7 +2038,7 @@ msgstr "Implicitní délka skladby:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Převzorkování" @@ -2388,7 +2393,7 @@ "Nelze otevřít okno s vazbami pro nerozpoznané zařízení.\n" "Ujistěte se, že zařízení bylo správně zapojeno." -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Chyba" @@ -2532,12 +2537,12 @@ "< james@develia.org >\n" "\n" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "O modulu Flac" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2572,7 +2577,7 @@ "tak nestalo, obraťte se na Free Software Foundation, Inc.,\n" "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2581,60 +2586,60 @@ "Disk writer nelze použít, pokud\n" "jste v režimu reálného času." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Nastavení Disk Writeru" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Složka s výstupními soubory:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Nastavit ozvěnu" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Složka s výstupními soubory:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Nezkracovat příponu jména souboru" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -3095,8 +3100,7 @@ msgid "ID3 format:" msgstr "Formát ID3:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Název" @@ -3560,8 +3564,8 @@ msgid "Use Album Gain" msgstr "použít zesílení/vrchol alba" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "Jméno souboru:" @@ -3574,8 +3578,8 @@ msgid "Track:" msgstr "Zesílení skladby:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "Uložit" @@ -3877,161 +3881,141 @@ msgid "Scrobbler Error" msgstr "Modul Scrobbler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Ovládání hlasitosti:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, fuzzy, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "Nepodařilo se vytvořit adresář (%s): %s\n" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "OSD pro Audacious – nastavení" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 bitů" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 bitů" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 msgid "Resolution:" msgstr "Rozlišení:" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Kanálů" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Vzorkovací kmitočet:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Převzorkování" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Převzorkování" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "Zvuk" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 #, fuzzy msgid "Clock speed:" msgstr "Tempo přehrávání" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 #, fuzzy msgid "Force model" msgstr "Režim stopy" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -4039,92 +4023,92 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Způsob přehrávání:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 #, fuzzy msgid "Transparent ROM" msgstr "Transponovat: " -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Mód mmap" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -4133,50 +4117,50 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 #, fuzzy msgid "SIDPlay 2 options:" msgstr "Hrát z adresy" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Převzorkování" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Převzorkovat na:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4184,391 +4168,293 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 #, fuzzy msgid "Emulate filters" msgstr "Přehrát soubory" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 #, fuzzy msgid "SIDPlay1" msgstr "Hrát" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "Načíst" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 -msgid "Import" -msgstr "Importovat" - -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 #, fuzzy msgid "Export" msgstr "Importovat" -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 +msgid "Import" +msgstr "Importovat" + +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +msgid "Delete" +msgstr "Smazat" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Filtr: " -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 #, fuzzy msgid "SIDPlay2" msgstr "Hrát" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 #, fuzzy msgid "Filters" msgstr "Filtr: " -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 #, fuzzy msgid "Play at least for specified time" msgstr "Hrát normální rychlostí" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Způsob přehrávání:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Soubor zařízení:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Implicitní délka skladby:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +#, fuzzy +msgid "Add sub-tunes to playlist" +msgstr "Do seznamu skladeb přidá soubory." + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Ovládání hlasitosti:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Do soubu" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Přepsat původní názvy" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Formát názvu:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Ovládání hlasitosti:" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -#, fuzzy -msgid "Disabled" -msgstr "Povolený" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Ovládání hlasitosti:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -#, fuzzy -msgid "Miscellaneous options:" -msgstr "Různé" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "Modul Audacious" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 #, fuzzy msgid "Songname:" msgstr "Snížit vzorkovací kmitočet:" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Autorská práva:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Podrobnosti" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 #, fuzzy msgid "Author:" msgstr "Autor:" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Výzdoba" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Podrobnosti" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +#, fuzzy +msgid "Confirm selected action" +msgstr "Rozpoznávání formátu" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "ano" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +msgid "No" +msgstr "Ne" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "Obecné" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4592,32 +4478,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4654,72 +4540,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -6011,6 +5902,37 @@ msgstr "O %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Ovládání hlasitosti:" + +#, fuzzy +#~ msgid "Could not allocate sidFilename ('%s')\n" +#~ msgstr "Nepodařilo se vytvořit adresář (%s): %s\n" + +#~ msgid "Load" +#~ msgstr "Načíst" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Přepsat původní názvy" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Formát názvu:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Ovládání hlasitosti:" + +#, fuzzy +#~ msgid "Disabled" +#~ msgstr "Povolený" + +#, fuzzy +#~ msgid "Miscellaneous options:" +#~ msgstr "Různé" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Hz" @@ -6971,9 +6893,6 @@ #~ msgid "Vertical Lines" #~ msgstr "Svislé čáry" -#~ msgid "Lines" -#~ msgstr "Čáry" - #~ msgid "Line Scope" #~ msgstr "Čárová vlnovka" @@ -7100,9 +7019,6 @@ #~ msgid "Add Files..." #~ msgstr "Přidat soubory…" -#~ msgid "Adds files to the playlist." -#~ msgstr "Do seznamu skladeb přidá soubory." - #~ msgid "Search and Select" #~ msgstr "Hledání a výběr" @@ -7267,9 +7183,6 @@ #~ msgid "Enables/disables the entry in the playlist's queue." #~ msgstr "Povolí/zakáže položku ve frontě seznamu skladeb." -#~ msgid "Delete" -#~ msgstr "Smazat" - #~ msgid "Load preset" #~ msgstr "Načíst předvolbu" @@ -8200,9 +8113,6 @@ #~ msgid "CCIT J.17" #~ msgstr "CCIT J.17" -#~ msgid "No" -#~ msgstr "Ne" - #~ msgid "MPEG Level:" #~ msgstr "MPEG:" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/cy.po --- a/po/cy.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/cy.po Thu Sep 13 12:10:39 2007 -0500 @@ -5,7 +5,7 @@ msgstr "" "Project-Id-Version: audacious-plugins 1.3\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-02-12 03:37-0600\n" "Last-Translator: William Pitcock \n" "Language-Team: Welsh \n" @@ -38,7 +38,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -91,8 +91,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -130,14 +130,14 @@ msgstr "Sianeli:" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -250,30 +250,30 @@ msgid "Subsong selection" msgstr "" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Llais" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Teitl:" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -309,8 +309,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Cau" @@ -324,10 +324,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "Iawn" @@ -380,6 +380,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -443,10 +447,10 @@ msgid "Fading" msgstr "cynnydd" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "eiliad" @@ -1241,8 +1245,8 @@ "backend" msgstr "" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Enw:" @@ -1487,10 +1491,10 @@ msgid "Skin file:" msgstr "" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "" @@ -1574,7 +1578,7 @@ msgstr "Trailer" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Disgo" @@ -1869,7 +1873,7 @@ msgstr "Hyd cân rhagosodedig:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Samplo" @@ -2203,7 +2207,7 @@ "Ensure that the device has been correctly plugged in." msgstr "" -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Gwall" @@ -2332,12 +2336,12 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "Ynghylch Ategyn Echo" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2374,7 +2378,7 @@ " MA 02111-1307,\n" "USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2384,60 +2388,60 @@ "\n" "pan fyddwch yn rhedeg ym modd realtime." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Ffurfweddiad Disk Writer" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Ffeil cyfeiriadur allbwn:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Ffurfweddu Echo" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Ffeil cyfeiriadur allbwn:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "Dewis cyfeiriadur" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Cadw enw ffeil estyniad" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -2879,8 +2883,7 @@ msgid "ID3 format:" msgstr "Fformat ID3:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Teitl" @@ -3335,8 +3338,8 @@ msgid "Use Album Gain" msgstr "defnyddio Cynnydd/Brig Albwm" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 #, fuzzy msgid "Filename:" msgstr "Enw Defnyddiwr:" @@ -3350,8 +3353,8 @@ msgid "Track:" msgstr "Cynnydd trac:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 #, fuzzy msgid "Save" msgstr "Rave" @@ -3660,162 +3663,142 @@ msgid "Scrobbler Error" msgstr "Ategyn Scrobbler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Rheolwr sain" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Audacious OSD - ffurfweddiad" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 did" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 did" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 #, fuzzy msgid "Resolution:" msgstr "Cydraniad:" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Sianeli:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Graddfa samplo:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Samplo" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Samplo" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 #, fuzzy msgid "Clock speed:" msgstr "Chwarae cyflymedd" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 #, fuzzy msgid "Force model" msgstr "Enwau'r Traciau:" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -3823,91 +3806,91 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Modd chwarae:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 msgid "Transparent ROM" msgstr "" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Modd chwarae:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -3916,49 +3899,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Samplo" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Graddfa Samplo" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -3966,385 +3949,288 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +#, fuzzy +msgid "Export" +msgstr "Porth" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 #, fuzzy msgid "Import" msgstr "Porth" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -#, fuzzy -msgid "Export" -msgstr "Porth" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "Rhagosodedig" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Maint ffeil:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 msgid "Play at least for specified time" msgstr "" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Modd chwarae:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Dyfais:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Hyd cân rhagosodedig:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Rheolwr sain" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Teitl:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Diystyru'r teitlau cyffredinol" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Fformat y teitl:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Rheolwr sain" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Rheolwr sain" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "" "\n" "Audacious OSD" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Hawlfraint:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Fformat ID3:" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Addurniad" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Fformat ID3:" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +msgid "Confirm selected action" +msgstr "" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "iawn" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +msgid "No" +msgstr "Na" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "Cyffredinol" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4367,32 +4253,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4429,72 +4315,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -5770,6 +5661,22 @@ msgstr "Ynghylch %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Rheolwr sain" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Diystyru'r teitlau cyffredinol" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Fformat y teitl:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Rheolwr sain" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Hz" @@ -6286,9 +6193,6 @@ #~ msgid "CCIT J.17" #~ msgstr "CCIT J.17" -#~ msgid "No" -#~ msgstr "Na" - #~ msgid "MPEG Level:" #~ msgstr "Lefel MPEG:" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/de.po --- a/po/de.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/de.po Thu Sep 13 12:10:39 2007 -0500 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: de\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" -"PO-Revision-Date: 2007-09-03 01:00+0100\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" +"PO-Revision-Date: 2007-09-09 21:45+0100\n" "Last-Translator: Michael Färber <0102@gmx.at>\n" "Language-Team: german <0102@gmx.at>\n" "MIME-Version: 1.0\n" @@ -43,7 +43,7 @@ #: src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 #: src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 +#: src/filewriter/filewriter.c:184 #: src/jack/configure.c:140 #: src/jack/jack.c:602 #: src/madplug/fileinfo.c:158 @@ -96,6 +96,14 @@ "This plugin uses the AdPlug library, which is copyright (C) Simon Peter, et al.\n" "Linked AdPlug library version: " msgstr "" +"\n" +"Copyright (C) 2002, 2003 Simon Peter \n" +"\n" +"Dieses Plugin wurde veröffentlicht unter den Bedingungen und Auflagen der GNU LGPL.\n" +"http://www.gnu.org/licenses/lgpl.html für Details.\n" +"\n" +"Dieses Plugin benützt die AdPlug-Bibliothek; diese ist copyright (C) Simon Peter, et al.\n" +"Gelinkte AdPlug-Bibliotheks-Version: " #: src/adplug/adplug-xmms.cc:259 msgid "AdPlug :: Configuration" @@ -113,8 +121,8 @@ #: src/musepack/libmpc.cxx:236 #: src/musepack/libmpc.cxx:556 #: src/null/null.c:111 -#: src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 +#: src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 #: src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 #: src/timidity/src/interface.c:232 @@ -156,8 +164,8 @@ #: src/adplug/adplug-xmms.cc:328 #: src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 -#: src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 +#: src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" @@ -165,8 +173,8 @@ #: src/adplug/adplug-xmms.cc:333 #: src/filewriter/mp3.c:894 #: src/modplug/gui/interface.cxx:195 -#: src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 +#: src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 #: src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -252,45 +260,44 @@ #: src/adplug/adplug-xmms.cc:576 msgid "Song" -msgstr "" +msgstr "Titel" #: src/adplug/adplug-xmms.cc:602 msgid "Instrument name" -msgstr "" +msgstr "Instrumentenname" #: src/adplug/adplug-xmms.cc:644 msgid "Song message" -msgstr "" +msgstr "Titel-Meldung" #: src/adplug/adplug-xmms.cc:666 msgid "Subsong selection" msgstr "" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " -msgstr "" - -#: src/adplug/adplug-xmms.cc:689 +msgstr "Reihenfolge: " + +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " -msgstr "" - -#: src/adplug/adplug-xmms.cc:691 +msgstr "Pattern: " + +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " -msgstr "" - -#: src/adplug/adplug-xmms.cc:692 +msgstr "Row: " + +#: src/adplug/adplug-xmms.cc:734 msgid "Speed: " msgstr "Geschwindigkeit: " -#: src/adplug/adplug-xmms.cc:693 -#, fuzzy +#: src/adplug/adplug-xmms.cc:735 msgid "Timer: " -msgstr "Titel:" - -#: src/adplug/adplug-xmms.cc:694 +msgstr "Timer: " + +#: src/adplug/adplug-xmms.cc:736 #: src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 -#: src/sid/xs_interface.c:361 +#: src/sid/xmms-sid.glade:332 +#: src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -303,6 +310,8 @@ "Copyright (c) 2006 Audacious team\n" "Portions (c) 2005-2006 David Hammerton " msgstr "" +"Copyright (c) 2006 Audacious team\n" +"Teile (c) 2005-2006 David Hammerton " #: src/alarm/interface.c:36 msgid "About XMMS Alarm" @@ -327,8 +336,8 @@ #: src/alarm/interface.c:73 #: src/lirc/about.c:116 #: src/modplug/gui/interface.cxx:946 -#: src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Schließen" @@ -345,13 +354,13 @@ #: src/alsa/about.c:46 #: src/alsa/configure.c:405 #: src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 +#: src/filewriter/filewriter.c:201 #: src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 #: src/pulse_audio/pulse_audio.c:694 #: src/scrobbler/gtkstuff.c:43 -#: src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "OK" @@ -379,7 +388,7 @@ #: src/alarm/interface.c:231 msgid "Oh Well" -msgstr "" +msgstr "Jo mei" #: src/alarm/interface.c:390 msgid "Alarm Settings" @@ -397,7 +406,11 @@ #: src/alarm/interface.c:508 msgid "h" -msgstr "" +msgstr "Uhr" + +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "Minuten" #: src/alarm/interface.c:556 msgid "Quiet after:" @@ -405,7 +418,7 @@ #: src/alarm/interface.c:566 msgid "Alarm at (default):" -msgstr "" +msgstr "Alarm um (standardmäßig):" #: src/alarm/interface.c:586 msgid "Choose the days for the alarm to come on" @@ -461,15 +474,15 @@ #: src/alarm/interface.c:1052 msgid "Fading" -msgstr "" +msgstr "Übergang" #: src/alarm/interface.c:1089 -#: src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 -#: src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 -#: src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 +#: src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 +#: src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 msgid "seconds" msgstr "Sekunden" @@ -481,15 +494,15 @@ #: src/alarm/interface.c:1123 msgid "Current" -msgstr "" +msgstr "Momentan" #: src/alarm/interface.c:1130 msgid "reset to current output volume" -msgstr "" +msgstr "Zur momentanen Lautstärke zurücksetzen" #: src/alarm/interface.c:1132 msgid "Start at" -msgstr "" +msgstr "Beginnen bei" #: src/alarm/interface.c:1160 #: src/alarm/interface.c:1204 @@ -498,15 +511,15 @@ #: src/alarm/interface.c:1176 msgid "Final" -msgstr "" +msgstr "Schluss" #: src/alarm/interface.c:1229 msgid "Additional Command" -msgstr "" +msgstr "Zusätzlicher Befehl" #: src/alarm/interface.c:1255 msgid "enable" -msgstr "" +msgstr "aktivieren" #: src/alarm/interface.c:1263 msgid "Playlist (optional)" @@ -519,11 +532,11 @@ #: src/alarm/interface.c:1297 #: src/alarm/interface.c:1462 msgid "Reminder" -msgstr "" +msgstr "Erinnerung" #: src/alarm/interface.c:1314 msgid "Use reminder" -msgstr "" +msgstr "Erinnerung benützen" #: src/alarm/interface.c:1330 #: src/sndstretch/sndstretch_xmms.c:381 @@ -595,7 +608,7 @@ #: src/alarm/interface.c:1470 msgid "Your reminder for today is.." -msgstr "" +msgstr "Die Erinnerung für heute lautet.." #: src/alarm/interface.c:1495 msgid "Thankyou" @@ -648,7 +661,7 @@ #: src/alsa/configure.c:299 msgid "Mixer:" -msgstr "" +msgstr "Mixer:" #: src/alsa/configure.c:307 msgid "Use software volume control" @@ -656,13 +669,13 @@ #: src/alsa/configure.c:317 msgid "Mixer card:" -msgstr "" +msgstr "Mixer-Karte:" #: src/alsa/configure.c:330 #: src/OSS/configure.c:261 #: src/sun/configure.c:220 msgid "Mixer device:" -msgstr "" +msgstr "Mixer-Gerät:" #: src/alsa/configure.c:350 msgid "Device settings" @@ -688,7 +701,7 @@ #: src/amidi-plug/backend-alsa/b-alsa.c:35 msgid "ALSA Backend " -msgstr "" +msgstr "ALSA-Backend " #: src/amidi-plug/backend-alsa/b-alsa.c:37 msgid "" @@ -699,7 +712,7 @@ #: src/amidi-plug/backend-dummy/b-dummy.c:35 msgid "Dummy Backend " -msgstr "" +msgstr "Dummy-Backend " #: src/amidi-plug/backend-dummy/b-dummy.c:37 msgid "" @@ -709,7 +722,7 @@ #: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:35 msgid "FluidSynth Backend " -msgstr "" +msgstr "FluidSynth-Backend " #: src/amidi-plug/backend-fluidsynth/b-fluidsynth.c:37 msgid "" @@ -720,36 +733,35 @@ #: src/amidi-plug/i_configure-alsa.c:221 msgid "ALSA BACKEND CONFIGURATION" -msgstr "" +msgstr "ALSA-Backend-Konfiguration" #: src/amidi-plug/i_configure-alsa.c:326 msgid "Port" -msgstr "" +msgstr "Port" #: src/amidi-plug/i_configure-alsa.c:328 msgid "Client name" -msgstr "" +msgstr "Client-Name" #: src/amidi-plug/i_configure-alsa.c:330 msgid "Port name" -msgstr "" +msgstr "Portname" #: src/amidi-plug/i_configure-alsa.c:341 msgid "ALSA output ports" -msgstr "" +msgstr "ALSA-Ausgabe-Ports" #: src/amidi-plug/i_configure-alsa.c:394 msgid "Soundcard: " msgstr "Soundkarte: " #: src/amidi-plug/i_configure-alsa.c:396 -#, fuzzy msgid "Mixer control: " -msgstr "Lautstärkesteuerung:" +msgstr "Mixersteuerung: " #: src/amidi-plug/i_configure-alsa.c:408 msgid "Mixer settings" -msgstr "" +msgstr "Mixer-Einstellungen" #: src/amidi-plug/i_configure-alsa.c:421 msgid "" @@ -771,37 +783,39 @@ #: src/amidi-plug/i_configure-alsa.c:444 msgid "ALSA Backend not loaded or not available" -msgstr "" +msgstr "ALSA-Backend nicht geladen oder nicht verfügbar" #: src/amidi-plug/i_configure-alsa.c:463 msgid "" "ALSA\n" "backend" msgstr "" +"ALSA-\n" +"Backend" #: src/amidi-plug/i_configure-ap.c:56 msgid "AMIDI-Plug - backend information" -msgstr "" +msgstr "AMIDI-Plug - Backend-Information" #: src/amidi-plug/i_configure-ap.c:194 msgid "AMIDI-PLUG PREFERENCES" -msgstr "" +msgstr "AMIDI-Plug-Einstellungen" #: src/amidi-plug/i_configure-ap.c:221 msgid "Backend selection" -msgstr "" +msgstr "Backend-Auswahl" #: src/amidi-plug/i_configure-ap.c:225 msgid "Available backends" -msgstr "" +msgstr "Verfügbare backends" #: src/amidi-plug/i_configure-ap.c:255 msgid "Playback settings" -msgstr "" +msgstr "Wiedergabeeinstellungen" #: src/amidi-plug/i_configure-ap.c:260 msgid "Transpose: " -msgstr "" +msgstr "Transponieren: " #: src/amidi-plug/i_configure-ap.c:269 msgid "Drum shift: " @@ -809,15 +823,15 @@ #: src/amidi-plug/i_configure-ap.c:291 msgid "pre-calculate length of MIDI files in playlist" -msgstr "" +msgstr "Länge von MIDI-Dateien in der Wiedergabeliste ausrechnen" #: src/amidi-plug/i_configure-ap.c:296 msgid "extract comments from MIDI file (if available)" -msgstr "" +msgstr "Kommentare aus MIDI-Datei extrahieren (falls verfügbar)" #: src/amidi-plug/i_configure-ap.c:301 msgid "extract lyrics from MIDI file (if available)" -msgstr "" +msgstr "Liedtexte aus MIDI-Dateien extrahieren (falls verfügbar)" #: src/amidi-plug/i_configure-ap.c:320 msgid "" @@ -863,10 +877,12 @@ "AMIDI\n" "Plug" msgstr "" +"AMIDI-\n" +"Plug" #: src/amidi-plug/i_configure.c:75 msgid "AMIDI-Plug - select file" -msgstr "" +msgstr "AMIDI-Plug - Datei auswählen" #: src/amidi-plug/i_configure.c:122 msgid "AMIDI-Plug - configuration" @@ -874,15 +890,15 @@ #: src/amidi-plug/i_configure.c:241 msgid "AMIDI-Plug message" -msgstr "" +msgstr "AMIDI-Plug-Meldung" #: src/amidi-plug/i_configure.c:242 msgid "Please stop the player before changing AMIDI-Plug settings." -msgstr "" +msgstr "Bitte den Player stoppen vor Änderung der AMIDI-Plug-Einstellungen." #: src/amidi-plug/i_configure-dummy.c:137 msgid "DUMMY BACKEND CONFIGURATION" -msgstr "" +msgstr "Dummy-Backend-Konfiguration" #: src/amidi-plug/i_configure-dummy.c:173 msgid "MIDI logger settings" @@ -894,15 +910,15 @@ #: src/amidi-plug/i_configure-dummy.c:185 msgid "Log MIDI events to standard output" -msgstr "" +msgstr "MIDI-Ereignisse an stdout loggen" #: src/amidi-plug/i_configure-dummy.c:189 msgid "Log MIDI events to standard error" -msgstr "" +msgstr "MIDI-Ereignisse an stderr loggen" #: src/amidi-plug/i_configure-dummy.c:193 msgid "Log MIDI events to file" -msgstr "" +msgstr "MIDI-Ereignisse in Datei loggen" #: src/amidi-plug/i_configure-dummy.c:202 msgid "Logfile settings" @@ -947,25 +963,27 @@ #: src/amidi-plug/i_configure-dummy.c:329 msgid "Dummy Backend not loaded or not available" -msgstr "" +msgstr "Dummy-Backend nicht geladen oder nicht verfügbar" #: src/amidi-plug/i_configure-dummy.c:348 msgid "" "Dummy\n" "backend" msgstr "" +"Dummy-\n" +"Backend" #: src/amidi-plug/i_configure-fluidsynth.c:83 msgid "AMIDI-Plug - select SoundFont file" -msgstr "" +msgstr "AMIDI-Plug - SoundFont-Datei wählen" #: src/amidi-plug/i_configure-fluidsynth.c:362 msgid "FLUIDSYNTH BACKEND CONFIGURATION" -msgstr "" +msgstr "Fluidsynth-Backend-Konfiguration" #: src/amidi-plug/i_configure-fluidsynth.c:416 msgid "SoundFont settings" -msgstr "" +msgstr "SoundFont-Einstellungen" #: src/amidi-plug/i_configure-fluidsynth.c:452 msgid "Size (bytes)" @@ -973,15 +991,15 @@ #: src/amidi-plug/i_configure-fluidsynth.c:501 msgid "Load SF on player start" -msgstr "" +msgstr "SF beim Player-Start laden" #: src/amidi-plug/i_configure-fluidsynth.c:505 msgid "Load SF on first midifile play" -msgstr "" +msgstr "SF beim Abspielen der ersten MIDI-Datei laden" #: src/amidi-plug/i_configure-fluidsynth.c:520 msgid "Synthesizer settings" -msgstr "" +msgstr "Synthesizer-Einstellungen" #: src/amidi-plug/i_configure-fluidsynth.c:529 msgid "gain" @@ -1001,7 +1019,7 @@ #: src/amidi-plug/i_configure-fluidsynth.c:557 msgid "poliphony" -msgstr "" +msgstr "Polyphonie" #: src/amidi-plug/i_configure-fluidsynth.c:585 msgid "reverb" @@ -1023,7 +1041,7 @@ #: src/amidi-plug/i_configure-fluidsynth.c:647 msgid "sample rate" -msgstr "" +msgstr "Abtastfrequenz" #: src/amidi-plug/i_configure-fluidsynth.c:653 msgid "22050 Hz " @@ -1074,6 +1092,8 @@ "* Select SoundFont files *\n" "In order to play MIDI with FluidSynth, you need to specify at least one valid SoundFont file here (use absolute paths). The loading order is from the top (first) to the bottom (last)." msgstr "" +"* SoundFont-Dateien auswählen *\n" +"Um MIDI-Dateien mit FluidSynth abzuspielen, muss hier mindestens eine gültige SoundFont-Datei angegeben werden (absolute Pfade verwenden). Die Lade-Reihenfolge ist von der Spitze (erstes) bis zum The loading order is from the top (first) to the bottom (last)." #: src/amidi-plug/i_configure-fluidsynth.c:812 msgid "" @@ -1158,11 +1178,11 @@ #: src/amidi-plug/i_configure-timidity.c:39 msgid "TIMIDITY BACKEND CONFIGURATION" -msgstr "" +msgstr "Timidity-Backend-Konfiguration" #: src/amidi-plug/i_configure-timidity.c:64 msgid "TiMidity Backend not loaded or not available" -msgstr "" +msgstr "TiMidity-Backend nicht geladen oder nicht verfügbar" #: src/amidi-plug/i_configure-timidity.c:83 msgid "" @@ -1171,8 +1191,8 @@ msgstr "" #: src/amidi-plug/i_fileinfo.c:169 -#: src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 +#: src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 #: src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Name:" @@ -1183,7 +1203,7 @@ #: src/amidi-plug/i_fileinfo.c:205 msgid "Format:" -msgstr "" +msgstr "Format:" #: src/amidi-plug/i_fileinfo.c:208 msgid "Length (msec):" @@ -1191,7 +1211,7 @@ #: src/amidi-plug/i_fileinfo.c:211 msgid "Num of Tracks:" -msgstr "" +msgstr "Anzahl von Tracks:" #: src/amidi-plug/i_fileinfo.c:216 msgid "variable" @@ -1226,15 +1246,16 @@ msgstr " (ungültiges UTF-8)" #: src/amidi-plug/i_utils.c:43 -#, fuzzy msgid "AMIDI-Plug - about" -msgstr "ESD-Ausgabe-Plugin-Konfiguration" +msgstr "Über AMIDI-Plug" #: src/amidi-plug/i_utils.c:68 msgid "" "\n" "AMIDI-Plug " msgstr "" +"\n" +"AMIDI-Plug " #: src/amidi-plug/i_utils.c:69 msgid "" @@ -1413,12 +1434,12 @@ msgstr "Skin-Datei:" #: src/aosd/aosd_ui.c:641 -#: src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 -#: src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 -#: src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 +#: src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 +#: src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "Suchen" @@ -1499,8 +1520,8 @@ #: src/aosd/aosd_ui.c:1073 #: src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 -#: src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 +#: src/sid/xs_interface.c:1171 msgid "Misc" msgstr "Verschiedenes" @@ -1530,9 +1551,8 @@ msgstr "" #: src/arts/arts.c:22 -#, fuzzy msgid "About aRts Output" -msgstr "Über Null-Ausgabe-Plugin" +msgstr "Über aRts-Ausgabe" #: src/arts/arts.c:23 msgid "" @@ -1541,9 +1561,8 @@ msgstr "" #: src/arts/configure.c:50 -#, fuzzy msgid "aRts Driver configuration" -msgstr "OSS-Treiber-Konfiguration" +msgstr "aRts-Treiber-Konfiguration" #: src/arts/configure.c:61 #: src/esd/configure.c:171 @@ -1645,12 +1664,11 @@ #: src/audiocompress/audacious-glue.c:532 msgid "Load default values" -msgstr "" +msgstr "Standard-Werte laden" #: src/audiocompress/audacious-glue.c:537 -#, fuzzy msgid "Audio values" -msgstr "Audiogerät:" +msgstr "Audiowerte" #: src/audiocompress/audacious-glue.c:566 #: src/echo_plugin/gui.c:153 @@ -1677,7 +1695,7 @@ #: src/blur_scope/config.c:73 msgid "Blur Scope: Color selection" -msgstr "" +msgstr "Blur Scope: Farbauswahl" #: src/blur_scope/config.c:83 #: src/jack/configure.c:107 @@ -1779,8 +1797,8 @@ #: src/console/Audacious_Config.cxx:201 #: src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 -#: src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 +#: src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Resampling" @@ -1883,7 +1901,7 @@ #: src/esd/configure.c:114 #: src/esd/configure.c:144 msgid "Host:" -msgstr "" +msgstr "Host:" #: src/esd/configure.c:125 msgid "Use remote host" @@ -2058,7 +2076,7 @@ msgstr "" #: src/evdev-plug/ed_ui.c:318 -#: src/filewriter/filewriter.c:196 +#: src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Fehler" @@ -2149,9 +2167,8 @@ msgstr "" #: src/evdev-plug/ed_ui.c:1322 -#, fuzzy msgid "EvDev-Plug - Bindings Configuration" -msgstr "ESD-Ausgabe-Plugin-Konfiguration" +msgstr "EvDev-Plug - Bindungskonfiguration" #: src/evdev-plug/ed_ui.c:1362 msgid "Name: " @@ -2178,11 +2195,11 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 msgid "About FileWriter-Plugin" msgstr "Über FileWriter-Plugin" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 msgid "" "FileWriter-Plugin\n" "\n" @@ -2202,62 +2219,62 @@ "USA." msgstr "" -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 msgid "" "You cannot use the FileWriter plugin\n" "when you're running in realtime mode." msgstr "Benutzung des FileWriter-Plugins im Realtime-Modus nicht möglich." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 msgid "File Writer Configuration" msgstr "FileWriter-Konfiguration" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 msgid "Output file format:" msgstr "Ausgabedatei-Format:" -#: src/filewriter/filewriter.c:542 +#: src/filewriter/filewriter.c:544 #: src/ladspa/ladspa.c:962 msgid "Configure" msgstr "Konfigurieren" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "In Original-Verzeichnis speichern" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "In anderes Verzeichnis speichern" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Ausgabedatei-Verzeichnis:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "Verzeichnis wählen" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "Dateiname erhalten von:" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "ursprünglichen Datei-Tags" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "ürsprünglichen Dateinamen" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Dateiendung nicht entfernen" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "If enabled, the extension from the original filename will not be stripped before adding the new file extension to the end." msgstr "Wenn aktiviert, wird die Erweiterung des ursprünglichen Dateinamens nicht entfernt, bevor die neue Dateierweiterung am Ende angefügt wird." -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "Track-Nummer vor Dateinamen anhängen" @@ -2543,7 +2560,7 @@ #: src/ladspa/ladspa.c:855 msgid "UID" -msgstr "" +msgstr "UID" #: src/ladspa/ladspa.c:930 msgid "Installed plugins" @@ -2574,11 +2591,11 @@ #: src/lirc/about.c:65 msgid "About LIRC Audacious Plugin" -msgstr "" +msgstr "Über das LIRC-Audacious-Plugin" #: src/lirc/about.c:92 msgid "LIRC Plugin " -msgstr "" +msgstr "LIRC-Plugin " #: src/lirc/about.c:94 msgid "" @@ -2593,11 +2610,21 @@ "You can get LIRC information at:\n" "http://fsinfo.cs.uni-sb.de/~columbus/lirc/index.html" msgstr "" +"\n" +"Ein einfaches Plugin, das Audacious mithilfe des\n" +"LIRC-Daemons kontrollieren lässt\n" +"\n" +"Für Audacious angepasst von Tony Vroon \n" +"vom XMMS-LIRC-Plugin von:\n" +"Carl van Schaik \n" +"Christoph Bartelmus \n" +"Informationen zu LIRC sind verfügbar bei:\n" +"http://fsinfo.cs.uni-sb.de/~columbus/lirc/index.html" #: src/lirc/lirc.c:80 #, c-format msgid "%s: could not init LIRC support\n" -msgstr "" +msgstr "%s: Konnte LIRC-Unterstützung nicht initialisieren\n" #: src/lirc/lirc.c:88 #, c-format @@ -2659,9 +2686,8 @@ msgstr "" #: src/madplug/configure.c:213 -#, fuzzy msgid "Default gain (dB):" -msgstr "Standard (%s)" +msgstr "Standard-Verstärkung (dB):" #: src/madplug/configure.c:224 msgid "Preamp (dB):" @@ -2681,11 +2707,9 @@ #: src/madplug/configure.c:251 msgid "ID3 format:" -msgstr "" +msgstr "ID3-Format:" #: src/madplug/configure.c:261 -#: src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 #: src/vorbis/configure.c:160 msgid "Title" msgstr "Titel" @@ -2697,11 +2721,11 @@ #: src/madplug/fileinfo.c:158 msgid "Couldn't open file!" -msgstr "" +msgstr "Konnte Datei nicht öffnen!" #: src/madplug/fileinfo.c:236 msgid "Couldn't write tag!" -msgstr "" +msgstr "Konnte Tag nicht schreiben!" #: src/madplug/fileinfo.c:330 msgid "Name:" @@ -2771,7 +2795,7 @@ #: src/madplug/fileinfo.c:500 msgid "Unknown" -msgstr "" +msgstr "Unbekannt" #: src/madplug/fileinfo.c:620 #: src/musepack/libmpc.cxx:633 @@ -2800,12 +2824,12 @@ #: src/madplug/fileinfo.c:663 #, c-format msgid "%d frames" -msgstr "" +msgstr "%d Frames" #: src/madplug/fileinfo.c:672 #, c-format msgid "%d:%02d (%d seconds)" -msgstr "" +msgstr "%d:%02d (%d Sekunden)" #: src/madplug/fileinfo.c:677 #, c-format @@ -2871,6 +2895,11 @@ "e.g. tact://77 to play 77 beats per minute\n" "or tact://60*3/4 to play 60 bpm in 3/4 tacts" msgstr "" +"Ein Takt-Generator von Martin Strauss \n" +"\n" +"Zur Verwendung eine URL hinzufügen: tact://Schläge*Zähler/Nenner\n" +"z.B. tact://77 zum Spielen von 77 Schlägen pro Minute\n" +"oder tact://60*3/4 zum Spielen von 60 bpm im 3/4-Takt" #: src/metronom/metronom.c:199 #: src/metronom/metronom.c:263 @@ -2882,7 +2911,7 @@ #: src/metronom/metronom.c:265 #, c-format msgid "Tact generator: %d bpm %d/%d" -msgstr "" +msgstr "Takt-Generator: %d bpm %d/%d" #: src/modplug/gui/interface.cxx:117 msgid "ModPlug Configuration" @@ -2905,7 +2934,7 @@ #: src/modplug/gui/interface.cxx:218 #: src/timidity/src/interface.c:76 msgid "Sampling Rate" -msgstr "" +msgstr "Abtastfrequenz" #: src/modplug/gui/interface.cxx:232 msgid "48 kHz" @@ -2941,7 +2970,7 @@ #: src/modplug/gui/interface.cxx:346 msgid "Use Filename as Song Title" -msgstr "" +msgstr "Dateinamen als Liedtitel verwenden" #: src/modplug/gui/interface.cxx:353 msgid "Fast Playlist Info" @@ -2989,9 +3018,8 @@ msgstr "" #: src/modplug/gui/interface.cxx:528 -#, fuzzy msgid "Surround" -msgstr "Surround-Echo" +msgstr "Surround" #: src/modplug/gui/interface.cxx:600 msgid "Preamp" @@ -3025,7 +3053,7 @@ #: src/modplug/gui/interface.cxx:709 msgid "Effects" -msgstr "" +msgstr "Effekte" #: src/modplug/gui/interface.cxx:793 msgid "MOD Info" @@ -3051,11 +3079,11 @@ #: src/modplug/gui/interface.cxx:899 msgid "Instruments" -msgstr "" +msgstr "Instrumente" #: src/modplug/gui/interface.cxx:932 msgid "Message" -msgstr "" +msgstr "Meldung" #: src/modplug/gui/main.cxx:43 msgid "Modplug Input Plugin for Audacious ver" @@ -3103,7 +3131,7 @@ #: src/musepack/libmpc.cxx:147 msgid "Nevermind" -msgstr "" +msgstr "Vergiss es" #: src/musepack/libmpc.cxx:165 msgid "Musepack Decoder Configuration" @@ -3124,9 +3152,8 @@ msgstr "Plugin" #: src/musepack/libmpc.cxx:189 -#, fuzzy msgid "ReplayGain Settings" -msgstr "ReplayGain" +msgstr "ReplayGain-Einstellungen" #: src/musepack/libmpc.cxx:196 #: src/vorbis/configure.c:172 @@ -3141,9 +3168,8 @@ msgstr "" #: src/musepack/libmpc.cxx:206 -#, fuzzy msgid "ReplayGain Type" -msgstr "ReplayGain" +msgstr "ReplayGain-Typ" #: src/musepack/libmpc.cxx:214 msgid "Use Track Gain" @@ -3154,8 +3180,8 @@ msgstr "" #: src/musepack/libmpc.cxx:490 -#: src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 +#: src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 #: src/tta/libtta.c:322 #: src/wavpack/ui.cxx:150 msgid "Filename:" @@ -3170,11 +3196,11 @@ msgstr "Titel:" #: src/musepack/libmpc.cxx:550 -#: src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 +#: src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 #: src/wavpack/ui.cxx:265 msgid "Save" -msgstr "" +msgstr "Speichern" #: src/musepack/libmpc.cxx:553 #: src/wavpack/ui.cxx:271 @@ -3322,7 +3348,7 @@ #: src/OSS4/configure.c:272 #: src/OSS/configure.c:344 msgid "Mixer Settings:" -msgstr "" +msgstr "Mixer-Einstellungen:" #: src/OSS4/configure.c:278 msgid "Save VMIX volume between sessions" @@ -3332,7 +3358,7 @@ #: src/OSS/configure.c:356 #: src/sun/configure.c:394 msgid "Mixer" -msgstr "" +msgstr "Mixer" #: src/OSS/about.c:39 msgid "About OSS Driver" @@ -3433,737 +3459,607 @@ msgid "Scrobbler Error" msgstr "Scrobbler-Fehler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" -msgstr "" - -#: src/sid/xmms-sid.c:327 +msgstr "Fehler beim Initialisieren der STIL-Datenbank!\n" + +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" -msgstr "" - -#: src/sid/xmms-sid.c:334 +msgstr "Konnte keinen Speicher für den Audio-Daten-Buffer allozieren!\n" + +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" -msgstr "" - -#: src/sid/xmms-sid.c:409 +msgstr "Konnte keinen Speicher für den Audio-Oversampling-Buffer allozieren!\n" + +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" -msgstr "" - -#: src/sid/xmms-sid.c:420 +msgstr "Konnte SID-Tune '%s' (Unter-Tune #%i) nicht initialisieren!\n" + +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Lautstärkesteuerung:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - #: src/sid/xmms-sid.glade:8 -#: src/sid/xs_interface.c:235 -msgid "Audacious-SID Configuration" +#: src/sid/xs_interface.c:213 +msgid "Audacious-SID configuration" msgstr "Audacious-SID-Konfiguration" -#: src/sid/xmms-sid.glade:70 -#: src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 +#: src/sid/xs_interface.c:249 msgid "8-bit" msgstr "8 Bit" -#: src/sid/xmms-sid.glade:89 -#: src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 +#: src/sid/xs_interface.c:256 msgid "16-bit" msgstr "16 Bit" -#: src/sid/xmms-sid.glade:110 -#: src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 +#: src/sid/xs_interface.c:263 msgid "Resolution:" msgstr "Auflösung:" -#: src/sid/xmms-sid.glade:195 -#: src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 +#: src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 -#: src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 +#: src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 #: src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Kanäle:" -#: src/sid/xmms-sid.glade:565 -#: src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 +#: src/sid/xs_interface.c:345 msgid "Samplerate:" -msgstr "" - -#: src/sid/xmms-sid.glade:611 -#: src/sid/xs_interface.c:390 +msgstr "Abtastfrequenz:" + +#: src/sid/xmms-sid.glade:430 +#: src/sid/xs_interface.c:362 msgid "Use oversampling" -msgstr "" - -#: src/sid/xmms-sid.glade:637 -#: src/sid/xs_interface.c:401 +msgstr "Oversampling benützen" + +#: src/sid/xmms-sid.glade:456 +#: src/sid/xs_interface.c:373 msgid "Factor:" -msgstr "" - -#: src/sid/xmms-sid.glade:681 -#: src/sid/xs_interface.c:413 +msgstr "Faktor:" + +#: src/sid/xmms-sid.glade:500 +#: src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" -msgstr "" - -#: src/sid/xmms-sid.glade:715 -#: src/sid/xs_interface.c:419 +msgstr "Große Faktoren benötigen mehr Rechenleistung" + +#: src/sid/xmms-sid.glade:534 +#: src/sid/xs_interface.c:391 msgid "Oversampling:" -msgstr "" - -#: src/sid/xmms-sid.glade:751 -#: src/sid/xs_interface.c:424 +msgstr "Oversampling:" + +#: src/sid/xmms-sid.glade:570 +#: src/sid/xs_interface.c:396 msgid "Audio" -msgstr "" - -#: src/sid/xmms-sid.glade:801 -#: src/sid/xs_interface.c:456 +msgstr "Audio" + +#: src/sid/xmms-sid.glade:620 +#: src/sid/xs_interface.c:428 msgid "If enabled, this option \"forces\" the emulation engine to use the selected clock speed/frequency. Otherwise the speed is determined from played file itself." msgstr "" -#: src/sid/xmms-sid.glade:803 -#: src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 +#: src/sid/xs_interface.c:424 msgid "Force speed" msgstr "Geschwindigkeit erzwingen" -#: src/sid/xmms-sid.glade:821 -#: src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 +#: src/sid/xs_interface.c:434 msgid "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 -#: src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 +#: src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "PAL (50 Hz)" -#: src/sid/xmms-sid.glade:841 -#: src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 +#: src/sid/xs_interface.c:442 msgid "NTSC is the TV standard with 60Hz vertical refresh rate (and other features that differ from PAL). It is mainly used in United States, Japan and certain other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 -#: src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 +#: src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "NTSC (60 Hz)" -#: src/sid/xmms-sid.glade:864 -#: src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 +#: src/sid/xs_interface.c:446 msgid "Clock speed:" msgstr "" -#: src/sid/xmms-sid.glade:909 -#: src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 +#: src/sid/xs_interface.c:467 msgid "If enabled, this option \"forces\" the emulation engine to use the selected SID-chip model. Otherwise the preferred SID model is determined from the file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 -#: src/sid/xs_interface.c:491 -#, fuzzy +#: src/sid/xmms-sid.glade:730 +#: src/sid/xs_interface.c:463 msgid "Force model" -msgstr "Titelnummer:" - -#: src/sid/xmms-sid.glade:929 -#: src/sid/xs_interface.c:501 +msgstr "Modell erzwingen" + +#: src/sid/xmms-sid.glade:748 +#: src/sid/xs_interface.c:473 msgid "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 in few ways, having much fuller filter (which, due to design error, is never same between two different SID-chips) and has the \"volume adjustment bug\", which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 -#: src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 +#: src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 -#: src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 +#: src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 -#: src/sid/xs_interface.c:512 -#, fuzzy +#: src/sid/xmms-sid.glade:790 +#: src/sid/xs_interface.c:484 msgid "SID model:" -msgstr "Abspielmodus:" - -#: src/sid/xmms-sid.glade:1023 -#: src/sid/xs_interface.c:533 +msgstr "SID-Modell:" + +#: src/sid/xmms-sid.glade:842 +#: src/sid/xs_interface.c:505 msgid "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 -#: src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 +#: src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 +#: src/sid/xmms-sid.glade:863 +#: src/sid/xs_interface.c:513 +msgid "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact emulation." +msgstr "" + +#: src/sid/xmms-sid.glade:865 +#: src/sid/xs_interface.c:509 +msgid "SIDPlay 2 (cycle-based)" +msgstr "SIDPlay 2 (zyklus-basiert)" + +#: src/sid/xmms-sid.glade:887 +#: src/sid/xs_interface.c:517 +msgid "Emulation library selection:" +msgstr "Auswahl der Emulations-Bibliothek:" + +#: src/sid/xmms-sid.glade:933 +#: src/sid/xs_interface.c:534 +msgid "Real C64 (SIDPlay 2 only)" +msgstr "Echter C64 (nur SIDPlay 2)" + +#: src/sid/xmms-sid.glade:952 #: src/sid/xs_interface.c:541 -msgid "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact emulation." -msgstr "" - -#: src/sid/xmms-sid.glade:1046 -#: src/sid/xs_interface.c:537 -msgid "SIDPlay 2 (cycle-based)" -msgstr "" - -#: src/sid/xmms-sid.glade:1068 -#: src/sid/xs_interface.c:545 -msgid "Emulation library selection:" -msgstr "" - -#: src/sid/xmms-sid.glade:1114 +msgid "Bank switching" +msgstr "" + +#: src/sid/xmms-sid.glade:972 +#: src/sid/xs_interface.c:548 +msgid "Transparent ROM" +msgstr "" + +#: src/sid/xmms-sid.glade:992 +#: src/sid/xs_interface.c:555 +msgid "PlaySID environment" +msgstr "PlaySID-Umgebung" + +#: src/sid/xmms-sid.glade:1013 #: src/sid/xs_interface.c:562 -msgid "Real C64 (SIDPlay 2 only)" -msgstr "" +msgid "Memory mode:" +msgstr "Speichermodus:" + +#: src/sid/xmms-sid.glade:1049 +#: src/sid/xs_interface.c:567 +msgid "Emu#1" +msgstr "" + +#: src/sid/xmms-sid.glade:1093 +#: src/sid/xs_interface.c:594 +msgid "This setting can be used to enable libSIDPlay2's \"optimization mode\", which in downgrades the emulation from cycle-exact to something similar to frame-exact. The result is lower CPU usage, but worse accuracy." +msgstr "" + +#: src/sid/xmms-sid.glade:1095 +#: src/sid/xs_interface.c:590 +msgid "Optimization mode (faster, inaccurate)" +msgstr "" + +#: src/sid/xmms-sid.glade:1113 +#: src/sid/xs_interface.c:600 +msgid "reSID is the software SID-chip simulator based on SID reverse-engineering, created by Dag Lem. It is probably the closest thing to real SID available as software-only emulation." +msgstr "" + +#: src/sid/xmms-sid.glade:1115 +#: src/sid/xs_interface.c:596 +msgid "reSID-emulation" +msgstr "reSID-Emulation" #: src/sid/xmms-sid.glade:1133 -#: src/sid/xs_interface.c:569 -msgid "Bank switching" -msgstr "" - -#: src/sid/xmms-sid.glade:1153 -#: src/sid/xs_interface.c:576 -msgid "Transparent ROM" -msgstr "" - -#: src/sid/xmms-sid.glade:1173 -#: src/sid/xs_interface.c:583 -msgid "PlaySID environment" -msgstr "" - -#: src/sid/xmms-sid.glade:1194 -#: src/sid/xs_interface.c:590 -#, fuzzy -msgid "Memory mode:" -msgstr "Abspielmodus:" - -#: src/sid/xmms-sid.glade:1230 -#: src/sid/xs_interface.c:595 -msgid "Emu#1" -msgstr "" - -#: src/sid/xmms-sid.glade:1274 -#: src/sid/xs_interface.c:622 -msgid "This setting can be used to enable libSIDPlay2's \"optimization mode\", which in downgrades the emulation from cycle-exact to something similar to frame-exact. The result is lower CPU usage, but worse accuracy." -msgstr "" - -#: src/sid/xmms-sid.glade:1276 -#: src/sid/xs_interface.c:618 -msgid "Optimization mode (faster, inaccurate)" -msgstr "" - -#: src/sid/xmms-sid.glade:1294 -#: src/sid/xs_interface.c:628 -msgid "reSID is the software SID-chip simulator based on SID reverse-engineering, created by Dag Lem. It is probably the closest thing to real SID available as software-only emulation." -msgstr "" - -#: src/sid/xmms-sid.glade:1296 -#: src/sid/xs_interface.c:624 -msgid "reSID-emulation" -msgstr "" - -#: src/sid/xmms-sid.glade:1314 -#: src/sid/xs_interface.c:636 +#: src/sid/xs_interface.c:608 msgid "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a real SID-chip. Software can be used to control the HardSID and combined with software emulation of rest of C64 via libSIDPlay2 HardSID can be used to achieve \"near 100%\" similarity to real C64. For more information, see http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 -#: src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 +#: src/sid/xs_interface.c:604 msgid "HardSID" -msgstr "" - -#: src/sid/xmms-sid.glade:1337 -#: src/sid/xs_interface.c:640 +msgstr "HardSID" + +#: src/sid/xmms-sid.glade:1156 +#: src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" -msgstr "" - -#: src/sid/xmms-sid.glade:1382 -#: src/sid/xs_interface.c:661 +msgstr "SIDPlay 2-Optionen:" + +#: src/sid/xmms-sid.glade:1201 +#: src/sid/xs_interface.c:633 msgid "Fastest and also worst sounding sampling method, simply picks nearest neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 -#: src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 +#: src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 -#: src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 +#: src/sid/xs_interface.c:641 msgid "Uses linear interpolation between samples, yielding higher audio quality with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 -#: src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 +#: src/sid/xs_interface.c:637 msgid "Linear interpolation" -msgstr "" - -#: src/sid/xmms-sid.glade:1444 -#: src/sid/xs_interface.c:680 +msgstr "Lineare Interpolation" + +#: src/sid/xmms-sid.glade:1263 +#: src/sid/xs_interface.c:652 msgid "Resampling (FIR)" -msgstr "" - -#: src/sid/xmms-sid.glade:1465 -#: src/sid/xs_interface.c:687 +msgstr "Resampling (FIR)" + +#: src/sid/xmms-sid.glade:1284 +#: src/sid/xs_interface.c:659 msgid "reSID sampling options:" -msgstr "" - -#: src/sid/xmms-sid.glade:1501 -#: src/sid/xs_interface.c:692 +msgstr "reSID-Sampling-Optionen:" + +#: src/sid/xmms-sid.glade:1320 +#: src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 -#: src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 +#: src/sid/xs_interface.c:680 msgid "This option enables emulation of SID filter. The filter is an essential part of SID's sound capacity, but accurate emulation of it may require quite much CPU power. However, if filter emulation is disabled, tunes won't sound authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 -#: src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 +#: src/sid/xs_interface.c:676 msgid "Emulate filters" -msgstr "" - -#: src/sid/xmms-sid.glade:1590 -#: src/sid/xs_interface.c:733 +msgstr "Filter emulieren" + +#: src/sid/xmms-sid.glade:1409 +#: src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 -#: src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 +#: src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 -#: src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 +#: src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 -#: src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 +#: src/sid/xs_interface.c:750 msgid "Reset values" -msgstr "" - -#: src/sid/xmms-sid.glade:1759 -#: src/sid/xs_interface.c:783 +msgstr "Werte zurücksetzen" + +#: src/sid/xmms-sid.glade:1578 +#: src/sid/xs_interface.c:755 msgid "SIDPlay1" -msgstr "" - -#: src/sid/xmms-sid.glade:1828 -#: src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 -#: src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 -#: src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 -#: src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 -#: src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 -#: src/sid/xs_interface.c:843 +msgstr "SIDPlay1" + +#: src/sid/xmms-sid.glade:1690 +#: src/sid/xs_interface.c:796 +msgid "Export" +msgstr "Exportieren" + +#: src/sid/xmms-sid.glade:1711 +#: src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 +#: src/sid/xs_interface.c:820 msgid "Import" -msgstr "" - -#: src/sid/xmms-sid.glade:2038 -#: src/sid/xs_interface.c:851 -msgid "Export" -msgstr "" - -#: src/sid/xmms-sid.glade:2083 -#: src/sid/xs_interface.c:865 -#, fuzzy +msgstr "Importieren" + +#: src/sid/xmms-sid.glade:1774 +#: src/sid/xs_interface.c:828 +msgid "Delete" +msgstr "Löschen" + +#: src/sid/xmms-sid.glade:1819 +#: src/sid/xs_interface.c:842 msgid "Filter curve:" -msgstr "Dateigrösse:" - -#: src/sid/xmms-sid.glade:2119 -#: src/sid/xs_interface.c:870 +msgstr "Filterkurve:" + +#: src/sid/xmms-sid.glade:1855 +#: src/sid/xs_interface.c:847 msgid "SIDPlay2" -msgstr "" - -#: src/sid/xmms-sid.glade:2155 -#: src/sid/xs_interface.c:876 +msgstr "SIDPlay2" + +#: src/sid/xmms-sid.glade:1891 +#: src/sid/xs_interface.c:853 msgid "Filters" -msgstr "" - -#: src/sid/xmms-sid.glade:2199 -#: src/sid/xs_interface.c:903 +msgstr "Filter" + +#: src/sid/xmms-sid.glade:1935 +#: src/sid/xs_interface.c:880 msgid "If enabled, the tune is played at least for the specified time, adding silence to the end if necessary." -msgstr "" - -#: src/sid/xmms-sid.glade:2201 -#: src/sid/xs_interface.c:899 +msgstr "Wenn aktiviert, wird das Stück mindestens für die angegebene Zeit abgespielt, wobei nötigenfalls Stille zum Ende hinzugefügt wird." + +#: src/sid/xmms-sid.glade:1937 +#: src/sid/xs_interface.c:876 msgid "Play at least for specified time" -msgstr "" - -#: src/sid/xmms-sid.glade:2226 -#: src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 -#: src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 -#: src/sid/xs_interface.c:1276 -#, fuzzy +msgstr "Mindestens für die angegebene Zeit spielen" + +#: src/sid/xmms-sid.glade:1962 +#: src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 +#: src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 +#: src/sid/xs_interface.c:1051 msgid "Playtime:" -msgstr "Abspielmodus:" - -#: src/sid/xmms-sid.glade:2305 -#: src/sid/xs_interface.c:930 +msgstr "Spielzeit:" + +#: src/sid/xmms-sid.glade:2041 +#: src/sid/xs_interface.c:907 msgid "Minimum playtime:" -msgstr "" - -#: src/sid/xmms-sid.glade:2350 -#: src/sid/xs_interface.c:951 +msgstr "Minimale Spielzeit:" + +#: src/sid/xmms-sid.glade:2086 +#: src/sid/xs_interface.c:928 msgid "If enabled, tune is played until specified duration is reached (aka maximum playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 -#: src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 +#: src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 -#: src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 +#: src/sid/xs_interface.c:934 msgid "If enabled, the maximum playtime is applied only if song/tune length is not known." msgstr "" -#: src/sid/xmms-sid.glade:2373 -#: src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 +#: src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 -#: src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 +#: src/sid/xs_interface.c:961 msgid "Maximum playtime:" -msgstr "" - -#: src/sid/xmms-sid.glade:2521 -#: src/sid/xs_interface.c:1005 +msgstr "Maximale Spielzeit:" + +#: src/sid/xmms-sid.glade:2257 +#: src/sid/xs_interface.c:982 msgid "This option enables using of XSIDPLAY compatible song length database. (Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 -#: src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 +#: src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" -msgstr "" - -#: src/sid/xmms-sid.glade:2548 -#: src/sid/xs_interface.c:1012 -#, fuzzy +msgstr "XSIDPLAY-kompatible Datenbank benützen" + +#: src/sid/xmms-sid.glade:2284 +#: src/sid/xs_interface.c:989 msgid "DB-file:" -msgstr "Gerät:" - -#: src/sid/xmms-sid.glade:2573 -#: src/sid/xs_interface.c:1022 +msgstr "DB-Datei:" + +#: src/sid/xmms-sid.glade:2309 +#: src/sid/xs_interface.c:999 msgid "Database path and filename" -msgstr "" - -#: src/sid/xmms-sid.glade:2593 -#: src/sid/xs_interface.c:1028 +msgstr "Datenbankpfad und -dateiname" + +#: src/sid/xmms-sid.glade:2329 +#: src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 -#: src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 +#: src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 -#: src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 +#: src/sid/xs_interface.c:1013 msgid "Songlength" msgstr "" -#: src/sid/xmms-sid.glade:2700 -#: src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 +#: src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 +#: src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 +#: src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Lautstärkesteuerung:" + +#: src/sid/xmms-sid.glade:2605 +#: src/sid/xs_interface.c:1092 msgid "If this option is enabled (and the database & HVSC settings below are correctly set), Audacious-SID will use and display additional information from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 -#: src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 +#: src/sid/xs_interface.c:1088 msgid "Use STIL database" -msgstr "" - -#: src/sid/xmms-sid.glade:2727 -#: src/sid/xs_interface.c:1069 -#, fuzzy +msgstr "STIL-Datenbank verwenden" + +#: src/sid/xmms-sid.glade:2632 +#: src/sid/xs_interface.c:1099 msgid "STIL file:" -msgstr "Titel:" - -#: src/sid/xmms-sid.glade:2764 -#: src/sid/xs_interface.c:1085 +msgstr "STIL-Datei:" + +#: src/sid/xmms-sid.glade:2669 +#: src/sid/xs_interface.c:1115 msgid "Path and filename of STIL database file (STIL.txt), usually found from HVSC's DOCUMENTS-subdirectory." -msgstr "" - -#: src/sid/xmms-sid.glade:2799 -#: src/sid/xs_interface.c:1097 +msgstr "Pfad und Dateiname der STIL-Datenbank-Datei (STIL.txt), üblicherweise im HVSC-DOCUMENTS-Unterverzeichnis." + +#: src/sid/xmms-sid.glade:2704 +#: src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" -msgstr "" - -#: src/sid/xmms-sid.glade:2833 -#: src/sid/xs_interface.c:1104 +msgstr "Nach STIL-Datenbank-Datei suchen" + +#: src/sid/xmms-sid.glade:2738 +#: src/sid/xs_interface.c:1135 msgid "HVSC path:" -msgstr "" - -#: src/sid/xmms-sid.glade:2870 -#: src/sid/xs_interface.c:1120 -msgid "Path to base-directory of your High Voltage SID Collection (HVSC), for example /media/C64Music/" -msgstr "" - -#: src/sid/xmms-sid.glade:2905 -#: src/sid/xs_interface.c:1132 -msgid "Browse for HVSC path" -msgstr "" - -#: src/sid/xmms-sid.glade:2935 -#: src/sid/xs_interface.c:1134 -msgid "SID Tune Information List (STIL) database:" -msgstr "" - -#: src/sid/xmms-sid.glade:2980 -#: src/sid/xs_interface.c:1155 -msgid "XMMS v1.2.5 and later support generic titlestring formatting (see XMMS preferences). This option can be enabled to override those generic titles with Audacious-SID specific ones. Formatting mnemonics are explained briefly below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 +msgstr "HVSC-Pfad:" + +#: src/sid/xmms-sid.glade:2775 #: src/sid/xs_interface.c:1151 -msgid "Override generic XMMS titles" -msgstr "" - -#: src/sid/xmms-sid.glade:3032 -#: src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 -#: src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 -#: src/sid/xs_interface.c:1184 -msgid "Song name/title format:" -msgstr "" - -#: src/sid/xmms-sid.glade:3188 -#: src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Lautstärkesteuerung:" - -#: src/sid/xmms-sid.glade:3190 -#: src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "" - -#: src/sid/xmms-sid.glade:3208 -#: src/sid/xs_interface.c:1224 -msgid "Seeking backwards/forwards selects previous/next sub-tune, similar to selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 -#: src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 -#: src/sid/xs_interface.c:1232 -msgid "By pressing the seekbar a sub-tune control window pops up, in style of UADE (Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 -#: src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 -#: src/sid/xs_interface.c:1240 -msgid "Seekbar works as a sub-tune selector (Best option if you have patched your XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 -#: src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 -#: src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Lautstärkesteuerung:" - -#: src/sid/xmms-sid.glade:3319 -#: src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 -#: src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 -#: src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 -#: src/sid/xs_interface.c:1317 -msgid "Determine if file is a SID-tune by checking the file contents. If NOT selected, filetype is determined by checking filename extension (.sid, .dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 -#: src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 -#: src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 -#: src/sid/xs_interface.c:1343 +msgid "Path to base-directory of your High Voltage SID Collection (HVSC), for example /media/C64Music/" +msgstr "Pfad zum Basis-Verzeichnis der High Voltage SID Collection (HVSC), zum Beispiel /media/C64Music/" + +#: src/sid/xmms-sid.glade:2810 +#: src/sid/xs_interface.c:1164 +msgid "Browse for HVSC path" +msgstr "Nach HVSC-Pfad suchen" + +#: src/sid/xmms-sid.glade:2840 +#: src/sid/xs_interface.c:1166 +msgid "SID Tune Information List (STIL) database:" +msgstr "SID Tune Information List (STIL)-Datenbank:" + +#: src/sid/xmms-sid.glade:2913 +#: src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 -#: src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 +#: src/sid/xs_interface.c:1197 msgid "Cancel any changes" -msgstr "" - -#: src/sid/xmms-sid.glade:3620 -#: src/sid/xs_interface.c:1651 -#, fuzzy +msgstr "Alle Änderungen verwerfen" + +#: src/sid/xmms-sid.glade:2952 +#: src/sid/xs_interface.c:1474 msgid "Audacious-SID Fileinfo" -msgstr "%s - Audacious" - -#: src/sid/xmms-sid.glade:3674 -#: src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 -#: src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 -#: src/sid/xs_interface.c:1716 +msgstr "Audacious-SID-Dateiinformation" + +#: src/sid/xmms-sid.glade:3022 +#: src/sid/xs_interface.c:1503 msgid "Songname:" -msgstr "" - -#: src/sid/xmms-sid.glade:3811 -#: src/sid/xs_interface.c:1724 +msgstr "Titel:" + +#: src/sid/xmms-sid.glade:3050 +#: src/sid/xs_interface.c:1511 msgid "Composer:" -msgstr "" - -#: src/sid/xmms-sid.glade:3839 -#: src/sid/xs_interface.c:1732 +msgstr "Komponist:" + +#: src/sid/xmms-sid.glade:3078 +#: src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Copyright:" -#: src/sid/xmms-sid.glade:3953 -#: src/sid/xs_interface.c:1772 -#, fuzzy +#: src/sid/xmms-sid.glade:3192 +#: src/sid/xs_interface.c:1563 msgid "Song Information:" -msgstr "Ort:" - -#: src/sid/xmms-sid.glade:4008 -#: src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 -#: src/sid/xs_interface.c:1812 +msgstr "Titel-Information:" + +#: src/sid/xmms-sid.glade:3266 +#: src/sid/xs_interface.c:1598 msgid "Author:" -msgstr "" - -#: src/sid/xmms-sid.glade:4133 -#: src/sid/xs_interface.c:1844 +msgstr "Autor:" + +#: src/sid/xmms-sid.glade:3364 +#: src/sid/xs_interface.c:1632 msgid "Duration:" msgstr "Länge:" -#: src/sid/xmms-sid.glade:4227 -#: src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 +#: src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Ort:" -#: src/sid/xmms-sid.glade:4281 -#: src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 +#: src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" -msgstr "" - -#: src/sid/xmms-sid.glade:4322 -#: src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 -#: src/sid/xs_interface.c:2027 +msgstr "HVSC-Titellängendatenbank auswählen" + +#: src/sid/xmms-sid.glade:3554 +#: src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "STIL-Datenbank auswählen" + +#: src/sid/xmms-sid.glade:3596 +#: src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 +#: src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 +#: src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 +#: src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 +#: src/sid/xs_interface.c:1952 +msgid "Confirm selected action" +msgstr "Gewählte Aktion bestätigen" + +#: src/sid/xmms-sid.glade:3759 +#: src/sid/xs_interface.c:1969 +msgid "Yes" +msgstr "Ja" + +#: src/sid/xmms-sid.glade:3771 +#: src/sid/xs_interface.c:1975 +msgid "No" +msgstr "Nein" + +#: src/sid/xs_fileinfo.c:238 msgid "General info" msgstr "" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4186,32 +4082,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4244,72 +4140,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -4331,9 +4232,8 @@ msgstr "" #: src/sndstretch/sndstretch_xmms.c:379 -#, fuzzy msgid "Pitch" -msgstr "Pfad:" +msgstr "Tonhöhe" #: src/sndstretch/sndstretch_xmms.c:380 msgid "Scale" @@ -4345,11 +4245,11 @@ #: src/song_change/song_change.c:349 msgid "Commands" -msgstr "" +msgstr "Befehle" #: src/song_change/song_change.c:356 msgid "Command to run when Audacious starts a new song." -msgstr "" +msgstr "Auszuführender Befehl, wenn Audacious ein neues Lied startet." #: src/song_change/song_change.c:365 #: src/song_change/song_change.c:387 @@ -4360,7 +4260,7 @@ #: src/song_change/song_change.c:379 msgid "Command to run toward the end of a song." -msgstr "" +msgstr "Auszuführender Befehl am Ende eines Lieds" #: src/song_change/song_change.c:399 msgid "Command to run when Audacious reaches the end of the playlist." @@ -4401,7 +4301,7 @@ #: src/statusicon/gtktrayicon-x11.c:134 msgid "The orientation of the tray" -msgstr "" +msgstr "Die Ausrichtung des Trays" #: src/statusicon/si_ui.c:571 msgid "About Status Icon Plugin" @@ -4415,6 +4315,11 @@ "This plugin provides a status icon, placed in\n" "the system tray area of the window manager.\n" msgstr "" +"\n" +"geschrieben von Giacomo Lozito < james@develia.org >\n" +"\n" +"Dieses Plugin stellt ein Status-Icon bereit, im\n" +"System-Tray des Fenstermanagers.\n" #: src/statusicon/si_ui.c:645 msgid "Status Icon Plugin - Preferences" @@ -4422,31 +4327,31 @@ #: src/statusicon/si_ui.c:656 msgid "Right-Click Menu" -msgstr "" +msgstr "Rechtsklick-Menü" #: src/statusicon/si_ui.c:661 msgid "Audacious standard menu" -msgstr "" +msgstr "Audacious-Standard-Menü" #: src/statusicon/si_ui.c:666 msgid "Small playback menu #1" -msgstr "" +msgstr "Kleines Wiedergabe-Menü #1" #: src/statusicon/si_ui.c:671 msgid "Small playback menu #2" -msgstr "" +msgstr "Kleines Wiedergabe-Menü #2" #: src/statusicon/si_ui.c:694 msgid "Mouse Scroll Action" -msgstr "" +msgstr "Maus-Scroll-Aktion" #: src/statusicon/si_ui.c:699 msgid "Change volume" -msgstr "" +msgstr "Lautstärke ändern" #: src/statusicon/si_ui.c:704 msgid "Change playing song" -msgstr "" +msgstr "Aktiven Titel ändern" #: src/stereo_plugin/stereo.c:29 msgid "" @@ -4454,14 +4359,17 @@ "\n" "By Johan Levin 1999." msgstr "" +"Extra Stereo Plugin\n" +"\n" +"Von Johan Levin 1999." #: src/stereo_plugin/stereo.c:55 msgid "About Extra Stereo Plugin" -msgstr "" +msgstr "Über das Extra Stereo Plugin" #: src/stereo_plugin/stereo.c:96 msgid "Configure Extra Stereo" -msgstr "" +msgstr "Extra Stereo konfigurieren" #: src/stereo_plugin/stereo.c:98 msgid "Effect intensity:" @@ -4469,7 +4377,7 @@ #: src/sun/about.c:34 msgid "About the Sun Driver" -msgstr "" +msgstr "Über den Sun-Treiber" #: src/sun/about.c:35 msgid "" @@ -4478,22 +4386,26 @@ "Copyright (c) 2001 CubeSoft Communications, Inc.\n" "Maintainer: .\n" msgstr "" +"XMMS BSD Sun Driver\n" +"\n" +"Copyright (c) 2001 CubeSoft Communications, Inc.\n" +"Betreuer: .\n" #: src/sun/configure.c:201 msgid "Audio control device:" -msgstr "" +msgstr "Audio-Kontroll-Gerät:" #: src/sun/configure.c:350 msgid "Volume controls device:" -msgstr "" +msgstr "Lautstärke-Kontroll-Gerät:" #: src/sun/configure.c:363 msgid "XMMS uses mixer exclusively." -msgstr "" +msgstr "XMMS benützt den Mixer exklusiv." #: src/sun/configure.c:538 msgid "Sun driver configuration" -msgstr "" +msgstr "Sun-Treiber-Konfiguration" #: src/timidity/src/interface.c:56 msgid "TiMidity Configuration" @@ -4547,11 +4459,16 @@ "To use it, add a URL: tone://frequency1;frequency2;frequency3;...\n" "e.g. tone://2000;2005 to play a 2000Hz tone and a 2005Hz tone" msgstr "" +"Sinuston-Generator von Haavard Kvaalen \n" +"Verändert von Daniel J. Peng \n" +"\n" +"Um ihn zu benützen, eine URL hinzufügen: tone://frequency1;frequency2;frequency3;...\n" +"z.B. tone://2000;2005 für einen Ton mit 2000Hz und einen mit 2005Hz" #: src/tonegen/tonegen.c:170 #, c-format msgid "%s %.1f Hz" -msgstr "" +msgstr "%s %.1f Hz" #: src/tonegen/tonegen.c:170 msgid "Tone Generator: " @@ -4559,23 +4476,23 @@ #: src/tta/libtta.c:148 msgid "Can't open file\n" -msgstr "" +msgstr "Kann Datei nicht öffnen\n" #: src/tta/libtta.c:151 msgid "Not supported file format\n" -msgstr "" +msgstr "Kein unterstütztes Dateiformat\n" #: src/tta/libtta.c:154 msgid "File is corrupted\n" -msgstr "" +msgstr "Datei ist beschädigt\n" #: src/tta/libtta.c:157 msgid "Can't read from file\n" -msgstr "" +msgstr "Kann nicht von Datei lesen\n" #: src/tta/libtta.c:160 msgid "Insufficient memory available\n" -msgstr "" +msgstr "Zu wenig Speicher verfügbar\n" #: src/tta/libtta.c:163 msgid "Output plugin error\n" @@ -4583,11 +4500,11 @@ #: src/tta/libtta.c:166 msgid "Unknown error\n" -msgstr "" +msgstr "Unbekannter Fehler\n" #: src/tta/libtta.c:170 msgid "TTA Decoder Error" -msgstr "" +msgstr "TTA-Dekoder-Fehler" #: src/tta/libtta.c:279 msgid "TTA input plugin " @@ -4598,6 +4515,8 @@ " for BMP\n" "Copyright (c) 2004 True Audio Software\n" msgstr "" +" für BMP\n" +"Copyright (c) 2004 True Audio Software\n" #: src/tta/libtta.c:283 msgid "About True Audio Plugin" @@ -4609,25 +4528,25 @@ #: src/vorbis/configure.c:117 msgid "Ogg Vorbis Audio Plugin Configuration" -msgstr "" +msgstr "Ogg-Vorbis-Audio-Plugin-Konfiguration" #: src/vorbis/configure.c:129 msgid "Ogg Vorbis Tags:" -msgstr "" +msgstr "Ogg-Vorbis-Tags:" #: src/vorbis/configure.c:150 msgid "Title format:" -msgstr "" +msgstr "Titelformat:" #: src/vorbis/configure.c:164 #: src/wavpack/ui.cxx:500 msgid "ReplayGain Settings:" -msgstr "" +msgstr "ReplayGain-Einstellungen:" #: src/vorbis/configure.c:182 #: src/wavpack/ui.cxx:518 msgid "ReplayGain Type:" -msgstr "" +msgstr "ReplayGain-Typ:" #: src/vorbis/configure.c:193 #: src/wavpack/ui.cxx:529 @@ -4965,15 +4884,15 @@ #: src/vorbis/fileinfo.c:104 msgid "Folk" -msgstr "" +msgstr "Folk" #: src/vorbis/fileinfo.c:105 msgid "Folk/Rock" -msgstr "" +msgstr "Folk/Rock" #: src/vorbis/fileinfo.c:105 msgid "National Folk" -msgstr "" +msgstr "National Folk" #: src/vorbis/fileinfo.c:105 msgid "Swing" @@ -4993,7 +4912,7 @@ #: src/vorbis/fileinfo.c:106 msgid "Revival" -msgstr "" +msgstr "Revival" #: src/vorbis/fileinfo.c:107 msgid "Celtic" @@ -5033,7 +4952,7 @@ #: src/vorbis/fileinfo.c:110 msgid "Chorus" -msgstr "" +msgstr "Chor" #: src/vorbis/fileinfo.c:110 msgid "Easy Listening" @@ -5041,7 +4960,7 @@ #: src/vorbis/fileinfo.c:111 msgid "Acoustic" -msgstr "" +msgstr "Acoustic" #: src/vorbis/fileinfo.c:111 msgid "Humour" @@ -5344,7 +5263,7 @@ #: src/vorbis/fileinfo.c:961 #, c-format msgid "%d KBit/s (nominal)" -msgstr "" +msgstr "%d KBit/s (nominell)" #: src/vorbis/fileinfo.c:963 #, c-format @@ -5390,7 +5309,7 @@ #: src/vtx/about.c:22 msgid "About Vortex Player" -msgstr "" +msgstr "Über den Vortex-Player" #: src/vtx/about.c:24 msgid "" @@ -5415,14 +5334,18 @@ "Some of the plugin code was by Miles Egan\n" "Visit the Wavpack site at http://www.wavpack.com/\n" msgstr "" +"Copyright (c) 2006 William Pitcock \n" +"\n" +"Ein Teil des Plugin-Codes war von Miles Egan\n" +"Die Wavpack-Seite befindet sich auf http://www.wavpack.com/\n" #: src/wavpack/ui.cxx:163 msgid "Ape2 Tag" -msgstr "" +msgstr "Ape2-Tag" #: src/wavpack/ui.cxx:286 msgid "Wavpack Info:" -msgstr "" +msgstr "Wavpack-Information:" #: src/wavpack/ui.cxx:379 #, c-format @@ -5432,7 +5355,7 @@ #: src/wavpack/ui.cxx:380 #, c-format msgid "average bitrate: %6.1f kbps" -msgstr "" +msgstr "durchschnittliche Bitrate: %6.1f kbps" #: src/wavpack/ui.cxx:381 #, c-format @@ -5460,24 +5383,20 @@ msgstr "Dateigrösse: %d Byte" #: src/wavpack/ui.cxx:392 -#, fuzzy msgid "Title Peak: ?" -msgstr "Titel:" +msgstr "Titel-Höchstwert: ?" #: src/wavpack/ui.cxx:393 -#, fuzzy msgid "Album Peak: ?" -msgstr "Album:" +msgstr "Album-Höchstwert: ?" #: src/wavpack/ui.cxx:394 -#, fuzzy msgid "Title Gain: ?" -msgstr "Titel:" +msgstr "Titel-Verstärkung: ?" #: src/wavpack/ui.cxx:395 -#, fuzzy msgid "Album Gain: ?" -msgstr "Album:" +msgstr "Album-Verstärkung: ?" #: src/wavpack/ui.cxx:469 msgid "Wavpack Configuration" @@ -5489,7 +5408,7 @@ #: src/wav/wav-sndfile.c:549 msgid "About sndfile WAV support" -msgstr "" +msgstr "Über die sndfile-WAV-Unterstützung" #: src/wav/wav-sndfile.c:550 msgid "" @@ -5516,7 +5435,7 @@ #: src/wav/wav-sndfile.c:574 msgid "sndfile WAV plugin" -msgstr "" +msgstr "sndfile-WAV-Plugin" #: src/wma/wma.c:143 #, c-format @@ -5524,6 +5443,16 @@ msgstr "Über %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Lautstärkesteuerung:" +#~ msgid "Load" +#~ msgstr "Laden" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Lautstärkesteuerung:" + +#, fuzzy #~ msgid "12000" #~ msgstr "11000 Hz" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/ja.po --- a/po/ja.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/ja.po Thu Sep 13 12:10:39 2007 -0500 @@ -13,8 +13,8 @@ msgstr "" "Project-Id-Version: audacious-plugins HEAD\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" -"PO-Revision-Date: 2007-08-31 17:04+0900\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" +"PO-Revision-Date: 2007-09-10 09:42+0900\n" "Last-Translator: dai \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" @@ -46,7 +46,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -98,8 +98,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -133,14 +133,14 @@ msgstr "チャンネル数" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "モノラル" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "ステレオ" @@ -252,28 +252,28 @@ msgid "Subsong selection" msgstr "サブソング選択" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "順序: " -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "パターン: " -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "列: " -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 msgid "Speed: " msgstr "早さ: " -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 msgid "Timer: " msgstr "タイマー: " -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -318,8 +318,8 @@ "http://www.snika.uklinux.net/xmms-alarm/" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "閉じる" @@ -333,10 +333,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "OK" @@ -394,6 +394,10 @@ msgid "h" msgstr "時" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "分" + #: src/alarm/interface.c:556 msgid "Quiet after:" msgstr "静かになるまで:" @@ -453,10 +457,10 @@ msgid "Fading" msgstr "フェーディング" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 msgid "seconds" msgstr "秒" @@ -1428,8 +1432,8 @@ "TiMidity\n" "バックエンド" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "名前:" @@ -1696,10 +1700,10 @@ msgid "Skin file:" msgstr "スキンファイル:" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "参照" @@ -1783,7 +1787,7 @@ msgstr "トリガー" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 msgid "Misc" msgstr "その他" @@ -2084,7 +2088,7 @@ msgstr "デフォルトの曲の長さ:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "リサンプリング" @@ -2442,7 +2446,7 @@ "デバイスが検出されていないため, バインディングウィンドウが開けません.\n" "デバイスが正しく接続されていることを確認してください." -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "エラー" @@ -2583,11 +2587,11 @@ "Giacomo Lozito によって書かれた.\n" "\n" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 msgid "About FileWriter-Plugin" msgstr "ファイルライタ・プラグインについて" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 msgid "" "FileWriter-Plugin\n" "\n" @@ -2623,7 +2627,7 @@ "Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,\n" "USA. まで請求して下さい." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 msgid "" "You cannot use the FileWriter plugin\n" "when you're running in realtime mode." @@ -2631,51 +2635,51 @@ "リアルタイムモードで実行しているとき\n" "ファイルライタ プラグインは利用できません." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 msgid "File Writer Configuration" msgstr "ファイルライタの設定" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 msgid "Output file format:" msgstr "出力ファイルフォーマット:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 msgid "Configure" msgstr "設定" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "元のディレクトリに保存する" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "指定のディレクトリに保存する" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "ファイル出力先ディレクトリ:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "ディレクトリの選択" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "ファイル名の取得元:" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "元のファイルのタグ" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "元のファイル名" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "ファイル名から拡張子を取り除かない" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." @@ -2683,7 +2687,7 @@ "これを有効にすると, 新しいファイル拡張子を末尾につけるより先に, 元のファイル" "名の拡張子は取り除かれません." -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "ファイル名の先頭にトラック番号を付加する" @@ -3136,8 +3140,7 @@ msgid "ID3 format:" msgstr "ID3 の書式:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "タイトル" @@ -3606,8 +3609,8 @@ msgid "Use Album Gain" msgstr "アルバムゲインを使用する" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "ファイル名:" @@ -3619,8 +3622,8 @@ msgid "Track:" msgstr "トラック:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "保存" @@ -3930,105 +3933,86 @@ msgid "Scrobbler Error" msgstr "Scrobbler エラー" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "曲の長さデータベース初期化エラー!\n" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "STIL データベース初期化エラー!\n" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "オーディオデータバッファのメモリを割り当てられませんでした!\n" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "オーバーサンプリングバッファのメモリを割り当てられませんでした!\n" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "SID-tune '%s' (サブチューン #%i)を初期化できませんでした!\n" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "XMMS オーディオ出力 (fmt=%x, freq=%i, nchan=%i) を開けませんでした!\n" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "オーバーサンプリングレート変換パスに失敗しました.\n" -#: src/sid/xmms-sid.c:770 -msgid "Subtune Control" -msgstr "サブチューンコントロール:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "t_xs_tuneinfo ('%s') のメモリを割り当てられませんでした\n" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "sidFilename ('%s') を割り当てられませんでした\n" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "t_xs_subtuneinfo ('%s', %i) のメモリを割り当てられませんでした\n" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +msgid "Audacious-SID configuration" msgstr "Audacious-SID 設定" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 msgid "8-bit" msgstr " 8ビット" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 msgid "16-bit" msgstr "16ビット" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 msgid "Resolution:" msgstr "解像度:" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "オートパニング" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "チャンネル数:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 msgid "Samplerate:" msgstr "サンプリングレート:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 msgid "Use oversampling" msgstr "オーバーサンプリングを使う" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "ファクター:" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "大きなファクターはより CPU パワーを必要とします" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 msgid "Oversampling:" msgstr "オーバーサンプリング:" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "オーディオ" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " @@ -4038,11 +4022,11 @@ "うことを\"強制\"します. そうでなければ, 速度は演奏するファイル自体から決定さ" "れます." -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "速度を強制する" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." @@ -4050,11 +4034,11 @@ "PAL は 50Hz のリフレッシュレートを用いるヨーロッパの TV 規格です. ほとんどの " "SID-tunes は PAL コンピュータ向けに作られています." -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "PAL (50 Hz)" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " @@ -4063,15 +4047,15 @@ "NTSC は 60Hz のリフレッシュレートを用い, PAL とは他にも異なる特徴を持つ TV 規" "格です. 主にアメリカ, 日本や他の国々で用いられています." -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "NTSC (60 Hz)" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 msgid "Clock speed:" msgstr "クロック速度:" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " @@ -4081,11 +4065,11 @@ "\"強制\"します. 無効ならば, ファイルが PSIDv2NG タイプなら, 望ましい SID モデ" "ルが決定されますが, 利用できなければこの設定が用いられます." -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 msgid "Force model" msgstr "モデルを強制する" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -4097,19 +4081,19 @@ "の SID チップは同じではありません), デジタルサンプルの再生を有効にする \"音量" "調整バグ\" があります." -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "MOS 6581" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "MOS 8580" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 msgid "SID model:" msgstr "SID モデル:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." @@ -4117,11 +4101,11 @@ "高速ですがそれほど正確ではない libSIDPlay 1.x を用います. ですがほとんどの場" "合問題ありません." -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "SIDPlay 1 (フレームベース)" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." @@ -4129,39 +4113,39 @@ "より正確なエミュレーションのために強力な CPU を必要とする libSIDPlay 2.x を用" "います." -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "SIDPlay 2 (サイクルベース)" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "エミュレーションライブラリの選択" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "Real C64 (SIDPlay 2 専用)" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "バンクスイッチング" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 msgid "Transparent ROM" msgstr "透過 ROM" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "PlaySID 環境" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 msgid "Memory mode:" msgstr "メモリモード:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "Emu#1" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " @@ -4171,11 +4155,11 @@ "クル正確からフレーム正確に似た何かに格下げします. この結果, CPU 使用率は下が" "りますが, 正確さは悪くなります." -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "最適化モード (高速, 不正確)" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " @@ -4185,11 +4169,11 @@ "トウェア SID チップシミュレータです. ソフトウェアのみでのエミュレーションで" "は, 本物の利用可能な SID におそらく最も近いものです." -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "reSID エミュレーション" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -4203,49 +4187,49 @@ "似点を \"ほぼ 100%\" 達成するために用いられます. より多くの情報は http://www." "hardsid.com/ を参照してください." -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "HardSID" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "SIDPlay 2 オプション:" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" "単純に最近傍のサンプルを用いるだけの, 最速ですが最悪のサンプリング方法です." -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "高速 (最近傍)" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" "高い音質を低いサンプリングノイズで生成する, サンプル間の線形補間を用います." -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "線形補間" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 msgid "Resampling (FIR)" msgstr "リサンプリング (FIR)" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 msgid "reSID sampling options:" msgstr "reSID サンプリングオプション:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "Emu#2" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4257,71 +4241,59 @@ "ます. しかし, フィルタエミュレーションが無効だと, フィルタを使っている音色は" "まったく本物のようには聞こえません." -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "フィルタをエミュレートする" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "FS" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "FM" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "FT" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "値をリセット" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "SIDPlay1" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "6581 (reSID)" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "8580 (reSID)" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "6581R1 (alankila)" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "6581R4 (alankila)" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "読み込み" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +msgid "Export" +msgstr "エクスポート" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "使用" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 msgid "Import" msgstr "インポート" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -msgid "Export" -msgstr "エクスポート" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +msgid "Delete" +msgstr "削除" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 msgid "Filter curve:" msgstr "フィルタ曲線:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "SIDPlay2" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "フィルタ" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." @@ -4329,21 +4301,21 @@ "有効ならば, 必要に応じて末尾に無音部分を追加し, 音色は少なくとも指定された時" "間で演奏されます." -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 msgid "Play at least for specified time" msgstr "少なくとも指定された時間で演奏" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 msgid "Playtime:" msgstr "演奏時間:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "最小演奏時間:" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." @@ -4351,26 +4323,26 @@ "有効ならば, 音色は指定された持続時間 (最大演奏時間) に到達するまで演奏されま" "す." -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "指定された時間いっぱいまで演奏" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" "有効ならば, 曲や音色の長さが不明な場合のみ, 最大演奏時間が用いられます." -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "曲の長さが不明な場合のみ" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "最大演奏時間:" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" @@ -4378,31 +4350,43 @@ "XSIDPLAY 互換の曲の長さデータベースを使用します. (より多くの情報は Audacious-" "SID の文書を参照してください)" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "XSIDPLAY 互換データベースを使う" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 msgid "DB-file:" msgstr "DB ファイル:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "データベースパスとファイル名" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "曲の長さデータベースファイルを参照" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "曲の長さデータベース:" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 msgid "Songlength" msgstr "曲の長さ" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "サブチューンをプレイリストに追加" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "指定された最小の長さのチューンのみ" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +msgid "Sub-tune handling:" +msgstr "サブチューンの取り扱い:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " @@ -4412,15 +4396,15 @@ "Audacious-SID は HVSC SID が演奏された場合 STIL データベースから追加情報の使" "用・表示を行います." -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "STIL データベースを使う" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 msgid "STIL file:" msgstr "STIL ファイル:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." @@ -4428,15 +4412,15 @@ "STIL データベースファイル (STIL.txt) のパスとファイル名を指定します.通常, " "HVSC のドキュメントのサブディレクトリです." -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "STIL データベースファイルを参照" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "HVSC パス:" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" @@ -4444,217 +4428,98 @@ "High Voltage SID コレクション (HVSC) のベースディレクトリのパスを指定します. " "例: /media/C64Music/" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "HVSC パスを参照" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "SID Tune 情報リスト (STIL) データベース:" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" -"XMMS v1.2.5 以降は一般的なタイトル文字フォーマットをサポートしています (XMMS " -"設定をご覧ください). 有効ならば, Audacious-SID で指定したものを上書きします. " -"フォーマットルールは以下に説明があります." - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -msgid "Override generic XMMS titles" -msgstr "一般的な XMMS のタイトルを上書きする" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" -"%% - '%' 文字\n" -"%p - 演奏者/作曲者\n" -"%t - 曲名 (タイトル)\n" -"%c - 著作権\n" -"%s - ファイル形式\n" -"%m - SID モデル" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" -"%C - 速度/クロック (PAL/NTSC)\n" -"%n - サブチューン\n" -"%N - サブチューン数\n" -"%f - ファイル名\n" -"%F - ファイルパス\n" -"%e - ファイル拡張子" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -msgid "Song name/title format:" -msgstr "曲名/タイトルの書式:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -msgid "No sub-tune control." -msgstr "サブチューンコントロールがありません." - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "無効" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" -"後方/前方のシークは, XMMS-SidPlay で用いられるセレクタのように, 以前/以後のサ" -"ブチューンを選択します. " - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "後方/前方のシークでサブチューンを変更" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" -"シークバーを押すことで, UADE (Unix Amiga Delitracker Emulator) のようにサブ" -"チューンコントロールウィンドウがポップアップします." - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "シークバー経由でポップアップ (UADE-style)" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" -"シークバーがサブチューンセレクタとして動作します (XMMS に曲位置パッチを当てて" -"いるなら最上のオプションです)." - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "曲位置パッチ" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -msgid "Sub-tune control:" -msgstr "サブチューンコントロール:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "ファイル中のサブチューンを一通り用いる" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "指定された最小の長さのチューンのみ" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "自動サブチューン変更:" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" -"ファイルの内容を確認してファイルが SID-tune かどうかを決定します. 選択されて" -"いなければ, .sid や .dat などのファイル拡張子でファイルタイプを決定します." - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "内容でファイルタイプを決定 (遅い)" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "雑多なオプション:" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "変更を承認して更新する" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "あらゆる変更を取り消す" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 msgid "Audacious-SID Fileinfo" msgstr "Audacious-SID ファイル情報" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr " < " - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr " > " - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "曲名:" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "作曲者:" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "著作権:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 msgid "Song Information:" msgstr "曲情報:" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr " " - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "作者:" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 msgid "Duration:" msgstr "持続時間:" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 msgid "Sub-tune Information:" msgstr "サブチューン情報:" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "HVSC 曲の長さデータベースを選択" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" msgstr "STIL データベースを選択" -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "HVSC 位置のプレフィックスを選択" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "インポートする SIDPlay2 フィルタファイルを選択" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "エクスポートする SIDPlay2 フィルタファイルを選択" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +msgid "Confirm selected action" +msgstr "選択されたアクションの確認" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +msgid "Yes" +msgstr "はい" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +msgid "No" +msgstr "いいえ" + +#: src/sid/xs_fileinfo.c:238 msgid "General info" msgstr "一般情報" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "チューン #%i:" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "チューン #%i" @@ -4677,32 +4542,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "曲の長さ DB '%s' を開けませんでした.\n" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "曲の長さ DB ファイル '%s' の #%d 行の MD5 ハッシュが無効です!\n" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "曲の長さ DB ファイル '%s' の #%d 行のエントリが無効です!\n" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "曲の長さ DB ファイル '%s' の #%d 行が無効です!\n" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "ファイル '%s' は PSID でも RSID でもありません.\n" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "'%s' からの SID ファイルヘッダ読み込みでエラーが発生しました.\n" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "ファイル '%s' の一時データバッファの割り当てでエラーが発生しました.\n" @@ -4743,72 +4608,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "[SIDPlay2] エミュレーションエンジンを初期化できませんでした.\n" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "[SIDPlay2] フィルタ曲線の分点の数が不正です (%d > %d)\n" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "reSID->create() に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "reSID->filter(%d) に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "reSID->sampling(%d) に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "reSID->filter(NULL) に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "hardSID->create() に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "hardSID->filter(%d) に失敗しました.\n" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "[SIDPlay2] SIDBuilder オブジェクトを初期化できませんでした.\n" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "[SIDPlay2] clockSpeed=%d は無効です. PAL にフォールバックします.\n" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "sid2OptLevel %d は無効です. %d にフォールバックします.\n" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "[SIDPlay2] エミュレーションエンジンの設定に失敗しました!\n" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "[SIDPlay2] SIDTune オブジェクトを初期化できませんでした.\n" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "[SIDPlay2] currTune->selectSong() に失敗しました.\n" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "[SIDPlay2] currTune->selectSong() に失敗しました.\n" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "[SIDPlay2] currEng->load() に失敗しました.\n" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "SubTune ポインタ構造体の realloc に失敗しました.\n" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "SubTune 構造体の malloc に失敗しました!\n" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "STILDB '%s' を開けませんでした.\n" @@ -6090,6 +5960,145 @@ msgid "About %s" msgstr "%s について" +#~ msgid "Subtune Control" +#~ msgstr "サブチューンコントロール:" + +#~ msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" +#~ msgstr "t_xs_tuneinfo ('%s') のメモリを割り当てられませんでした\n" + +#~ msgid "Could not allocate sidFilename ('%s')\n" +#~ msgstr "sidFilename ('%s') を割り当てられませんでした\n" + +#~ msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" +#~ msgstr "t_xs_subtuneinfo ('%s', %i) のメモリを割り当てられませんでした\n" + +#~ msgid "6581 (reSID)" +#~ msgstr "6581 (reSID)" + +#~ msgid "8580 (reSID)" +#~ msgstr "8580 (reSID)" + +#~ msgid "6581R1 (alankila)" +#~ msgstr "6581R1 (alankila)" + +#~ msgid "6581R4 (alankila)" +#~ msgstr "6581R4 (alankila)" + +#~ msgid "Load" +#~ msgstr "読み込み" + +#~ msgid "" +#~ "XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " +#~ "preferences). This option can be enabled to override those generic titles " +#~ "with Audacious-SID specific ones. Formatting mnemonics are explained " +#~ "briefly below." +#~ msgstr "" +#~ "XMMS v1.2.5 以降は一般的なタイトル文字フォーマットをサポートしています " +#~ "(XMMS 設定をご覧ください). 有効ならば, Audacious-SID で指定したものを上書" +#~ "きします. フォーマットルールは以下に説明があります." + +#~ msgid "Override generic XMMS titles" +#~ msgstr "一般的な XMMS のタイトルを上書きする" + +#~ msgid "" +#~ "%% - '%' character\n" +#~ "%p - Performer/composer\n" +#~ "%t - Song name (title)\n" +#~ "%c - Copyright\n" +#~ "%s - File type\n" +#~ "%m - SID model" +#~ msgstr "" +#~ "%% - '%' 文字\n" +#~ "%p - 演奏者/作曲者\n" +#~ "%t - 曲名 (タイトル)\n" +#~ "%c - 著作権\n" +#~ "%s - ファイル形式\n" +#~ "%m - SID モデル" + +#~ msgid "" +#~ "%C - Speed/clock (PAL/NTSC)\n" +#~ "%n - Subtune\n" +#~ "%N - Number of subtunes\n" +#~ "%f - Filename\n" +#~ "%F - File path\n" +#~ "%e - File extension" +#~ msgstr "" +#~ "%C - 速度/クロック (PAL/NTSC)\n" +#~ "%n - サブチューン\n" +#~ "%N - サブチューン数\n" +#~ "%f - ファイル名\n" +#~ "%F - ファイルパス\n" +#~ "%e - ファイル拡張子" + +#~ msgid "Song name/title format:" +#~ msgstr "曲名/タイトルの書式:" + +#~ msgid "No sub-tune control." +#~ msgstr "サブチューンコントロールがありません." + +#~ msgid "Disabled" +#~ msgstr "無効" + +#~ msgid "" +#~ "Seeking backwards/forwards selects previous/next sub-tune, similar to " +#~ "selector used in XMMS-SidPlay." +#~ msgstr "" +#~ "後方/前方のシークは, XMMS-SidPlay で用いられるセレクタのように, 以前/以後" +#~ "のサブチューンを選択します. " + +#~ msgid "Seek back/forward changes sub-tune" +#~ msgstr "後方/前方のシークでサブチューンを変更" + +#~ msgid "" +#~ "By pressing the seekbar a sub-tune control window pops up, in style of " +#~ "UADE (Unix Amiga Delitracker Emulator)" +#~ msgstr "" +#~ "シークバーを押すことで, UADE (Unix Amiga Delitracker Emulator) のようにサ" +#~ "ブチューンコントロールウィンドウがポップアップします." + +#~ msgid "Pop-up via seekbar (UADE-style)" +#~ msgstr "シークバー経由でポップアップ (UADE-style)" + +#~ msgid "" +#~ "Seekbar works as a sub-tune selector (Best option if you have patched " +#~ "your XMMS with the song-position patch.)" +#~ msgstr "" +#~ "シークバーがサブチューンセレクタとして動作します (XMMS に曲位置パッチを当" +#~ "てているなら最上のオプションです)." + +#~ msgid "Song-position patch" +#~ msgstr "曲位置パッチ" + +#~ msgid "Go through all sub-tunes in file" +#~ msgstr "ファイル中のサブチューンを一通り用いる" + +#~ msgid "Automatic sub-tune changes:" +#~ msgstr "自動サブチューン変更:" + +#~ msgid "" +#~ "Determine if file is a SID-tune by checking the file contents. If NOT " +#~ "selected, filetype is determined by checking filename extension (.sid, ." +#~ "dat, ...)" +#~ msgstr "" +#~ "ファイルの内容を確認してファイルが SID-tune かどうかを決定します. 選択され" +#~ "ていなければ, .sid や .dat などのファイル拡張子でファイルタイプを決定しま" +#~ "す." + +#~ msgid "Detect file by contents (slower)" +#~ msgstr "内容でファイルタイプを決定 (遅い)" + +#~ msgid "Miscellaneous options:" +#~ msgstr "雑多なオプション:" + +#~ msgid " < " +#~ msgstr " < " + +#~ msgid " > " +#~ msgstr " > " + +#~ msgid " " +#~ msgstr " " + #~ msgid "#" #~ msgstr "#" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/ro.po --- a/po/ro.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/ro.po Thu Sep 13 12:10:39 2007 -0500 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: audacious-plugins 1.4.0\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-08-28 20:44+0200\n" "Last-Translator: Daniel Patriche \n" "Language-Team: Romanian \n" @@ -44,7 +44,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -96,8 +96,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -131,14 +131,14 @@ msgstr "Canale" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -251,28 +251,28 @@ msgid "Subsong selection" msgstr "Selecția sub-melodiei" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "Ordine: " -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "Șablon: " -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "Linie: " -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 msgid "Speed: " msgstr "Viteză: " -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 msgid "Timer: " msgstr "Cronometru: " -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -317,8 +317,8 @@ "http://www.snika.uklinux.net/xmms-alarm/" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Închide" @@ -332,10 +332,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "Ok" @@ -395,6 +395,10 @@ msgid "h" msgstr "h" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 msgid "Quiet after:" msgstr "Oprește după:" @@ -455,10 +459,10 @@ msgid "Fading" msgstr "Tranziție" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "secunde" @@ -1352,8 +1356,8 @@ "backend" msgstr "" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 #, fuzzy msgid "Name:" msgstr "Numele Instrumentului" @@ -1618,10 +1622,10 @@ msgid "Skin file:" msgstr "Tipul Fișierului: " -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "" @@ -1705,7 +1709,7 @@ msgstr "Declanşator" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 msgid "Misc" msgstr "" @@ -1998,7 +2002,7 @@ msgstr "Pauză" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "" @@ -2322,7 +2326,7 @@ "Ensure that the device has been correctly plugged in." msgstr "" -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 #, fuzzy msgid "Error" @@ -2451,12 +2455,12 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "Despre plugin-ul decodor MP4·AAC" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 msgid "" "FileWriter-Plugin\n" "\n" @@ -2476,69 +2480,69 @@ "USA." msgstr "" -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 msgid "" "You cannot use the FileWriter plugin\n" "when you're running in realtime mode." msgstr "" -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "AdPlug·::·Informații despre fișier" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "AdPlug·::·Informații despre fișier" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 msgid "Configure" msgstr "Configurează" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "Salvează în directorul original" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "Salvează în directorul specificat" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 #, fuzzy msgid "Output file folder:" msgstr "AdPlug·::·Informații despre fișier" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "Alegeţi un director" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 #, fuzzy msgid "Get filename from:" msgstr "După calea completă" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 #, fuzzy msgid "original file tags" msgstr "AdPlug·::·Informații despre fișier" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 #, fuzzy msgid "original filename" msgstr "După Fișier" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -2979,8 +2983,7 @@ msgid "ID3 format:" msgstr "Selecția formatelor" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 #, fuzzy msgid "Title" msgstr "Titlu" @@ -3444,8 +3447,8 @@ msgid "Use Album Gain" msgstr "Folosește cursoare de mouse personalizate (oferite de skin)" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 #, fuzzy msgid "Filename:" msgstr "Fișier:" @@ -3459,8 +3462,8 @@ msgid "Track:" msgstr "Informații despre Track" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 #, fuzzy msgid "Save" msgstr "Salvează" @@ -3723,159 +3726,140 @@ msgid "Scrobbler Error" msgstr "Eroare în Audacious" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -msgid "Subtune Control" -msgstr "" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, fuzzy, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "Nu s-a putut crea directorul (%s): %s\n" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Developerii Audacious:" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 msgid "8-bit" msgstr "" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 msgid "16-bit" msgstr "" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 #, fuzzy msgid "Resolution:" msgstr "Rezoluție" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 #, fuzzy msgid "Channels:" msgstr "Canale" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 msgid "Samplerate:" msgstr "" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Folosește cursoare de mouse personalizate (oferite de skin)" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 msgid "Oversampling:" msgstr "" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 #, fuzzy msgid "Audio" msgstr "Audio" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 #, fuzzy msgid "PAL (50 Hz)" msgstr "Rata de eșantionare [Hz]:" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 #, fuzzy msgid "NTSC (60 Hz)" msgstr "Rata de eșantionare [Hz]:" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 msgid "Clock speed:" msgstr "" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 msgid "Force model" msgstr "" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -3883,91 +3867,91 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 msgid "SID model:" msgstr "" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 #, fuzzy msgid "Emulation library selection:" msgstr "Șterge selecția anterioară înainte de a căuta" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 msgid "Transparent ROM" msgstr "" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Mod de Vizualizare" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -3976,49 +3960,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 #, fuzzy msgid "SIDPlay 2 options:" msgstr "Meniu de Opțiuni" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 msgid "Resampling (FIR)" msgstr "" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Convertor pentru rata de eșantionare" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4026,383 +4010,288 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 #, fuzzy msgid "FM" msgstr "Radio Last.fm" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -#, fuzzy -msgid "Load" -msgstr "Încarcă" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +msgid "Export" +msgstr "" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 #, fuzzy msgid "Import" msgstr "Importă" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -msgid "Export" -msgstr "" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "Implicit" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 msgid "Filter curve:" msgstr "" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 msgid "Play at least for specified time" msgstr "" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 msgid "Playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Tipul Fișierului: " -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 #, fuzzy msgid "Song length database:" msgstr "Pauză" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 msgid "Songlength" msgstr "" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Informații despre Pluginul de ieșire" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "Foloseste baza de date STIL" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 msgid "STIL file:" msgstr "Fisierul STIL:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 #, fuzzy msgid "HVSC path:" msgstr "Calea fisierului" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -msgid "Override generic XMMS titles" -msgstr "" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -msgid "Song name/title format:" -msgstr "" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -msgid "No sub-tune control." -msgstr "" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -msgid "Disabled" -msgstr "" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -#, fuzzy -msgid "Song-position patch" -msgstr "Pauză" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -msgid "Sub-tune control:" -msgstr "" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -#, fuzzy -msgid "Detect file by contents (slower)" -msgstr "Detecția formatului după extensie." - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -#, fuzzy -msgid "Miscellaneous options:" -msgstr "Meniu de Opțiuni" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "Anuleaza toate schimbarile" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "Developerii Audacious:" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 #, fuzzy msgid "Songname:" msgstr "Autoderularea Numelui Fișierului" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Informații despre Track" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 #, fuzzy msgid "Author:" msgstr "Autor: " -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 msgid "Duration:" msgstr "" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Informații despre Pluginul de ieșire" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -#, fuzzy -msgid "Select STIL-database " +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +#, fuzzy +msgid "Select STIL-database" msgstr "Alege fontul playlist-ului" -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +#, fuzzy +msgid "Confirm selected action" +msgstr "Selecția formatelor" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "da" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +#, fuzzy +msgid "No" +msgstr "Deselectează tot" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "AdPlug·::·Informații despre fișier" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, fuzzy, c-format msgid "Tune #%i: " msgstr "Pornește" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, fuzzy, c-format msgid "Tune #%i" msgstr "Pornește" @@ -4425,32 +4314,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "Nu s-a putut crea directorul (%s): %s\n" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4487,74 +4376,79 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 #, fuzzy msgid "reSID->create() failed.\n" msgstr "Nu s-a putut crea directorul (%s): %s\n" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, fuzzy, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "Convertor pentru rata de eșantionare" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 #, fuzzy msgid "hardSID->create() failed.\n" msgstr "Nu s-a putut crea directorul (%s): %s\n" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, fuzzy, c-format msgid "Could not open STILDB '%s'\n" msgstr "Nu s-a putut crea directorul (%s): %s\n" @@ -5806,6 +5700,26 @@ msgid "About %s" msgstr "Despre %s" +#, fuzzy +#~ msgid "Could not allocate sidFilename ('%s')\n" +#~ msgstr "Nu s-a putut crea directorul (%s): %s\n" + +#, fuzzy +#~ msgid "Load" +#~ msgstr "Încarcă" + +#, fuzzy +#~ msgid "Song-position patch" +#~ msgstr "Pauză" + +#, fuzzy +#~ msgid "Detect file by contents (slower)" +#~ msgstr "Detecția formatului după extensie." + +#, fuzzy +#~ msgid "Miscellaneous options:" +#~ msgstr "Meniu de Opțiuni" + #~ msgid ":" #~ msgstr ":" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/ru.po --- a/po/ru.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/ru.po Thu Sep 13 12:10:39 2007 -0500 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: audacious-plugins 1.3\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-04-12 21:50+0300\n" "Last-Translator: Alexander Orlov \n" "Language-Team: none\n" @@ -41,7 +41,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -94,8 +94,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -132,14 +132,14 @@ msgstr "Каналы" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Моно" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Стерео" @@ -254,30 +254,30 @@ msgid "Subsong selection" msgstr "Выбор внутреннего модуля" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Речь" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Time Div:" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Гц" @@ -313,8 +313,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Закрыть" @@ -328,10 +328,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "ОК" @@ -384,6 +384,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -447,10 +451,10 @@ msgid "Fading" msgstr "Усиления:" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "секунд" @@ -1392,8 +1396,8 @@ "backend" msgstr "определение" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Имя:" @@ -1645,10 +1649,10 @@ msgid "Skin file:" msgstr "Файл темы:" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "Просмотреть" @@ -1730,7 +1734,7 @@ msgstr "События" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Диско" @@ -2023,7 +2027,7 @@ msgstr "Длительность песни по-умолчанию:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Преобразование частоты" @@ -2384,7 +2388,7 @@ "Невозможно открыть окно для неопознанного устройства.\n" "Убедитесь, что устройство правильно подключено." -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Ошибка" @@ -2529,12 +2533,12 @@ "< james@develia.org >\n" "\n" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "О модуле Flac" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2573,7 +2577,7 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307,\n" "USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2582,60 +2586,60 @@ "Использование модуля записи на диск невозможно\n" "во время работы в режиме реального времени." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Настройка записи на диск" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Каталог для выходных файлов:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Настроить Эхо" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Каталог для выходных файлов:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Не удалять расширение имени файла" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -3085,8 +3089,7 @@ msgid "ID3 format:" msgstr "Формат ID3-тега:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Название" @@ -3542,8 +3545,8 @@ msgid "Use Album Gain" msgstr "использовать Gain/Peak Альбома" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "Имя файла:" @@ -3556,8 +3559,8 @@ msgid "Track:" msgstr "Усиление дорожки:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "Сохранить" @@ -3870,162 +3873,142 @@ msgid "Scrobbler Error" msgstr "Модуль Scrobbler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Регулятор громкости:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Настройка Audacious OSD" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 бит" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 бит" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 #, fuzzy msgid "Resolution:" msgstr "Разрешение" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Каналы:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Частота:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Преобразование частоты" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Преобразование частоты" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 #, fuzzy msgid "Clock speed:" msgstr "Скорость воспроизведения" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 #, fuzzy msgid "Force model" msgstr "Режим дорожки" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -4033,92 +4016,92 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Режим воспроизведения:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 #, fuzzy msgid "Transparent ROM" msgstr "Транспонирование: " -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Режим воспроизведения:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -4127,49 +4110,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Преобразование частоты" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Преобразование частоты:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4177,387 +4160,291 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +#, fuzzy +msgid "Export" +msgstr "Порт" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 #, fuzzy msgid "Import" msgstr "Порт" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -#, fuzzy -msgid "Export" -msgstr "Порт" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "По умолчанию" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Размер файла:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 #, fuzzy msgid "Play at least for specified time" msgstr "Воспроизводить на нормальной скорости" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Режим воспроизведения:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Файл устройства:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Длительность песни по-умолчанию:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Регулятор громкости:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Файл темы:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Не использовать стандартные названия" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Формат названия:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Регулятор громкости:" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -#, fuzzy -msgid "Disabled" -msgstr "переменный" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Регулятор громкости:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "" "\n" "Audacious OSD " -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Авторское право:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Информация" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Стиль" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Информация" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +#, fuzzy +msgid "Confirm selected action" +msgstr "Выбор внутреннего модуля" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "да" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +#, fuzzy +msgid "No" +msgstr "Нет" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "Основной" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4580,32 +4467,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4642,72 +4529,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -5996,6 +5888,26 @@ msgstr "О программе %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Регулятор громкости:" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Не использовать стандартные названия" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Формат названия:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Регулятор громкости:" + +#, fuzzy +#~ msgid "Disabled" +#~ msgstr "переменный" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Гц" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/sk.po --- a/po/sk.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/sk.po Thu Sep 13 12:10:39 2007 -0500 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: audacious-plugins\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-03-14 02:18+0100\n" "Last-Translator: Andrej Herceg \n" "Language-Team: \n" @@ -39,7 +39,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -91,8 +91,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -129,14 +129,14 @@ msgstr "Počet kanálov" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -251,30 +251,30 @@ msgid "Subsong selection" msgstr "Výber koncového zariadenia" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Hovorené slovo" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Čas. pomer:" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -310,8 +310,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Zatvoriť" @@ -325,10 +325,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "OK" @@ -381,6 +381,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -444,10 +448,10 @@ msgid "Fading" msgstr "Rozsvietenie:" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "sekúnd" @@ -1383,8 +1387,8 @@ "backend" msgstr "štd." -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "Meno:" @@ -1636,10 +1640,10 @@ msgid "Skin file:" msgstr "Súbor s motívom:" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "Prechádzať" @@ -1721,7 +1725,7 @@ msgstr "Spúšťač" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Disko" @@ -2014,7 +2018,7 @@ msgstr "Štandardná dĺžka skladby:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Prevzorkovanie" @@ -2371,7 +2375,7 @@ "Okno s prepojeniami pre nedetekované zariadenie sa nedá otvoriť.\n" "Uistite sa, že zariadenie je správne pripojené." -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Chyba" @@ -2516,12 +2520,12 @@ "< james@develia.org >\n" "\n" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "O module Flac" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2557,7 +2561,7 @@ "nestalo, požiadajte o ňu Free Software Foundation, Inc.,\n" "675 Mass Ave, Cambridge, MA 02139, USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2566,60 +2570,60 @@ "Kým ste v režime reálneho času, nemôžete\n" "modul Disk Writer použiť." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Nastavenie Disk Writer" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Adresár s výstupnými súbormi:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Nastaviť ozvenu" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Adresár s výstupnými súbormi:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Neodstraňovať príponu mena súboru" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -3069,8 +3073,7 @@ msgid "ID3 format:" msgstr "Formát ID3:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Názov" @@ -3526,8 +3529,8 @@ msgid "Use Album Gain" msgstr "použiť zosilnenie podľa vrcholu na albume" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "Meno súboru:" @@ -3540,8 +3543,8 @@ msgid "Track:" msgstr "Zosilnenie skladby:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "Uložiť" @@ -3844,162 +3847,142 @@ msgid "Scrobbler Error" msgstr "Modul Scrobbler" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Ovládanie hlasitosti:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Nastavenia OSD pre Audacious" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 bitov" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 bitov" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 #, fuzzy msgid "Resolution:" msgstr "Rozlíšenie" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Počet kanálov:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Vzorkovacia frekvencia:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Prevzorkovanie" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Prevzorkovanie" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 #, fuzzy msgid "Clock speed:" msgstr "Rýchlosť prehrávania" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 #, fuzzy msgid "Force model" msgstr "Režim stopy" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -4007,92 +3990,92 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Spôsob prehrávania:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 #, fuzzy msgid "Transparent ROM" msgstr "Transponovať: " -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Spôsob prehrávania:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -4101,49 +4084,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Prevzorkovanie" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Prevzorkovať na:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4151,387 +4134,291 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +#, fuzzy +msgid "Export" +msgstr "Port" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 #, fuzzy msgid "Import" msgstr "Port" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -#, fuzzy -msgid "Export" -msgstr "Port" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "Štandardné" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Veľkosť súboru:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 #, fuzzy msgid "Play at least for specified time" msgstr "Prehrávať normálnou rýchlosťou" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Spôsob prehrávania:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Meno súboru:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Štandardná dĺžka skladby:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Ovládanie hlasitosti:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Súbor s motívom:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Používať vlastný formát názvu" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Formát názvu:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Ovládanie hlasitosti:" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -#, fuzzy -msgid "Disabled" -msgstr "premenlivé" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Ovládanie hlasitosti:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "" "\n" "OSD pre Audacious" -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Autorské práva:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Podrobnosti" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Výzdoba" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Podrobnosti" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +#, fuzzy +msgid "Confirm selected action" +msgstr "Výber koncového zariadenia" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "áno" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +#, fuzzy +msgid "No" +msgstr "Žiadne" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "Všeobecné" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4554,32 +4441,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4616,72 +4503,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -5969,6 +5861,26 @@ msgstr "O %s" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Ovládanie hlasitosti:" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Používať vlastný formát názvu" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Formát názvu:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Ovládanie hlasitosti:" + +#, fuzzy +#~ msgid "Disabled" +#~ msgstr "premenlivé" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Hz" diff -r 5dfa4fc721b0 -r 1359a81e4674 po/tr.po --- a/po/tr.po Thu Sep 13 12:09:38 2007 -0500 +++ b/po/tr.po Thu Sep 13 12:10:39 2007 -0500 @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: aaudacious-plugins\n" "Report-Msgid-Bugs-To: http://bugs.audacious-media-player.org\n" -"POT-Creation-Date: 2007-08-30 18:23+0200\n" +"POT-Creation-Date: 2007-09-05 00:28+0200\n" "PO-Revision-Date: 2007-05-23 00:00+0300\n" "Last-Translator: Murat Şenel \n" "Language-Team: \n" @@ -41,7 +41,7 @@ #: src/audiocompress/audacious-glue.c:556 src/cdaudio-ng/configure.c:144 #: src/console/Audacious_Driver.cxx:500 src/echo_plugin/gui.c:27 #: src/echo_plugin/gui.c:138 src/esd/about.c:49 -#: src/filewriter/filewriter.c:182 src/jack/configure.c:140 +#: src/filewriter/filewriter.c:184 src/jack/configure.c:140 #: src/jack/jack.c:602 src/madplug/fileinfo.c:158 src/madplug/fileinfo.c:236 #: src/madplug/plugin.c:597 src/madplug/plugin.c:620 #: src/metronom/metronom.c:87 src/modplug/gui/main.cxx:45 @@ -95,8 +95,8 @@ #: src/audiocompress/audacious-glue.c:561 src/cdaudio-ng/configure.c:148 #: src/echo_plugin/gui.c:146 src/jack/configure.c:147 #: src/modplug/gui/interface.cxx:741 src/musepack/libmpc.cxx:236 -#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:3599 -#: src/sid/xs_interface.c:1345 src/stereo_plugin/stereo.c:128 +#: src/musepack/libmpc.cxx:556 src/null/null.c:111 src/sid/xmms-sid.glade:2930 +#: src/sid/xs_interface.c:1192 src/stereo_plugin/stereo.c:128 #: src/sun/configure.c:567 src/timidity/src/interface.c:232 #: src/wavpack/ui.cxx:278 src/wavpack/ui.cxx:561 msgid "Cancel" @@ -133,14 +133,14 @@ msgstr "Kanallar" #: src/adplug/adplug-xmms.cc:328 src/filewriter/mp3.c:899 -#: src/sid/xmms-sid.glade:156 src/sid/xs_interface.c:302 +#: src/sid/xmms-sid.glade:157 src/sid/xs_interface.c:280 #: src/timidity/src/interface.c:167 msgid "Mono" msgstr "Mono" #: src/adplug/adplug-xmms.cc:333 src/filewriter/mp3.c:894 -#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:175 -#: src/sid/xs_interface.c:309 src/timidity/src/interface.c:175 +#: src/modplug/gui/interface.cxx:195 src/sid/xmms-sid.glade:176 +#: src/sid/xs_interface.c:287 src/timidity/src/interface.c:175 msgid "Stereo" msgstr "Stereo" @@ -255,30 +255,30 @@ msgid "Subsong selection" msgstr "Backend bölümü" -#: src/adplug/adplug-xmms.cc:688 +#: src/adplug/adplug-xmms.cc:730 msgid "Order: " msgstr "" -#: src/adplug/adplug-xmms.cc:689 +#: src/adplug/adplug-xmms.cc:731 msgid "Pattern: " msgstr "" -#: src/adplug/adplug-xmms.cc:691 +#: src/adplug/adplug-xmms.cc:733 msgid "Row: " msgstr "" -#: src/adplug/adplug-xmms.cc:692 +#: src/adplug/adplug-xmms.cc:734 #, fuzzy msgid "Speed: " msgstr "Konuşma" -#: src/adplug/adplug-xmms.cc:693 +#: src/adplug/adplug-xmms.cc:735 #, fuzzy msgid "Timer: " msgstr "Zaman Böl:" -#: src/adplug/adplug-xmms.cc:694 src/console/Audacious_Config.cxx:226 -#: src/sid/xmms-sid.glade:513 src/sid/xs_interface.c:361 +#: src/adplug/adplug-xmms.cc:736 src/console/Audacious_Config.cxx:226 +#: src/sid/xmms-sid.glade:332 src/sid/xs_interface.c:333 msgid "Hz" msgstr "Hz" @@ -314,8 +314,8 @@ msgstr "" #: src/alarm/interface.c:73 src/lirc/about.c:116 -#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:4262 -#: src/sid/xs_interface.c:1882 +#: src/modplug/gui/interface.cxx:946 src/sid/xmms-sid.glade:3493 +#: src/sid/xs_interface.c:1671 msgid "Close" msgstr "Kapat" @@ -329,10 +329,10 @@ #: src/alarm/interface.c:126 src/alarm/interface.c:1391 src/alsa/about.c:46 #: src/alsa/configure.c:405 src/cdaudio-ng/cdaudio-ng.c:206 -#: src/filewriter/filewriter.c:199 src/flacng/plugin.c:743 +#: src/filewriter/filewriter.c:201 src/flacng/plugin.c:743 #: src/modplug/gui/interface.cxx:725 src/pulse_audio/pulse_audio.c:694 -#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:3585 -#: src/sid/xs_interface.c:1338 +#: src/scrobbler/gtkstuff.c:43 src/sid/xmms-sid.glade:2916 +#: src/sid/xs_interface.c:1185 msgid "OK" msgstr "Tamam" @@ -385,6 +385,10 @@ msgid "h" msgstr "" +#: src/alarm/interface.c:538 +msgid "minutes" +msgstr "" + #: src/alarm/interface.c:556 #, fuzzy msgid "Quiet after:" @@ -448,10 +452,10 @@ msgid "Fading" msgstr "Geciktirme:" -#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2271 -#: src/sid/xmms-sid.glade:2442 src/sid/xmms-sid.glade:3408 -#: src/sid/xs_interface.c:923 src/sid/xs_interface.c:977 -#: src/sid/xs_interface.c:1289 +#: src/alarm/interface.c:1089 src/sid/xmms-sid.glade:2007 +#: src/sid/xmms-sid.glade:2178 src/sid/xmms-sid.glade:2526 +#: src/sid/xs_interface.c:900 src/sid/xs_interface.c:954 +#: src/sid/xs_interface.c:1064 #, fuzzy msgid "seconds" msgstr "saniye" @@ -1321,8 +1325,8 @@ "backend" msgstr "varsayılan" -#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:4084 -#: src/sid/xs_interface.c:1828 src/vorbis/fileinfo.c:562 +#: src/amidi-plug/i_fileinfo.c:169 src/sid/xmms-sid.glade:3315 +#: src/sid/xs_interface.c:1615 src/vorbis/fileinfo.c:562 msgid "Name:" msgstr "İsim:" @@ -1573,10 +1577,10 @@ msgid "Skin file:" msgstr "Arayüz Dosyası:" -#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2595 -#: src/sid/xmms-sid.glade:2801 src/sid/xmms-sid.glade:2907 -#: src/sid/xs_interface.c:1024 src/sid/xs_interface.c:1093 -#: src/sid/xs_interface.c:1128 +#: src/aosd/aosd_ui.c:641 src/sid/xmms-sid.glade:2331 +#: src/sid/xmms-sid.glade:2706 src/sid/xmms-sid.glade:2812 +#: src/sid/xs_interface.c:1002 src/sid/xs_interface.c:1124 +#: src/sid/xs_interface.c:1160 msgid "Browse" msgstr "Araştır" @@ -1658,7 +1662,7 @@ msgstr "Başlat" #: src/aosd/aosd_ui.c:1073 src/cdaudio-ng/configure.c:87 -#: src/sid/xmms-sid.glade:3545 src/sid/xs_interface.c:1324 +#: src/sid/xmms-sid.glade:2876 src/sid/xs_interface.c:1171 #, fuzzy msgid "Misc" msgstr "Disko" @@ -1952,7 +1956,7 @@ msgstr "Varsayılan şarkı uzunluğu:" #: src/console/Audacious_Config.cxx:201 src/modplug/gui/interface.cxx:264 -#: src/sid/xmms-sid.glade:1424 src/sid/xs_interface.c:673 +#: src/sid/xmms-sid.glade:1243 src/sid/xs_interface.c:645 msgid "Resampling" msgstr "Yeniden örnekleme" @@ -2288,7 +2292,7 @@ "Ensure that the device has been correctly plugged in." msgstr "" -#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:196 +#: src/evdev-plug/ed_ui.c:318 src/filewriter/filewriter.c:198 #: src/madplug/plugin.c:620 msgid "Error" msgstr "Hata" @@ -2407,12 +2411,12 @@ "written by Giacomo Lozito\n" msgstr "" -#: src/filewriter/filewriter.c:167 +#: src/filewriter/filewriter.c:169 #, fuzzy msgid "About FileWriter-Plugin" msgstr "Flac Eklentisi Hakkında" -#: src/filewriter/filewriter.c:168 +#: src/filewriter/filewriter.c:170 #, fuzzy msgid "" "FileWriter-Plugin\n" @@ -2451,7 +2455,7 @@ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,\n" "USA." -#: src/filewriter/filewriter.c:197 +#: src/filewriter/filewriter.c:199 #, fuzzy msgid "" "You cannot use the FileWriter plugin\n" @@ -2460,60 +2464,60 @@ "Gerçek zamanlı kipte çalışırken\n" "disk yazma eklentisini kullanamazsınız." -#: src/filewriter/filewriter.c:512 +#: src/filewriter/filewriter.c:514 #, fuzzy msgid "File Writer Configuration" msgstr "Disk Yazıcı Ayarları" -#: src/filewriter/filewriter.c:524 +#: src/filewriter/filewriter.c:526 #, fuzzy msgid "Output file format:" msgstr "Çıktı dosya klasörü:" -#: src/filewriter/filewriter.c:542 src/ladspa/ladspa.c:962 +#: src/filewriter/filewriter.c:544 src/ladspa/ladspa.c:962 #, fuzzy msgid "Configure" msgstr "Yankı (Eko) Eklentisini Yapılandır" -#: src/filewriter/filewriter.c:557 +#: src/filewriter/filewriter.c:559 msgid "Save into original directory" msgstr "" -#: src/filewriter/filewriter.c:562 +#: src/filewriter/filewriter.c:564 msgid "Save into custom directory" msgstr "" -#: src/filewriter/filewriter.c:574 +#: src/filewriter/filewriter.c:576 msgid "Output file folder:" msgstr "Çıktı dosya klasörü:" -#: src/filewriter/filewriter.c:578 +#: src/filewriter/filewriter.c:580 msgid "Pick a folder" msgstr "" -#: src/filewriter/filewriter.c:598 +#: src/filewriter/filewriter.c:600 msgid "Get filename from:" msgstr "" -#: src/filewriter/filewriter.c:601 +#: src/filewriter/filewriter.c:603 msgid "original file tags" msgstr "" -#: src/filewriter/filewriter.c:607 +#: src/filewriter/filewriter.c:609 msgid "original filename" msgstr "" -#: src/filewriter/filewriter.c:617 +#: src/filewriter/filewriter.c:619 msgid "Don't strip file name extension" msgstr "Dosya ismi uzantılarını daraltma" -#: src/filewriter/filewriter.c:621 +#: src/filewriter/filewriter.c:623 msgid "" "If enabled, the extension from the original filename will not be stripped " "before adding the new file extension to the end." msgstr "" -#: src/filewriter/filewriter.c:635 +#: src/filewriter/filewriter.c:637 msgid "Prepend track number to filename" msgstr "" @@ -2963,8 +2967,7 @@ msgid "ID3 format:" msgstr "ID3 biçimi:" -#: src/madplug/configure.c:261 src/sid/xmms-sid.glade:3144 -#: src/sid/xs_interface.c:1189 src/vorbis/configure.c:160 +#: src/madplug/configure.c:261 src/vorbis/configure.c:160 msgid "Title" msgstr "Başlık" @@ -3420,8 +3423,8 @@ msgid "Use Album Gain" msgstr "Albümde Gain/Peak kullan" -#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:3755 -#: src/sid/xs_interface.c:1708 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 +#: src/musepack/libmpc.cxx:490 src/sid/xmms-sid.glade:2994 +#: src/sid/xs_interface.c:1495 src/tta/libtta.c:322 src/wavpack/ui.cxx:150 msgid "Filename:" msgstr "Dosya adı:" @@ -3434,8 +3437,8 @@ msgid "Track:" msgstr "Parça ses yüksekliği:" -#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1996 -#: src/sid/xs_interface.c:835 src/wavpack/ui.cxx:265 +#: src/musepack/libmpc.cxx:550 src/sid/xmms-sid.glade:1732 +#: src/sid/xs_interface.c:812 src/wavpack/ui.cxx:265 msgid "Save" msgstr "Kaydet" @@ -3748,162 +3751,142 @@ msgid "Scrobbler Error" msgstr "Scrobbler Eklentisi" -#: src/sid/xmms-sid.c:207 +#: src/sid/xmms-sid.c:203 msgid "Error initializing song-length database!\n" msgstr "" -#: src/sid/xmms-sid.c:213 +#: src/sid/xmms-sid.c:209 msgid "Error initializing STIL database!\n" msgstr "" -#: src/sid/xmms-sid.c:327 +#: src/sid/xmms-sid.c:414 msgid "Couldn't allocate memory for audio data buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:334 +#: src/sid/xmms-sid.c:421 msgid "Couldn't allocate memory for audio oversampling buffer!\n" msgstr "" -#: src/sid/xmms-sid.c:409 +#: src/sid/xmms-sid.c:436 #, c-format msgid "Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:420 +#: src/sid/xmms-sid.c:446 #, c-format msgid "Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n" msgstr "" -#: src/sid/xmms-sid.c:466 +#: src/sid/xmms-sid.c:491 msgid "Oversampling rate-conversion pass failed.\n" msgstr "" -#: src/sid/xmms-sid.c:770 -#, fuzzy -msgid "Subtune Control" -msgstr "Ses kontrolü:" - -#: src/sid/xmms-sid.c:1001 -#, c-format -msgid "Could not allocate memory for t_xs_tuneinfo ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1008 -#, c-format -msgid "Could not allocate sidFilename ('%s')\n" -msgstr "" - -#: src/sid/xmms-sid.c:1017 -#, c-format -msgid "Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n" -msgstr "" - -#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:235 -#, fuzzy -msgid "Audacious-SID Configuration" +#: src/sid/xmms-sid.glade:8 src/sid/xs_interface.c:213 +#, fuzzy +msgid "Audacious-SID configuration" msgstr "Audacious OSD - yapılandırması" -#: src/sid/xmms-sid.glade:70 src/sid/xs_interface.c:271 +#: src/sid/xmms-sid.glade:71 src/sid/xs_interface.c:249 #, fuzzy msgid "8-bit" msgstr "8 bit" -#: src/sid/xmms-sid.glade:89 src/sid/xs_interface.c:278 +#: src/sid/xmms-sid.glade:90 src/sid/xs_interface.c:256 #, fuzzy msgid "16-bit" msgstr "16 bit" -#: src/sid/xmms-sid.glade:110 src/sid/xs_interface.c:285 +#: src/sid/xmms-sid.glade:111 src/sid/xs_interface.c:263 #, fuzzy msgid "Resolution:" msgstr "Çözünürlük" -#: src/sid/xmms-sid.glade:195 src/sid/xs_interface.c:316 +#: src/sid/xmms-sid.glade:196 src/sid/xs_interface.c:294 msgid "Autopanning" msgstr "" -#: src/sid/xmms-sid.glade:216 src/sid/xs_interface.c:323 +#: src/sid/xmms-sid.glade:217 src/sid/xs_interface.c:301 #: src/vorbis/fileinfo.c:867 src/vorbis/fileinfo.c:924 msgid "Channels:" msgstr "Kanallar:" -#: src/sid/xmms-sid.glade:565 src/sid/xs_interface.c:373 +#: src/sid/xmms-sid.glade:384 src/sid/xs_interface.c:345 #, fuzzy msgid "Samplerate:" msgstr "Örnekleme oranı:" -#: src/sid/xmms-sid.glade:611 src/sid/xs_interface.c:390 +#: src/sid/xmms-sid.glade:430 src/sid/xs_interface.c:362 #, fuzzy msgid "Use oversampling" msgstr "Yeniden örnekleme" -#: src/sid/xmms-sid.glade:637 src/sid/xs_interface.c:401 +#: src/sid/xmms-sid.glade:456 src/sid/xs_interface.c:373 msgid "Factor:" msgstr "" -#: src/sid/xmms-sid.glade:681 src/sid/xs_interface.c:413 +#: src/sid/xmms-sid.glade:500 src/sid/xs_interface.c:385 msgid "Large factors require more CPU-power" msgstr "" -#: src/sid/xmms-sid.glade:715 src/sid/xs_interface.c:419 +#: src/sid/xmms-sid.glade:534 src/sid/xs_interface.c:391 #, fuzzy msgid "Oversampling:" msgstr "Yeniden örnekleme" -#: src/sid/xmms-sid.glade:751 src/sid/xs_interface.c:424 +#: src/sid/xmms-sid.glade:570 src/sid/xs_interface.c:396 msgid "Audio" msgstr "" -#: src/sid/xmms-sid.glade:801 src/sid/xs_interface.c:456 +#: src/sid/xmms-sid.glade:620 src/sid/xs_interface.c:428 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "clock speed/frequency. Otherwise the speed is determined from played file " "itself." msgstr "" -#: src/sid/xmms-sid.glade:803 src/sid/xs_interface.c:452 +#: src/sid/xmms-sid.glade:622 src/sid/xs_interface.c:424 msgid "Force speed" msgstr "" -#: src/sid/xmms-sid.glade:821 src/sid/xs_interface.c:462 +#: src/sid/xmms-sid.glade:640 src/sid/xs_interface.c:434 msgid "" "PAL is the european TV standard, which uses 50Hz vertical refresh frequency. " "Most of SID-tunes have been made for PAL computers." msgstr "" -#: src/sid/xmms-sid.glade:823 src/sid/xs_interface.c:458 +#: src/sid/xmms-sid.glade:642 src/sid/xs_interface.c:430 msgid "PAL (50 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:841 src/sid/xs_interface.c:470 +#: src/sid/xmms-sid.glade:660 src/sid/xs_interface.c:442 msgid "" "NTSC is the TV standard with 60Hz vertical refresh rate (and other features " "that differ from PAL). It is mainly used in United States, Japan and certain " "other countries." msgstr "" -#: src/sid/xmms-sid.glade:843 src/sid/xs_interface.c:466 +#: src/sid/xmms-sid.glade:662 src/sid/xs_interface.c:438 msgid "NTSC (60 Hz)" msgstr "" -#: src/sid/xmms-sid.glade:864 src/sid/xs_interface.c:474 +#: src/sid/xmms-sid.glade:683 src/sid/xs_interface.c:446 #, fuzzy msgid "Clock speed:" msgstr "Çalma hızı" -#: src/sid/xmms-sid.glade:909 src/sid/xs_interface.c:495 +#: src/sid/xmms-sid.glade:728 src/sid/xs_interface.c:467 msgid "" "If enabled, this option \"forces\" the emulation engine to use the selected " "SID-chip model. Otherwise the preferred SID model is determined from the " "file (if PSIDv2NG type) or if not available, this setting is used." msgstr "" -#: src/sid/xmms-sid.glade:911 src/sid/xs_interface.c:491 +#: src/sid/xmms-sid.glade:730 src/sid/xs_interface.c:463 #, fuzzy msgid "Force model" msgstr "Çalma modu" -#: src/sid/xmms-sid.glade:929 src/sid/xs_interface.c:501 +#: src/sid/xmms-sid.glade:748 src/sid/xs_interface.c:473 msgid "" "MOS/CSG 6581 is the earlier major version of SID chip. It differs from 8580 " "in few ways, having much fuller filter (which, due to design error, is never " @@ -3911,92 +3894,92 @@ "which enables playing of digital samples." msgstr "" -#: src/sid/xmms-sid.glade:931 src/sid/xs_interface.c:497 +#: src/sid/xmms-sid.glade:750 src/sid/xs_interface.c:469 msgid "MOS 6581" msgstr "" -#: src/sid/xmms-sid.glade:950 src/sid/xs_interface.c:505 +#: src/sid/xmms-sid.glade:769 src/sid/xs_interface.c:477 msgid "MOS 8580" msgstr "" -#: src/sid/xmms-sid.glade:971 src/sid/xs_interface.c:512 +#: src/sid/xmms-sid.glade:790 src/sid/xs_interface.c:484 #, fuzzy msgid "SID model:" msgstr "Çalma kipi:" -#: src/sid/xmms-sid.glade:1023 src/sid/xs_interface.c:533 +#: src/sid/xmms-sid.glade:842 src/sid/xs_interface.c:505 msgid "" "Use libSIDPlay 1.x emulation, faster but not so accurate. Good in most " "cases, though." msgstr "" -#: src/sid/xmms-sid.glade:1025 src/sid/xs_interface.c:529 +#: src/sid/xmms-sid.glade:844 src/sid/xs_interface.c:501 msgid "SIDPlay 1 (frame-based)" msgstr "" -#: src/sid/xmms-sid.glade:1044 src/sid/xs_interface.c:541 +#: src/sid/xmms-sid.glade:863 src/sid/xs_interface.c:513 msgid "" "Use libSIDPlay 2.x emulation, which requires powerful CPU due to more exact " "emulation." msgstr "" -#: src/sid/xmms-sid.glade:1046 src/sid/xs_interface.c:537 +#: src/sid/xmms-sid.glade:865 src/sid/xs_interface.c:509 msgid "SIDPlay 2 (cycle-based)" msgstr "" -#: src/sid/xmms-sid.glade:1068 src/sid/xs_interface.c:545 +#: src/sid/xmms-sid.glade:887 src/sid/xs_interface.c:517 msgid "Emulation library selection:" msgstr "" -#: src/sid/xmms-sid.glade:1114 src/sid/xs_interface.c:562 +#: src/sid/xmms-sid.glade:933 src/sid/xs_interface.c:534 msgid "Real C64 (SIDPlay 2 only)" msgstr "" -#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:569 +#: src/sid/xmms-sid.glade:952 src/sid/xs_interface.c:541 msgid "Bank switching" msgstr "" -#: src/sid/xmms-sid.glade:1153 src/sid/xs_interface.c:576 +#: src/sid/xmms-sid.glade:972 src/sid/xs_interface.c:548 #, fuzzy msgid "Transparent ROM" msgstr "Transpoze:" -#: src/sid/xmms-sid.glade:1173 src/sid/xs_interface.c:583 +#: src/sid/xmms-sid.glade:992 src/sid/xs_interface.c:555 msgid "PlaySID environment" msgstr "" -#: src/sid/xmms-sid.glade:1194 src/sid/xs_interface.c:590 +#: src/sid/xmms-sid.glade:1013 src/sid/xs_interface.c:562 #, fuzzy msgid "Memory mode:" msgstr "Çalma kipi:" -#: src/sid/xmms-sid.glade:1230 src/sid/xs_interface.c:595 +#: src/sid/xmms-sid.glade:1049 src/sid/xs_interface.c:567 msgid "Emu#1" msgstr "" -#: src/sid/xmms-sid.glade:1274 src/sid/xs_interface.c:622 +#: src/sid/xmms-sid.glade:1093 src/sid/xs_interface.c:594 msgid "" "This setting can be used to enable libSIDPlay2's \"optimization mode\", " "which in downgrades the emulation from cycle-exact to something similar to " "frame-exact. The result is lower CPU usage, but worse accuracy." msgstr "" -#: src/sid/xmms-sid.glade:1276 src/sid/xs_interface.c:618 +#: src/sid/xmms-sid.glade:1095 src/sid/xs_interface.c:590 msgid "Optimization mode (faster, inaccurate)" msgstr "" -#: src/sid/xmms-sid.glade:1294 src/sid/xs_interface.c:628 +#: src/sid/xmms-sid.glade:1113 src/sid/xs_interface.c:600 msgid "" "reSID is the software SID-chip simulator based on SID reverse-engineering, " "created by Dag Lem. It is probably the closest thing to real SID available " "as software-only emulation." msgstr "" -#: src/sid/xmms-sid.glade:1296 src/sid/xs_interface.c:624 +#: src/sid/xmms-sid.glade:1115 src/sid/xs_interface.c:596 msgid "reSID-emulation" msgstr "" -#: src/sid/xmms-sid.glade:1314 src/sid/xs_interface.c:636 +#: src/sid/xmms-sid.glade:1133 src/sid/xs_interface.c:608 msgid "" "HardSID is a EISA/PCI card for PC-compatibles, which can be fitted with a " "real SID-chip. Software can be used to control the HardSID and combined with " @@ -4005,49 +3988,49 @@ "http://www.hardsid.com/" msgstr "" -#: src/sid/xmms-sid.glade:1316 src/sid/xs_interface.c:632 +#: src/sid/xmms-sid.glade:1135 src/sid/xs_interface.c:604 msgid "HardSID" msgstr "" -#: src/sid/xmms-sid.glade:1337 src/sid/xs_interface.c:640 +#: src/sid/xmms-sid.glade:1156 src/sid/xs_interface.c:612 msgid "SIDPlay 2 options:" msgstr "" -#: src/sid/xmms-sid.glade:1382 src/sid/xs_interface.c:661 +#: src/sid/xmms-sid.glade:1201 src/sid/xs_interface.c:633 msgid "" "Fastest and also worst sounding sampling method, simply picks nearest " "neighbouring sample." msgstr "" -#: src/sid/xmms-sid.glade:1384 src/sid/xs_interface.c:657 +#: src/sid/xmms-sid.glade:1203 src/sid/xs_interface.c:629 msgid "Fast (nearest neighbour)" msgstr "" -#: src/sid/xmms-sid.glade:1402 src/sid/xs_interface.c:669 +#: src/sid/xmms-sid.glade:1221 src/sid/xs_interface.c:641 msgid "" "Uses linear interpolation between samples, yielding higher audio quality " "with less sampling noise." msgstr "" -#: src/sid/xmms-sid.glade:1404 src/sid/xs_interface.c:665 +#: src/sid/xmms-sid.glade:1223 src/sid/xs_interface.c:637 msgid "Linear interpolation" msgstr "" -#: src/sid/xmms-sid.glade:1444 src/sid/xs_interface.c:680 +#: src/sid/xmms-sid.glade:1263 src/sid/xs_interface.c:652 #, fuzzy msgid "Resampling (FIR)" msgstr "Yeniden örnekleme" -#: src/sid/xmms-sid.glade:1465 src/sid/xs_interface.c:687 +#: src/sid/xmms-sid.glade:1284 src/sid/xs_interface.c:659 #, fuzzy msgid "reSID sampling options:" msgstr "Örnekleme oranı:" -#: src/sid/xmms-sid.glade:1501 src/sid/xs_interface.c:692 +#: src/sid/xmms-sid.glade:1320 src/sid/xs_interface.c:664 msgid "Emu#2" msgstr "" -#: src/sid/xmms-sid.glade:1531 src/sid/xs_interface.c:708 +#: src/sid/xmms-sid.glade:1350 src/sid/xs_interface.c:680 msgid "" "This option enables emulation of SID filter. The filter is an essential part " "of SID's sound capacity, but accurate emulation of it may require quite much " @@ -4055,387 +4038,291 @@ "authentic at all if they utilize the filter." msgstr "" -#: src/sid/xmms-sid.glade:1533 src/sid/xs_interface.c:704 +#: src/sid/xmms-sid.glade:1352 src/sid/xs_interface.c:676 msgid "Emulate filters" msgstr "" -#: src/sid/xmms-sid.glade:1590 src/sid/xs_interface.c:733 +#: src/sid/xmms-sid.glade:1409 src/sid/xs_interface.c:705 msgid "FS" msgstr "" -#: src/sid/xmms-sid.glade:1641 src/sid/xs_interface.c:750 +#: src/sid/xmms-sid.glade:1460 src/sid/xs_interface.c:722 msgid "FM" msgstr "" -#: src/sid/xmms-sid.glade:1692 src/sid/xs_interface.c:767 +#: src/sid/xmms-sid.glade:1511 src/sid/xs_interface.c:739 msgid "FT" msgstr "" -#: src/sid/xmms-sid.glade:1730 src/sid/xs_interface.c:778 +#: src/sid/xmms-sid.glade:1549 src/sid/xs_interface.c:750 msgid "Reset values" msgstr "" -#: src/sid/xmms-sid.glade:1759 src/sid/xs_interface.c:783 +#: src/sid/xmms-sid.glade:1578 src/sid/xs_interface.c:755 msgid "SIDPlay1" msgstr "" -#: src/sid/xmms-sid.glade:1828 src/sid/xs_interface.c:807 -msgid "6581 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1854 src/sid/xs_interface.c:808 -msgid "8580 (reSID)" -msgstr "" - -#: src/sid/xmms-sid.glade:1880 src/sid/xs_interface.c:809 -msgid "6581R1 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1906 src/sid/xs_interface.c:810 -msgid "6581R4 (alankila)" -msgstr "" - -#: src/sid/xmms-sid.glade:1975 src/sid/xs_interface.c:827 -msgid "Load" -msgstr "" - -#: src/sid/xmms-sid.glade:2017 src/sid/xs_interface.c:843 +#: src/sid/xmms-sid.glade:1690 src/sid/xs_interface.c:796 +#, fuzzy +msgid "Export" +msgstr "Port" + +#: src/sid/xmms-sid.glade:1711 src/sid/xs_interface.c:804 +msgid "Use" +msgstr "" + +#: src/sid/xmms-sid.glade:1753 src/sid/xs_interface.c:820 #, fuzzy msgid "Import" msgstr "Port" -#: src/sid/xmms-sid.glade:2038 src/sid/xs_interface.c:851 -#, fuzzy -msgid "Export" -msgstr "Port" - -#: src/sid/xmms-sid.glade:2083 src/sid/xs_interface.c:865 +#: src/sid/xmms-sid.glade:1774 src/sid/xs_interface.c:828 +#, fuzzy +msgid "Delete" +msgstr "Varsayılan" + +#: src/sid/xmms-sid.glade:1819 src/sid/xs_interface.c:842 #, fuzzy msgid "Filter curve:" msgstr "Dosya boytu:" -#: src/sid/xmms-sid.glade:2119 src/sid/xs_interface.c:870 +#: src/sid/xmms-sid.glade:1855 src/sid/xs_interface.c:847 msgid "SIDPlay2" msgstr "" -#: src/sid/xmms-sid.glade:2155 src/sid/xs_interface.c:876 +#: src/sid/xmms-sid.glade:1891 src/sid/xs_interface.c:853 msgid "Filters" msgstr "" -#: src/sid/xmms-sid.glade:2199 src/sid/xs_interface.c:903 +#: src/sid/xmms-sid.glade:1935 src/sid/xs_interface.c:880 msgid "" "If enabled, the tune is played at least for the specified time, adding " "silence to the end if necessary." msgstr "" -#: src/sid/xmms-sid.glade:2201 src/sid/xs_interface.c:899 +#: src/sid/xmms-sid.glade:1937 src/sid/xs_interface.c:876 #, fuzzy msgid "Play at least for specified time" msgstr "Normal hızda çal" -#: src/sid/xmms-sid.glade:2226 src/sid/xmms-sid.glade:2397 -#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:910 -#: src/sid/xs_interface.c:964 src/sid/xs_interface.c:1276 +#: src/sid/xmms-sid.glade:1962 src/sid/xmms-sid.glade:2133 +#: src/sid/xmms-sid.glade:2482 src/sid/xs_interface.c:887 +#: src/sid/xs_interface.c:941 src/sid/xs_interface.c:1051 #, fuzzy msgid "Playtime:" msgstr "Çalma kipi:" -#: src/sid/xmms-sid.glade:2305 src/sid/xs_interface.c:930 +#: src/sid/xmms-sid.glade:2041 src/sid/xs_interface.c:907 msgid "Minimum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2350 src/sid/xs_interface.c:951 +#: src/sid/xmms-sid.glade:2086 src/sid/xs_interface.c:928 msgid "" "If enabled, tune is played until specified duration is reached (aka maximum " "playtime)." msgstr "" -#: src/sid/xmms-sid.glade:2352 src/sid/xs_interface.c:947 +#: src/sid/xmms-sid.glade:2088 src/sid/xs_interface.c:924 msgid "Play for specified time maximum" msgstr "" -#: src/sid/xmms-sid.glade:2371 src/sid/xs_interface.c:957 +#: src/sid/xmms-sid.glade:2107 src/sid/xs_interface.c:934 msgid "" "If enabled, the maximum playtime is applied only if song/tune length is not " "known." msgstr "" -#: src/sid/xmms-sid.glade:2373 src/sid/xs_interface.c:953 +#: src/sid/xmms-sid.glade:2109 src/sid/xs_interface.c:930 msgid "Only when song length is unknown" msgstr "" -#: src/sid/xmms-sid.glade:2476 src/sid/xs_interface.c:984 +#: src/sid/xmms-sid.glade:2212 src/sid/xs_interface.c:961 msgid "Maximum playtime:" msgstr "" -#: src/sid/xmms-sid.glade:2521 src/sid/xs_interface.c:1005 +#: src/sid/xmms-sid.glade:2257 src/sid/xs_interface.c:982 msgid "" "This option enables using of XSIDPLAY compatible song length database. " "(Refer to Audacious-SID documentation for more information)" msgstr "" -#: src/sid/xmms-sid.glade:2523 src/sid/xs_interface.c:1001 +#: src/sid/xmms-sid.glade:2259 src/sid/xs_interface.c:978 msgid "Use XSIDPLAY-compatible database" msgstr "" -#: src/sid/xmms-sid.glade:2548 src/sid/xs_interface.c:1012 +#: src/sid/xmms-sid.glade:2284 src/sid/xs_interface.c:989 #, fuzzy msgid "DB-file:" msgstr "Aygıt dosyası:" -#: src/sid/xmms-sid.glade:2573 src/sid/xs_interface.c:1022 +#: src/sid/xmms-sid.glade:2309 src/sid/xs_interface.c:999 msgid "Database path and filename" msgstr "" -#: src/sid/xmms-sid.glade:2593 src/sid/xs_interface.c:1028 +#: src/sid/xmms-sid.glade:2329 src/sid/xs_interface.c:1006 msgid "Browse for song length-database file" msgstr "" -#: src/sid/xmms-sid.glade:2620 src/sid/xs_interface.c:1030 +#: src/sid/xmms-sid.glade:2356 src/sid/xs_interface.c:1008 msgid "Song length database:" msgstr "" -#: src/sid/xmms-sid.glade:2656 src/sid/xs_interface.c:1035 +#: src/sid/xmms-sid.glade:2392 src/sid/xs_interface.c:1013 #, fuzzy msgid "Songlength" msgstr "Varsayılan şarkı uzunluğu:" -#: src/sid/xmms-sid.glade:2700 src/sid/xs_interface.c:1062 +#: src/sid/xmms-sid.glade:2437 src/sid/xs_interface.c:1036 +msgid "Add sub-tunes to playlist" +msgstr "" + +#: src/sid/xmms-sid.glade:2457 src/sid/xs_interface.c:1041 +msgid "Only tunes with specified minimum length " +msgstr "" + +#: src/sid/xmms-sid.glade:2560 src/sid/xs_interface.c:1071 +#, fuzzy +msgid "Sub-tune handling:" +msgstr "Ses kontrolü:" + +#: src/sid/xmms-sid.glade:2605 src/sid/xs_interface.c:1092 msgid "" "If this option is enabled (and the database & HVSC settings below are " "correctly set), Audacious-SID will use and display additional information " "from STIL database when HVSC SIDs are played." msgstr "" -#: src/sid/xmms-sid.glade:2702 src/sid/xs_interface.c:1058 +#: src/sid/xmms-sid.glade:2607 src/sid/xs_interface.c:1088 msgid "Use STIL database" msgstr "" -#: src/sid/xmms-sid.glade:2727 src/sid/xs_interface.c:1069 +#: src/sid/xmms-sid.glade:2632 src/sid/xs_interface.c:1099 #, fuzzy msgid "STIL file:" msgstr "Arayüz Dosyası:" -#: src/sid/xmms-sid.glade:2764 src/sid/xs_interface.c:1085 +#: src/sid/xmms-sid.glade:2669 src/sid/xs_interface.c:1115 msgid "" "Path and filename of STIL database file (STIL.txt), usually found from " "HVSC's DOCUMENTS-subdirectory." msgstr "" -#: src/sid/xmms-sid.glade:2799 src/sid/xs_interface.c:1097 +#: src/sid/xmms-sid.glade:2704 src/sid/xs_interface.c:1128 msgid "Browse for STIL-database file" msgstr "" -#: src/sid/xmms-sid.glade:2833 src/sid/xs_interface.c:1104 +#: src/sid/xmms-sid.glade:2738 src/sid/xs_interface.c:1135 msgid "HVSC path:" msgstr "" -#: src/sid/xmms-sid.glade:2870 src/sid/xs_interface.c:1120 +#: src/sid/xmms-sid.glade:2775 src/sid/xs_interface.c:1151 msgid "" "Path to base-directory of your High Voltage SID Collection (HVSC), for " "example /media/C64Music/" msgstr "" -#: src/sid/xmms-sid.glade:2905 src/sid/xs_interface.c:1132 +#: src/sid/xmms-sid.glade:2810 src/sid/xs_interface.c:1164 msgid "Browse for HVSC path" msgstr "" -#: src/sid/xmms-sid.glade:2935 src/sid/xs_interface.c:1134 +#: src/sid/xmms-sid.glade:2840 src/sid/xs_interface.c:1166 msgid "SID Tune Information List (STIL) database:" msgstr "" -#: src/sid/xmms-sid.glade:2980 src/sid/xs_interface.c:1155 -msgid "" -"XMMS v1.2.5 and later support generic titlestring formatting (see XMMS " -"preferences). This option can be enabled to override those generic titles " -"with Audacious-SID specific ones. Formatting mnemonics are explained briefly " -"below." -msgstr "" - -#: src/sid/xmms-sid.glade:2982 src/sid/xs_interface.c:1151 -#, fuzzy -msgid "Override generic XMMS titles" -msgstr "Genel başlıkları geçersiz kıl" - -#: src/sid/xmms-sid.glade:3032 src/sid/xs_interface.c:1172 -msgid "" -"%% - '%' character\n" -"%p - Performer/composer\n" -"%t - Song name (title)\n" -"%c - Copyright\n" -"%s - File type\n" -"%m - SID model" -msgstr "" - -#: src/sid/xmms-sid.glade:3062 src/sid/xs_interface.c:1178 -msgid "" -"%C - Speed/clock (PAL/NTSC)\n" -"%n - Subtune\n" -"%N - Number of subtunes\n" -"%f - Filename\n" -"%F - File path\n" -"%e - File extension" -msgstr "" - -#: src/sid/xmms-sid.glade:3108 src/sid/xs_interface.c:1184 -#, fuzzy -msgid "Song name/title format:" -msgstr "Başlık biçimi:" - -#: src/sid/xmms-sid.glade:3188 src/sid/xs_interface.c:1216 -#, fuzzy -msgid "No sub-tune control." -msgstr "Ses kontrolü:" - -#: src/sid/xmms-sid.glade:3190 src/sid/xs_interface.c:1212 -#, fuzzy -msgid "Disabled" -msgstr "Değişken" - -#: src/sid/xmms-sid.glade:3208 src/sid/xs_interface.c:1224 -msgid "" -"Seeking backwards/forwards selects previous/next sub-tune, similar to " -"selector used in XMMS-SidPlay." -msgstr "" - -#: src/sid/xmms-sid.glade:3210 src/sid/xs_interface.c:1220 -msgid "Seek back/forward changes sub-tune" -msgstr "" - -#: src/sid/xmms-sid.glade:3229 src/sid/xs_interface.c:1232 -msgid "" -"By pressing the seekbar a sub-tune control window pops up, in style of UADE " -"(Unix Amiga Delitracker Emulator)" -msgstr "" - -#: src/sid/xmms-sid.glade:3231 src/sid/xs_interface.c:1228 -msgid "Pop-up via seekbar (UADE-style)" -msgstr "" - -#: src/sid/xmms-sid.glade:3250 src/sid/xs_interface.c:1240 -msgid "" -"Seekbar works as a sub-tune selector (Best option if you have patched your " -"XMMS with the song-position patch.)" -msgstr "" - -#: src/sid/xmms-sid.glade:3252 src/sid/xs_interface.c:1236 -msgid "Song-position patch" -msgstr "" - -#: src/sid/xmms-sid.glade:3273 src/sid/xs_interface.c:1244 -#, fuzzy -msgid "Sub-tune control:" -msgstr "Ses kontrolü:" - -#: src/sid/xmms-sid.glade:3319 src/sid/xs_interface.c:1261 -msgid "Go through all sub-tunes in file" -msgstr "" - -#: src/sid/xmms-sid.glade:3339 src/sid/xs_interface.c:1266 -msgid "Only tunes with specified minimum length " -msgstr "" - -#: src/sid/xmms-sid.glade:3442 src/sid/xs_interface.c:1296 -msgid "Automatic sub-tune changes:" -msgstr "" - -#: src/sid/xmms-sid.glade:3487 src/sid/xs_interface.c:1317 -msgid "" -"Determine if file is a SID-tune by checking the file contents. If NOT " -"selected, filetype is determined by checking filename extension (.sid, ." -"dat, ...)" -msgstr "" - -#: src/sid/xmms-sid.glade:3489 src/sid/xs_interface.c:1313 -msgid "Detect file by contents (slower)" -msgstr "" - -#: src/sid/xmms-sid.glade:3509 src/sid/xs_interface.c:1319 -msgid "Miscellaneous options:" -msgstr "" - -#: src/sid/xmms-sid.glade:3582 src/sid/xs_interface.c:1343 +#: src/sid/xmms-sid.glade:2913 src/sid/xs_interface.c:1190 msgid "Accept and update changes" msgstr "" -#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1350 +#: src/sid/xmms-sid.glade:2927 src/sid/xs_interface.c:1197 msgid "Cancel any changes" msgstr "" -#: src/sid/xmms-sid.glade:3620 src/sid/xs_interface.c:1651 +#: src/sid/xmms-sid.glade:2952 src/sid/xs_interface.c:1474 #, fuzzy msgid "Audacious-SID Fileinfo" msgstr "" "\n" "Audacious OSD " -#: src/sid/xmms-sid.glade:3674 src/sid/xs_interface.c:1677 -msgid " < " -msgstr "" - -#: src/sid/xmms-sid.glade:3710 src/sid/xs_interface.c:1689 -msgid " > " -msgstr "" - -#: src/sid/xmms-sid.glade:3783 src/sid/xs_interface.c:1716 +#: src/sid/xmms-sid.glade:3022 src/sid/xs_interface.c:1503 msgid "Songname:" msgstr "" -#: src/sid/xmms-sid.glade:3811 src/sid/xs_interface.c:1724 +#: src/sid/xmms-sid.glade:3050 src/sid/xs_interface.c:1511 msgid "Composer:" msgstr "" -#: src/sid/xmms-sid.glade:3839 src/sid/xs_interface.c:1732 +#: src/sid/xmms-sid.glade:3078 src/sid/xs_interface.c:1519 #: src/vorbis/fileinfo.c:723 msgid "Copyright:" msgstr "Telif Hakkı:" -#: src/sid/xmms-sid.glade:3953 src/sid/xs_interface.c:1772 +#: src/sid/xmms-sid.glade:3192 src/sid/xs_interface.c:1563 #, fuzzy msgid "Song Information:" msgstr "Bilgi" -#: src/sid/xmms-sid.glade:4008 src/sid/xs_interface.c:1797 -msgid " " -msgstr "" - -#: src/sid/xmms-sid.glade:4035 src/sid/xs_interface.c:1812 +#: src/sid/xmms-sid.glade:3266 src/sid/xs_interface.c:1598 msgid "Author:" msgstr "" -#: src/sid/xmms-sid.glade:4133 src/sid/xs_interface.c:1844 +#: src/sid/xmms-sid.glade:3364 src/sid/xs_interface.c:1632 #, fuzzy msgid "Duration:" msgstr "Dekorasyon" -#: src/sid/xmms-sid.glade:4227 src/sid/xs_interface.c:1877 +#: src/sid/xmms-sid.glade:3458 src/sid/xs_interface.c:1666 #, fuzzy msgid "Sub-tune Information:" msgstr "Bilgi" -#: src/sid/xmms-sid.glade:4281 src/sid/xs_interface.c:1951 +#: src/sid/xmms-sid.glade:3512 src/sid/xs_interface.c:1727 msgid "Select HVSC song length database" msgstr "" -#: src/sid/xmms-sid.glade:4322 src/sid/xs_interface.c:1989 -msgid "Select STIL-database " -msgstr "" - -#: src/sid/xmms-sid.glade:4363 src/sid/xs_interface.c:2027 +#: src/sid/xmms-sid.glade:3554 src/sid/xs_interface.c:1768 +msgid "Select STIL-database" +msgstr "" + +#: src/sid/xmms-sid.glade:3596 src/sid/xs_interface.c:1809 msgid "Select HVSC location prefix" msgstr "" -#: src/sid/xs_fileinfo.c:315 +#: src/sid/xmms-sid.glade:3638 src/sid/xs_interface.c:1850 +msgid "Select SIDPlay2 filters file for importing" +msgstr "" + +#: src/sid/xmms-sid.glade:3680 src/sid/xs_interface.c:1891 +msgid "Select SIDPlay2 filters file for exporting" +msgstr "" + +#: src/sid/xmms-sid.glade:3721 src/sid/xmms-sid.glade:3803 +#: src/sid/xs_interface.c:1939 src/sid/xs_interface.c:1952 +#, fuzzy +msgid "Confirm selected action" +msgstr "Backend bölümü" + +#: src/sid/xmms-sid.glade:3759 src/sid/xs_interface.c:1969 +#, fuzzy +msgid "Yes" +msgstr "evet" + +#: src/sid/xmms-sid.glade:3771 src/sid/xs_interface.c:1975 +#, fuzzy +msgid "No" +msgstr "Hiçbiri" + +#: src/sid/xs_fileinfo.c:238 #, fuzzy msgid "General info" msgstr "Genel" -#: src/sid/xs_fileinfo.c:325 +#: src/sid/xs_fileinfo.c:248 #, c-format msgid "Tune #%i: " msgstr "" -#: src/sid/xs_fileinfo.c:336 +#: src/sid/xs_fileinfo.c:259 #, c-format msgid "Tune #%i" msgstr "" @@ -4458,32 +4345,32 @@ msgid "Could not open SongLengthDB '%s'\n" msgstr "" -#: src/sid/xs_length.c:225 +#: src/sid/xs_length.c:224 #, c-format msgid "Invalid MD5-hash in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:232 +#: src/sid/xs_length.c:231 #, c-format msgid "Invalid entry in SongLengthDB file '%s' line #%d!\n" msgstr "" -#: src/sid/xs_length.c:237 +#: src/sid/xs_length.c:236 #, c-format msgid "Invalid line in SongLengthDB file '%s' line #%d\n" msgstr "" -#: src/sid/xs_length.c:399 +#: src/sid/xs_length.c:398 #, c-format msgid "Not a PSID or RSID file '%s'\n" msgstr "" -#: src/sid/xs_length.c:418 +#: src/sid/xs_length.c:417 #, c-format msgid "Error reading SID file header from '%s'\n" msgstr "" -#: src/sid/xs_length.c:437 +#: src/sid/xs_length.c:436 #, c-format msgid "Error allocating temp data buffer for file '%s'\n" msgstr "" @@ -4520,72 +4407,77 @@ msgid "[SIDPlay2] Could not initialize emulation engine.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:224 +#: src/sid/xs_sidplay2.cc:208 +#, c-format +msgid "[SIDPlay2] Invalid number of filter curve points (%d > %d)\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:229 msgid "reSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:230 +#: src/sid/xs_sidplay2.cc:235 #, c-format msgid "reSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:238 +#: src/sid/xs_sidplay2.cc:243 #, c-format msgid "reSID->sampling(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:248 +#: src/sid/xs_sidplay2.cc:253 msgid "reSID->filter(NULL) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:262 +#: src/sid/xs_sidplay2.cc:267 msgid "hardSID->create() failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:268 +#: src/sid/xs_sidplay2.cc:273 #, c-format msgid "hardSID->filter(%d) failed.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:276 +#: src/sid/xs_sidplay2.cc:281 msgid "[SIDPlay2] Could not initialize SIDBuilder object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:290 +#: src/sid/xs_sidplay2.cc:295 #, c-format msgid "[SIDPlay2] Invalid clockSpeed=%d, falling back to PAL.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:314 +#: src/sid/xs_sidplay2.cc:319 #, c-format msgid "Invalid sid2OptLevel=%d, falling back to %d.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:338 +#: src/sid/xs_sidplay2.cc:343 msgid "[SIDPlay2] Emulator engine configuration failed!\n" msgstr "" -#: src/sid/xs_sidplay2.cc:345 +#: src/sid/xs_sidplay2.cc:350 msgid "[SIDPlay2] Could not initialize SIDTune object.\n" msgstr "" -#: src/sid/xs_sidplay2.cc:396 -msgid "[SIDPlay2] currTune->selectSong() failed\n" -msgstr "" - #: src/sid/xs_sidplay2.cc:401 +msgid "[SIDPlay2] currTune->selectSong() failed\n" +msgstr "" + +#: src/sid/xs_sidplay2.cc:406 msgid "[SIDPlay2] currEng->load() failed\n" msgstr "" -#: src/sid/xs_stil.c:44 +#: src/sid/xs_stil.c:46 msgid "SubTune pointer structure realloc failed.\n" msgstr "" -#: src/sid/xs_stil.c:61 +#: src/sid/xs_stil.c:69 msgid "SubTune structure malloc failed!\n" msgstr "" -#: src/sid/xs_stil.c:168 +#: src/sid/xs_stil.c:176 #, c-format msgid "Could not open STILDB '%s'\n" msgstr "" @@ -5872,6 +5764,26 @@ msgstr "%s Hakkında" #, fuzzy +#~ msgid "Subtune Control" +#~ msgstr "Ses kontrolü:" + +#, fuzzy +#~ msgid "Override generic XMMS titles" +#~ msgstr "Genel başlıkları geçersiz kıl" + +#, fuzzy +#~ msgid "Song name/title format:" +#~ msgstr "Başlık biçimi:" + +#, fuzzy +#~ msgid "No sub-tune control." +#~ msgstr "Ses kontrolü:" + +#, fuzzy +#~ msgid "Disabled" +#~ msgstr "Değişken" + +#, fuzzy #~ msgid "22050" #~ msgstr "22000 Hz" diff -r 5dfa4fc721b0 -r 1359a81e4674 scripts/makerelease.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scripts/makerelease.sh Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,100 @@ +#!/bin/sh +# mkrelease.sh: Creates a release suitable for distfiles.atheme.org. +# +# Copyright (c) 2007 atheme.org +# +# Permission to use, copy, modify, and/or distribute this software for +# any purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER OR CONTRIBUTORS 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. +# + +if [ "x$1" = "x" ]; then + echo "usage: $0 releasename [--automatic]" + exit +else + RELEASENAME="$1" +fi + +if [ "x$2" = "x--automatic" ]; then + AUTOMATIC="yes" +fi + +TIP=`hg tip --template "#rev#:#node|short#"` + +WRKDIR=`pwd` + +if [ -d $RELEASENAME ]; then + echo "Deleting previous release named $RELEASENAME." + rm -rf $WRKDIR/$RELEASENAME/ +fi + +echo "Making release named $RELEASENAME (tip $TIP)" + +echo +echo "Building root: $RELEASENAME/" +hg archive $RELEASENAME +cd $RELEASENAME +sh autogen.sh +rm -rf autogen.sh autom4te.cache + +# Run application specific instructions here. +if [ -x "$WRKDIR/application.sh" ]; then + source $WRKDIR/application.sh +fi + +cd .. + +echo "Building $RELEASENAME.tgz from $RELEASENAME/" +tar zcf $RELEASENAME.tgz $RELEASENAME/ + +echo "Building $RELEASENAME.tbz2 from $RELEASENAME/" +tar jcf $RELEASENAME.tbz2 $RELEASENAME/ + +PUBLISH="yes" + +ok="0" +if [ "x$AUTOMATIC" != "xyes" ]; then + echo + echo "Would you like to publish these releases now?" + while [ $ok -eq 0 ]; do + echo -n "[$PUBLISH] " + + read INPUT + case $INPUT in + [Yy]*) + PUBLISH="yes" + ok=1 + ;; + [Nn]*) + PUBLISH="no" + ok=1 + ;; + esac + done +fi + +if [ "x$PUBLISH" = "xyes" ]; then + scp $RELEASENAME.tgz sidhe.atheme.org:/var/www/distfiles/htdocs + scp $RELEASENAME.tbz2 sidhe.atheme.org:/var/www/distfiles/htdocs + + echo + echo "The releases have been published, and will be available to the entire" + echo "distribution network within 15 minutes." +fi + +echo +echo "Done. If you have any bugs to report, report them against" +echo "the distfiles.atheme.org component at http://bugzilla.atheme.org" +echo "Thanks!" +echo diff -r 5dfa4fc721b0 -r 1359a81e4674 src/CoreAudio/about.c --- a/src/CoreAudio/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/CoreAudio/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -25,7 +25,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message( + dialog = audacious_info_dialog( "About CoreAudio Plugin", "Audacious CoreAudio Plugin\n\n " "This program is free software; you can redistribute it and/or modify\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/CoreAudio/audio.c --- a/src/CoreAudio/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/CoreAudio/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -498,7 +498,7 @@ while (flush != -1) { - xmms_usleep(10000); + g_usleep(10000); } } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS/OSS.c --- a/src/OSS/OSS.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS/OSS.c Thu Sep 13 12:10:39 2007 -0500 @@ -26,25 +26,23 @@ #include OutputPlugin oss_op = { - NULL, - NULL, - "OSS Output Plugin", /* Description */ - oss_init, - oss_cleanup, - oss_about, - oss_configure, - oss_get_volume, - oss_set_volume, - oss_open, - oss_write, - oss_close, - oss_flush, - oss_pause, - oss_free, - oss_playing, - oss_get_output_time, - oss_get_written_time, - oss_tell + .description = "OSS Output Plugin", /* Description */ + .init = oss_init, + .cleanup = oss_cleanup, + .about = oss_about, + .configure = oss_configure, + .get_volume = oss_get_volume, + .set_volume = oss_set_volume, + .open_audio = oss_open, + .write_audio = oss_write, + .close_audio = oss_close, + .flush = oss_flush, + .pause = oss_pause, + .buffer_free = oss_free, + .buffer_playing = oss_playing, + .output_time = oss_get_output_time, + .written_time = oss_get_written_time, + .tell_audio = oss_tell }; OutputPlugin *oss_oplist[] = { &oss_op, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS/about.c --- a/src/OSS/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -36,7 +36,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message(_("About OSS Driver"), + dialog = audacious_info_dialog(_("About OSS Driver"), _("Audacious OSS Driver\n\n " "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS/audio.c --- a/src/OSS/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -47,7 +47,7 @@ static gint fragsize, device_buffer_size; static gchar *device_name; static GThread *buffer_thread; -static gboolean realtime, select_works; +static gboolean select_works; static int (*oss_convert_func) (void **data, int length); static int (*oss_stereo_convert_func) (void **data, int length, int fmt); @@ -197,8 +197,6 @@ if (!fd || !going) return 0; - if (realtime) - oss_calc_device_buffer_used(); bytes = output_bytes < device_buffer_used ? 0 : output_bytes - device_buffer_used; @@ -208,13 +206,10 @@ static int oss_used(void) { - if (realtime) - return 0; - else { - if (wr_index >= rd_index) - return wr_index - rd_index; - return buffer_size - (rd_index - wr_index); - } + if (wr_index >= rd_index) + return wr_index - rd_index; + + return buffer_size - (rd_index - wr_index); } gint @@ -222,8 +217,6 @@ { if (!going) return 0; - if (realtime) - oss_calc_device_buffer_used(); if (!oss_used() && (device_buffer_used - (3 * blk_size)) <= 0) return FALSE; @@ -233,22 +226,18 @@ gint oss_free(void) { - if (!realtime) { - if (remove_prebuffer && prebuffer) { - prebuffer = FALSE; - remove_prebuffer = FALSE; - } - if (prebuffer) - remove_prebuffer = TRUE; + if (remove_prebuffer && prebuffer) { + prebuffer = FALSE; + remove_prebuffer = FALSE; + } - if (rd_index > wr_index) - return (rd_index - wr_index) - device_buffer_size - 1; - return (buffer_size - (wr_index - rd_index)) - device_buffer_size - 1; - } - else if (paused) - return 0; - else - return 1000000; + if (prebuffer) + remove_prebuffer = TRUE; + + if (rd_index > wr_index) + return (rd_index - wr_index) - device_buffer_size - 1; + + return (buffer_size - (wr_index - rd_index)) - device_buffer_size - 1; } static inline ssize_t @@ -274,42 +263,6 @@ { audio_buf_info abuf_info; -#if 0 - AFormat new_format; - int new_frequency, new_channels; - EffectPlugin *ep; - - new_format = input.format.xmms; - new_frequency = input.frequency; - new_channels = input.channels; - - - ep = get_current_effect_plugin(); - if (effects_enabled() && ep && ep->query_format) { - ep->query_format(&new_format, &new_frequency, &new_channels); - } - - if (new_format != effect.format.xmms || - new_frequency != effect.frequency || - new_channels != effect.channels) { - output_time_offset += (output_bytes * 1000) / output.bps; - output_bytes = 0; - close(fd); - fd = open(device_name, O_WRONLY); - oss_setup_format(new_format, new_frequency, new_channels); - } - if (effects_enabled() && ep && ep->mod_samples) - length = ep->mod_samples(&data, length, - input.format.xmms, - input.frequency, input.channels); -#endif - if (realtime && !ioctl(fd, SNDCTL_DSP_GETOSPACE, &abuf_info)) { - while (abuf_info.bytes < length) { - xmms_usleep(10000); - if (ioctl(fd, SNDCTL_DSP_GETOSPACE, &abuf_info)) - break; - } - } if (oss_convert_func != NULL) length = oss_convert_func(&data, length); @@ -465,23 +418,15 @@ { int cnt, off = 0; - if (!realtime) { - remove_prebuffer = FALSE; + remove_prebuffer = FALSE; - written += length; - while (length > 0) { - cnt = MIN(length, buffer_size - wr_index); - memcpy(buffer + wr_index, (char *) ptr + off, cnt); - wr_index = (wr_index + cnt) % buffer_size; - length -= cnt; - off += cnt; - } - } - else { - if (paused) - return; - oss_write_audio(ptr, length); - written += length; + written += length; + while (length > 0) { + cnt = MIN(length, buffer_size - wr_index); + memcpy(buffer + wr_index, (char *) ptr + off, cnt); + wr_index = (wr_index + cnt) % buffer_size; + length -= cnt; + off += cnt; } } @@ -491,12 +436,9 @@ if (!going) return; going = 0; - if (!realtime) - g_thread_join(buffer_thread); - else { - ioctl(fd, SNDCTL_DSP_RESET, 0); - close(fd); - } + + g_thread_join(buffer_thread); + g_free(device_name); oss_free_convert_buffer(); wr_index = 0; @@ -508,34 +450,18 @@ void oss_flush(gint time) { - if (!realtime) { - flush = time; - while (flush != -1) - xmms_usleep(10000); - } - else { - ioctl(fd, SNDCTL_DSP_RESET, 0); - close(fd); - fd = open(device_name, O_WRONLY); - oss_set_audio_params(); - output_time_offset = time; - written = ((guint64) time * input.bps) / 1000; - output_bytes = 0; - } + flush = time; + while (flush != -1) + g_usleep(10000); } void oss_pause(short p) { - if (!realtime) { - if (p == TRUE) - do_pause = TRUE; - else - unpause = TRUE; - } + if (p == TRUE) + do_pause = TRUE; else - paused = p; - + unpause = TRUE; } gpointer @@ -566,7 +492,7 @@ } } else - xmms_usleep(10000); + g_usleep(10000); oss_calc_device_buffer_used(); if (do_pause && !paused) { do_pause = FALSE; @@ -694,19 +620,18 @@ oss_setup_format(fmt, rate, nch); - realtime = xmms_check_realtime_priority(); + buffer_size = (oss_cfg.buffer_size * input.bps) / 1000; + + if (buffer_size < 8192) + buffer_size = 8192; - if (!realtime) { - buffer_size = (oss_cfg.buffer_size * input.bps) / 1000; - if (buffer_size < 8192) - buffer_size = 8192; - prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; - if (buffer_size - prebuffer_size < 4096) - prebuffer_size = buffer_size - 4096; + prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; + if (buffer_size - prebuffer_size < 4096) + prebuffer_size = buffer_size - 4096; - buffer_size += device_buffer_size; - buffer = g_malloc0(buffer_size); - } + buffer_size += device_buffer_size; + buffer = g_malloc0(buffer_size); + flush = -1; prebuffer = TRUE; wr_index = rd_index = output_time_offset = written = output_bytes = 0; @@ -716,8 +641,9 @@ remove_prebuffer = FALSE; going = 1; - if (!realtime) - buffer_thread = g_thread_create(oss_loop, NULL, TRUE, NULL); + + buffer_thread = g_thread_create(oss_loop, NULL, TRUE, NULL); + return 1; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS4/OSS4.c --- a/src/OSS4/OSS4.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS4/OSS4.c Thu Sep 13 12:10:39 2007 -0500 @@ -27,25 +27,23 @@ #include OutputPlugin oss_op = { - NULL, - NULL, - "OSS4 Output Plugin", /* Description */ - oss_init, - oss_cleanup, - oss_about, - oss_configure, - oss_get_volume, - oss_set_volume, - oss_open, - oss_write, - oss_close, - oss_flush, - oss_pause, - oss_free, - oss_playing, - oss_get_output_time, - oss_get_written_time, - oss_tell + .description = "OSS4 Output Plugin", /* Description */ + .init = oss_init, + .cleanup = oss_cleanup, + .about = oss_about, + .configure = oss_configure, + .get_volume = oss_get_volume, + .set_volume = oss_set_volume, + .open_audio = oss_open, + .write_audio = oss_write, + .close_audio = oss_close, + .flush = oss_flush, + .pause = oss_pause, + .buffer_free = oss_free, + .buffer_playing = oss_playing, + .output_time = oss_get_output_time, + .written_time = oss_get_written_time, + .tell_audio = oss_tell }; OutputPlugin *oss_oplist[] = { &oss_op, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS4/about.c --- a/src/OSS4/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS4/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -39,7 +39,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message(_("About OSSv4 Driver"), + dialog = audacious_info_dialog(_("About OSSv4 Driver"), _("Audacious OSSv4 Driver\n\n" "Based on the OSSv3 Output plugin,\n" "Ported to OSSv4's VMIX by Cristi Magherusan \n\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/OSS4/audio.c --- a/src/OSS4/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/OSS4/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -47,7 +47,7 @@ static gint fragsize, device_buffer_size; static gchar *device_name; static GThread *buffer_thread; -static gboolean realtime, select_works; +static gboolean select_works; static int (*oss_convert_func) (void **data, int length); static int (*oss_stereo_convert_func) (void **data, int length, int fmt); @@ -197,8 +197,6 @@ if (!fd || !going) return 0; - if (realtime) - oss_calc_device_buffer_used(); bytes = output_bytes < device_buffer_used ? 0 : output_bytes - device_buffer_used; @@ -208,13 +206,10 @@ static int oss_used(void) { - if (realtime) - return 0; - else { - if (wr_index >= rd_index) - return wr_index - rd_index; - return buffer_size - (rd_index - wr_index); - } + if (wr_index >= rd_index) + return wr_index - rd_index; + + return buffer_size - (rd_index - wr_index); } gint @@ -222,8 +217,6 @@ { if (!going) return 0; - if (realtime) - oss_calc_device_buffer_used(); if (!oss_used() && (device_buffer_used - (3 * blk_size)) <= 0) return FALSE; @@ -233,22 +226,18 @@ gint oss_free(void) { - if (!realtime) { - if (remove_prebuffer && prebuffer) { - prebuffer = FALSE; - remove_prebuffer = FALSE; - } - if (prebuffer) - remove_prebuffer = TRUE; + if (remove_prebuffer && prebuffer) { + prebuffer = FALSE; + remove_prebuffer = FALSE; + } - if (rd_index > wr_index) - return (rd_index - wr_index) - device_buffer_size - 1; - return (buffer_size - (wr_index - rd_index)) - device_buffer_size - 1; - } - else if (paused) - return 0; - else - return 1000000; + if (prebuffer) + remove_prebuffer = TRUE; + + if (rd_index > wr_index) + return (rd_index - wr_index) - device_buffer_size - 1; + + return (buffer_size - (wr_index - rd_index)) - device_buffer_size - 1; } static inline ssize_t @@ -274,42 +263,6 @@ { audio_buf_info abuf_info; -#if 0 - AFormat new_format; - int new_frequency, new_channels; - EffectPlugin *ep; - - new_format = input.format.xmms; - new_frequency = input.frequency; - new_channels = input.channels; - - - ep = get_current_effect_plugin(); - if (effects_enabled() && ep && ep->query_format) { - ep->query_format(&new_format, &new_frequency, &new_channels); - } - - if (new_format != effect.format.xmms || - new_frequency != effect.frequency || - new_channels != effect.channels) { - output_time_offset += (output_bytes * 1000) / output.bps; - output_bytes = 0; - close(fd); - fd = open(device_name, O_WRONLY); - oss_setup_format(new_format, new_frequency, new_channels); - } - if (effects_enabled() && ep && ep->mod_samples) - length = ep->mod_samples(&data, length, - input.format.xmms, - input.frequency, input.channels); -#endif - if (realtime && !ioctl(fd, SNDCTL_DSP_GETOSPACE, &abuf_info)) { - while (abuf_info.bytes < length) { - xmms_usleep(10000); - if (ioctl(fd, SNDCTL_DSP_GETOSPACE, &abuf_info)) - break; - } - } if (oss_convert_func != NULL) length = oss_convert_func(&data, length); @@ -465,23 +418,15 @@ { int cnt, off = 0; - if (!realtime) { - remove_prebuffer = FALSE; + remove_prebuffer = FALSE; - written += length; - while (length > 0) { - cnt = MIN(length, buffer_size - wr_index); - memcpy(buffer + wr_index, (char *) ptr + off, cnt); - wr_index = (wr_index + cnt) % buffer_size; - length -= cnt; - off += cnt; - } - } - else { - if (paused) - return; - oss_write_audio(ptr, length); - written += length; + written += length; + while (length > 0) { + cnt = MIN(length, buffer_size - wr_index); + memcpy(buffer + wr_index, (char *) ptr + off, cnt); + wr_index = (wr_index + cnt) % buffer_size; + length -= cnt; + off += cnt; } } @@ -491,12 +436,9 @@ if (!going) return; going = 0; - if (!realtime) - g_thread_join(buffer_thread); - else { - ioctl(fd, SNDCTL_DSP_RESET, 0); - close(fd); - } + + g_thread_join(buffer_thread); + g_free(device_name); oss_free_convert_buffer(); wr_index = 0; @@ -508,34 +450,18 @@ void oss_flush(gint time) { - if (!realtime) { - flush = time; - while (flush != -1) - xmms_usleep(10000); - } - else { - ioctl(fd, SNDCTL_DSP_RESET, 0); - close(fd); - fd = open(device_name, O_WRONLY); - oss_set_audio_params(); - output_time_offset = time; - written = ((guint64) time * input.bps) / 1000; - output_bytes = 0; - } + flush = time; + while (flush != -1) + g_usleep(10000); } void oss_pause(short p) { - if (!realtime) { - if (p == TRUE) - do_pause = TRUE; - else - unpause = TRUE; - } + if (p == TRUE) + do_pause = TRUE; else - paused = p; - + unpause = TRUE; } gpointer @@ -566,7 +492,7 @@ } } else - xmms_usleep(10000); + g_usleep(10000); oss_calc_device_buffer_used(); if (do_pause && !paused) { do_pause = FALSE; @@ -694,19 +620,18 @@ oss_setup_format(fmt, rate, nch); - realtime = xmms_check_realtime_priority(); + buffer_size = (oss_cfg.buffer_size * input.bps) / 1000; + + if (buffer_size < 8192) + buffer_size = 8192; - if (!realtime) { - buffer_size = (oss_cfg.buffer_size * input.bps) / 1000; - if (buffer_size < 8192) - buffer_size = 8192; - prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; - if (buffer_size - prebuffer_size < 4096) - prebuffer_size = buffer_size - 4096; + prebuffer_size = (buffer_size * oss_cfg.prebuffer) / 100; + if (buffer_size - prebuffer_size < 4096) + prebuffer_size = buffer_size - 4096; - buffer_size += device_buffer_size; - buffer = g_malloc0(buffer_size); - } + buffer_size += device_buffer_size; + buffer = g_malloc0(buffer_size); + flush = -1; prebuffer = TRUE; wr_index = rd_index = output_time_offset = written = output_bytes = 0; @@ -716,8 +641,9 @@ remove_prebuffer = FALSE; going = 1; - if (!realtime) - buffer_thread = g_thread_create(oss_loop, NULL, TRUE, NULL); + + buffer_thread = g_thread_create(oss_loop, NULL, TRUE, NULL); + return 1; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/aac/src/libmp4.c --- a/src/aac/src/libmp4.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/aac/src/libmp4.c Thu Sep 13 12:10:39 2007 -0500 @@ -293,7 +293,7 @@ "FAAD2 AAC/HE-AAC/HE-AACv2/DRM decoder (c) Nero AG, www.nero.com\n" "Copyright (c) 2005-2006 Audacious team"), NULL); - aboutbox = xmms_show_message(_("About MP4 AAC player plugin"), + aboutbox = audacious_info_dialog(_("About MP4 AAC player plugin"), about_text, _("Ok"), FALSE, NULL, NULL); @@ -311,7 +311,7 @@ { seekPosition = time; while(buffer_playing && seekPosition != -1) - xmms_usleep(10000); + g_usleep(10000); } static void mp4_cleanup(void) @@ -329,11 +329,11 @@ { g_free(mp4cb); - tuple_associate_string(ti, "title", vfs_get_metadata(mp4fh, "track-name")); - tuple_associate_string(ti, "album", vfs_get_metadata(mp4fh, "stream-name")); + tuple_associate_string(ti, FIELD_TITLE, NULL, vfs_get_metadata(mp4fh, "track-name")); + tuple_associate_string(ti, FIELD_ALBUM, NULL, vfs_get_metadata(mp4fh, "stream-name")); - tuple_associate_string(ti, "codec", "Advanced Audio Coding (AAC)"); - tuple_associate_string(ti, "quality", "lossy"); + tuple_associate_string(ti, FIELD_CODEC, NULL, "Advanced Audio Coding (AAC)"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossy"); vfs_fclose(mp4fh); return ti; @@ -389,45 +389,45 @@ faacDecClose(decoder); msDuration = ((float)numSamples * (float)(framesize - 1.0)/(float)samplerate) * 1000; - tuple_associate_int(ti, "length", msDuration); + tuple_associate_int(ti, FIELD_LENGTH, NULL, msDuration); mp4ff_meta_get_title(mp4file, &tmpval); if (tmpval) { - tuple_associate_string(ti, "title", tmpval); + tuple_associate_string(ti, FIELD_TITLE, NULL, tmpval); free(tmpval); } mp4ff_meta_get_album(mp4file, &tmpval); if (tmpval) { - tuple_associate_string(ti, "album", tmpval); + tuple_associate_string(ti, FIELD_ALBUM, NULL, tmpval); free(tmpval); } mp4ff_meta_get_artist(mp4file, &tmpval); if (tmpval) { - tuple_associate_string(ti, "artist", tmpval); + tuple_associate_string(ti, FIELD_ARTIST, NULL, tmpval); free(tmpval); } mp4ff_meta_get_genre(mp4file, &tmpval); if (tmpval) { - tuple_associate_string(ti, "genre", tmpval); + tuple_associate_string(ti, FIELD_GENRE, NULL, tmpval); free(tmpval); } mp4ff_meta_get_date(mp4file, &tmpval); if (tmpval) { - tuple_associate_int(ti, "year", atoi(tmpval)); + tuple_associate_int(ti, FIELD_YEAR, NULL, atoi(tmpval)); free(tmpval); } - tuple_associate_string(ti, "codec", "Advanced Audio Coding (AAC)"); - tuple_associate_string(ti, "quality", "lossy"); + tuple_associate_string(ti, FIELD_CODEC, NULL, "Advanced Audio Coding (AAC)"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossy"); free (mp4cb); vfs_fclose(mp4fh); @@ -549,7 +549,7 @@ /* Finish playing before we close the output. */ while ( playback->output->buffer_playing() ) { - xmms_usleep(10000); + g_usleep(10000); } playback->output->flush(seekPosition*1000); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/adplug/adplug-xmms.cc --- a/src/adplug/adplug-xmms.cc Thu Sep 13 12:09:38 2007 -0500 +++ b/src/adplug/adplug-xmms.cc Thu Sep 13 12:10:39 2007 -0500 @@ -155,7 +155,7 @@ strcpy (tmptxt, text); strcpy (tmpbutton, button); - GtkWidget *msgbox = xmms_show_message (tmptitle, tmptxt, tmpbutton, FALSE, + GtkWidget *msgbox = audacious_info_dialog (tmptitle, tmptxt, tmpbutton, FALSE, G_CALLBACK (gtk_widget_destroyed), &msgbox); @@ -182,7 +182,7 @@ "Linked AdPlug library version: "), version_text, NULL); about_win = - xmms_show_message (about_title, about_text, _("Ok"), FALSE, NULL, NULL); + audacious_info_dialog (about_title, about_text, _("Ok"), FALSE, NULL, NULL); g_signal_connect (G_OBJECT (about_win), "destroy", G_CALLBACK (gtk_widget_destroyed), &about_win); g_free (about_text); @@ -694,16 +694,16 @@ { Tuple *ti = tuple_new_from_filename(filename); if (! p->getauthor().empty()) - tuple_associate_string(ti, "artist", p->getauthor().c_str()); + tuple_associate_string(ti, FIELD_ARTIST, NULL, p->getauthor().c_str()); if (! p->gettitle().empty()) - tuple_associate_string(ti, "title", p->gettitle().c_str()); + tuple_associate_string(ti, FIELD_TITLE, NULL, p->gettitle().c_str()); else if (! p->getdesc().empty()) - tuple_associate_string(ti, "title", p->getdesc().c_str()); + tuple_associate_string(ti, FIELD_TITLE, NULL, p->getdesc().c_str()); else - tuple_associate_string(ti, "title", g_path_get_basename(filename)); - tuple_associate_string(ti, "codec", p->gettype().c_str()); - tuple_associate_string(ti, "quality", "sequenced"); - tuple_associate_int(ti, "length", p->songlength (plr.subsong)); + tuple_associate_string(ti, FIELD_TITLE, NULL, g_path_get_basename(filename)); + tuple_associate_string(ti, FIELD_CODEC, NULL, p->gettype().c_str()); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "sequenced"); + tuple_associate_int(ti, FIELD_LENGTH, NULL, p->songlength (plr.subsong)); delete p; return ti; } @@ -715,7 +715,7 @@ { char* result = tuple_formatter_make_title_string(ti, get_gentitle_format()); if ( result ) - *length = tuple_get_int(ti, "length"); + *length = tuple_get_int(ti, FIELD_LENGTH, NULL); tuple_free((void *) ti); return result; @@ -853,7 +853,7 @@ // write sound buffer while (playback->output->buffer_free () < SNDBUFSIZE * sampsize) - xmms_usleep (10000); + g_usleep (10000); produce_audio (playback->output->written_time (), bit16 ? FORMAT_16 : FORMAT_8, stereo ? 2 : 1, SNDBUFSIZE * sampsize, sndbuf, NULL); @@ -869,7 +869,7 @@ { // wait for output plugin to finish if song has self-ended dbg_printf ("wait, "); while (playback->output->buffer_playing ()) - xmms_usleep (10000); + g_usleep (10000); } else { // or else, flush its output buffers @@ -1136,8 +1136,10 @@ NULL, // filename (filled by XMMS) (gchar *)ADPLUG_NAME, // plugin description adplug_init, // plugin functions... + adplug_quit, adplug_about, adplug_config, + FALSE, adplug_is_our_file, NULL, // scan_dir (look in Input/cdaudio/cdaudio.c) adplug_play, @@ -1148,7 +1150,6 @@ adplug_get_time, NULL, // get_volume (handled by output plugin) NULL, // set_volume (...) - adplug_quit, NULL, // OBSOLETE - DO NOT USE! NULL, // add_vis_pcm (filled by XMMS) NULL, // set_info (filled by XMMS) diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alac/plugin.c --- a/src/alac/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alac/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -82,7 +82,7 @@ if(aboutbox != NULL) return; - aboutbox = xmms_show_message(_("About Apple Lossless Audio Plugin"), + aboutbox = audacious_info_dialog(_("About Apple Lossless Audio Plugin"), _("Copyright (c) 2006 Audacious team\n" "Portions (c) 2005-2006 David Hammerton "), _("Ok"), FALSE, NULL, NULL); @@ -122,20 +122,20 @@ Tuple *ti = tuple_new_from_filename(path); if (demux_res->tuple.art != NULL) - tuple_associate_string(ti, "artist", demux_res->tuple.art); + tuple_associate_string(ti, FIELD_ARTIST, NULL, demux_res->tuple.art); if (demux_res->tuple.nam != NULL) - tuple_associate_string(ti, "title", demux_res->tuple.nam); + tuple_associate_string(ti, FIELD_TITLE, NULL, demux_res->tuple.nam); if (demux_res->tuple.alb != NULL) - tuple_associate_string(ti, "album", demux_res->tuple.alb); + tuple_associate_string(ti, FIELD_ALBUM, NULL, demux_res->tuple.alb); if (demux_res->tuple.gen != NULL) - tuple_associate_string(ti, "genre", demux_res->tuple.gen); + tuple_associate_string(ti, FIELD_GENRE, NULL, demux_res->tuple.gen); if (demux_res->tuple.cmt != NULL) - tuple_associate_string(ti, "comment", demux_res->tuple.cmt); + tuple_associate_string(ti, FIELD_COMMENT, NULL, demux_res->tuple.cmt); if (demux_res->tuple.day != NULL) - tuple_associate_int(ti, "year", atoi(demux_res->tuple.day)); + tuple_associate_int(ti, FIELD_YEAR, NULL, atoi(demux_res->tuple.day)); - tuple_associate_string(ti, "codec", "Apple Lossless (ALAC)"); - tuple_associate_string(ti, "quality", "lossless"); + tuple_associate_string(ti, FIELD_CODEC, NULL, "Apple Lossless (ALAC)"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossless"); return ti; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alarm/alarm.c --- a/src/alarm/alarm.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alarm/alarm.c Thu Sep 13 12:10:39 2007 -0500 @@ -996,18 +996,12 @@ */ static GeneralPlugin alarm_plugin = { - NULL, - NULL, - "Alarm "VERSION, - alarm_init, - alarm_about, - alarm_configure, - alarm_cleanup, + .description = "Alarm "VERSION, + .init = alarm_init, + .about = alarm_about, + .configure = alarm_configure, + .cleanup = alarm_cleanup, }; GeneralPlugin *alarm_gplist[] = { &alarm_plugin, NULL }; -DECLARE_PLUGIN(alarm, NULL, NULL, NULL, NULL, NULL, alarm_gplist, NULL, NULL); - -/* - * vi:ai:expandtab:ts=2 sts=2 shiftwidth=2:nowrap: - */ +SIMPLE_GENERAL_PLUGIN(alarm, alarm_gplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alarm/interface.c --- a/src/alarm/interface.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alarm/interface.c Thu Sep 13 12:10:39 2007 -0500 @@ -535,7 +535,7 @@ gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (stop_m_spin), GTK_UPDATE_IF_VALID); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (stop_m_spin), TRUE); - label78 = gtk_label_new ("minutes"); + label78 = gtk_label_new (_("minutes")); gtk_widget_set_name (label78, "label78"); gtk_widget_ref (label78); gtk_object_set_data_full (GTK_OBJECT (config_dialog), "label78", label78, diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alsa/about.c --- a/src/alsa/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alsa/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -26,7 +26,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message( + dialog = audacious_info_dialog( _("About ALSA Driver"), _("Audacious ALSA Driver\n\n " "This program is free software; you can redistribute it and/or modify\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alsa/alsa.c --- a/src/alsa/alsa.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alsa/alsa.c Thu Sep 13 12:10:39 2007 -0500 @@ -21,25 +21,23 @@ OutputPlugin alsa_op = { - NULL, - NULL, - "ALSA Output Plugin", - alsa_init, - alsa_cleanup, - alsa_about, - alsa_configure, - alsa_get_volume, - alsa_set_volume, - alsa_open, - alsa_write, - alsa_close, - alsa_flush, - alsa_pause, - alsa_free, - alsa_playing, - alsa_get_output_time, - alsa_get_written_time, - alsa_tell + .description = "ALSA Output Plugin", + .init = alsa_init, + .cleanup = alsa_cleanup, + .about = alsa_about, + .configure = alsa_configure, + .get_volume = alsa_get_volume, + .set_volume = alsa_set_volume, + .open_audio = alsa_open, + .write_audio = alsa_write, + .close_audio = alsa_close, + .flush = alsa_flush, + .pause = alsa_pause, + .buffer_free = alsa_free, + .buffer_playing = alsa_playing, + .output_time = alsa_get_output_time, + .written_time = alsa_get_written_time, + .tell_audio = alsa_tell }; OutputPlugin *alsa_oplist[] = { &alsa_op, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/alsa/audio.c --- a/src/alsa/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/alsa/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -155,7 +155,7 @@ while ((err = snd_pcm_resume(alsa_pcm)) == -EAGAIN) /* wait until suspend flag is released */ - xmms_usleep(1000000); + g_usleep(1000000); if (err < 0) { g_warning("alsa_handle_error(): " @@ -316,7 +316,7 @@ { flush_request = time; while (flush_request != -1) - xmms_usleep(10000); + g_usleep(10000); } static void parse_mixer_name(char *str, char **name, int *index) @@ -708,36 +708,6 @@ if (paused) return; -#if 0 - new_freq = inputf->rate; - new_chn = inputf->channels; - f = inputf->xmms_format; - - if (effects_enabled() && (ep = get_current_effect_plugin()) && - ep->query_format) - ep->query_format(&f, &new_freq, &new_chn); - - if (f != effectf->xmms_format || (unsigned int)new_freq != effectf->rate || - (unsigned int)new_chn != effectf->channels) - { - debug("Changing audio format for effect plugin"); - g_free(effectf); - effectf = snd_format_from_xmms(f, new_freq, new_chn); - if (alsa_reopen(effectf) < 0) - { - /* fatal error... */ - alsa_close(); - return; - } - } - - if (ep) - length = ep->mod_samples(&data, length, - inputf->xmms_format, - inputf->rate, - inputf->channels); -#endif - if (alsa_convert_func != NULL) length = alsa_convert_func(convertb, &data, length); if (alsa_stereo_convert_func != NULL) @@ -854,7 +824,7 @@ } } else - xmms_usleep(10000); + g_usleep(10000); if (pause_request != paused) alsa_do_pause(pause_request); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/amidi-plug/amidi-plug.h --- a/src/amidi-plug/amidi-plug.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/amidi-plug/amidi-plug.h Thu Sep 13 12:10:39 2007 -0500 @@ -86,35 +86,23 @@ InputPlugin amidiplug_ip = { - NULL, /* handle */ - NULL, /* filename */ - "AMIDI-Plug " AMIDIPLUG_VERSION " (MIDI Player)", /* description */ - amidiplug_init, /* init */ - amidiplug_aboutbox, /* aboutbox */ - amidiplug_configure, /* configure */ - amidiplug_is_our_file, /* is_our_file */ - NULL, /* scan_dir */ - amidiplug_play, /* play_file */ - amidiplug_stop, /* stop */ - amidiplug_pause, /* pause */ - amidiplug_seek, /* seek */ - NULL, /* set_eq */ - amidiplug_get_time, /* get_time */ - amidiplug_get_volume, /* get_volume */ - amidiplug_set_volume, /* set_volume */ - amidiplug_cleanup, /* cleanup */ - NULL, /* get_vis_type */ - NULL, /* add_vis_pcm */ - NULL, /* set_info */ - NULL, /* set_info_text */ - amidiplug_get_song_info, /* get_song_info */ - amidiplug_file_info_box, /* file_info_box */ - NULL, /* output */ - NULL, /* get_song_tuple */ - NULL, /* set_song_tuple */ - NULL, /* set_status_buffering */ - amidiplug_is_our_file_from_vfs, /* is_our_file_from_vfs */ - amidiplug_vfs_extensions /* vfs_extensions */ + .description = "AMIDI-Plug " AMIDIPLUG_VERSION " (MIDI Player)", /* description */ + .init = amidiplug_init, /* init */ + .about = amidiplug_aboutbox, /* aboutbox */ + .configure = amidiplug_configure, /* configure */ + .is_our_file = amidiplug_is_our_file, /* is_our_file */ + .play_file = amidiplug_play, /* play_file */ + .stop = amidiplug_stop, /* stop */ + .pause = amidiplug_pause, /* pause */ + .seek = amidiplug_seek, /* seek */ + .get_time = amidiplug_get_time, /* get_time */ + .get_volume = amidiplug_get_volume, /* get_volume */ + .set_volume = amidiplug_set_volume, /* set_volume */ + .cleanup = amidiplug_cleanup, /* cleanup */ + .get_song_info = amidiplug_get_song_info, /* get_song_info */ + .file_info_box = amidiplug_file_info_box, /* file_info_box */ + .is_our_file_from_vfs = amidiplug_is_our_file_from_vfs, /* is_our_file_from_vfs */ + .vfs_extensions = amidiplug_vfs_extensions /* vfs_extensions */ }; #endif /* !_I_AMIDIPLUG_H */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/aosd/aosd.c --- a/src/aosd/aosd.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/aosd/aosd.c Thu Sep 13 12:10:39 2007 -0500 @@ -26,7 +26,7 @@ GeneralPlugin *aosd_gplist[] = { &aosd_gp, NULL }; -DECLARE_PLUGIN(aosd, NULL, NULL, NULL, NULL, NULL, aosd_gplist, NULL, NULL); +SIMPLE_GENERAL_PLUGIN(aosd, aosd_gplist); aosd_cfg_t * global_config = NULL; gboolean plugin_is_active = FALSE; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/aosd/aosd.h --- a/src/aosd/aosd.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/aosd/aosd.h Thu Sep 13 12:10:39 2007 -0500 @@ -35,13 +35,11 @@ GeneralPlugin aosd_gp = { - NULL, /* handle */ - NULL, /* filename */ - "Audacious OSD " AOSD_VERSION_PLUGIN, /* description */ - aosd_init, /* init */ - aosd_about, /* about */ - aosd_configure, /* configure */ - aosd_cleanup /* cleanup */ + .description= "Audacious OSD " AOSD_VERSION_PLUGIN, + .init = aosd_init, + .about = aosd_about, + .configure = aosd_configure, + .cleanup = aosd_cleanup }; #endif /* !_I_AOSD_H */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/arts/arts.c --- a/src/arts/arts.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/arts/arts.c Thu Sep 13 12:10:39 2007 -0500 @@ -19,7 +19,7 @@ if (dialog) return; - dialog = xmms_show_message(_("About aRts Output"), + dialog = audacious_info_dialog(_("About aRts Output"), _("aRts output plugin by " "H\303\245vard Kv\303\245len \n" "Audacious port by Giacomo Lozito from develia.org"), diff -r 5dfa4fc721b0 -r 1359a81e4674 src/arts/audio.c --- a/src/arts/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/arts/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -276,48 +276,6 @@ void artsxmms_write(gpointer ptr, int length) { -#if 0 - AFormat new_format; - int new_frequency, new_channels; - EffectPlugin *ep; - - new_format = input_params.format; - new_frequency = input_params.frequency; - new_channels = input_params.channels; - - ep = get_current_effect_plugin(); - if (effects_enabled() && ep && ep->query_format) - ep->query_format(&new_format, &new_frequency, &new_channels); - - if (new_format != output_params.format || - new_frequency != output_params.frequency || - new_channels != output_params.channels) - { - /* - * The effect plugins has changed the format of the stream. - */ - - guint64 offset = (written * 1000) / output_params.bps; - artsxmms_set_params(&output_params, new_format, - new_frequency, new_channels); - arts_convert_func = arts_get_convert_func(output_params.format); - - written = (offset * output_params.bps) / 1000; - - artsxmms_helper_init(&output_params); - } - - /* - * Doing the effect plugin processing here adds some latency, - * but the alternative is just too frigging hairy. - */ - - if (effects_enabled() && ep && ep->mod_samples) - length = ep->mod_samples(&ptr, length, input_params.format, - input_params.frequency, - input_params.channels); -#endif - if (arts_convert_func) arts_convert_func(ptr, length); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/audiocompress/audacious-glue.c --- a/src/audiocompress/audacious-glue.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/audiocompress/audacious-glue.c Thu Sep 13 12:10:39 2007 -0500 @@ -45,14 +45,12 @@ static EffectPlugin xmms_plugin = { - NULL, NULL, - "AudioCompressor AGC plugin", - myInit, - myCleanup, - myAbout, - myPrefs, - myModify, - NULL + .description = "AudioCompressor AGC plugin", + .init = myInit, + .cleanup = myCleanup, + .about = myAbout, + .configure = myPrefs, + .mod_samples = myModify, }; EffectPlugin *audiocompress_eplist[] = { &xmms_plugin, NULL }; @@ -102,7 +100,7 @@ "Simple dynamic range compressor for transparently\n" "keeping the volume level more or less consistent") , NULL ); - about_xmms_compress = xmms_show_message( _("About AudioCompress") , + about_xmms_compress = audacious_info_dialog( _("About AudioCompress") , about_text , _("Ok") , FALSE , NULL , NULL ); gtk_signal_connect( GTK_OBJECT(about_xmms_compress) , "destroy" , GTK_SIGNAL_FUNC(gtk_widget_destroyed), &about_xmms_compress ); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/blur_scope/blur_scope.c --- a/src/blur_scope/blur_scope.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/blur_scope/blur_scope.c Thu Sep 13 12:10:39 2007 -0500 @@ -66,20 +66,14 @@ VisPlugin bscope_vp = { - NULL, - NULL, - "Blur Scope", /* description */ - 1, /* Number of PCM channels wanted */ - 0, /* Number of freq channels wanted */ - bscope_init, /* init */ - bscope_cleanup, /* cleanup */ - NULL, /* about */ - bscope_configure, /* configure */ - NULL, /* disable_plugin */ - NULL, /* playback_start */ - bscope_playback_stop, /* playback_stop */ - bscope_render_pcm, /* render_pcm */ - NULL /* render_freq */ + .description = "Blur Scope", /* description */ + .num_pcm_chs_wanted = 1, /* Number of PCM channels wanted */ + .num_freq_chs_wanted = 0, /* Number of freq channels wanted */ + .init = bscope_init, /* init */ + .cleanup = bscope_cleanup, /* cleanup */ + .configure = bscope_configure, /* configure */ + .playback_stop = bscope_playback_stop, /* playback_stop */ + .render_pcm = bscope_render_pcm, /* render_pcm */ }; VisPlugin *bscope_vplist[] = { &bscope_vp, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/cdaudio-ng/cdaudio-ng.c --- a/src/cdaudio-ng/cdaudio-ng.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/cdaudio-ng/cdaudio-ng.c Thu Sep 13 12:10:39 2007 -0500 @@ -91,31 +91,22 @@ static InputPlugin inputplugin = { - NULL, - NULL, - "CD Audio Plugin NG", - cdaudio_init, - cdaudio_about, - cdaudio_configure, - cdaudio_is_our_file, - cdaudio_scan_dir, - cdaudio_play_file, - cdaudio_stop, - cdaudio_pause, - cdaudio_seek, - NULL, - cdaudio_get_time, - cdaudio_get_volume, - cdaudio_set_volume, - cdaudio_cleanup, - NULL, - NULL, - NULL, - NULL, - cdaudio_get_song_info, - NULL, - NULL, - cdaudio_get_song_tuple + .description = "CD Audio Plugin NG", + .init = cdaudio_init, + .about = cdaudio_about, + .configure = cdaudio_configure, + .is_our_file = cdaudio_is_our_file, + .scan_dir = cdaudio_scan_dir, + .play_file = cdaudio_play_file, + .stop = cdaudio_stop, + .pause = cdaudio_pause, + .seek = cdaudio_seek, + .get_time = cdaudio_get_time, + .get_volume = cdaudio_get_volume, + .set_volume = cdaudio_set_volume, + .cleanup = cdaudio_cleanup, + .get_song_info = cdaudio_get_song_info, + .get_song_tuple = cdaudio_get_song_tuple }; InputPlugin *cdaudio_iplist[] = { &inputplugin, NULL }; @@ -203,7 +194,7 @@ "Also thank you Tony Vroon for mentoring & guiding me.\n\n" "This was a Google Summer of Code 2007 project.")); - about_window = xmms_show_message(_("About CD Audio Plugin NG"), about_text, _("OK"), FALSE, NULL, NULL); + about_window = audacious_info_dialog(_("About CD Audio Plugin NG"), about_text, _("OK"), FALSE, NULL, NULL); g_signal_connect(G_OBJECT(about_window), "destroy", G_CALLBACK(gtk_widget_destroyed), &about_window); @@ -834,20 +825,20 @@ return NULL; if(strlen(trackinfo[trackno].performer)) { - tuple_associate_string(tuple, "artist", trackinfo[trackno].performer); + tuple_associate_string(tuple, FIELD_ARTIST, NULL, trackinfo[trackno].performer); } if(strlen(trackinfo[0].name)) { - tuple_associate_string(tuple, "album", trackinfo[0].name); + tuple_associate_string(tuple, FIELD_ALBUM, NULL, trackinfo[0].name); } if(strlen(trackinfo[trackno].name)) { - tuple_associate_string(tuple, "title", trackinfo[trackno].name); + tuple_associate_string(tuple, FIELD_TITLE, NULL, trackinfo[trackno].name); } - tuple_associate_int(tuple, "track-number", trackno); - tuple_associate_string(tuple, "ext", "cda"); //XXX should do? --yaz + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, trackno); + tuple_associate_string(tuple, -1, "ext", "cda"); //XXX should do? --yaz - tuple_associate_int(tuple, "length", calculate_track_length(trackinfo[trackno].startlsn, trackinfo[trackno].endlsn)); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, calculate_track_length(trackinfo[trackno].startlsn, trackinfo[trackno].endlsn)); if(strlen(trackinfo[trackno].genre)) { - tuple_associate_string(tuple, "genre", trackinfo[trackno].genre); + tuple_associate_string(tuple, FIELD_GENRE, NULL, trackinfo[trackno].genre); } //tuple->year = 0; todo: set the year diff -r 5dfa4fc721b0 -r 1359a81e4674 src/console/Audacious_Driver.cxx --- a/src/console/Audacious_Driver.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/console/Audacious_Driver.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -208,23 +208,23 @@ Tuple* ti = tuple_new(); if ( ti ) { - tuple_associate_string(ti, "file-name", g_path_get_basename(path)); - tuple_associate_string(ti, "file-path", g_path_get_dirname(path)); - tuple_associate_string(ti, "artist", info.author); - tuple_associate_string(ti, "album", info.game); - tuple_associate_string(ti, "game", info.game); - tuple_associate_string(ti, "title", info.song ? info.song : g_path_get_basename(path)); + tuple_associate_string(ti, FIELD_FILE_NAME, NULL, g_path_get_basename(path)); + tuple_associate_string(ti, FIELD_FILE_PATH, NULL, g_path_get_dirname(path)); + tuple_associate_string(ti, FIELD_ARTIST, NULL, info.author); + tuple_associate_string(ti, FIELD_ALBUM, NULL, info.game); + tuple_associate_string(ti, -1, "game", info.game); + tuple_associate_string(ti, FIELD_TITLE, NULL, info.song ? info.song : g_path_get_basename(path)); if ( info.track_count > 1 ) { - tuple_associate_int(ti, "track-number", track + 1); - tuple_associate_int(ti, "subsong", track); + tuple_associate_int(ti, FIELD_TRACK_NUMBER, NULL, track + 1); + tuple_associate_int(ti, -1, "subsong", track); } - tuple_associate_string(ti, "copyright", info.copyright); - tuple_associate_string(ti, "console", info.system); - tuple_associate_string(ti, "codec", info.system); - tuple_associate_string(ti, "quality", "sequenced"); - tuple_associate_string(ti, "dumper", info.dumper); - tuple_associate_string(ti, "comment", info.comment); + tuple_associate_string(ti, FIELD_COPYRIGHT, NULL, info.copyright); + tuple_associate_string(ti, -1, "console", info.system); + tuple_associate_string(ti, FIELD_CODEC, NULL, info.system); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "sequenced"); + tuple_associate_string(ti, -1, "dumper", info.dumper); + tuple_associate_string(ti, FIELD_COMMENT, NULL, info.comment); int length = info.length; if ( length <= 0 ) @@ -233,7 +233,7 @@ length = audcfg.loop_length * 1000; else if ( length >= fade_threshold ) length += fade_length; - tuple_associate_int(ti, "length", length); + tuple_associate_int(ti, FIELD_LENGTH, NULL, length); } return ti; } @@ -242,7 +242,7 @@ { char* result = tuple_formatter_make_title_string(ti, get_gentitle_format()); if ( result ) - *length = tuple_get_int(ti, "length"); + *length = tuple_get_int(ti, FIELD_LENGTH, NULL); tuple_free((void *) ti); return result; @@ -486,13 +486,13 @@ console_cfg_load(); } -extern "C" void console_aboutbox(void) +void console_aboutbox(void) { static GtkWidget * aboutbox = NULL; if (!aboutbox) { - aboutbox = xmms_show_message(_("About the Console Music Decoder"), + aboutbox = audacious_info_dialog(_("About the Console Music Decoder"), _("Console music decoder engine based on Game_Music_Emu 0.5.2.\n" "Supported formats: AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ\n" "Audacious implementation by: William Pitcock , \n" @@ -513,8 +513,10 @@ NULL, (gchar *)"Game console audio module decoder", console_init, + NULL, console_aboutbox, console_cfg_ui, + FALSE, NULL, NULL, play_file, @@ -524,7 +526,6 @@ NULL, get_time, NULL, - NULL, NULL, NULL, NULL, @@ -542,8 +543,4 @@ InputPlugin *console_iplist[] = { &console_ip, NULL }; -extern "C" { - -DECLARE_PLUGIN(console, NULL, NULL, console_iplist, NULL, NULL, NULL, NULL,NULL); - -}; +SIMPLE_INPUT_PLUGIN(console, console_iplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/cue/cuesheet.c --- a/src/cue/cuesheet.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/cue/cuesheet.c Thu Sep 13 12:10:39 2007 -0500 @@ -93,32 +93,17 @@ InputPlugin cue_ip = { - NULL, /* handle */ - NULL, /* filename */ - "Cuesheet Plugin", /* description */ - cue_init, /* init */ - NULL, /* about */ - NULL, /* configure */ - is_our_file, - NULL, /* audio cd */ - play, - stop, - cue_pause, - seek, - NULL, /* set eq */ - get_time, - NULL, - NULL, - cue_cleanup, /* cleanup */ - NULL, - NULL, - NULL, - NULL, - get_song_info, /* XXX get_song_info iface */ - NULL, - NULL, - get_tuple, - NULL + .description = "Cuesheet Plugin", /* description */ + .init = cue_init, /* init */ + .is_our_file = is_our_file, + .play_file = play, + .stop = stop, + .pause = cue_pause, + .seek = seek, + .get_time = get_time, + .cleanup = cue_cleanup, /* cleanup */ + .get_song_info = get_song_info, /* XXX get_song_info iface */ + .get_song_tuple = get_tuple, }; InputPlugin *cue_iplist[] = { &cue_ip, NULL }; @@ -240,11 +225,11 @@ return get_tuple_uri(uri); } -static void _tuple_copy_field(Tuple *tuple, Tuple *tuple2, const gchar *field) +static void _tuple_copy_field(Tuple *tuple, Tuple *tuple2, const gint nfield, const gchar *field) { - const gchar *str = tuple_get_string(tuple, field); - tuple_disassociate(tuple2, field); - tuple_associate_string(tuple2, field, str); + const gchar *str = tuple_get_string(tuple, nfield, field); + tuple_disassociate(tuple2, nfield, field); + tuple_associate_string(tuple2, nfield, field, str); } static Tuple *get_tuple_uri(gchar *uri) @@ -289,26 +274,26 @@ out = tuple_new(); - _tuple_copy_field(phys_tuple, out, "file-path"); - _tuple_copy_field(phys_tuple, out, "file-name"); - _tuple_copy_field(phys_tuple, out, "file-exit"); - _tuple_copy_field(phys_tuple, out, "codec"); - _tuple_copy_field(phys_tuple, out, "quality"); - _tuple_copy_field(phys_tuple, out, "copyright"); - _tuple_copy_field(phys_tuple, out, "comment"); + _tuple_copy_field(phys_tuple, out, FIELD_FILE_PATH, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_FILE_NAME, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_FILE_EXT, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_CODEC, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_QUALITY, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_COPYRIGHT, NULL); + _tuple_copy_field(phys_tuple, out, FIELD_COMMENT, NULL); - tuple_associate_int(out, "length", tuple_get_int(phys_tuple, "length")); + tuple_associate_int(out, FIELD_LENGTH, NULL, tuple_get_int(phys_tuple, FIELD_LENGTH, NULL)); tuple_free(phys_tuple); - tuple_associate_string(out, "title", cue_tracks[track].title); - tuple_associate_string(out, "artist", cue_tracks[track].performer ? + tuple_associate_string(out, FIELD_TITLE, NULL, cue_tracks[track].title); + tuple_associate_string(out, FIELD_ARTIST, NULL, cue_tracks[track].performer ? cue_tracks[track].performer : cue_performer); - tuple_associate_string(out, "album", cue_title); - tuple_associate_string(out, "genre", cue_genre); + tuple_associate_string(out, FIELD_ALBUM, NULL, cue_title); + tuple_associate_string(out, FIELD_GENRE, NULL, cue_genre); if(cue_year) - tuple_associate_int(out, "year", atoi(cue_year)); - tuple_associate_int(out, "track-number", track + 1); + tuple_associate_int(out, FIELD_YEAR, NULL, atoi(cue_year)); + tuple_associate_int(out, FIELD_TRACK_NUMBER, NULL, track + 1); return out; } @@ -330,7 +315,7 @@ g_return_if_fail(tuple != NULL); *title = tuple_formatter_make_title_string(tuple, get_gentitle_format()); - *length = tuple_get_int(tuple, "length"); + *length = tuple_get_int(tuple, FIELD_LENGTH, NULL); tuple_free(tuple); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/echo_plugin/echo.c --- a/src/echo_plugin/echo.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/echo_plugin/echo.c Thu Sep 13 12:10:39 2007 -0500 @@ -23,15 +23,12 @@ EffectPlugin echo_ep = { - NULL, - NULL, - "Echo Plugin", /* Description */ - init, - cleanup, - echo_about, - echo_configure, - mod_samples, - NULL + .description = "Echo Plugin", /* Description */ + .init = init, + .cleanup = cleanup, + .about = echo_about, + .configure = echo_configure, + .mod_samples = mod_samples, }; static gint16 *buffer = NULL; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/echo_plugin/gui.c --- a/src/echo_plugin/gui.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/echo_plugin/gui.c Thu Sep 13 12:10:39 2007 -0500 @@ -23,7 +23,7 @@ if (echo_about_dialog != NULL) return; - echo_about_dialog = xmms_show_message(_("About Echo Plugin"), + echo_about_dialog = audacious_info_dialog(_("About Echo Plugin"), _(echo_about_text), _("Ok"), FALSE, NULL, NULL); gtk_signal_connect(GTK_OBJECT(echo_about_dialog), "destroy", diff -r 5dfa4fc721b0 -r 1359a81e4674 src/esd/about.c --- a/src/esd/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/esd/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -31,7 +31,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message(_("About ESounD Plugin"), + dialog = audacious_info_dialog(_("About ESounD Plugin"), _("Audacious ESounD Plugin\n\n " "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/esd/audio.c --- a/src/esd/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/esd/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -43,7 +43,6 @@ static esd_format_t esd_format; static gint input_bps, input_format, input_frequency, input_channels; static GThread *buffer_thread; -static gboolean realtime = FALSE; static void *(*esd_translate) (void *, gint); static int player_id_unique = 0; @@ -227,13 +226,10 @@ gint esdout_used(void) { - if (realtime) - return 0; - else { - if (wr_index >= rd_index) - return wr_index - rd_index; - return buffer_size - (rd_index - wr_index); - } + if (wr_index >= rd_index) + return wr_index - rd_index; + + return buffer_size - (rd_index - wr_index); } gint @@ -250,58 +246,23 @@ gint esdout_free(void) { - if (!realtime) { - if (remove_prebuffer && prebuffer) { - prebuffer = FALSE; - remove_prebuffer = FALSE; - } - if (prebuffer) - remove_prebuffer = TRUE; + if (remove_prebuffer && prebuffer) { + prebuffer = FALSE; + remove_prebuffer = FALSE; + } - if (rd_index > wr_index) - return (rd_index - wr_index) - 1; - return (buffer_size - (wr_index - rd_index)) - 1; - } - else { - if (paused) - return 0; - else - return 1000000; - } + if (prebuffer) + remove_prebuffer = TRUE; + + if (rd_index > wr_index) + return (rd_index - wr_index) - 1; + + return (buffer_size - (wr_index - rd_index)) - 1; } static void esdout_write_audio(gpointer data, gint length) { -#if 0 - AFormat new_format; - gint new_frequency, new_channels; - EffectPlugin *ep; - - new_format = input_format; - new_frequency = input_frequency; - new_channels = input_channels; - - ep = get_current_effect_plugin(); - if (effects_enabled() && ep && ep->query_format) { - ep->query_format(&new_format, &new_frequency, &new_channels); - } - - if (new_format != format || new_frequency != frequency - || new_channels != channels) { - output_time_offset += (gint) ((output_bytes * 1000) / ebps); - output_bytes = 0; - esdout_setup_format(new_format, new_frequency, new_channels); - frequency = new_frequency; - channels = new_channels; - esd_close(fd); - esdout_set_audio_params(); - } - if (effects_enabled() && ep && ep->mod_samples) - length = - ep->mod_samples(&data, length, input_format, input_frequency, - input_channels); -#endif while (length > 0) { int num_written; if (esd_translate) @@ -322,27 +283,16 @@ { gint cnt, off = 0; - if (!realtime) { - remove_prebuffer = FALSE; - - written += length; - while (length > 0) { - cnt = MIN(length, buffer_size - wr_index); - memcpy((gchar *) buffer + wr_index, (gchar *) ptr + off, cnt); - wr_index = (wr_index + cnt) % buffer_size; - length -= cnt; - off += cnt; + remove_prebuffer = FALSE; - } + written += length; + while (length > 0) { + cnt = MIN(length, buffer_size - wr_index); + memcpy((gchar *) buffer + wr_index, (gchar *) ptr + off, cnt); + wr_index = (wr_index + cnt) % buffer_size; + length -= cnt; + off += cnt; } - else { - if (paused) - return; - esdout_write_audio(ptr, length); - written += length; - - } - } void @@ -353,10 +303,7 @@ going = 0; - if (!realtime) - g_thread_join(buffer_thread); - else - esd_close(fd); + g_thread_join(buffer_thread); wr_index = 0; rd_index = 0; @@ -367,16 +314,10 @@ void esdout_flush(gint time) { - if (!realtime) { - flush = time; - while (flush != -1) - g_usleep(10000); - } - else { - output_time_offset = time; - written = (guint64) (time / 10) * (guint64) (input_bps / 100); - output_bytes = 0; - } + flush = time; + + while (flush != -1) + g_usleep(10000); } void @@ -446,18 +387,15 @@ input_frequency = frequency; input_bps = bps; - realtime = xmms_check_realtime_priority(); + buffer_size = (esd_cfg.buffer_size * input_bps) / 1000; + if (buffer_size < 8192) + buffer_size = 8192; + prebuffer_size = (buffer_size * esd_cfg.prebuffer) / 100; + if (buffer_size - prebuffer_size < 4096) + prebuffer_size = buffer_size - 4096; - if (!realtime) { - buffer_size = (esd_cfg.buffer_size * input_bps) / 1000; - if (buffer_size < 8192) - buffer_size = 8192; - prebuffer_size = (buffer_size * esd_cfg.prebuffer) / 100; - if (buffer_size - prebuffer_size < 4096) - prebuffer_size = buffer_size - 4096; + buffer = g_malloc0(buffer_size); - buffer = g_malloc0(buffer_size); - } flush = -1; prebuffer = 1; wr_index = rd_index = output_time_offset = written = output_bytes = 0; @@ -483,8 +421,8 @@ } going = 1; - if (!realtime) - buffer_thread = g_thread_create(esdout_loop, NULL, TRUE, NULL); + buffer_thread = g_thread_create(esdout_loop, NULL, TRUE, NULL); + return 1; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/esd/esd.c --- a/src/esd/esd.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/esd/esd.c Thu Sep 13 12:10:39 2007 -0500 @@ -21,25 +21,22 @@ OutputPlugin esd_op = { - NULL, - NULL, - "ESD Output Plugin", - esdout_init, - NULL, - esdout_about, - esdout_configure, - esdout_get_volume, - esdout_set_volume, - esdout_open, - esdout_write, - esdout_close, - esdout_flush, - esdout_pause, - esdout_free, - esdout_playing, - esdout_get_output_time, - esdout_get_written_time, - esdout_tell + .description = "ESD Output Plugin", + .init = esdout_init, + .about = esdout_about, + .configure = esdout_configure, + .get_volume = esdout_get_volume, + .set_volume = esdout_set_volume, + .open_audio = esdout_open, + .write_audio = esdout_write, + .close_audio = esdout_close, + .flush = esdout_flush, + .pause = esdout_pause, + .buffer_free = esdout_free, + .buffer_playing = esdout_playing, + .output_time = esdout_get_output_time, + .written_time = esdout_get_written_time, + .tell_audio = esdout_tell }; OutputPlugin *esd_oplist[] = { &esd_op, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/evdev-plug/ed.c --- a/src/evdev-plug/ed.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/evdev-plug/ed.c Thu Sep 13 12:10:39 2007 -0500 @@ -29,7 +29,7 @@ GeneralPlugin *evdevplug_gplist[] = { &ed_gp, NULL }; -DECLARE_PLUGIN(evdev-plug, NULL, NULL, NULL, NULL, NULL, evdevplug_gplist, NULL, NULL); +SIMPLE_GENERAL_PLUGIN(evdev-plug, evdevplug_gplist); GList *ed_device_listening_list = NULL; gboolean plugin_is_active = FALSE; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/evdev-plug/ed.h --- a/src/evdev-plug/ed.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/evdev-plug/ed.h Thu Sep 13 12:10:39 2007 -0500 @@ -32,13 +32,11 @@ GeneralPlugin ed_gp = { - NULL, /* handle */ - NULL, /* filename */ - "EvDev-Plug " ED_VERSION_PLUGIN, /* description */ - ed_init, /* init */ - ed_about, /* about */ - ed_config, /* configure */ - ed_cleanup /* cleanup */ + .description = "EvDev-Plug " ED_VERSION_PLUGIN, + .init = ed_init, + .about = ed_about, + .configure = ed_config, + .cleanup = ed_cleanup }; #endif /* !_I_ED_H */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/filewriter/filewriter.c --- a/src/filewriter/filewriter.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/filewriter/filewriter.c Thu Sep 13 12:10:39 2007 -0500 @@ -92,30 +92,24 @@ OutputPlugin file_op = { - NULL, - NULL, - "FileWriter Plugin", - file_init, - NULL, - file_about, - file_configure, - NULL, - NULL, - file_open, - file_write, - file_close, - file_flush, - file_pause, - file_free, - file_playing, - file_get_output_time, - file_get_written_time, - NULL + .description = "FileWriter Plugin", + .init = file_init, + .about = file_about, + .configure = file_configure, + .open_audio = file_open, + .write_audio = file_write, + .close_audio = file_close, + .flush = file_flush, + .pause = file_pause, + .buffer_free = file_free, + .buffer_playing = file_playing, + .output_time = file_get_output_time, + .written_time = file_get_written_time }; OutputPlugin *file_oplist[] = { &file_op, NULL }; -DECLARE_PLUGIN(filewriter, NULL, NULL, NULL, file_oplist, NULL, NULL, NULL, NULL); +SIMPLE_OUTPUT_PLUGIN(filewriter, file_oplist); static void set_plugin(void) { @@ -166,7 +160,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message(_("About FileWriter-Plugin"), + dialog = audacious_info_dialog(_("About FileWriter-Plugin"), _("FileWriter-Plugin\n\n" "This program is free software; you can redistribute it and/or modify\n" "it under the terms of the GNU General Public License as published by\n" @@ -189,19 +183,11 @@ static gint file_open(AFormat fmt, gint rate, gint nch) { gchar *filename = NULL, *temp = NULL; + const gchar *directory; gint pos; gint rv; Playlist *playlist; - if (xmms_check_realtime_priority()) - { - xmms_show_message(_("Error"), - _("You cannot use the FileWriter plugin\n" - "when you're running in realtime mode."), - _("OK"), FALSE, NULL, NULL); - return 0; - } - input.format = fmt; input.frequency = rate; input.channels = nch; @@ -228,7 +214,7 @@ } if (filename == NULL) { - filename = g_strdup(tuple_get_string(tuple, "file-name")); + filename = g_strdup(tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); if (!use_suffix) if ((temp = strrchr(filename, '.')) != NULL) *temp = '\0'; @@ -239,10 +225,8 @@ if (prependnumber) { - gint number; - if (tuple && tuple_get_int(tuple, "track-number")) - number = tuple_get_int(tuple, "track-number"); - else + gint number = tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL); + if (!tuple || !number) number = pos + 1; temp = g_strdup_printf("%.02d %s", number, filename); @@ -250,15 +234,13 @@ filename = temp; } - gchar *directory; if (save_original) - directory = g_strdup(tuple_get_string(tuple, "file-path")); + directory = tuple_get_string(tuple, FIELD_FILE_PATH, NULL); else - directory = g_strdup(file_path); + directory = file_path; temp = g_strdup_printf("file://%s/%s.%s", directory, filename, fileext_str[fileext]); - g_free(directory); g_free(filename); filename = temp; @@ -327,26 +309,6 @@ static void file_write(void *ptr, gint length) { - AFormat new_format; - int new_frequency, new_channels; - EffectPlugin *ep; - - new_format = input.format; - new_frequency = input.frequency; - new_channels = input.channels; - - ep = get_current_effect_plugin(); - if ( effects_enabled() && ep && ep->query_format ) { - ep->query_format(&new_format,&new_frequency,&new_channels); - } - - if ( effects_enabled() && ep && ep->mod_samples ) { - length = ep->mod_samples(&ptr,length, - input.format, - input.frequency, - input.channels ); - } - if (input.format == FMT_S8 || input.format == FMT_S16_BE || input.format == FMT_U16_LE || input.format == FMT_U16_BE || input.format == FMT_U16_NE) diff -r 5dfa4fc721b0 -r 1359a81e4674 src/filewriter/flac.c --- a/src/filewriter/flac.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/filewriter/flac.c Thu Sep 13 12:10:39 2007 -0500 @@ -107,14 +107,14 @@ meta = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "title"), "title=%s"); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "artist"), "artist=%s"); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "album"), "album=%s"); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "genre"), "genre=%s"); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "comment"), "comment=%s"); - INSERT_VORBIS_COMMENT(tuple_get_string(tuple, "date"), "date=%s"); - INSERT_VORBIS_COMMENT(tuple_get_int(tuple, "year"), "year=%d"); - INSERT_VORBIS_COMMENT(tuple_get_int(tuple, "track-number"), "tracknumber=%d"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_TITLE, NULL), "title=%s"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_ARTIST, NULL), "artist=%s"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_ALBUM, NULL), "album=%s"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_GENRE, NULL), "genre=%s"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_COMMENT, NULL), "comment=%s"); + INSERT_VORBIS_COMMENT(tuple_get_string(tuple, FIELD_DATE, NULL), "date=%s"); + INSERT_VORBIS_COMMENT(tuple_get_int(tuple, FIELD_YEAR, NULL), "year=%d"); + INSERT_VORBIS_COMMENT(tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL), "tracknumber=%d"); FLAC__stream_encoder_set_metadata(flac_encoder, &meta, 1); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/filewriter/mp3.c --- a/src/filewriter/mp3.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/filewriter/mp3.c Thu Sep 13 12:10:39 2007 -0500 @@ -207,24 +207,24 @@ if (tuple) { /* XXX write UTF-8 even though libmp3lame does id3v2.3. --yaz */ #ifdef DEBUG - g_print("track_name = %s\n", tuple_get_string(tuple, "title")); + g_print("track_name = %s\n", tuple_get_string(tuple, FIELD_TITLE, NULL)); #endif - lameid3.track_name = g_strdup(tuple_get_string(tuple, "title")); + lameid3.track_name = g_strdup(tuple_get_string(tuple, FIELD_TITLE, NULL)); id3tag_set_title(gfp, lameid3.track_name); - lameid3.performer = g_strdup(tuple_get_string(tuple, "artist")); + lameid3.performer = g_strdup(tuple_get_string(tuple, FIELD_ARTIST, NULL)); id3tag_set_artist(gfp, lameid3.performer); - lameid3.album_name = g_strdup(tuple_get_string(tuple, "album")); + lameid3.album_name = g_strdup(tuple_get_string(tuple, FIELD_ALBUM, NULL)); id3tag_set_album(gfp, lameid3.album_name); - lameid3.genre = g_strdup(tuple_get_string(tuple, "genre")); + lameid3.genre = g_strdup(tuple_get_string(tuple, FIELD_GENRE, NULL)); id3tag_set_genre(gfp, lameid3.genre); - lameid3.year = g_strdup_printf("%d", tuple_get_int(tuple, "year")); + lameid3.year = g_strdup_printf("%d", tuple_get_int(tuple, FIELD_YEAR, NULL)); id3tag_set_year(gfp, lameid3.year); - lameid3.track_number = g_strdup_printf("%d", tuple_get_int(tuple, "track-number")); + lameid3.track_number = g_strdup_printf("%d", tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); id3tag_set_track(gfp, lameid3.track_number); // id3tag_write_v1(gfp); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/filewriter/vorbis.c --- a/src/filewriter/vorbis.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/filewriter/vorbis.c Thu Sep 13 12:10:39 2007 -0500 @@ -85,32 +85,32 @@ if (tuple) { const gchar *scratch; + gchar tmpstr[32]; + gint scrint; - if ((scratch = tuple_get_string(tuple, "title"))) + if ((scratch = tuple_get_string(tuple, FIELD_TITLE, NULL))) vorbis_comment_add_tag(&vc, "title", (gchar *) scratch); - if ((scratch = tuple_get_string(tuple, "artist"))) + if ((scratch = tuple_get_string(tuple, FIELD_ARTIST, NULL))) vorbis_comment_add_tag(&vc, "artist", (gchar *) scratch); - if ((scratch = tuple_get_string(tuple, "album"))) + if ((scratch = tuple_get_string(tuple, FIELD_ALBUM, NULL))) vorbis_comment_add_tag(&vc, "album", (gchar *) scratch); - if ((scratch = tuple_get_string(tuple, "genre"))) + if ((scratch = tuple_get_string(tuple, FIELD_GENRE, NULL))) vorbis_comment_add_tag(&vc, "genre", (gchar *) scratch); - if ((scratch = tuple_get_string(tuple, "date"))) + if ((scratch = tuple_get_string(tuple, FIELD_DATE, NULL))) vorbis_comment_add_tag(&vc, "date", (gchar *) scratch); - if ((scratch = tuple_get_string(tuple, "comment"))) + if ((scratch = tuple_get_string(tuple, FIELD_COMMENT, NULL))) vorbis_comment_add_tag(&vc, "comment", (gchar *) scratch); - if (tuple_get_int(tuple, "track-number")) + if ((scrint = tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL))) { - gchar *tmp = g_strdup_printf("%d", tuple_get_int(tuple, "track-number")); - vorbis_comment_add_tag(&vc, "tracknumber", tmp); - g_free(tmp); + g_snprintf(tmpstr, sizeof(tmpstr), "%d", scrint); + vorbis_comment_add_tag(&vc, "tracknumber", tmpstr); } - if (tuple_get_int(tuple, "year")) + if ((scrint = tuple_get_int(tuple, FIELD_YEAR, NULL))) { - gchar *tmp = g_strdup_printf("%d", tuple_get_int(tuple, "year")); - vorbis_comment_add_tag(&vc, "year", tmp); - g_free(tmp); + g_snprintf(tmpstr, sizeof(tmpstr), "%d", scrint); + vorbis_comment_add_tag(&vc, "year", tmpstr); } } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/flacng/plugin.c --- a/src/flacng/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/flacng/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -30,35 +30,18 @@ static gchar *flac_fmts[] = { "flac", NULL }; InputPlugin flac_ip = { - NULL, - NULL, - "FLACng Audio Plugin", - flac_init, - flac_aboutbox, - NULL, - flac_is_our_file, - NULL, - flac_play_file, - flac_stop, - flac_pause, - flac_seek, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - flac_get_song_info, - NULL, - NULL, - flac_get_song_tuple, // get a tuple - NULL, - NULL, // write a tuple back to a file as a tag - flac_is_our_fd, // version of is_our_file which is handed an FD - flac_fmts // vector of fileextensions allowed by the plugin + .description = "FLACng Audio Plugin", + .init = flac_init, + .about = flac_aboutbox, + .is_our_file = flac_is_our_file, + .play_file = flac_play_file, + .stop = flac_stop, + .pause = flac_pause, + .seek = flac_seek, + .get_song_info = flac_get_song_info, + .get_song_tuple = flac_get_song_tuple, // get a tuple + .is_our_file_from_vfs = flac_is_our_fd, // version of is_our_file which is handed an FD + .vfs_extensions = flac_fmts // vector of fileextensions allowed by the plugin }; InputPlugin *flac_iplist[] = { &flac_ip, NULL }; @@ -631,7 +614,7 @@ seek_to = time; while (-1 != seek_to) { - xmms_usleep(10000); + g_usleep(10000); } _LEAVE; @@ -738,7 +721,7 @@ "\n" "http://www.skytale.net/projects/bmp-flac2/"), NULL); - about_window = xmms_show_message(_("About FLAC Audio Plugin"), + about_window = audacious_info_dialog(_("About FLAC Audio Plugin"), about_text, _("OK"), FALSE, NULL, NULL); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/flacng/seekable_stream_callbacks.c --- a/src/flacng/seekable_stream_callbacks.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/flacng/seekable_stream_callbacks.c Thu Sep 13 12:10:39 2007 -0500 @@ -20,7 +20,6 @@ #include #include #include -#include #include #include "flacng.h" #include "tools.h" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/flacng/tools.c --- a/src/flacng/tools.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/flacng/tools.c Thu Sep 13 12:10:39 2007 -0500 @@ -241,29 +241,29 @@ out = tuple_new_from_filename(filename); - tuple_associate_string(out, "codec", "Free Lossless Audio Codec (FLAC)"); - tuple_associate_string(out, "quality", "lossless"); + tuple_associate_string(out, FIELD_CODEC, NULL, "Free Lossless Audio Codec (FLAC)"); + tuple_associate_string(out, FIELD_CODEC, NULL, "lossless"); - tuple_associate_string(out, "artist", info->comment.artist); - tuple_associate_string(out, "title", info->comment.title); - tuple_associate_string(out, "album", info->comment.album); - tuple_associate_string(out, "genre", info->comment.genre); + tuple_associate_string(out, FIELD_ARTIST, NULL, info->comment.artist); + tuple_associate_string(out, FIELD_TITLE, NULL, info->comment.title); + tuple_associate_string(out, FIELD_ALBUM, NULL, info->comment.album); + tuple_associate_string(out, FIELD_GENRE, NULL, info->comment.genre); if (info->comment.tracknumber != NULL) - tuple_associate_int(out, "track-number", atoi(info->comment.tracknumber)); + tuple_associate_int(out, FIELD_TRACK_NUMBER, NULL, atoi(info->comment.tracknumber)); if (info->comment.date != NULL) - tuple_associate_int(out, "year", atoi(info->comment.date)); + tuple_associate_int(out, FIELD_YEAR, NULL, atoi(info->comment.date)); /* * Calculate the stream length (milliseconds) */ if (0 == info->stream.samplerate) { _ERROR("Invalid sample rate for stream!"); - tuple_associate_int(out, "length", -1); + tuple_associate_int(out, FIELD_LENGTH, NULL, -1); } else { - tuple_associate_int(out, "length", (info->stream.samples / info->stream.samplerate) * 1000); - _DEBUG("Stream length: %d seconds", tuple_get_int(out, "length")); + tuple_associate_int(out, FIELD_LENGTH, NULL, (info->stream.samples / info->stream.samplerate) * 1000); + _DEBUG("Stream length: %d seconds", tuple_get_int(out, FIELD_LENGTH, NULL)); } _DEBUG("Tuple created: [%p]", out); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/hotkey/plugin.c --- a/src/hotkey/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/hotkey/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -51,7 +51,7 @@ #include -/* for xmms_show_message () */ +/* for audacious_info_dialog () */ #include @@ -129,17 +129,15 @@ static GeneralPlugin audacioushotkey = { - NULL, - NULL, - "Global Hotkey", - init, - about, - configure, - cleanup + .description = "Global Hotkey", + .init = init, + .about = about, + .configure = configure, + .cleanup = cleanup }; GeneralPlugin *hotkey_gplist[] = { &audacioushotkey, NULL }; -DECLARE_PLUGIN(hotkey, NULL, NULL, NULL, NULL, NULL, hotkey_gplist, NULL, NULL); +SIMPLE_GENERAL_PLUGIN(hotkey, hotkey_gplist); @@ -902,7 +900,7 @@ { static GtkWidget *dialog; - dialog = xmms_show_message (_("About Global Hotkey Plugin"), + dialog = audacious_info_dialog (_("About Global Hotkey Plugin"), _("Global Hotkey Plugin\n" "Control the player with global key combinations or multimedia keys.\n\n" "Copyright (C) 2007 Sascha Hlusiak \n\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/jack/jack.c --- a/src/jack/jack.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/jack/jack.c Thu Sep 13 12:10:39 2007 -0500 @@ -429,72 +429,9 @@ void jack_write(gpointer ptr, gint length) { long written; -#if 0 - EffectPlugin *ep; - AFormat new_format; - int new_frequency, new_channels; - long positionMS; -#endif TRACE("starting length of %d\n", length); -#if 0 - /* copy the current values into temporary values */ - new_format = input.format; - new_frequency = input.frequency; - new_channels = input.channels; - - /* query xmms for the current plugin */ - ep = get_current_effect_plugin(); - if(effects_enabled() && ep && ep->query_format) - { - ep->query_format(&new_format, &new_frequency, &new_channels); - } - - /* if the format has changed take this into account by modifying */ - /* the time offset and reopening the device with the new format settings */ - if (new_format != effect.format || - new_frequency != effect.frequency || - new_channels != effect.channels) - { - TRACE("format changed, storing new values and opening/closing jack\n"); - TRACE("effect.format == %d, new_format == %d, effect.frequency == %ld, new_frequency == %d, effect.channels == %d, new_channels = %d\n", - effect.format, new_format, effect.frequency, new_frequency, effect.channels, new_channels); - - positionMS = JACK_GetPosition(driver, MILLISECONDS, PLAYED); - - jack_close(); - jack_open(new_format, new_frequency, new_channels); - - /* restore the position after the open and close */ - JACK_SetState(driver, PAUSED); - JACK_SetPosition(driver, MILLISECONDS, positionMS); - JACK_SetState(driver, PLAYING); - } - - /* if effects are enabled and we have a plugin, run the current */ - /* samples through the plugin */ - if (effects_enabled() && ep && ep->mod_samples) - { - length = ep->mod_samples(&ptr, length, - input.format, - input.frequency, - input.channels); - TRACE("effects_enabled(), length is now %d\n", length); - } - - TRACE("effect.frequency == %ld, input.frequency == %ld, output.frequency == %ld\n", - effect.frequency, input.frequency, output.frequency); - - /* if we need rate conversion, perform it here */ - if((effect.frequency != output.frequency) && isXmmsFrequencyAvailable) - { - TRACE("performing rate conversion from '%ld'(effect) to '%ld'(output)\n", effect.frequency, output.frequency); - length = freq_convert (convertb, &ptr, length, effect.frequency, output.frequency); - } - - TRACE("length = %d\n", length); -#endif /* loop until we have written all the data out to the jack device */ /* this is due to xmms' audio driver api */ char *buf = (char*)ptr; @@ -594,7 +531,7 @@ if ( aboutbox == NULL ) { - aboutbox = xmms_show_message( + aboutbox = audacious_info_dialog( _("About JACK Output Plugin 0.17"), _("XMMS jack Driver 0.17\n\n" "xmms-jack.sf.net\nChris Morgan\n\n" @@ -615,27 +552,25 @@ OutputPlugin jack_op = { - NULL, - NULL, - "JACK Output Plugin 0.17", - jack_init, - jack_cleanup, - jack_about, - jack_configure, - jack_get_volume, - jack_set_volume, - jack_open, - jack_write, - jack_close, - jack_flush, - jack_pause, - jack_free, - jack_playing, - jack_get_output_time, - jack_get_written_time, - jack_tell_audio + .description = "JACK Output Plugin 0.17", + .init = jack_init, + .cleanup = jack_cleanup, + .about = jack_about, + .configure = jack_configure, + .get_volume = jack_get_volume, + .set_volume = jack_set_volume, + .open_audio = jack_open, + .write_audio = jack_write, + .close_audio = jack_close, + .flush = jack_flush, + .pause = jack_pause, + .buffer_free = jack_free, + .buffer_playing = jack_playing, + .output_time = jack_get_output_time, + .written_time = jack_get_written_time, + .tell_audio = jack_tell_audio }; OutputPlugin *jack_oplist[] = { &jack_op, NULL }; -DECLARE_PLUGIN(jack, NULL, NULL, NULL, jack_oplist, NULL, NULL, NULL, NULL); +SIMPLE_OUTPUT_PLUGIN(jack, jack_oplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/ladspa/ladspa.c --- a/src/ladspa/ladspa.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/ladspa/ladspa.c Thu Sep 13 12:10:39 2007 -0500 @@ -117,14 +117,11 @@ static GtkWidget *config_window = NULL, *run_clist = NULL; static EffectPlugin ladspa_ep = { - NULL, NULL, - PLUGIN_NAME, - start, - stop, - NULL, - configure, - apply_effect, - NULL + .description = PLUGIN_NAME, + .init = start, + .cleanup = stop, + .configure = configure, + .mod_samples = apply_effect, }; EffectPlugin *ladspa_eplist[] = { &ladspa_ep, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/m3u/m3u.c --- a/src/m3u/m3u.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/m3u/m3u.c Thu Sep 13 12:10:39 2007 -0500 @@ -92,8 +92,7 @@ if ((file = vfs_fopen(uri ? uri : filename, "rb")) == NULL) return; - if (uri) - g_free(uri); + g_free(uri); line = g_malloc(line_len); while (vfs_fgets(line, line_len, file)) { @@ -134,9 +133,7 @@ uri = g_filename_to_uri(line, NULL, NULL); playlist_load_ins_file(playlist, uri ? uri : line, filename, pos, ext_title, ext_len); - - if (uri) - g_free(uri); + g_free(uri); str_replace_in(&ext_title, NULL); ext_len = -1; @@ -163,13 +160,13 @@ fn = g_filename_to_uri(filename, NULL, NULL); file = vfs_fopen(fn ? fn : filename, "wb"); - g_free(fn); fn = NULL; + g_free(fn); g_return_if_fail(file != NULL); if (cfg.use_pl_metadata) vfs_fprintf(file, "#EXTM3U\n"); - PLAYLIST_LOCK(playlist->mutex); + PLAYLIST_LOCK(playlist); for (node = playlist->entries; node; node = g_list_next(node)) { PlaylistEntry *entry = PLAYLIST_ENTRY(node->data); @@ -194,11 +191,10 @@ fn = g_filename_from_uri(entry->filename, NULL, NULL); vfs_fprintf(file, "%s\n", fn ? fn : entry->filename); - - g_free(fn); fn = NULL; + g_free(fn); } - PLAYLIST_UNLOCK(playlist->mutex); + PLAYLIST_UNLOCK(playlist); vfs_fclose(file); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/madplug/decoder.c --- a/src/madplug/decoder.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/madplug/decoder.c Thu Sep 13 12:10:39 2007 -0500 @@ -192,7 +192,7 @@ info->duration = mad_timer_zero; // should be cleared before loop, if we use it as break condition. if(info->fileinfo_request == TRUE) { - tuple_associate_int(info->tuple, "length", -1); + tuple_associate_int(info->tuple, FIELD_LENGTH, NULL, -1); info->fileinfo_request = FALSE; } @@ -270,10 +270,10 @@ g_message("size = %d", stream.next_frame - stream.this_frame); #endif #endif - if(tuple_get_int(info->tuple, "length") == -1) + if(tuple_get_int(info->tuple, FIELD_LENGTH, NULL) == -1) mad_timer_add(&info->duration, header.duration); else { - gint length = tuple_get_int(info->tuple, "length"); + gint length = tuple_get_int(info->tuple, FIELD_LENGTH, NULL); info->duration.seconds = length / 1000; info->duration.fraction = length % 1000; @@ -357,7 +357,7 @@ #ifdef DEBUG g_message("info->frames = %d", info->frames); #endif - if(tuple_get_int(info->tuple, "length") == -1) { + if(tuple_get_int(info->tuple, FIELD_LENGTH, NULL) == -1) { if(xing_bitrate > 0.0) { /* calc duration with xing info */ double tmp = 8 * (double)info->xing.bytes * 1000 / xing_bitrate; @@ -371,7 +371,7 @@ } } else { - gint length = tuple_get_int(info->tuple, "length"); + gint length = tuple_get_int(info->tuple, FIELD_LENGTH, NULL); info->duration.seconds = length / 1000; info->duration.fraction = length % 1000; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/madplug/fileinfo.c --- a/src/madplug/fileinfo.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/madplug/fileinfo.c Thu Sep 13 12:10:39 2007 -0500 @@ -155,7 +155,7 @@ /* read tag from file */ id3file = id3_file_open(info.filename, ID3_FILE_MODE_READWRITE); if (!id3file) { - xmms_show_message(_("File Info"), _("Couldn't open file!"), _("Ok"), + audacious_info_dialog(_("File Info"), _("Couldn't open file!"), _("Ok"), FALSE, NULL, NULL); return; } @@ -233,7 +233,7 @@ printf("about to write id3tag\n"); #endif if (id3_file_update(id3file) != 0) { - xmms_show_message(_("File Info"), _("Couldn't write tag!"), _("Ok"), FALSE, + audacious_info_dialog(_("File Info"), _("Couldn't write tag!"), _("Ok"), FALSE, NULL, NULL); } id3_file_close(id3file); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/madplug/input.c --- a/src/madplug/input.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/madplug/input.c Thu Sep 13 12:10:39 2007 -0500 @@ -322,12 +322,12 @@ return rtn; } -static void input_set_and_free_tag(struct id3_tag *tag, Tuple *tuple, const gchar *frame, const gchar *tuple_name) +static void input_set_and_free_tag(struct id3_tag *tag, Tuple *tuple, const gchar *frame, const gint nfield) { gchar *scratch = input_id3_get_string(tag, frame); - tuple_associate_string(tuple, tuple_name, scratch); - tuple_associate_string(tuple, frame, scratch); + tuple_associate_string(tuple, nfield, NULL, scratch); + tuple_associate_string(tuple, -1, frame, scratch); g_free(scratch); } @@ -339,7 +339,7 @@ if (info->tuple == NULL) { tuple = tuple_new(); info->tuple = tuple; - tuple_associate_int(info->tuple, "length", -1); + tuple_associate_int(info->tuple, FIELD_LENGTH, NULL, -1); } } @@ -349,19 +349,17 @@ static void input_read_tag(struct mad_info_t *info) { gchar *string = NULL; - gchar *realfn = NULL; Tuple *tuple; glong curpos = 0; #ifdef DEBUG g_message("f: input_read_tag"); #endif - if (info->tuple == NULL) { - tuple = tuple_new(); - info->tuple = tuple; - } - else - tuple = info->tuple; + if (info->tuple != NULL) + tuple_free(info->tuple); + + tuple = tuple_new_from_filename(info->filename); + info->tuple = tuple; if(info->infile) { curpos = vfs_ftell(info->infile); @@ -386,15 +384,15 @@ return; } - input_set_and_free_tag(info->tag, tuple, ID3_FRAME_ARTIST, "artist"); - input_set_and_free_tag(info->tag, tuple, ID3_FRAME_TITLE, "title"); - input_set_and_free_tag(info->tag, tuple, ID3_FRAME_ALBUM, "album"); - input_set_and_free_tag(info->tag, tuple, ID3_FRAME_GENRE, "genre"); - input_set_and_free_tag(info->tag, tuple, ID3_FRAME_COMMENT, "comment"); + input_set_and_free_tag(info->tag, tuple, ID3_FRAME_ARTIST, FIELD_ARTIST); + input_set_and_free_tag(info->tag, tuple, ID3_FRAME_TITLE, FIELD_TITLE); + input_set_and_free_tag(info->tag, tuple, ID3_FRAME_ALBUM, FIELD_ALBUM); + input_set_and_free_tag(info->tag, tuple, ID3_FRAME_GENRE, FIELD_GENRE); + input_set_and_free_tag(info->tag, tuple, ID3_FRAME_COMMENT, FIELD_COMMENT); string = input_id3_get_string(info->tag, ID3_FRAME_TRACK); if (string) { - tuple_associate_int(tuple, "track-number", atoi(string)); + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, atoi(string)); g_free(string); string = NULL; } @@ -406,7 +404,7 @@ string = input_id3_get_string(info->tag, "TYER"); if (string) { - tuple_associate_int(tuple, "year", atoi(string)); + tuple_associate_int(tuple, FIELD_YEAR, NULL, atoi(string)); g_free(string); string = NULL; } @@ -414,33 +412,17 @@ // length string = input_id3_get_string(info->tag, "TLEN"); if (string) { - tuple_associate_int(tuple, "length", atoi(string)); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, atoi(string)); #ifdef DEBUG g_message("input_read_tag: TLEN = %d", atoi(string)); #endif g_free(string); string = NULL; - } - - realfn = g_filename_from_uri(info->filename, NULL, NULL); + } else + tuple_associate_int(tuple, FIELD_LENGTH, NULL, -1); - string = g_strdup(g_basename(realfn ? realfn : info->filename)); - tuple_associate_string(tuple, "file-name", string); - g_free(string); - - string = g_path_get_dirname(realfn ? realfn : info->filename); - tuple_associate_string(tuple, "file-path", string); - g_free(string); - - if ((string = strrchr(realfn ? realfn : info->filename, '.'))) { - *string = '\0'; // make filename end at dot. - tuple_associate_string(tuple, "file-ext", string + 1); - } - - g_free(realfn); realfn = NULL; - - tuple_associate_string(tuple, "codec", "MPEG Audio (MP3)"); - tuple_associate_string(tuple, "quality", "lossy"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "MPEG Audio (MP3)"); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "lossy"); info->title = tuple_formatter_make_title_string(tuple, audmad_config.title_override == TRUE ? audmad_config.id3_format : get_gentitle_format()); @@ -470,8 +452,8 @@ g_free(info->title); info->title = NULL; - tuple_disassociate(info->tuple, "title"); - tuple_disassociate(info->tuple, "album"); + tuple_disassociate(info->tuple, FIELD_TITLE, NULL); + tuple_disassociate(info->tuple, FIELD_ALBUM, NULL); tmp = vfs_get_metadata(info->infile, "track-name"); if(tmp){ @@ -479,7 +461,7 @@ gchar *scratch; scratch = str_to_utf8(tmp); - tuple_associate_string(info->tuple, "title", scratch); + tuple_associate_string(info->tuple, FIELD_TITLE, NULL, scratch); g_free(scratch); g_free(tmp); @@ -492,8 +474,8 @@ gchar *scratch; scratch = str_to_utf8(tmp); - tuple_associate_string(info->tuple, "album", scratch); - tuple_associate_string(info->tuple, "stream", scratch); + tuple_associate_string(info->tuple, FIELD_ALBUM, NULL, scratch); + tuple_associate_string(info->tuple, -1, "stream", scratch); g_free(scratch); g_free(tmp); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/madplug/plugin.c --- a/src/madplug/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/madplug/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -516,14 +516,14 @@ } if (input_get_info(&myinfo, info.remote ? TRUE : audmad_config.fast_play_time_calc) == TRUE) { - if(tuple_get_string(myinfo.tuple, "track-name")) - *title = g_strdup(tuple_get_string(myinfo.tuple, "track-name")); + if(tuple_get_string(myinfo.tuple, -1, "track-name")) + *title = g_strdup(tuple_get_string(myinfo.tuple, -1, "track-name")); else *title = g_strdup(url); - if(tuple_get_int(myinfo.tuple, "length") == -1) + if(tuple_get_int(myinfo.tuple, FIELD_LENGTH, NULL) == -1) *length = mad_timer_count(myinfo.duration, MAD_UNITS_MILLISECONDS); else - *length = tuple_get_int(myinfo.tuple, "length"); + *length = tuple_get_int(myinfo.tuple, FIELD_LENGTH, NULL); } else { *title = g_strdup(url); @@ -553,10 +553,10 @@ } if (input_get_info(&myinfo, info.remote ? TRUE : audmad_config.fast_play_time_calc) == TRUE) { - if(tuple_get_int(myinfo.tuple, "length") == -1) + if(tuple_get_int(myinfo.tuple, FIELD_LENGTH, NULL) == -1) *length = mad_timer_count(myinfo.duration, MAD_UNITS_MILLISECONDS); else - *length = tuple_get_int(myinfo.tuple, "length"); + *length = tuple_get_int(myinfo.tuple, FIELD_LENGTH, NULL); } else { *length = -1; @@ -592,7 +592,7 @@ MAD_VERSION_MAJOR, MAD_VERSION_MINOR, MAD_VERSION_PATCH, MAD_VERSION_EXTRA); - aboutbox = xmms_show_message(_("About MPEG Audio Plugin"), + aboutbox = audacious_info_dialog(_("About MPEG Audio Plugin"), scratch, _("Ok"), FALSE, NULL, NULL); @@ -617,7 +617,7 @@ va_end(args); GDK_THREADS_ENTER(); error_dialog = - xmms_show_message(_("Error"), string, _("Ok"), FALSE, 0, 0); + audacious_info_dialog(_("Error"), string, _("Ok"), FALSE, 0, 0); gtk_signal_connect(GTK_OBJECT(error_dialog), "destroy", GTK_SIGNAL_FUNC(gtk_widget_destroyed), &error_dialog); @@ -629,9 +629,9 @@ extern void audmad_get_file_info(char *filename); extern void audmad_configure(); -static void __set_and_free(Tuple *tuple, gchar *name, gchar *value) +static void __set_and_free(Tuple *tuple, gint nfield, gchar *name, gchar *value) { - tuple_associate_string(tuple, name, value); + tuple_associate_string(tuple, nfield, name, value); g_free(value); } @@ -657,7 +657,7 @@ if(info.remote && mad_timer_count(info.duration, MAD_UNITS_SECONDS) <= 0){ if((fd && vfs_is_streaming(fd)) || (info.playback && info.playback->playing)) { gchar *tmp = NULL; - tuple = tuple_new(); + tuple = tuple_new_from_filename(filename); #ifdef DEBUG if(info.playback) @@ -668,7 +668,7 @@ gchar *scratch; scratch = str_to_utf8(tmp); - tuple_associate_string(tuple, "title", scratch); + tuple_associate_string(tuple, FIELD_TITLE, NULL, scratch); g_free(tmp); g_free(scratch); @@ -679,7 +679,7 @@ gchar *scratch; scratch = str_to_utf8(tmp); - tuple_associate_string(tuple, "title", scratch); + tuple_associate_string(tuple, FIELD_TITLE, NULL, scratch); g_free(tmp); g_free(scratch); @@ -687,17 +687,11 @@ } #ifdef DEBUG - g_message("audmad_get_song_tuple: track_name = %s", tuple_get_string(tuple, "track-name")); - g_message("audmad_get_song_tuple: stream_name = %s", tuple_get_string(tuple, "stream-name")); + g_message("audmad_get_song_tuple: track_name = %s", tuple_get_string(tuple, -1, "track-name")); + g_message("audmad_get_song_tuple: stream_name = %s", tuple_get_string(tuple, -1, "stream-name")); #endif - realfn = g_filename_from_uri(filename, NULL, NULL); - __set_and_free(tuple, "file-name", g_path_get_basename(realfn ? realfn : filename)); - __set_and_free(tuple, "file-path", g_path_get_dirname(realfn ? realfn : filename)); - tuple_associate_string(tuple, "file-ext", extname(realfn ? realfn : filename)); - g_free(realfn); realfn = NULL; - - tuple_associate_int(tuple, "length", -1); - tuple_associate_int(tuple, "mtime", 0); // this indicates streaming + tuple_associate_int(tuple, FIELD_LENGTH, NULL, -1); + tuple_associate_int(tuple, FIELD_MTIME, NULL, 0); // this indicates streaming #ifdef DEBUG g_message("get_song_tuple: remote: tuple"); #endif @@ -718,7 +712,7 @@ } tuple = tuple_new(); - tuple_associate_int(tuple, "length", -1); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, -1); id3file = id3_file_vfsopen(fd, ID3_FILE_MODE_READONLY); @@ -726,9 +720,9 @@ tag = id3_file_tag(id3file); if (tag) { - __set_and_free(tuple, "artist", input_id3_get_string(tag, ID3_FRAME_ARTIST)); - __set_and_free(tuple, "album", input_id3_get_string(tag, ID3_FRAME_ALBUM)); - __set_and_free(tuple, "title", input_id3_get_string(tag, ID3_FRAME_TITLE)); + __set_and_free(tuple, FIELD_ARTIST, NULL, input_id3_get_string(tag, ID3_FRAME_ARTIST)); + __set_and_free(tuple, FIELD_ALBUM, NULL, input_id3_get_string(tag, ID3_FRAME_ALBUM)); + __set_and_free(tuple, FIELD_TITLE, NULL, input_id3_get_string(tag, ID3_FRAME_TITLE)); // year string = NULL; @@ -737,22 +731,22 @@ string = input_id3_get_string(tag, "TYER"); if (string) { - tuple_associate_int(tuple, "year", atoi(string)); + tuple_associate_int(tuple, FIELD_YEAR, NULL, atoi(string)); g_free(string); string = NULL; } realfn = g_filename_from_uri(filename, NULL, NULL); - __set_and_free(tuple, "file-name", g_path_get_basename(realfn ? realfn : filename)); - __set_and_free(tuple, "file-path", g_path_get_dirname(realfn ? realfn : filename)); - tuple_associate_string(tuple, "file-ext", extname(realfn ? realfn : filename)); + __set_and_free(tuple, FIELD_FILE_NAME, NULL, g_path_get_basename(realfn ? realfn : filename)); + __set_and_free(tuple, FIELD_FILE_PATH, NULL, g_path_get_dirname(realfn ? realfn : filename)); + tuple_associate_string(tuple, FIELD_FILE_EXT, NULL, extname(realfn ? realfn : filename)); g_free(realfn); realfn = NULL; // length string = input_id3_get_string(tag, "TLEN"); if (string) { - tuple_associate_int(tuple, "length", atoi(string)); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, atoi(string)); #ifdef DEBUG - g_message("get_song_tuple: TLEN = %d", tuple_get_int(tuple, "length")); + g_message("get_song_tuple: TLEN = %d", tuple_get_int(tuple, FIELD_LENGTH, NULL)); #endif g_free(string); string = NULL; @@ -761,46 +755,46 @@ char *dummy = NULL; int length = 0; audmad_get_song_length(filename, &length, fd); - tuple_associate_int(tuple, "length", length); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, length); g_free(dummy); } // track number string = input_id3_get_string(tag, ID3_FRAME_TRACK); if (string) { - tuple_associate_int(tuple, "track-number", atoi(string)); + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, atoi(string)); g_free(string); string = NULL; } // genre - __set_and_free(tuple, "genre", input_id3_get_string(tag, ID3_FRAME_GENRE)); - __set_and_free(tuple, "comment", input_id3_get_string(tag, ID3_FRAME_COMMENT)); + __set_and_free(tuple, FIELD_GENRE, NULL, input_id3_get_string(tag, ID3_FRAME_GENRE)); + __set_and_free(tuple, FIELD_COMMENT, NULL, input_id3_get_string(tag, ID3_FRAME_COMMENT)); #ifdef DEBUG - g_message("genre = %s", tuple_get_string(tuple, "genre")); + g_message("genre = %s", tuple_get_string(tuple, FIELD_GENRE, NULL)); #endif } id3_file_close(id3file); } // id3file else { // no id3tag realfn = g_filename_from_uri(filename, NULL, NULL); - __set_and_free(tuple, "file-name", g_path_get_basename(realfn ? realfn : filename)); - __set_and_free(tuple, "file-path", g_path_get_dirname(realfn ? realfn : filename)); - tuple_associate_string(tuple, "file-ext", extname(realfn ? realfn : filename)); + __set_and_free(tuple, FIELD_FILE_NAME, NULL, g_path_get_basename(realfn ? realfn : filename)); + __set_and_free(tuple, FIELD_FILE_PATH, NULL, g_path_get_dirname(realfn ? realfn : filename)); + tuple_associate_string(tuple, FIELD_FILE_EXT, NULL, extname(realfn ? realfn : filename)); g_free(realfn); realfn = NULL; // length { char *dummy = NULL; int length = 0; - if(tuple_get_int(tuple, "length") == -1) { + if(tuple_get_int(tuple, FIELD_LENGTH, NULL) == -1) { audmad_get_song_length(filename, &length, fd); - tuple_associate_int(tuple, "length", length); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, length); } g_free(dummy); } } - tuple_associate_string(tuple, "quality", "lossy"); - tuple_associate_string(tuple, "codec", "MPEG Audio (MP3)"); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "lossy"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "MPEG Audio (MP3)"); if(local_fd) vfs_fclose(fd); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/metronom/metronom.c --- a/src/metronom/metronom.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/metronom/metronom.c Thu Sep 13 12:10:39 2007 -0500 @@ -82,7 +82,7 @@ static void metronom_about(void) { static GtkWidget *box; - box = xmms_show_message( + box = audacious_info_dialog( _("About Metronom"), _("A Tact Generator by Martin Strauss \n\nTo use it, add a URL: tact://beats*num/den\ne.g. tact://77 to play 77 beats per minute\nor tact://60*3/4 to play 60 bpm in 3/4 tacts"), _("Ok"), FALSE, NULL, NULL); @@ -148,7 +148,7 @@ t++; } while(playback->output->buffer_free() < BUF_BYTES && going) - xmms_usleep(30000); + g_usleep(30000); if (going) produce_audio(playback->output->written_time(), FMT_S16_LE, 1, BUF_BYTES, data, &going); } @@ -270,34 +270,15 @@ static InputPlugin metronom_ip = { - NULL, - NULL, - "Tact Generator", - metronom_init, - metronom_about, - NULL, - metronom_is_our_file, - NULL, - metronom_play, - metronom_stop, - metronom_pause, - NULL, - NULL, - metronom_get_time, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - metronom_song_info, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, + .description = "Tact Generator", + .init = metronom_init, + .about = metronom_about, + .is_our_file = metronom_is_our_file, + .play_file = metronom_play, + .stop = metronom_stop, + .pause = metronom_pause, + .get_time = metronom_get_time, + .get_song_info = metronom_song_info, }; InputPlugin *metronom_iplist[] = { &metronom_ip, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/interface.cxx --- a/src/modplug/gui/interface.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/gui/interface.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -18,6 +19,13 @@ #include "interface.h" #include "support.h" +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + GtkWidget* create_Config (void) { @@ -28,31 +36,73 @@ GtkWidget *hbox2; GtkWidget *frame1; GtkWidget *vbox4; - GSList *vbox4_group = NULL; GtkWidget *bit16; + GSList *bit16_group = NULL; GtkWidget *bit8; + GtkWidget *xlabel2; GtkWidget *frame2; GtkWidget *vbox5; - GSList *vbox5_group = NULL; GtkWidget *stereo; + GSList *stereo_group = NULL; GtkWidget *mono; - GtkWidget *hbox10; - GtkWidget *frame3; - GtkWidget *vbox6; - GSList *vbox6_group = NULL; - GtkWidget *samp48; - GtkWidget *samp44; - GtkWidget *samp22; - GtkWidget *samp11; + GtkWidget *label3; + GtkWidget *hbox14; GtkWidget *frame9; GtkWidget *vbox15; - GSList *vbox15_group = NULL; GtkWidget *resampNearest; + GSList *resampNearest_group = NULL; GtkWidget *resampLinear; GtkWidget *resampSpline; GtkWidget *resampPolyphase; + GtkWidget *label4; + GtkWidget *frame3; + GtkWidget *vbox6; + GtkWidget *samp44; + GSList *samp44_group = NULL; + GtkWidget *samp22; + GtkWidget *samp11; + GtkWidget *label5; GtkWidget *label2; GtkWidget *vbox7; + GtkWidget *hbox15; + GtkWidget *frame5; + GtkWidget *vbox20; + GtkWidget *fxReverb; + GtkWidget *table1; + GtkWidget *fxReverbDepth; + GtkWidget *fxReverbDelay; + GtkWidget *xlabel3; + GtkWidget *xlabel4; + GtkWidget *label6; + GtkWidget *frame6; + GtkWidget *vbox21; + GtkWidget *fxBassBoost; + GtkWidget *table2; + GtkWidget *fxBassAmount; + GtkWidget *fxBassRange; + GtkWidget *xlabel5; + GtkWidget *xlabel6; + GtkWidget *label7; + GtkWidget *hbox16; + GtkWidget *frame7; + GtkWidget *vbox22; + GtkWidget *fxSurround; + GtkWidget *table3; + GtkWidget *fxSurroundDepth; + GtkWidget *fxSurroundDelay; + GtkWidget *xlabel7; + GtkWidget *label8; + GtkWidget *xlabel8; + GtkWidget *frame10; + GtkWidget *vbox16; + GtkWidget *fxPreamp; + GtkWidget *hbox11; + GtkWidget *label19; + GtkWidget *fxPreampLevel; + GtkWidget *label20; + GtkWidget *label9; + GtkWidget *label10; + GtkWidget *vbox19; GtkWidget *frame4; GtkWidget *hbox3; GtkWidget *vbox8; @@ -61,703 +111,711 @@ GtkWidget *vbox9; GtkWidget *fxNR; GtkWidget *fxAmigaMOD; - GtkWidget *frame5; - GtkWidget *hbox4; - GtkWidget *fxReverb; - GtkWidget *vbox10; - GtkWidget *table1; - GtkWidget *fxReverbDepth; - GtkWidget *fxReverbDelay; - GtkWidget *label3; - GtkWidget *label4; - GtkWidget *frame6; - GtkWidget *hbox5; - GtkWidget *fxBassBoost; - GtkWidget *vbox11; - GtkWidget *table2; - GtkWidget *fxBassAmount; - GtkWidget *fxBassRange; - GtkWidget *label5; - GtkWidget *label6; - GtkWidget *frame7; - GtkWidget *hbox6; - GtkWidget *fxSurround; - GtkWidget *vbox12; - GtkWidget *table3; - GtkWidget *fxSurroundDepth; - GtkWidget *fxSurroundDelay; - GtkWidget *label7; - GtkWidget *label8; - GtkWidget *frame10; - GtkWidget *vbox16; - GtkWidget *label20; - GtkWidget *hbox11; - GtkWidget *fxPreamp; - GtkWidget *label19; - GtkWidget *fxPreampLevel; + GtkWidget *label21; GtkWidget *frame11; GtkWidget *vbox17; - GSList *loopGroup_group = NULL; GtkWidget *fxNoLoop; + GSList *fxNoLoop_group = NULL; GtkWidget *hbox13; GtkWidget *fxLoopFinite; GtkObject *fxLoopCount_adj; GtkWidget *fxLoopCount; - GtkWidget *label21; + GtkWidget *xlabel21; GtkWidget *fxLoopForever; - GtkWidget *label10; + GtkWidget *label22; + GtkWidget *xlabel22; GtkWidget *hbuttonbox2; GtkWidget *config_ok; GtkWidget *config_apply; GtkWidget *config_cancel; Config = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (Config), "Config", Config); - gtk_widget_set_usize (Config, -1, -1); + gtk_widget_set_name (Config, "Config"); + gtk_widget_set_size_request (Config, 500, -1); gtk_window_set_title (GTK_WINDOW (Config), _("ModPlug Configuration")); - gtk_window_set_policy (GTK_WINDOW (Config), FALSE, FALSE, FALSE); + gtk_window_set_resizable (GTK_WINDOW (Config), FALSE); vbox2 = gtk_vbox_new (FALSE, 0); - gtk_container_set_border_width(GTK_CONTAINER(vbox2),5); - gtk_widget_ref (vbox2); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox2", vbox2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox2, "vbox2"); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (Config), vbox2); notebook1 = gtk_notebook_new (); - gtk_widget_ref (notebook1); - gtk_object_set_data_full (GTK_OBJECT (Config), "notebook1", notebook1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (notebook1, "notebook1"); gtk_widget_show (notebook1); - gtk_box_pack_start (GTK_BOX (vbox2), notebook1, TRUE, TRUE, 5); - gtk_container_set_border_width (GTK_CONTAINER (notebook1), 0); + gtk_box_pack_start (GTK_BOX (vbox2), notebook1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (notebook1), 4); vbox3 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox3); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox3", vbox3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox3, "vbox3"); gtk_widget_show (vbox3); gtk_container_add (GTK_CONTAINER (notebook1), vbox3); - gtk_container_set_border_width (GTK_CONTAINER (vbox3), 6); + gtk_container_set_border_width (GTK_CONTAINER (vbox3), 2); - hbox2 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox2); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox2", hbox2, - (GtkDestroyNotify) gtk_widget_unref); + hbox2 = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (hbox2, "hbox2"); gtk_widget_show (hbox2); - gtk_box_pack_start (GTK_BOX (vbox3), hbox2, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox3), hbox2, FALSE, TRUE, 0); - frame1 = gtk_frame_new (_("Resolution")); - gtk_widget_ref (frame1); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame1", frame1, - (GtkDestroyNotify) gtk_widget_unref); + frame1 = gtk_frame_new (NULL); + gtk_widget_set_name (frame1, "frame1"); gtk_widget_show (frame1); gtk_box_pack_start (GTK_BOX (hbox2), frame1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame1), 2); vbox4 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox4); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox4", vbox4, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox4, "vbox4"); gtk_widget_show (vbox4); gtk_container_add (GTK_CONTAINER (frame1), vbox4); + gtk_container_set_border_width (GTK_CONTAINER (vbox4), 2); - bit16 = gtk_radio_button_new_with_label (vbox4_group, _("16 bit")); - vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (bit16)); - gtk_widget_ref (bit16); - gtk_object_set_data_full (GTK_OBJECT (Config), "bit16", bit16, - (GtkDestroyNotify) gtk_widget_unref); + bit16 = gtk_radio_button_new_with_mnemonic (NULL, _("16 bit")); + gtk_widget_set_name (bit16, "bit16"); gtk_widget_show (bit16); gtk_box_pack_start (GTK_BOX (vbox4), bit16, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (bit16), bit16_group); + bit16_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (bit16)); - bit8 = gtk_radio_button_new_with_label (vbox4_group, _("8 bit")); - vbox4_group = gtk_radio_button_group (GTK_RADIO_BUTTON (bit8)); - gtk_widget_ref (bit8); - gtk_object_set_data_full (GTK_OBJECT (Config), "bit8", bit8, - (GtkDestroyNotify) gtk_widget_unref); + bit8 = gtk_radio_button_new_with_mnemonic (NULL, _("8 bit")); + gtk_widget_set_name (bit8, "bit8"); gtk_widget_show (bit8); gtk_box_pack_start (GTK_BOX (vbox4), bit8, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (bit8), bit16_group); + bit16_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (bit8)); - frame2 = gtk_frame_new (_("Channels")); - gtk_widget_ref (frame2); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame2", frame2, - (GtkDestroyNotify) gtk_widget_unref); + xlabel2 = gtk_label_new (_("Resolution")); + gtk_widget_set_name (xlabel2, "xlabel2"); + gtk_widget_show (xlabel2); + gtk_frame_set_label_widget (GTK_FRAME (frame1), xlabel2); + + frame2 = gtk_frame_new (NULL); + gtk_widget_set_name (frame2, "frame2"); gtk_widget_show (frame2); gtk_box_pack_start (GTK_BOX (hbox2), frame2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame2), 2); vbox5 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox5); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox5", vbox5, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox5, "vbox5"); gtk_widget_show (vbox5); gtk_container_add (GTK_CONTAINER (frame2), vbox5); + gtk_container_set_border_width (GTK_CONTAINER (vbox5), 2); - stereo = gtk_radio_button_new_with_label (vbox5_group, _("Stereo")); - vbox5_group = gtk_radio_button_group (GTK_RADIO_BUTTON (stereo)); - gtk_widget_ref (stereo); - gtk_object_set_data_full (GTK_OBJECT (Config), "stereo", stereo, - (GtkDestroyNotify) gtk_widget_unref); + stereo = gtk_radio_button_new_with_mnemonic (NULL, _("Stereo")); + gtk_widget_set_name (stereo, "stereo"); gtk_widget_show (stereo); gtk_box_pack_start (GTK_BOX (vbox5), stereo, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (stereo), stereo_group); + stereo_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (stereo)); - mono = gtk_radio_button_new_with_label (vbox5_group, _("Mono (downmix)")); - vbox5_group = gtk_radio_button_group (GTK_RADIO_BUTTON (mono)); - gtk_widget_ref (mono); - gtk_object_set_data_full (GTK_OBJECT (Config), "mono", mono, - (GtkDestroyNotify) gtk_widget_unref); + mono = gtk_radio_button_new_with_mnemonic (NULL, _("Mono (downmix)")); + gtk_widget_set_name (mono, "mono"); gtk_widget_show (mono); gtk_box_pack_start (GTK_BOX (vbox5), mono, FALSE, FALSE, 0); - - hbox10 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox10); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox10", hbox10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox10); - gtk_box_pack_start (GTK_BOX (vbox3), hbox10, TRUE, TRUE, 0); - - frame3 = gtk_frame_new (_("Sampling Rate")); - gtk_widget_ref (frame3); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame3", frame3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame3); - gtk_box_pack_start (GTK_BOX (hbox10), frame3, TRUE, TRUE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (mono), stereo_group); + stereo_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (mono)); - vbox6 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox6); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox6", vbox6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox6); - gtk_container_add (GTK_CONTAINER (frame3), vbox6); - - samp48 = gtk_radio_button_new_with_label (vbox6_group, _("48 kHz")); - vbox6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (samp48)); - gtk_widget_ref (samp48); - gtk_object_set_data_full (GTK_OBJECT (Config), "samp48", samp48, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (samp48); - gtk_box_pack_start (GTK_BOX (vbox6), samp48, FALSE, FALSE, 0); + label3 = gtk_label_new (_("Channels")); + gtk_widget_set_name (label3, "label3"); + gtk_widget_show (label3); + gtk_frame_set_label_widget (GTK_FRAME (frame2), label3); - samp44 = gtk_radio_button_new_with_label (vbox6_group, _("44 kHz")); - vbox6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (samp44)); - gtk_widget_ref (samp44); - gtk_object_set_data_full (GTK_OBJECT (Config), "samp44", samp44, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (samp44); - gtk_box_pack_start (GTK_BOX (vbox6), samp44, FALSE, FALSE, 0); + hbox14 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox14, "hbox14"); + gtk_widget_show (hbox14); + gtk_box_pack_start (GTK_BOX (vbox3), hbox14, FALSE, TRUE, 0); - samp22 = gtk_radio_button_new_with_label (vbox6_group, _("22 kHz")); - vbox6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (samp22)); - gtk_widget_ref (samp22); - gtk_object_set_data_full (GTK_OBJECT (Config), "samp22", samp22, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (samp22); - gtk_box_pack_start (GTK_BOX (vbox6), samp22, FALSE, FALSE, 0); - - samp11 = gtk_radio_button_new_with_label (vbox6_group, _("11 kHz")); - vbox6_group = gtk_radio_button_group (GTK_RADIO_BUTTON (samp11)); - gtk_widget_ref (samp11); - gtk_object_set_data_full (GTK_OBJECT (Config), "samp11", samp11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (samp11); - gtk_box_pack_start (GTK_BOX (vbox6), samp11, FALSE, FALSE, 0); - - frame9 = gtk_frame_new (_("Resampling")); - gtk_widget_ref (frame9); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame9", frame9, - (GtkDestroyNotify) gtk_widget_unref); + frame9 = gtk_frame_new (NULL); + gtk_widget_set_name (frame9, "frame9"); gtk_widget_show (frame9); - gtk_box_pack_start (GTK_BOX (hbox10), frame9, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox14), frame9, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame9), 2); vbox15 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox15); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox15", vbox15, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox15, "vbox15"); gtk_widget_show (vbox15); gtk_container_add (GTK_CONTAINER (frame9), vbox15); + gtk_container_set_border_width (GTK_CONTAINER (vbox15), 2); - resampNearest = gtk_radio_button_new_with_label (vbox15_group, _("Nearest (fastest)")); - vbox15_group = gtk_radio_button_group (GTK_RADIO_BUTTON (resampNearest)); - gtk_widget_ref (resampNearest); - gtk_object_set_data_full (GTK_OBJECT (Config), "resampNearest", resampNearest, - (GtkDestroyNotify) gtk_widget_unref); + resampNearest = gtk_radio_button_new_with_mnemonic (NULL, _("Nearest (fastest)")); + gtk_widget_set_name (resampNearest, "resampNearest"); gtk_widget_show (resampNearest); gtk_box_pack_start (GTK_BOX (vbox15), resampNearest, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (resampNearest), resampNearest_group); + resampNearest_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (resampNearest)); - resampLinear = gtk_radio_button_new_with_label (vbox15_group, _("Linear (fast)")); - vbox15_group = gtk_radio_button_group (GTK_RADIO_BUTTON (resampLinear)); - gtk_widget_ref (resampLinear); - gtk_object_set_data_full (GTK_OBJECT (Config), "resampLinear", resampLinear, - (GtkDestroyNotify) gtk_widget_unref); + resampLinear = gtk_radio_button_new_with_mnemonic (NULL, _("Linear (fast)")); + gtk_widget_set_name (resampLinear, "resampLinear"); gtk_widget_show (resampLinear); gtk_box_pack_start (GTK_BOX (vbox15), resampLinear, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (resampLinear), resampNearest_group); + resampNearest_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (resampLinear)); - resampSpline = gtk_radio_button_new_with_label (vbox15_group, _("Spline (good quality)")); - vbox15_group = gtk_radio_button_group (GTK_RADIO_BUTTON (resampSpline)); - gtk_widget_ref (resampSpline); - gtk_object_set_data_full (GTK_OBJECT (Config), "resampSpline", resampSpline, - (GtkDestroyNotify) gtk_widget_unref); + resampSpline = gtk_radio_button_new_with_mnemonic (NULL, _("Spline (good quality)")); + gtk_widget_set_name (resampSpline, "resampSpline"); gtk_widget_show (resampSpline); gtk_box_pack_start (GTK_BOX (vbox15), resampSpline, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (resampSpline), resampNearest_group); + resampNearest_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (resampSpline)); - resampPolyphase = gtk_radio_button_new_with_label (vbox15_group, _("8-tap Fir (extremely high quality)")); - vbox15_group = gtk_radio_button_group (GTK_RADIO_BUTTON (resampPolyphase)); - gtk_widget_ref (resampPolyphase); - gtk_object_set_data_full (GTK_OBJECT (Config), "resampPolyphase", resampPolyphase, - (GtkDestroyNotify) gtk_widget_unref); + resampPolyphase = gtk_radio_button_new_with_mnemonic (NULL, _("8-tap Fir (extremely high quality)")); + gtk_widget_set_name (resampPolyphase, "resampPolyphase"); gtk_widget_show (resampPolyphase); gtk_box_pack_start (GTK_BOX (vbox15), resampPolyphase, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (resampPolyphase), resampNearest_group); + resampNearest_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (resampPolyphase)); + + label4 = gtk_label_new (_("Resampling")); + gtk_widget_set_name (label4, "label4"); + gtk_widget_show (label4); + gtk_frame_set_label_widget (GTK_FRAME (frame9), label4); + + frame3 = gtk_frame_new (NULL); + gtk_widget_set_name (frame3, "frame3"); + gtk_widget_show (frame3); + gtk_box_pack_start (GTK_BOX (hbox14), frame3, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame3), 2); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox6, "vbox6"); + gtk_widget_show (vbox6); + gtk_container_add (GTK_CONTAINER (frame3), vbox6); + gtk_container_set_border_width (GTK_CONTAINER (vbox6), 2); + + samp44 = gtk_radio_button_new_with_mnemonic (NULL, _("44 kHz")); + gtk_widget_set_name (samp44, "samp44"); + gtk_widget_show (samp44); + gtk_box_pack_start (GTK_BOX (vbox6), samp44, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (samp44), samp44_group); + samp44_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (samp44)); + + samp22 = gtk_radio_button_new_with_mnemonic (NULL, _("22 kHz")); + gtk_widget_set_name (samp22, "samp22"); + gtk_widget_show (samp22); + gtk_box_pack_start (GTK_BOX (vbox6), samp22, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (samp22), samp44_group); + samp44_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (samp22)); + + samp11 = gtk_radio_button_new_with_mnemonic (NULL, _("11 kHz")); + gtk_widget_set_name (samp11, "samp11"); + gtk_widget_show (samp11); + gtk_box_pack_start (GTK_BOX (vbox6), samp11, FALSE, FALSE, 0); + gtk_button_set_focus_on_click (GTK_BUTTON (samp11), FALSE); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (samp11), samp44_group); + samp44_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (samp11)); + + label5 = gtk_label_new (_("Sampling Rate")); + gtk_widget_set_name (label5, "label5"); + gtk_widget_show (label5); + gtk_frame_set_label_widget (GTK_FRAME (frame3), label5); label2 = gtk_label_new (_("Quality")); - gtk_widget_ref (label2); - gtk_object_set_data_full (GTK_OBJECT (Config), "label2", label2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label2, "label2"); gtk_widget_show (label2); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label2); + gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_CENTER); vbox7 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox7); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox7", vbox7, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox7, "vbox7"); gtk_widget_show (vbox7); gtk_container_add (GTK_CONTAINER (notebook1), vbox7); - gtk_container_set_border_width (GTK_CONTAINER (vbox7), 6); - - frame4 = gtk_frame_new (_("General")); - gtk_widget_ref (frame4); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame4", frame4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame4); - gtk_box_pack_start (GTK_BOX (vbox7), frame4, TRUE, TRUE, 0); - - hbox3 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox3); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox3", hbox3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox3); - gtk_container_add (GTK_CONTAINER (frame4), hbox3); + gtk_container_set_border_width (GTK_CONTAINER (vbox7), 2); - vbox8 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox8); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox8", vbox8, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox8); - gtk_box_pack_start (GTK_BOX (hbox3), vbox8, TRUE, TRUE, 0); - - fxUseFilename = gtk_check_button_new_with_label (_("Use Filename as Song Title")); - gtk_widget_ref (fxUseFilename); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxUseFilename", fxUseFilename, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fxUseFilename); - gtk_box_pack_start (GTK_BOX (vbox8), fxUseFilename, FALSE, FALSE, 0); - - fxFastInfo = gtk_check_button_new_with_label (_("Fast Playlist Info")); - gtk_widget_ref (fxFastInfo); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxFastInfo", fxFastInfo, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fxFastInfo); - gtk_box_pack_start (GTK_BOX (vbox8), fxFastInfo, FALSE, FALSE, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxFastInfo), TRUE); + hbox15 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox15, "hbox15"); + gtk_widget_show (hbox15); + gtk_box_pack_start (GTK_BOX (vbox7), hbox15, FALSE, TRUE, 0); - vbox9 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox9); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox9", vbox9, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox9); - gtk_box_pack_start (GTK_BOX (hbox3), vbox9, TRUE, TRUE, 0); - - fxNR = gtk_check_button_new_with_label (_("Noise Reduction")); - gtk_widget_ref (fxNR); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxNR", fxNR, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fxNR); - gtk_box_pack_start (GTK_BOX (vbox9), fxNR, FALSE, FALSE, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxNR), TRUE); + frame5 = gtk_frame_new (NULL); + gtk_widget_set_name (frame5, "frame5"); + gtk_widget_show (frame5); + gtk_box_pack_start (GTK_BOX (hbox15), frame5, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame5), 2); - fxAmigaMOD = gtk_check_button_new_with_label (_("Play Amiga MOD")); - gtk_widget_ref (fxAmigaMOD); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxAmigaMOD", fxAmigaMOD, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fxAmigaMOD); - gtk_box_pack_start (GTK_BOX (vbox9), fxAmigaMOD, FALSE, FALSE, 0); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxAmigaMOD), TRUE); + vbox20 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox20, "vbox20"); + gtk_widget_show (vbox20); + gtk_container_add (GTK_CONTAINER (frame5), vbox20); + gtk_container_set_border_width (GTK_CONTAINER (vbox20), 2); - frame5 = gtk_frame_new (_("Reverb")); - gtk_widget_ref (frame5); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame5", frame5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame5); - gtk_box_pack_start (GTK_BOX (vbox7), frame5, TRUE, TRUE, 0); - - hbox4 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox4); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox4", hbox4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox4); - gtk_container_add (GTK_CONTAINER (frame5), hbox4); - - fxReverb = gtk_check_button_new_with_label (_("Enable")); - gtk_widget_ref (fxReverb); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxReverb", fxReverb, - (GtkDestroyNotify) gtk_widget_unref); + fxReverb = gtk_check_button_new_with_mnemonic (_("Enable")); + gtk_widget_set_name (fxReverb, "fxReverb"); gtk_widget_show (fxReverb); - gtk_box_pack_start (GTK_BOX (hbox4), fxReverb, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox20), fxReverb, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fxReverb), 2); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxReverb), TRUE); - vbox10 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox10); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox10", vbox10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox10); - gtk_box_pack_start (GTK_BOX (hbox4), vbox10, TRUE, TRUE, 0); - table1 = gtk_table_new (2, 2, FALSE); - gtk_widget_ref (table1); - gtk_object_set_data_full (GTK_OBJECT (Config), "table1", table1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table1, "table1"); gtk_widget_show (table1); - gtk_box_pack_start (GTK_BOX (vbox10), table1, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox20), table1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table1), 2); + gtk_table_set_row_spacings (GTK_TABLE (table1), 4); + gtk_table_set_col_spacings (GTK_TABLE (table1), 4); fxReverbDepth = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (30, 0, 100, 0, 0, 0))); - gtk_widget_ref (fxReverbDepth); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxReverbDepth", fxReverbDepth, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxReverbDepth, "fxReverbDepth"); gtk_widget_show (fxReverbDepth); gtk_table_attach (GTK_TABLE (table1), fxReverbDepth, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); fxReverbDelay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (90, 40, 200, 0, 0, 0))); - gtk_widget_ref (fxReverbDelay); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxReverbDelay", fxReverbDelay, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxReverbDelay, "fxReverbDelay"); gtk_widget_show (fxReverbDelay); gtk_table_attach (GTK_TABLE (table1), fxReverbDelay, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - label3 = gtk_label_new (_("Depth")); - gtk_widget_ref (label3); - gtk_object_set_data_full (GTK_OBJECT (Config), "label3", label3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label3); - gtk_table_attach (GTK_TABLE (table1), label3, 0, 1, 0, 1, + xlabel3 = gtk_label_new (_("Depth")); + gtk_widget_set_name (xlabel3, "xlabel3"); + gtk_widget_show (xlabel3); + gtk_table_attach (GTK_TABLE (table1), xlabel3, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (xlabel3), GTK_JUSTIFY_CENTER); - label4 = gtk_label_new (_("Delay")); - gtk_widget_ref (label4); - gtk_object_set_data_full (GTK_OBJECT (Config), "label4", label4, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label4); - gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 1, 2, + xlabel4 = gtk_label_new (_("Delay")); + gtk_widget_set_name (xlabel4, "xlabel4"); + gtk_widget_show (xlabel4); + gtk_table_attach (GTK_TABLE (table1), xlabel4, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (xlabel4), GTK_JUSTIFY_CENTER); - frame6 = gtk_frame_new (_("Bass Boost")); - gtk_widget_ref (frame6); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame6", frame6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame6); - gtk_box_pack_start (GTK_BOX (vbox7), frame6, TRUE, TRUE, 0); + label6 = gtk_label_new (_("Reverb")); + gtk_widget_set_name (label6, "label6"); + gtk_widget_show (label6); + gtk_frame_set_label_widget (GTK_FRAME (frame5), label6); - hbox5 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox5); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox5", hbox5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox5); - gtk_container_add (GTK_CONTAINER (frame6), hbox5); + frame6 = gtk_frame_new (NULL); + gtk_widget_set_name (frame6, "frame6"); + gtk_widget_show (frame6); + gtk_box_pack_start (GTK_BOX (hbox15), frame6, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame6), 2); - fxBassBoost = gtk_check_button_new_with_label (_("Enable")); - gtk_widget_ref (fxBassBoost); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxBassBoost", fxBassBoost, - (GtkDestroyNotify) gtk_widget_unref); + vbox21 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox21, "vbox21"); + gtk_widget_show (vbox21); + gtk_container_add (GTK_CONTAINER (frame6), vbox21); + gtk_container_set_border_width (GTK_CONTAINER (vbox21), 2); + + fxBassBoost = gtk_check_button_new_with_mnemonic (_("Enable")); + gtk_widget_set_name (fxBassBoost, "fxBassBoost"); gtk_widget_show (fxBassBoost); - gtk_box_pack_start (GTK_BOX (hbox5), fxBassBoost, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox21), fxBassBoost, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fxBassBoost), 2); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxBassBoost), TRUE); - vbox11 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox11); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox11", vbox11, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox11); - gtk_box_pack_start (GTK_BOX (hbox5), vbox11, TRUE, TRUE, 0); - table2 = gtk_table_new (2, 2, FALSE); - gtk_widget_ref (table2); - gtk_object_set_data_full (GTK_OBJECT (Config), "table2", table2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table2, "table2"); gtk_widget_show (table2); - gtk_box_pack_start (GTK_BOX (vbox11), table2, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox21), table2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table2), 2); + gtk_table_set_row_spacings (GTK_TABLE (table2), 4); + gtk_table_set_col_spacings (GTK_TABLE (table2), 4); fxBassAmount = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (30, 0, 100, 0, 0, 0))); - gtk_widget_ref (fxBassAmount); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxBassAmount", fxBassAmount, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxBassAmount, "fxBassAmount"); gtk_widget_show (fxBassAmount); gtk_table_attach (GTK_TABLE (table2), fxBassAmount, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); fxBassRange = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (30, 10, 100, 0, 0, 0))); - gtk_widget_ref (fxBassRange); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxBassRange", fxBassRange, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxBassRange, "fxBassRange"); gtk_widget_show (fxBassRange); gtk_table_attach (GTK_TABLE (table2), fxBassRange, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - label5 = gtk_label_new (_("Amount")); - gtk_widget_ref (label5); - gtk_object_set_data_full (GTK_OBJECT (Config), "label5", label5, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label5); - gtk_table_attach (GTK_TABLE (table2), label5, 0, 1, 0, 1, + xlabel5 = gtk_label_new (_("Amount")); + gtk_widget_set_name (xlabel5, "xlabel5"); + gtk_widget_show (xlabel5); + gtk_table_attach (GTK_TABLE (table2), xlabel5, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (xlabel5), GTK_JUSTIFY_CENTER); - label6 = gtk_label_new (_("Range")); - gtk_widget_ref (label6); - gtk_object_set_data_full (GTK_OBJECT (Config), "label6", label6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label6); - gtk_table_attach (GTK_TABLE (table2), label6, 0, 1, 1, 2, + xlabel6 = gtk_label_new (_("Range")); + gtk_widget_set_name (xlabel6, "xlabel6"); + gtk_widget_show (xlabel6); + gtk_table_attach (GTK_TABLE (table2), xlabel6, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (xlabel6), GTK_JUSTIFY_CENTER); - frame7 = gtk_frame_new (_("Surround")); - gtk_widget_ref (frame7); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame7", frame7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (frame7); - gtk_box_pack_start (GTK_BOX (vbox7), frame7, TRUE, TRUE, 0); + label7 = gtk_label_new (_("Bass Boost")); + gtk_widget_set_name (label7, "label7"); + gtk_widget_show (label7); + gtk_frame_set_label_widget (GTK_FRAME (frame6), label7); + + hbox16 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox16, "hbox16"); + gtk_widget_show (hbox16); + gtk_box_pack_start (GTK_BOX (vbox7), hbox16, FALSE, TRUE, 0); - hbox6 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox6); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox6", hbox6, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (hbox6); - gtk_container_add (GTK_CONTAINER (frame7), hbox6); + frame7 = gtk_frame_new (NULL); + gtk_widget_set_name (frame7, "frame7"); + gtk_widget_show (frame7); + gtk_box_pack_start (GTK_BOX (hbox16), frame7, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame7), 2); - fxSurround = gtk_check_button_new_with_label (_("Enable")); - gtk_widget_ref (fxSurround); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxSurround", fxSurround, - (GtkDestroyNotify) gtk_widget_unref); + vbox22 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox22, "vbox22"); + gtk_widget_show (vbox22); + gtk_container_add (GTK_CONTAINER (frame7), vbox22); + + fxSurround = gtk_check_button_new_with_mnemonic (_("Enable")); + gtk_widget_set_name (fxSurround, "fxSurround"); gtk_widget_show (fxSurround); - gtk_box_pack_start (GTK_BOX (hbox6), fxSurround, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox22), fxSurround, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fxSurround), 2); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxSurround), TRUE); - vbox12 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox12); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox12", vbox12, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (vbox12); - gtk_box_pack_start (GTK_BOX (hbox6), vbox12, TRUE, TRUE, 0); - table3 = gtk_table_new (2, 2, FALSE); - gtk_widget_ref (table3); - gtk_object_set_data_full (GTK_OBJECT (Config), "table3", table3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (table3, "table3"); gtk_widget_show (table3); - gtk_box_pack_start (GTK_BOX (vbox12), table3, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox22), table3, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (table3), 2); + gtk_table_set_row_spacings (GTK_TABLE (table3), 4); + gtk_table_set_col_spacings (GTK_TABLE (table3), 4); fxSurroundDepth = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (20, 0, 100, 0, 0, 0))); - gtk_widget_ref (fxSurroundDepth); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxSurroundDepth", fxSurroundDepth, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxSurroundDepth, "fxSurroundDepth"); gtk_widget_show (fxSurroundDepth); gtk_table_attach (GTK_TABLE (table3), fxSurroundDepth, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); fxSurroundDelay = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (20, 5, 40, 0, 0, 0))); - gtk_widget_ref (fxSurroundDelay); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxSurroundDelay", fxSurroundDelay, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxSurroundDelay, "fxSurroundDelay"); gtk_widget_show (fxSurroundDelay); gtk_table_attach (GTK_TABLE (table3), fxSurroundDelay, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); - label7 = gtk_label_new (_("Depth")); - gtk_widget_ref (label7); - gtk_object_set_data_full (GTK_OBJECT (Config), "label7", label7, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label7); - gtk_table_attach (GTK_TABLE (table3), label7, 0, 1, 0, 1, + xlabel7 = gtk_label_new (_("Depth")); + gtk_widget_set_name (xlabel7, "xlabel7"); + gtk_widget_show (xlabel7); + gtk_table_attach (GTK_TABLE (table3), xlabel7, 0, 1, 0, 1, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (xlabel7), GTK_JUSTIFY_CENTER); label8 = gtk_label_new (_("Delay")); - gtk_widget_ref (label8); - gtk_object_set_data_full (GTK_OBJECT (Config), "label8", label8, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label8, "label8"); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table3), label8, 0, 1, 1, 2, (GtkAttachOptions) (0), (GtkAttachOptions) (0), 0, 0); + gtk_label_set_justify (GTK_LABEL (label8), GTK_JUSTIFY_CENTER); - frame10 = gtk_frame_new (_("Preamp")); - gtk_widget_ref (frame10); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame10", frame10, - (GtkDestroyNotify) gtk_widget_unref); + xlabel8 = gtk_label_new (_("Surround")); + gtk_widget_set_name (xlabel8, "xlabel8"); + gtk_widget_show (xlabel8); + gtk_frame_set_label_widget (GTK_FRAME (frame7), xlabel8); + + frame10 = gtk_frame_new (NULL); + gtk_widget_set_name (frame10, "frame10"); gtk_widget_show (frame10); - gtk_box_pack_start (GTK_BOX (vbox7), frame10, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox16), frame10, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame10), 2); - vbox16 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox16); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox16", vbox16, - (GtkDestroyNotify) gtk_widget_unref); + vbox16 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox16, "vbox16"); gtk_widget_show (vbox16); gtk_container_add (GTK_CONTAINER (frame10), vbox16); + gtk_container_set_border_width (GTK_CONTAINER (vbox16), 4); - label20 = gtk_label_new (_("Note: Setting the preamp too high may cause\nclipping / distortion!")); - gtk_widget_ref (label20); - gtk_object_set_data_full (GTK_OBJECT (Config), "label20", label20, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label20); - gtk_box_pack_start (GTK_BOX (vbox16), label20, FALSE, FALSE, 0); + fxPreamp = gtk_check_button_new_with_mnemonic (_("Enable")); + gtk_widget_set_name (fxPreamp, "fxPreamp"); + gtk_widget_show (fxPreamp); + gtk_box_pack_start (GTK_BOX (vbox16), fxPreamp, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (fxPreamp), 2); - hbox11 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox11); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox11", hbox11, - (GtkDestroyNotify) gtk_widget_unref); + hbox11 = gtk_hbox_new (FALSE, 4); + gtk_widget_set_name (hbox11, "hbox11"); gtk_widget_show (hbox11); gtk_box_pack_start (GTK_BOX (vbox16), hbox11, TRUE, TRUE, 0); - fxPreamp = gtk_check_button_new_with_label (_("Enable")); - gtk_widget_ref (fxPreamp); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxPreamp", fxPreamp, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (fxPreamp); - gtk_box_pack_start (GTK_BOX (hbox11), fxPreamp, FALSE, FALSE, 0); - label19 = gtk_label_new (_("Volume")); - gtk_widget_ref (label19); - gtk_object_set_data_full (GTK_OBJECT (Config), "label19", label19, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label19, "label19"); gtk_widget_show (label19); gtk_box_pack_start (GTK_BOX (hbox11), label19, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label19), GTK_JUSTIFY_CENTER); fxPreampLevel = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, -3, 3, 1, 0, 0))); - gtk_widget_ref (fxPreampLevel); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxPreampLevel", fxPreampLevel, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxPreampLevel, "fxPreampLevel"); gtk_widget_show (fxPreampLevel); gtk_box_pack_start (GTK_BOX (hbox11), fxPreampLevel, TRUE, TRUE, 0); - frame11 = gtk_frame_new (_("Looping")); - gtk_widget_ref (frame11); - gtk_object_set_data_full (GTK_OBJECT (Config), "frame11", frame11, - (GtkDestroyNotify) gtk_widget_unref); + label20 = gtk_label_new (_("Note: Setting the preamp\ntoo high may cause clipping\n(annoying clicks and pops)!")); + gtk_widget_set_name (label20, "label20"); + gtk_widget_show (label20); + gtk_box_pack_start (GTK_BOX (vbox16), label20, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (label20), GTK_JUSTIFY_CENTER); + + label9 = gtk_label_new (_("Preamp")); + gtk_widget_set_name (label9, "label9"); + gtk_widget_show (label9); + gtk_frame_set_label_widget (GTK_FRAME (frame10), label9); + + label10 = gtk_label_new (_("Effects")); + gtk_widget_set_name (label10, "label10"); + gtk_widget_show (label10); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label10); + gtk_label_set_justify (GTK_LABEL (label10), GTK_JUSTIFY_CENTER); + + vbox19 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox19, "vbox19"); + gtk_widget_show (vbox19); + gtk_container_add (GTK_CONTAINER (notebook1), vbox19); + gtk_container_set_border_width (GTK_CONTAINER (vbox19), 2); + + frame4 = gtk_frame_new (NULL); + gtk_widget_set_name (frame4, "frame4"); + gtk_widget_show (frame4); + gtk_box_pack_start (GTK_BOX (vbox19), frame4, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame4), 2); + + hbox3 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox3, "hbox3"); + gtk_widget_show (hbox3); + gtk_container_add (GTK_CONTAINER (frame4), hbox3); + gtk_container_set_border_width (GTK_CONTAINER (hbox3), 2); + + vbox8 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox8, "vbox8"); + gtk_widget_show (vbox8); + gtk_box_pack_start (GTK_BOX (hbox3), vbox8, TRUE, TRUE, 0); + + fxUseFilename = gtk_check_button_new_with_mnemonic (_("Use Filename as Song Title")); + gtk_widget_set_name (fxUseFilename, "fxUseFilename"); + gtk_widget_show (fxUseFilename); + gtk_box_pack_start (GTK_BOX (vbox8), fxUseFilename, FALSE, FALSE, 0); + + fxFastInfo = gtk_check_button_new_with_mnemonic (_("Fast Playlist Info")); + gtk_widget_set_name (fxFastInfo, "fxFastInfo"); + gtk_widget_show (fxFastInfo); + gtk_box_pack_start (GTK_BOX (vbox8), fxFastInfo, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxFastInfo), TRUE); + + vbox9 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox9, "vbox9"); + gtk_widget_show (vbox9); + gtk_box_pack_start (GTK_BOX (hbox3), vbox9, TRUE, TRUE, 0); + + fxNR = gtk_check_button_new_with_mnemonic (_("Noise Reduction")); + gtk_widget_set_name (fxNR, "fxNR"); + gtk_widget_show (fxNR); + gtk_box_pack_start (GTK_BOX (vbox9), fxNR, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxNR), TRUE); + + fxAmigaMOD = gtk_check_button_new_with_mnemonic (_("Play Amiga MOD")); + gtk_widget_set_name (fxAmigaMOD, "fxAmigaMOD"); + gtk_widget_show (fxAmigaMOD); + gtk_box_pack_start (GTK_BOX (vbox9), fxAmigaMOD, FALSE, FALSE, 0); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (fxAmigaMOD), TRUE); + + label21 = gtk_label_new (_("General")); + gtk_widget_set_name (label21, "label21"); + gtk_widget_show (label21); + gtk_frame_set_label_widget (GTK_FRAME (frame4), label21); + + frame11 = gtk_frame_new (NULL); + gtk_widget_set_name (frame11, "frame11"); gtk_widget_show (frame11); - gtk_box_pack_start (GTK_BOX (vbox7), frame11, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox19), frame11, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame11), 2); vbox17 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox17); - gtk_object_set_data_full (GTK_OBJECT (Config), "vbox17", vbox17, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox17, "vbox17"); gtk_widget_show (vbox17); gtk_container_add (GTK_CONTAINER (frame11), vbox17); + gtk_container_set_border_width (GTK_CONTAINER (vbox17), 2); - fxNoLoop = gtk_radio_button_new_with_label (loopGroup_group, _("Don't loop")); - loopGroup_group = gtk_radio_button_group (GTK_RADIO_BUTTON (fxNoLoop)); - gtk_widget_ref (fxNoLoop); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxNoLoop", fxNoLoop, - (GtkDestroyNotify) gtk_widget_unref); + fxNoLoop = gtk_radio_button_new_with_mnemonic (NULL, _("Don't loop")); + gtk_widget_set_name (fxNoLoop, "fxNoLoop"); gtk_widget_show (fxNoLoop); gtk_box_pack_start (GTK_BOX (vbox17), fxNoLoop, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (fxNoLoop), fxNoLoop_group); + fxNoLoop_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (fxNoLoop)); hbox13 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox13); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbox13", hbox13, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbox13, "hbox13"); gtk_widget_show (hbox13); gtk_box_pack_start (GTK_BOX (vbox17), hbox13, FALSE, FALSE, 0); - fxLoopFinite = gtk_radio_button_new_with_label (loopGroup_group, _("Loop")); - loopGroup_group = gtk_radio_button_group (GTK_RADIO_BUTTON (fxLoopFinite)); - gtk_widget_ref (fxLoopFinite); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxLoopFinite", fxLoopFinite, - (GtkDestroyNotify) gtk_widget_unref); + fxLoopFinite = gtk_radio_button_new_with_mnemonic (NULL, _("Loop")); + gtk_widget_set_name (fxLoopFinite, "fxLoopFinite"); gtk_widget_show (fxLoopFinite); gtk_box_pack_start (GTK_BOX (hbox13), fxLoopFinite, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (fxLoopFinite), fxNoLoop_group); + fxNoLoop_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (fxLoopFinite)); fxLoopCount_adj = gtk_adjustment_new (1, 0, 100, 1, 10, 10); fxLoopCount = gtk_spin_button_new (GTK_ADJUSTMENT (fxLoopCount_adj), 1, 0); - gtk_widget_ref (fxLoopCount); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxLoopCount", fxLoopCount, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (fxLoopCount, "fxLoopCount"); gtk_widget_show (fxLoopCount); gtk_box_pack_start (GTK_BOX (hbox13), fxLoopCount, FALSE, TRUE, 0); - label21 = gtk_label_new (_("time(s)")); - gtk_widget_ref (label21); - gtk_object_set_data_full (GTK_OBJECT (Config), "label21", label21, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label21); - gtk_box_pack_start (GTK_BOX (hbox13), label21, FALSE, FALSE, 0); + xlabel21 = gtk_label_new (_("time(s)")); + gtk_widget_set_name (xlabel21, "xlabel21"); + gtk_widget_show (xlabel21); + gtk_box_pack_start (GTK_BOX (hbox13), xlabel21, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (xlabel21), GTK_JUSTIFY_CENTER); - fxLoopForever = gtk_radio_button_new_with_label (loopGroup_group, _("Loop forever")); - loopGroup_group = gtk_radio_button_group (GTK_RADIO_BUTTON (fxLoopForever)); - gtk_widget_ref (fxLoopForever); - gtk_object_set_data_full (GTK_OBJECT (Config), "fxLoopForever", fxLoopForever, - (GtkDestroyNotify) gtk_widget_unref); + fxLoopForever = gtk_radio_button_new_with_mnemonic (NULL, _("Loop forever")); + gtk_widget_set_name (fxLoopForever, "fxLoopForever"); gtk_widget_show (fxLoopForever); gtk_box_pack_start (GTK_BOX (vbox17), fxLoopForever, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (fxLoopForever), fxNoLoop_group); + fxNoLoop_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (fxLoopForever)); - label10 = gtk_label_new (_("Effects")); - gtk_widget_ref (label10); - gtk_object_set_data_full (GTK_OBJECT (Config), "label10", label10, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (label10); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label10); + label22 = gtk_label_new (_("Looping")); + gtk_widget_set_name (label22, "label22"); + gtk_widget_show (label22); + gtk_frame_set_label_widget (GTK_FRAME (frame11), label22); + + xlabel22 = gtk_label_new (_("Misc")); + gtk_widget_set_name (xlabel22, "xlabel22"); + gtk_widget_show (xlabel22); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), xlabel22); + gtk_label_set_justify (GTK_LABEL (xlabel22), GTK_JUSTIFY_CENTER); hbuttonbox2 = gtk_hbutton_box_new (); - gtk_widget_ref (hbuttonbox2); - gtk_object_set_data_full (GTK_OBJECT (Config), "hbuttonbox2", hbuttonbox2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbuttonbox2, "hbuttonbox2"); gtk_widget_show (hbuttonbox2); gtk_box_pack_start (GTK_BOX (vbox2), hbuttonbox2, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 4); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END); - gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbuttonbox2), 5); + gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 8); - config_ok = gtk_button_new_with_label (_("OK")); - gtk_widget_ref (config_ok); - gtk_object_set_data_full (GTK_OBJECT (Config), "config_ok", config_ok, - (GtkDestroyNotify) gtk_widget_unref); + config_ok = gtk_button_new_with_mnemonic (_("OK")); + gtk_widget_set_name (config_ok, "config_ok"); gtk_widget_show (config_ok); gtk_container_add (GTK_CONTAINER (hbuttonbox2), config_ok); GTK_WIDGET_SET_FLAGS (config_ok, GTK_CAN_DEFAULT); - config_apply = gtk_button_new_with_label (_("Apply")); - gtk_widget_ref (config_apply); - gtk_object_set_data_full (GTK_OBJECT (Config), "config_apply", config_apply, - (GtkDestroyNotify) gtk_widget_unref); + config_apply = gtk_button_new_with_mnemonic (_("Apply")); + gtk_widget_set_name (config_apply, "config_apply"); gtk_widget_show (config_apply); gtk_container_add (GTK_CONTAINER (hbuttonbox2), config_apply); GTK_WIDGET_SET_FLAGS (config_apply, GTK_CAN_DEFAULT); - config_cancel = gtk_button_new_with_label (_("Cancel")); - gtk_widget_ref (config_cancel); - gtk_object_set_data_full (GTK_OBJECT (Config), "config_cancel", config_cancel, - (GtkDestroyNotify) gtk_widget_unref); + config_cancel = gtk_button_new_with_mnemonic (_("Cancel")); + gtk_widget_set_name (config_cancel, "config_cancel"); gtk_widget_show (config_cancel); gtk_container_add (GTK_CONTAINER (hbuttonbox2), config_cancel); GTK_WIDGET_SET_FLAGS (config_cancel, GTK_CAN_DEFAULT); - gtk_signal_connect (GTK_OBJECT (Config), "delete_event", - GTK_SIGNAL_FUNC (hide_window), - NULL); - gtk_signal_connect (GTK_OBJECT (config_ok), "clicked", - GTK_SIGNAL_FUNC (on_config_ok_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (config_apply), "clicked", - GTK_SIGNAL_FUNC (on_config_apply_clicked), - NULL); - gtk_signal_connect (GTK_OBJECT (config_cancel), "clicked", - GTK_SIGNAL_FUNC (on_config_cancel_clicked), - NULL); + g_signal_connect ((gpointer) Config, "delete_event", + G_CALLBACK (hide_window), + NULL); + g_signal_connect ((gpointer) config_ok, "clicked", + G_CALLBACK (on_config_ok_clicked), + NULL); + g_signal_connect ((gpointer) config_apply, "clicked", + G_CALLBACK (on_config_apply_clicked), + NULL); + g_signal_connect ((gpointer) config_cancel, "clicked", + G_CALLBACK (on_config_cancel_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (Config, Config, "Config"); + GLADE_HOOKUP_OBJECT (Config, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (Config, notebook1, "notebook1"); + GLADE_HOOKUP_OBJECT (Config, vbox3, "vbox3"); + GLADE_HOOKUP_OBJECT (Config, hbox2, "hbox2"); + GLADE_HOOKUP_OBJECT (Config, frame1, "frame1"); + GLADE_HOOKUP_OBJECT (Config, vbox4, "vbox4"); + GLADE_HOOKUP_OBJECT (Config, bit16, "bit16"); + GLADE_HOOKUP_OBJECT (Config, bit8, "bit8"); + GLADE_HOOKUP_OBJECT (Config, xlabel2, "xlabel2"); + GLADE_HOOKUP_OBJECT (Config, frame2, "frame2"); + GLADE_HOOKUP_OBJECT (Config, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (Config, stereo, "stereo"); + GLADE_HOOKUP_OBJECT (Config, mono, "mono"); + GLADE_HOOKUP_OBJECT (Config, label3, "label3"); + GLADE_HOOKUP_OBJECT (Config, hbox14, "hbox14"); + GLADE_HOOKUP_OBJECT (Config, frame9, "frame9"); + GLADE_HOOKUP_OBJECT (Config, vbox15, "vbox15"); + GLADE_HOOKUP_OBJECT (Config, resampNearest, "resampNearest"); + GLADE_HOOKUP_OBJECT (Config, resampLinear, "resampLinear"); + GLADE_HOOKUP_OBJECT (Config, resampSpline, "resampSpline"); + GLADE_HOOKUP_OBJECT (Config, resampPolyphase, "resampPolyphase"); + GLADE_HOOKUP_OBJECT (Config, label4, "label4"); + GLADE_HOOKUP_OBJECT (Config, frame3, "frame3"); + GLADE_HOOKUP_OBJECT (Config, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (Config, samp44, "samp44"); + GLADE_HOOKUP_OBJECT (Config, samp22, "samp22"); + GLADE_HOOKUP_OBJECT (Config, samp11, "samp11"); + GLADE_HOOKUP_OBJECT (Config, label5, "label5"); + GLADE_HOOKUP_OBJECT (Config, label2, "label2"); + GLADE_HOOKUP_OBJECT (Config, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (Config, hbox15, "hbox15"); + GLADE_HOOKUP_OBJECT (Config, frame5, "frame5"); + GLADE_HOOKUP_OBJECT (Config, vbox20, "vbox20"); + GLADE_HOOKUP_OBJECT (Config, fxReverb, "fxReverb"); + GLADE_HOOKUP_OBJECT (Config, table1, "table1"); + GLADE_HOOKUP_OBJECT (Config, fxReverbDepth, "fxReverbDepth"); + GLADE_HOOKUP_OBJECT (Config, fxReverbDelay, "fxReverbDelay"); + GLADE_HOOKUP_OBJECT (Config, xlabel3, "xlabel3"); + GLADE_HOOKUP_OBJECT (Config, xlabel4, "xlabel4"); + GLADE_HOOKUP_OBJECT (Config, label6, "label6"); + GLADE_HOOKUP_OBJECT (Config, frame6, "frame6"); + GLADE_HOOKUP_OBJECT (Config, vbox21, "vbox21"); + GLADE_HOOKUP_OBJECT (Config, fxBassBoost, "fxBassBoost"); + GLADE_HOOKUP_OBJECT (Config, table2, "table2"); + GLADE_HOOKUP_OBJECT (Config, fxBassAmount, "fxBassAmount"); + GLADE_HOOKUP_OBJECT (Config, fxBassRange, "fxBassRange"); + GLADE_HOOKUP_OBJECT (Config, xlabel5, "xlabel5"); + GLADE_HOOKUP_OBJECT (Config, xlabel6, "xlabel6"); + GLADE_HOOKUP_OBJECT (Config, label7, "label7"); + GLADE_HOOKUP_OBJECT (Config, hbox16, "hbox16"); + GLADE_HOOKUP_OBJECT (Config, frame7, "frame7"); + GLADE_HOOKUP_OBJECT (Config, vbox22, "vbox22"); + GLADE_HOOKUP_OBJECT (Config, fxSurround, "fxSurround"); + GLADE_HOOKUP_OBJECT (Config, table3, "table3"); + GLADE_HOOKUP_OBJECT (Config, fxSurroundDepth, "fxSurroundDepth"); + GLADE_HOOKUP_OBJECT (Config, fxSurroundDelay, "fxSurroundDelay"); + GLADE_HOOKUP_OBJECT (Config, xlabel7, "xlabel7"); + GLADE_HOOKUP_OBJECT (Config, label8, "label8"); + GLADE_HOOKUP_OBJECT (Config, xlabel8, "xlabel8"); + GLADE_HOOKUP_OBJECT (Config, frame10, "frame10"); + GLADE_HOOKUP_OBJECT (Config, vbox16, "vbox16"); + GLADE_HOOKUP_OBJECT (Config, fxPreamp, "fxPreamp"); + GLADE_HOOKUP_OBJECT (Config, hbox11, "hbox11"); + GLADE_HOOKUP_OBJECT (Config, label19, "label19"); + GLADE_HOOKUP_OBJECT (Config, fxPreampLevel, "fxPreampLevel"); + GLADE_HOOKUP_OBJECT (Config, label20, "label20"); + GLADE_HOOKUP_OBJECT (Config, label9, "label9"); + GLADE_HOOKUP_OBJECT (Config, label10, "label10"); + GLADE_HOOKUP_OBJECT (Config, vbox19, "vbox19"); + GLADE_HOOKUP_OBJECT (Config, frame4, "frame4"); + GLADE_HOOKUP_OBJECT (Config, hbox3, "hbox3"); + GLADE_HOOKUP_OBJECT (Config, vbox8, "vbox8"); + GLADE_HOOKUP_OBJECT (Config, fxUseFilename, "fxUseFilename"); + GLADE_HOOKUP_OBJECT (Config, fxFastInfo, "fxFastInfo"); + GLADE_HOOKUP_OBJECT (Config, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (Config, fxNR, "fxNR"); + GLADE_HOOKUP_OBJECT (Config, fxAmigaMOD, "fxAmigaMOD"); + GLADE_HOOKUP_OBJECT (Config, label21, "label21"); + GLADE_HOOKUP_OBJECT (Config, frame11, "frame11"); + GLADE_HOOKUP_OBJECT (Config, vbox17, "vbox17"); + GLADE_HOOKUP_OBJECT (Config, fxNoLoop, "fxNoLoop"); + GLADE_HOOKUP_OBJECT (Config, hbox13, "hbox13"); + GLADE_HOOKUP_OBJECT (Config, fxLoopFinite, "fxLoopFinite"); + GLADE_HOOKUP_OBJECT (Config, fxLoopCount, "fxLoopCount"); + GLADE_HOOKUP_OBJECT (Config, xlabel21, "xlabel21"); + GLADE_HOOKUP_OBJECT (Config, fxLoopForever, "fxLoopForever"); + GLADE_HOOKUP_OBJECT (Config, label22, "label22"); + GLADE_HOOKUP_OBJECT (Config, xlabel22, "xlabel22"); + GLADE_HOOKUP_OBJECT (Config, hbuttonbox2, "hbuttonbox2"); + GLADE_HOOKUP_OBJECT (Config, config_ok, "config_ok"); + GLADE_HOOKUP_OBJECT (Config, config_apply, "config_apply"); + GLADE_HOOKUP_OBJECT (Config, config_cancel, "config_cancel"); return Config; } @@ -781,182 +839,160 @@ GtkWidget *info_instruments; GtkWidget *label17; GtkWidget *scrolledwindow3; - GtkWidget *viewport3; GtkWidget *info_message; GtkWidget *label18; GtkWidget *hbuttonbox3; GtkWidget *info_close; Info = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_object_set_data (GTK_OBJECT (Info), "Info", Info); - gtk_widget_set_usize (Info, -1, 264); + gtk_widget_set_name (Info, "Info"); gtk_window_set_title (GTK_WINDOW (Info), _("MOD Info")); vbox14 = gtk_vbox_new (FALSE, 0); - gtk_widget_ref (vbox14); - gtk_object_set_data_full (GTK_OBJECT (Info), "vbox14", vbox14, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (vbox14, "vbox14"); gtk_widget_show (vbox14); gtk_container_add (GTK_CONTAINER (Info), vbox14); notebook2 = gtk_notebook_new (); - gtk_widget_ref (notebook2); - gtk_object_set_data_full (GTK_OBJECT (Info), "notebook2", notebook2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (notebook2, "notebook2"); gtk_widget_show (notebook2); gtk_box_pack_start (GTK_BOX (vbox14), notebook2, TRUE, TRUE, 8); - gtk_container_set_border_width (GTK_CONTAINER (notebook2), 6); + gtk_container_set_border_width (GTK_CONTAINER (notebook2), 4); hbox9 = gtk_hbox_new (FALSE, 0); - gtk_widget_ref (hbox9); - gtk_object_set_data_full (GTK_OBJECT (Info), "hbox9", hbox9, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbox9, "hbox9"); gtk_widget_show (hbox9); gtk_container_add (GTK_CONTAINER (notebook2), hbox9); + gtk_container_set_border_width (GTK_CONTAINER (hbox9), 2); label11 = gtk_label_new (_("Filename:\nTitle:\nType:\nLength:\nSpeed:\nTempo:\nSamples:\nInstruments:\nPatterns:\nChannels:")); - gtk_widget_ref (label11); - gtk_object_set_data_full (GTK_OBJECT (Info), "label11", label11, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label11, "label11"); gtk_widget_show (label11); gtk_box_pack_start (GTK_BOX (hbox9), label11, FALSE, FALSE, 4); - gtk_label_set_justify (GTK_LABEL (label11), GTK_JUSTIFY_LEFT); - info_general = gtk_label_new ("---\n---\n---\n---\n---\n---\n---\n---\n---\n---"); - gtk_widget_ref (info_general); - gtk_object_set_data_full (GTK_OBJECT (Info), "info_general", info_general, - (GtkDestroyNotify) gtk_widget_unref); + info_general = gtk_label_new (_("---\n---\n---\n---\n---\n---\n---\n---\n---\n---")); + gtk_widget_set_name (info_general, "info_general"); gtk_widget_show (info_general); gtk_box_pack_start (GTK_BOX (hbox9), info_general, FALSE, FALSE, 4); - gtk_label_set_justify (GTK_LABEL (info_general), GTK_JUSTIFY_LEFT); label13 = gtk_label_new (_("General")); - gtk_widget_ref (label13); - gtk_object_set_data_full (GTK_OBJECT (Info), "label13", label13, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label13, "label13"); gtk_widget_show (label13); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 0), label13); + gtk_label_set_justify (GTK_LABEL (label13), GTK_JUSTIFY_CENTER); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (scrolledwindow1); - gtk_object_set_data_full (GTK_OBJECT (Info), "scrolledwindow1", scrolledwindow1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); gtk_widget_show (scrolledwindow1); gtk_container_add (GTK_CONTAINER (notebook2), scrolledwindow1); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow1), 6); + GTK_WIDGET_UNSET_FLAGS (scrolledwindow1, GTK_CAN_FOCUS); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); viewport1 = gtk_viewport_new (NULL, NULL); - gtk_widget_ref (viewport1); - gtk_object_set_data_full (GTK_OBJECT (Info), "viewport1", viewport1, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (viewport1, "viewport1"); gtk_widget_show (viewport1); gtk_container_add (GTK_CONTAINER (scrolledwindow1), viewport1); info_samples = gtk_label_new (""); - gtk_widget_ref (info_samples); - gtk_object_set_data_full (GTK_OBJECT (Info), "info_samples", info_samples, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (info_samples, "info_samples"); gtk_widget_show (info_samples); gtk_container_add (GTK_CONTAINER (viewport1), info_samples); - gtk_label_set_justify (GTK_LABEL (info_samples), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (info_samples), 7.45058e-09, 7.45058e-09); - gtk_label_set_selectable(GTK_LABEL (info_samples), TRUE); label15 = gtk_label_new (_("Samples")); - gtk_widget_ref (label15); - gtk_object_set_data_full (GTK_OBJECT (Info), "label15", label15, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label15, "label15"); gtk_widget_show (label15); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 1), label15); + gtk_label_set_justify (GTK_LABEL (label15), GTK_JUSTIFY_CENTER); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (scrolledwindow2); - gtk_object_set_data_full (GTK_OBJECT (Info), "scrolledwindow2", scrolledwindow2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); gtk_widget_show (scrolledwindow2); gtk_container_add (GTK_CONTAINER (notebook2), scrolledwindow2); gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow2), 6); + GTK_WIDGET_UNSET_FLAGS (scrolledwindow2, GTK_CAN_FOCUS); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); viewport2 = gtk_viewport_new (NULL, NULL); - gtk_widget_ref (viewport2); - gtk_object_set_data_full (GTK_OBJECT (Info), "viewport2", viewport2, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (viewport2, "viewport2"); gtk_widget_show (viewport2); gtk_container_add (GTK_CONTAINER (scrolledwindow2), viewport2); info_instruments = gtk_label_new (""); - gtk_widget_ref (info_instruments); - gtk_object_set_data_full (GTK_OBJECT (Info), "info_instruments", info_instruments, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (info_instruments, "info_instruments"); gtk_widget_show (info_instruments); gtk_container_add (GTK_CONTAINER (viewport2), info_instruments); - gtk_label_set_justify (GTK_LABEL (info_instruments), GTK_JUSTIFY_LEFT); gtk_misc_set_alignment (GTK_MISC (info_instruments), 1.49012e-08, 7.45058e-09); - gtk_label_set_selectable(GTK_LABEL (info_instruments), TRUE); label17 = gtk_label_new (_("Instruments")); - gtk_widget_ref (label17); - gtk_object_set_data_full (GTK_OBJECT (Info), "label17", label17, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label17, "label17"); gtk_widget_show (label17); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label17); + gtk_label_set_justify (GTK_LABEL (label17), GTK_JUSTIFY_CENTER); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); - gtk_widget_ref (scrolledwindow3); - gtk_object_set_data_full (GTK_OBJECT (Info), "scrolledwindow3", scrolledwindow3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (scrolledwindow3, "scrolledwindow3"); gtk_widget_show (scrolledwindow3); gtk_container_add (GTK_CONTAINER (notebook2), scrolledwindow3); - gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow3), 6); + GTK_WIDGET_UNSET_FLAGS (scrolledwindow3, GTK_CAN_FOCUS); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS); - - viewport3 = gtk_viewport_new (NULL, NULL); - gtk_widget_ref (viewport3); - gtk_object_set_data_full (GTK_OBJECT (Info), "viewport3", viewport3, - (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show (viewport3); - gtk_container_add (GTK_CONTAINER (scrolledwindow3), viewport3); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); - info_message = gtk_label_new (""); - gtk_widget_ref (info_message); - gtk_object_set_data_full (GTK_OBJECT (Info), "info_message", info_message, - (GtkDestroyNotify) gtk_widget_unref); + info_message = gtk_text_view_new (); + gtk_widget_set_name (info_message, "info_message"); gtk_widget_show (info_message); - gtk_container_add (GTK_CONTAINER (viewport3), info_message); - gtk_label_set_justify (GTK_LABEL (info_message), GTK_JUSTIFY_LEFT); - gtk_label_set_line_wrap(GTK_LABEL (info_message), TRUE); - gtk_label_set_selectable(GTK_LABEL (info_message), TRUE); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), info_message); + gtk_text_view_set_editable (GTK_TEXT_VIEW (info_message), FALSE); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (info_message), GTK_WRAP_WORD); label18 = gtk_label_new (_("Message")); - gtk_widget_ref (label18); - gtk_object_set_data_full (GTK_OBJECT (Info), "label18", label18, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (label18, "label18"); gtk_widget_show (label18); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 3), label18); + gtk_label_set_justify (GTK_LABEL (label18), GTK_JUSTIFY_CENTER); hbuttonbox3 = gtk_hbutton_box_new (); - gtk_widget_ref (hbuttonbox3); - gtk_object_set_data_full (GTK_OBJECT (Info), "hbuttonbox3", hbuttonbox3, - (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_set_name (hbuttonbox3, "hbuttonbox3"); gtk_widget_show (hbuttonbox3); gtk_box_pack_start (GTK_BOX (vbox14), hbuttonbox3, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox3), 2); + gtk_box_set_spacing (GTK_BOX (hbuttonbox3), 30); - info_close = gtk_button_new_with_label (_("Close")); - gtk_widget_ref (info_close); - gtk_object_set_data_full (GTK_OBJECT (Info), "info_close", info_close, - (GtkDestroyNotify) gtk_widget_unref); + info_close = gtk_button_new_with_mnemonic (_("Close")); + gtk_widget_set_name (info_close, "info_close"); gtk_widget_show (info_close); gtk_container_add (GTK_CONTAINER (hbuttonbox3), info_close); GTK_WIDGET_SET_FLAGS (info_close, GTK_CAN_DEFAULT); - gtk_signal_connect (GTK_OBJECT (Info), "delete_event", - GTK_SIGNAL_FUNC (hide_window), - NULL); - gtk_signal_connect (GTK_OBJECT (info_close), "clicked", - GTK_SIGNAL_FUNC (on_info_close_clicked), - NULL); + g_signal_connect ((gpointer) Info, "delete_event", + G_CALLBACK (hide_window), + NULL); + g_signal_connect ((gpointer) info_close, "clicked", + G_CALLBACK (on_info_close_clicked), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (Info, Info, "Info"); + GLADE_HOOKUP_OBJECT (Info, vbox14, "vbox14"); + GLADE_HOOKUP_OBJECT (Info, notebook2, "notebook2"); + GLADE_HOOKUP_OBJECT (Info, hbox9, "hbox9"); + GLADE_HOOKUP_OBJECT (Info, label11, "label11"); + GLADE_HOOKUP_OBJECT (Info, info_general, "info_general"); + GLADE_HOOKUP_OBJECT (Info, label13, "label13"); + GLADE_HOOKUP_OBJECT (Info, scrolledwindow1, "scrolledwindow1"); + GLADE_HOOKUP_OBJECT (Info, viewport1, "viewport1"); + GLADE_HOOKUP_OBJECT (Info, info_samples, "info_samples"); + GLADE_HOOKUP_OBJECT (Info, label15, "label15"); + GLADE_HOOKUP_OBJECT (Info, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (Info, viewport2, "viewport2"); + GLADE_HOOKUP_OBJECT (Info, info_instruments, "info_instruments"); + GLADE_HOOKUP_OBJECT (Info, label17, "label17"); + GLADE_HOOKUP_OBJECT (Info, scrolledwindow3, "scrolledwindow3"); + GLADE_HOOKUP_OBJECT (Info, info_message, "info_message"); + GLADE_HOOKUP_OBJECT (Info, label18, "label18"); + GLADE_HOOKUP_OBJECT (Info, hbuttonbox3, "hbuttonbox3"); + GLADE_HOOKUP_OBJECT (Info, info_close, "info_close"); return Info; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/main.cxx --- a/src/modplug/gui/main.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/gui/main.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -9,7 +9,10 @@ #include #include +extern "C" { #include "audacious/util.h" +#include "audacious/strings.h" +} #include "interface.h" #include "support.h" @@ -42,7 +45,7 @@ { gchar * about_text = g_strjoin( "" , _("Modplug Input Plugin for Audacious ver") , VERSION , _("\nModplug sound engine written by Olivier Lapicque.\nXMMS interface for Modplug by Kenton Varda.\n(c)2000 Olivier Lapicque and Kenton Varda.\nUpdates and Maintainance by Konstanty Bialkowski.\nPorted to BMP by Theofilos Intzoglou.") , NULL ); - AboutWin = xmms_show_message( _("About Modplug") , about_text , _("Ok") , FALSE , NULL , NULL ); + AboutWin = audacious_info_dialog( _("About Modplug") , about_text , _("Ok") , FALSE , NULL , NULL ); gtk_signal_connect( GTK_OBJECT(AboutWin) , "destroy" , GTK_SIGNAL_FUNC(gtk_widget_destroyed), &AboutWin); g_free( about_text ); @@ -152,7 +155,7 @@ uint32 lSongTime, lNumSamples, lNumInstruments, i; string lInfo; - char lBuffer[33]; + gchar lBuffer[33]; stringstream lStrStream(ios::out); //C++ replacement for sprintf() CSoundFile* lSoundFile; @@ -160,6 +163,7 @@ Archive* lArchive; string lShortFN; uint32 lPos; + gchar *tmps; lPos = aFilename.find_last_of('/') + 1; lShortFN = aFilename.substr(lPos); @@ -177,7 +181,9 @@ lInfo = lShortFN; lInfo += '\n'; - lInfo += lSoundFile->GetTitle(); + tmps = str_to_utf8(lSoundFile->GetTitle()); + lInfo += tmps; + g_free(tmps); lInfo += '\n'; switch(lSoundFile->GetType()) @@ -275,7 +281,9 @@ for(i = 0; i < lNumSamples; i++) { lSoundFile->GetSampleName(i, lBuffer); - lInfo += lBuffer; + tmps = str_to_utf8(lBuffer); + lInfo += tmps; + g_free(tmps); lInfo += '\n'; } gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_samples"), lInfo.c_str()); @@ -284,7 +292,9 @@ for(i = 0; i < lNumInstruments; i++) { lSoundFile->GetInstrumentName(i, lBuffer); - lInfo += lBuffer; + tmps = str_to_utf8(lBuffer); + lInfo += tmps; + g_free(tmps); lInfo += '\n'; } gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_instruments"), lInfo.c_str()); @@ -296,7 +306,9 @@ //gtk_text_backward_delete(textbox, length); length = lSoundFile->GetSongComments(message, MAX_MESSAGE_LENGTH, 80); if (length != 0) { - gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_message"), message); + tmps = str_to_utf8(message); + gtk_label_set_text((GtkLabel*)lookup_widget(InfoWin, "info_message"), tmps); + g_free(tmps); } //unload the file diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/modplug.glade --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/modplug/gui/modplug.glade Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,2028 @@ + + + + + + + 500 + True + ModPlug Configuration + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + False + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + + True + False + 0 + + + + 4 + True + True + True + True + GTK_POS_TOP + False + False + + + + 2 + True + False + 0 + + + + True + False + 2 + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + True + 16 bit + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + 8 bit + True + GTK_RELIEF_NORMAL + True + False + False + True + bit16 + + + 0 + False + False + + + + + + + + True + Resolution + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + True + Stereo + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Mono (downmix) + True + GTK_RELIEF_NORMAL + True + False + False + True + stereo + + + 0 + False + False + + + + + + + + True + Channels + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + False + True + + + + + + True + False + 0 + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + True + Nearest (fastest) + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Linear (fast) + True + GTK_RELIEF_NORMAL + True + False + False + True + resampNearest + + + 0 + False + False + + + + + + True + True + Spline (good quality) + True + GTK_RELIEF_NORMAL + True + False + False + True + resampNearest + + + 0 + False + False + + + + + + True + True + 8-tap Fir (extremely high quality) + True + GTK_RELIEF_NORMAL + True + False + False + True + resampNearest + + + 0 + False + False + + + + + + + + True + Resampling + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + True + 44 kHz + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + 22 kHz + True + GTK_RELIEF_NORMAL + True + False + False + True + samp44 + + + 0 + False + False + + + + + + True + True + 11 kHz + True + GTK_RELIEF_NORMAL + False + False + False + True + samp44 + + + 0 + False + False + + + + + + + + True + Sampling Rate + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + False + True + + + + + False + True + + + + + + True + Quality + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 2 + True + False + 0 + + + + True + False + 0 + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + 2 + True + True + Enable + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + + 2 + True + 2 + 2 + False + 4 + 4 + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 30 0 100 0 0 0 + + + 1 + 2 + 0 + 1 + + + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 90 40 200 0 0 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + True + Depth + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + + + + + + + + True + Delay + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + 0 + True + True + + + + + + + + True + Reverb + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + 2 + True + True + Enable + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + + 2 + True + 2 + 2 + False + 4 + 4 + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 30 0 100 0 0 0 + + + 1 + 2 + 0 + 1 + + + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 30 10 100 0 0 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + True + Amount + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + + + + + + + + True + Range + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + 0 + True + True + + + + + + + + True + Bass Boost + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + False + True + + + + + + True + False + 0 + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + False + 0 + + + + 2 + True + True + Enable + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + + 2 + True + 2 + 2 + False + 4 + 4 + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 20 0 100 0 0 0 + + + 1 + 2 + 0 + 1 + + + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 20 5 40 0 0 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + True + Depth + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + + + + + + + + True + Delay + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + + + + + + + 0 + True + True + + + + + + + + True + Surround + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 4 + True + False + 2 + + + + 2 + True + True + Enable + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + False + 4 + + + + True + Volume + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + True + True + GTK_POS_TOP + 1 + GTK_UPDATE_CONTINUOUS + False + 0 -3 3 1 0 0 + + + 0 + True + True + + + + + 0 + True + True + + + + + + True + Note: Setting the preamp +too high may cause clipping +(annoying clicks and pops)! + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + True + Preamp + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + 0 + False + True + + + + + False + True + + + + + + True + Effects + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 2 + True + False + 0 + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + False + 0 + + + + True + True + Use Filename as Song Title + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + True + Fast Playlist Info + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + 0 + True + True + + + + + + True + False + 0 + + + + True + True + Noise Reduction + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + + True + True + Play Amiga MOD + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + 0 + True + True + + + + + + + + True + General + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + + + + + + 2 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 0 + + + + True + True + Don't loop + True + GTK_RELIEF_NORMAL + True + False + False + True + + + 0 + False + False + + + + + + True + False + 0 + + + + True + True + Loop + True + GTK_RELIEF_NORMAL + True + False + False + True + fxNoLoop + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 1 0 100 1 10 10 + + + 0 + False + True + + + + + + True + time(s) + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 0 + False + False + + + + + + True + True + Loop forever + True + GTK_RELIEF_NORMAL + True + False + False + True + fxNoLoop + + + 0 + False + False + + + + + + + + True + Looping + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + + + + + False + True + + + + + + True + Misc + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + 0 + True + True + + + + + + 4 + True + GTK_BUTTONBOX_END + 8 + + + + True + True + True + OK + True + GTK_RELIEF_NORMAL + True + + + + + + + True + True + True + Apply + True + GTK_RELIEF_NORMAL + True + + + + + + + True + True + True + Cancel + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + True + True + + + + + + + + True + MOD Info + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + + True + False + 0 + + + + 4 + True + True + True + True + GTK_POS_TOP + False + False + + + + 2 + True + False + 0 + + + + True + Filename: +Title: +Type: +Length: +Speed: +Tempo: +Samples: +Instruments: +Patterns: +Channels: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + + True + --- +--- +--- +--- +--- +--- +--- +--- +--- +--- + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 4 + False + False + + + + + False + True + + + + + + True + General + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 6 + True + GTK_POLICY_NEVER + GTK_POLICY_ALWAYS + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 7.45058015283e-09 + 7.45058015283e-09 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + False + True + + + + + + True + Samples + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 6 + True + GTK_POLICY_NEVER + GTK_POLICY_ALWAYS + GTK_SHADOW_NONE + GTK_CORNER_TOP_LEFT + + + + True + GTK_SHADOW_IN + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 1.49012002737e-08 + 7.45058015283e-09 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + False + True + + + + + + True + Instruments + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + True + GTK_POLICY_NEVER + GTK_POLICY_ALWAYS + GTK_SHADOW_IN + GTK_CORNER_TOP_LEFT + + + + True + True + False + False + True + GTK_JUSTIFY_LEFT + GTK_WRAP_WORD + True + 0 + 0 + 0 + 0 + 0 + 0 + + + + + + False + True + + + + + + True + Message + False + False + GTK_JUSTIFY_CENTER + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + 8 + True + True + + + + + + 2 + True + GTK_BUTTONBOX_DEFAULT_STYLE + 30 + + + + True + True + True + Close + True + GTK_RELIEF_NORMAL + True + + + + + + 0 + False + False + + + + + + + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/modplug.gladep --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/modplug/gui/modplug.gladep Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,16 @@ + + + + + ModPlug + modplug + . + . + FALSE + TRUE + FALSE + FALSE + interface.cxx + callbacks.cxx + support.cxx + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/support.cxx --- a/src/modplug/gui/support.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/gui/support.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -10,18 +10,12 @@ #include #include #include +#include #include #include "support.h" -/* This is an internally used function to check if a pixmap file exists. */ -static gchar* check_file_exists (const gchar *directory, - const gchar *filename); - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* create_dummy_pixmap (GtkWidget *widget); - GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name) @@ -34,47 +28,20 @@ parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); else parent = widget->parent; + if (!parent) + parent = (GtkWidget*) g_object_get_data (G_OBJECT (widget), "GladeParentKey"); if (parent == NULL) break; widget = parent; } - found_widget = (GtkWidget*) gtk_object_get_data (GTK_OBJECT (widget), - widget_name); + found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget), + widget_name); if (!found_widget) g_warning ("Widget not found: %s", widget_name); return found_widget; } -/* This is a dummy pixmap we use when a pixmap can't be found. */ -static const char *dummy_pixmap_xpm[] = { -/* columns rows colors chars-per-pixel */ -"1 1 1 1", -" c None", -/* pixels */ -" " -}; - -/* This is an internally used function to create pixmaps. */ -static GtkWidget* -create_dummy_pixmap (GtkWidget *widget) -{ - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; - GtkWidget *pixmap; - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm_d (NULL, colormap, &mask, - NULL, (gchar **)dummy_pixmap_xpm); - if (gdkpixmap == NULL) - g_error ("Couldn't create replacement pixmap."); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); - return pixmap; -} - static GList *pixmaps_directories = NULL; /* Use this function to set the directory containing installed pixmaps. */ @@ -85,75 +52,93 @@ g_strdup (directory)); } +/* This is an internally used function to find pixmap files. */ +static gchar* +find_pixmap_file (const gchar *filename) +{ + GList *elem; + + /* We step through each of the pixmaps directory to find it. */ + elem = pixmaps_directories; + while (elem) + { + gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, + G_DIR_SEPARATOR_S, filename); + if (g_file_test (pathname, G_FILE_TEST_EXISTS)) + return pathname; + g_free (pathname); + elem = elem->next; + } + return NULL; +} + /* This is an internally used function to create pixmaps. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename) { - gchar *found_filename = NULL; - GdkColormap *colormap; - GdkPixmap *gdkpixmap; - GdkBitmap *mask; + gchar *pathname = NULL; GtkWidget *pixmap; - GList *elem; + + if (!filename || !filename[0]) + return gtk_image_new (); - /* We first try any pixmaps directories set by the application. */ - elem = pixmaps_directories; - while (elem) + pathname = find_pixmap_file (filename); + + if (!pathname) { - found_filename = check_file_exists ((gchar*)elem->data, filename); - if (found_filename) - break; - elem = elem->next; + g_warning (_("Couldn't find pixmap file: %s"), filename); + return gtk_image_new (); } - /* If we haven't found the pixmap, try the source directory. */ - if (!found_filename) - { - found_filename = check_file_exists ("../pixmaps", filename); - } - - if (!found_filename) - { - g_warning (_("Couldn't find pixmap file: %s"), filename); - return create_dummy_pixmap (widget); - } - - colormap = gtk_widget_get_colormap (widget); - gdkpixmap = gdk_pixmap_colormap_create_from_xpm (NULL, colormap, &mask, - NULL, found_filename); - if (gdkpixmap == NULL) - { - g_warning (_("Error loading pixmap file: %s"), found_filename); - g_free (found_filename); - return create_dummy_pixmap (widget); - } - g_free (found_filename); - pixmap = gtk_pixmap_new (gdkpixmap, mask); - gdk_pixmap_unref (gdkpixmap); - gdk_bitmap_unref (mask); + pixmap = gtk_image_new_from_file (pathname); + g_free (pathname); return pixmap; } -/* This is an internally used function to check if a pixmap file exists. */ -gchar* -check_file_exists (const gchar *directory, - const gchar *filename) +/* This is an internally used function to create pixmaps. */ +GdkPixbuf* +create_pixbuf (const gchar *filename) { - gchar *full_filename; - struct stat s; - gint status; + gchar *pathname = NULL; + GdkPixbuf *pixbuf; + GError *error = NULL; + + if (!filename || !filename[0]) + return NULL; + + pathname = find_pixmap_file (filename); - full_filename = (gchar*) g_malloc (strlen (directory) + 1 - + strlen (filename) + 1); - strcpy (full_filename, directory); - strcat (full_filename, G_DIR_SEPARATOR_S); - strcat (full_filename, filename); + if (!pathname) + { + g_warning (_("Couldn't find pixmap file: %s"), filename); + return NULL; + } - status = stat (full_filename, &s); - if (status == 0 && S_ISREG (s.st_mode)) - return full_filename; - g_free (full_filename); - return NULL; + pixbuf = gdk_pixbuf_new_from_file (pathname, &error); + if (!pixbuf) + { + fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", + pathname, error->message); + g_error_free (error); + } + g_free (pathname); + return pixbuf; } +/* This is used to set ATK action descriptions. */ +void +glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description) +{ + gint n_actions, i; + + n_actions = atk_action_get_n_actions (action); + for (i = 0; i < n_actions; i++) + { + if (!strcmp (atk_action_get_name (action, i), action_name)) + atk_action_set_description (action, i, description); + } +} + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/gui/support.h --- a/src/modplug/gui/support.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/gui/support.h Thu Sep 13 12:10:39 2007 -0500 @@ -11,10 +11,11 @@ /* * Standard gettext macros. */ -#if defined ENABLE_NLS && !defined __NetBSD__ +#ifdef ENABLE_NLS # include # undef _ # define _(String) dgettext (PACKAGE, String) +# define Q_(String) g_strip_context ((String), gettext (String)) # ifdef gettext_noop # define N_(String) gettext_noop (String) # else @@ -27,6 +28,7 @@ # define dcgettext(Domain,Message,Type) (Message) # define bindtextdomain(Domain,Directory) (Domain) # define _(String) (String) +# define Q_(String) g_strip_context ((String), (String)) # define N_(String) (String) #endif @@ -44,8 +46,6 @@ GtkWidget* lookup_widget (GtkWidget *widget, const gchar *widget_name); -/* get_widget() is deprecated. Use lookup_widget instead. */ -#define get_widget lookup_widget /* Use this function to set the directory containing installed pixmaps. */ void add_pixmap_directory (const gchar *directory); @@ -55,7 +55,15 @@ * Private Functions. */ -/* This is used to create the pixmaps in the interface. */ +/* This is used to create the pixmaps used in the interface. */ GtkWidget* create_pixmap (GtkWidget *widget, const gchar *filename); +/* This is used to create the pixbufs used in the interface. */ +GdkPixbuf* create_pixbuf (const gchar *filename); + +/* This is used to set ATK action descriptions. */ +void glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description); + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/modplugbmp.cxx --- a/src/modplug/modplugbmp.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/modplugbmp.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -19,13 +19,14 @@ #include "audacious/tuple.h" #include "audacious/tuple_formatter.h" #include "audacious/vfs.h" +#include "audacious/strings.h" } static char* format_and_free_ti( Tuple* ti, int* length ) { char* result = tuple_formatter_make_title_string(ti, get_gentitle_format()); if ( result ) - *length = tuple_get_int(ti, "length"); + *length = tuple_get_int(ti, FIELD_LENGTH, NULL); tuple_free((void *) ti); return result; @@ -110,13 +111,13 @@ { string lExt; uint32 lPos; + const int magicSize = 32; + char magic[magicSize]; - gchar magic[4]; - - vfs_fread(magic, 1, 4, file); + vfs_fread(magic, 1, magicSize, file); if (!memcmp(magic, UMX_MAGIC, 4)) return true; - if (!memcmp(magic, XM_MAGIC, 4)) + if (!memcmp(magic, "Extended Module:", 16)) return true; if (!memcmp(magic, M669_MAGIC, 2)) return true; @@ -131,12 +132,22 @@ vfs_fread(magic, 1, 4, file); if (!memcmp(magic, S3M_MAGIC, 4)) return true; + vfs_fseek(file, 1080, SEEK_SET); vfs_fread(magic, 1, 4, file); - if (!memcmp(magic, MOD_MAGIC_FASTTRACKER6, 4)) - return true; - if (!memcmp(magic, MOD_MAGIC_FASTTRACKER8, 4)) - return true; + + // Check for Fast Tracker multichannel modules (xCHN, xxCH) + if (magic[1] == 'C' && magic[2] == 'H' && magic[3] == 'N') { + if (magic[0] == '6' || magic[0] == '8') + return true; + } + if (magic[2] == 'C' && magic[3] == 'H' && isdigit(magic[0]) && isdigit(magic[1])) { + int nch = (magic[0] - '0') * 10 + (magic[1] - '0'); + if ((nch % 2 == 0) && nch >= 10) + return true; + } + + // Check for Amiga MOD module formats if(mModProps.mGrabAmigaMOD) { if (!memcmp(magic, MOD_MAGIC_PROTRACKER4, 4)) return true; @@ -495,6 +506,7 @@ { CSoundFile* lSoundFile; Archive* lArchive; + gchar* tmps; //open and mmap the file lArchive = OpenArchive(aFilename); @@ -507,78 +519,43 @@ Tuple *ti = tuple_new_from_filename(aFilename.c_str()); lSoundFile = new CSoundFile; lSoundFile->Create((uchar*)lArchive->Map(), lArchive->Size()); + switch(lSoundFile->GetType()) { - case MOD_TYPE_MOD: - tuple_associate_string(ti, "codec", "ProTracker"); - break; - case MOD_TYPE_S3M: - tuple_associate_string(ti, "codec", "Scream Tracker 3"); - break; - case MOD_TYPE_XM: - tuple_associate_string(ti, "codec", "Fast Tracker 2"); - break; - case MOD_TYPE_IT: - tuple_associate_string(ti, "codec", "Impulse Tracker"); - break; - case MOD_TYPE_MED: - tuple_associate_string(ti, "codec", "OctaMed"); - break; - case MOD_TYPE_MTM: - tuple_associate_string(ti, "codec", "MultiTracker Module"); - break; - case MOD_TYPE_669: - tuple_associate_string(ti, "codec", "669 Composer / UNIS 669"); - break; - case MOD_TYPE_ULT: - tuple_associate_string(ti, "codec", "Ultra Tracker"); - break; - case MOD_TYPE_STM: - tuple_associate_string(ti, "codec", "Scream Tracker"); - break; - case MOD_TYPE_FAR: - tuple_associate_string(ti, "codec", "Farandole"); - break; - case MOD_TYPE_AMF: - tuple_associate_string(ti, "codec", "ASYLUM Music Format"); - break; - case MOD_TYPE_AMS: - tuple_associate_string(ti, "codec", "AMS module"); - break; - case MOD_TYPE_DSM: - tuple_associate_string(ti, "codec", "DSIK Internal Format"); - break; - case MOD_TYPE_MDL: - tuple_associate_string(ti, "codec", "DigiTracker"); - break; - case MOD_TYPE_OKT: - tuple_associate_string(ti, "codec", "Oktalyzer"); - break; - case MOD_TYPE_DMF: - tuple_associate_string(ti, "codec", "Delusion Digital Music Fileformat (X-Tracker)"); - break; - case MOD_TYPE_PTM: - tuple_associate_string(ti, "codec", "PolyTracker"); - break; - case MOD_TYPE_DBM: - tuple_associate_string(ti, "codec", "DigiBooster Pro"); - break; - case MOD_TYPE_MT2: - tuple_associate_string(ti, "codec", "MadTracker 2"); - break; - case MOD_TYPE_AMF0: - tuple_associate_string(ti, "codec", "AMF0"); - break; - case MOD_TYPE_PSM: - tuple_associate_string(ti, "codec", "Protracker Studio Module"); - break; - default: - tuple_associate_string(ti, "codec", "ModPlug unknown"); - break; + case MOD_TYPE_MOD: tmps = "ProTracker"; break; + case MOD_TYPE_S3M: tmps = "Scream Tracker 3"; break; + case MOD_TYPE_XM: tmps = "Fast Tracker 2"; break; + case MOD_TYPE_IT: tmps = "Impulse Tracker"; break; + case MOD_TYPE_MED: tmps = "OctaMed"; break; + case MOD_TYPE_MTM: tmps = "MultiTracker Module"; break; + case MOD_TYPE_669: tmps = "669 Composer / UNIS 669"; break; + case MOD_TYPE_ULT: tmps = "Ultra Tracker"; break; + case MOD_TYPE_STM: tmps = "Scream Tracker"; break; + case MOD_TYPE_FAR: tmps = "Farandole"; break; + case MOD_TYPE_AMF: tmps = "ASYLUM Music Format"; break; + case MOD_TYPE_AMS: tmps = "AMS module"; break; + case MOD_TYPE_DSM: tmps = "DSIK Internal Format"; break; + case MOD_TYPE_MDL: tmps = "DigiTracker"; break; + case MOD_TYPE_OKT: tmps = "Oktalyzer"; break; + case MOD_TYPE_DMF: tmps = "Delusion Digital Music Fileformat (X-Tracker)"; break; + case MOD_TYPE_PTM: tmps = "PolyTracker"; break; + case MOD_TYPE_DBM: tmps = "DigiBooster Pro"; break; + case MOD_TYPE_MT2: tmps = "MadTracker 2"; break; + case MOD_TYPE_AMF0: tmps = "AMF0"; break; + case MOD_TYPE_PSM: tmps = "Protracker Studio Module"; break; + default: tmps = "ModPlug unknown"; break; } - tuple_associate_string(ti, "quality", "sequenced"); - tuple_associate_string(ti, "title", lSoundFile->GetTitle()); - tuple_associate_int(ti, "length", lSoundFile->GetSongTime() * 1000); + tuple_associate_string(ti, FIELD_CODEC, NULL, tmps); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "sequenced"); + tuple_associate_int(ti, FIELD_LENGTH, NULL, lSoundFile->GetSongTime() * 1000); + + /* NOTICE! FIXME? This is actually incorrect. We _cannot_ know what charset + * an arbitrary module file uses .. typically it is some DOS CP-variant, + * except for true Amiga modules. + */ + tmps = str_to_utf8(lSoundFile->GetTitle()); + tuple_associate_string(ti, FIELD_TITLE, NULL, lSoundFile->GetTitle()); + g_free(tmps); //unload the file lSoundFile->Destroy(); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/modplugbmp.h --- a/src/modplug/modplugbmp.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/modplugbmp.h Thu Sep 13 12:10:39 2007 -0500 @@ -29,8 +29,6 @@ #define MOD_MAGIC_STARTRACKER4X (unsigned char [4]) { 0x45, 0x58, 0x30, 0x34 } // "EX04" - Startracker 4 channel (Startrekker/AudioSculpture) #define MOD_MAGIC_STARTRACKER8X (unsigned char [4]) { 0x45, 0x58, 0x30, 0x38 } // "EX08" - Startracker 8 channel (Startrekker/AudioSculpture) #define MOD_MAGIC_FASTTRACKER4 (unsigned char [4]) { 0x34, 0x43, 0x48, 0x4E } // "4CHN" - Fasttracker 4 channel -#define MOD_MAGIC_FASTTRACKER6 (unsigned char [4]) { 0x36, 0x43, 0x48, 0x4E } // "6CHN" - Fasttracker 6 channel -#define MOD_MAGIC_FASTTRACKER8 (unsigned char [4]) { 0x38, 0x43, 0x48, 0x4E } // "8CHN" - Fasttracker 8 channel #define MOD_MAGIC_OKTALYZER8 (unsigned char [4]) { 0x43, 0x44, 0x38, 0x31 } // "CD81" - Atari oktalyzer 8 channel #define MOD_MAGIC_OKTALYZER8X (unsigned char [4]) { 0x4F, 0x4B, 0x54, 0x41 } // "OKTA" - Atari oktalyzer 8 channel #define MOD_MAGIC_TAKETRACKER16 (unsigned char [4]) { 0x31, 0x36, 0x43, 0x4E } // "16CN" - Taketracker 16 channel diff -r 5dfa4fc721b0 -r 1359a81e4674 src/modplug/plugin.cxx --- a/src/modplug/plugin.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/modplug/plugin.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -16,108 +16,109 @@ static void Init(void) { - gModplugXMMS.SetInputPlugin(gModPlug); - gModplugXMMS.Init(); + gModplugXMMS.SetInputPlugin(gModPlug); + gModplugXMMS.Init(); } static int CanPlayFileFromVFS(char* aFilename, VFSFile *VFSFile) { - if(gModplugXMMS.CanPlayFileFromVFS(aFilename, VFSFile)) - return 1; - return 0; + if(gModplugXMMS.CanPlayFileFromVFS(aFilename, VFSFile)) + return 1; + return 0; } static void PlayFile(InputPlayback *data) { char* aFilename = data->filename; - gModplugXMMS.SetOutputPlugin(*data->output); - gModplugXMMS.PlayFile(aFilename, data); + gModplugXMMS.SetOutputPlugin(*data->output); + gModplugXMMS.PlayFile(aFilename, data); } static void Stop(InputPlayback *data) { - gModplugXMMS.Stop(); + gModplugXMMS.Stop(); } static void Pause(InputPlayback *data, short aPaused) { - gModplugXMMS.Pause((bool)aPaused); + gModplugXMMS.Pause((bool)aPaused); } static void Seek(InputPlayback *data, int aTime) { - gModplugXMMS.Seek(float32(aTime)); + gModplugXMMS.Seek(float32(aTime)); } static int GetTime(InputPlayback *data) { - float32 lTime; - - lTime = gModplugXMMS.GetTime(); - if(lTime == -1) - return -1; - else - return (int)(lTime * 1000); + float32 lTime; + + lTime = gModplugXMMS.GetTime(); + if(lTime == -1) + return -1; + else + return (int)(lTime * 1000); } static Tuple* GetSongTuple(char* aFilename) { - return gModplugXMMS.GetSongTuple(aFilename); + return gModplugXMMS.GetSongTuple(aFilename); } void ShowAboutBox(void) { - ShowAboutWindow(); + ShowAboutWindow(); } void ShowConfigureBox(void) { - ShowConfigureWindow(gModplugXMMS.GetModProps()); + ShowConfigureWindow(gModplugXMMS.GetModProps()); } void ShowFileInfoBox(char* aFilename) { - ShowInfoWindow(aFilename); + ShowInfoWindow(aFilename); } const gchar *fmts[] = - { "amf", "ams", "dbm", "dbf", "dsm", "far", "mdl", "stm", "ult", "j2b", "mt2", - "mdz", "mdr", "mdgz", "mdbz", "mod", "s3z", "s3r", "s3gz", "s3m", "xmz", "xmr", "xmgz", - "itz", "itr", "itgz", "dmf", "umx", "it", "669", "xm", "mtm", "psm", "ft2", NULL }; + { "amf", "ams", "dbm", "dbf", "dsm", "far", "mdl", "stm", "ult", "j2b", "mt2", + "mdz", "mdr", "mdgz", "mdbz", "mod", "s3z", "s3r", "s3gz", "s3m", "xmz", "xmr", "xmgz", + "itz", "itr", "itgz", "dmf", "umx", "it", "669", "xm", "mtm", "psm", "ft2", NULL }; InputPlugin gModPlug = { - NULL, - NULL, - (gchar *)"ModPlug Audio Plugin", - Init, - ShowAboutBox, - ShowConfigureBox, - NULL, - NULL, - PlayFile, - Stop, - Pause, - Seek, - NULL, - GetTime, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - ShowFileInfoBox, - NULL, // output - GetSongTuple, - NULL, - NULL, - CanPlayFileFromVFS, // vfs - (gchar **)fmts, + NULL, + NULL, + (gchar *)"ModPlug Audio Plugin", + Init, + NULL, + ShowAboutBox, + ShowConfigureBox, + FALSE, + NULL, + NULL, + PlayFile, + Stop, + Pause, + Seek, + NULL, + GetTime, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + ShowFileInfoBox, + NULL, // output + GetSongTuple, + NULL, + NULL, + CanPlayFileFromVFS, // vfs + (gchar **)fmts }; InputPlugin *modplug_iplist[] = { &gModPlug, NULL }; -DECLARE_PLUGIN(modplug, NULL, NULL, modplug_iplist, NULL, NULL, NULL, NULL,NULL); +SIMPLE_INPUT_PLUGIN(modplug, modplug_iplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/mtp_up/mtp.c --- a/src/mtp_up/mtp.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/mtp_up/mtp.c Thu Sep 13 12:10:39 2007 -0500 @@ -110,7 +110,7 @@ Playlist *current_play = playlist_get_active(); node = current_play->entries; - PLAYLIST_LOCK(current_play->mutex); /*needed so that the user doesn't modify the selection*/ + PLAYLIST_LOCK(current_play); /*needed so that the user doesn't modify the selection*/ while (node) /*while creating the list of files to be uploaded*/ { entry = PLAYLIST_ENTRY(node->data); @@ -122,7 +122,7 @@ } node = g_list_next(node); } - PLAYLIST_UNLOCK(current_play->mutex); + PLAYLIST_UNLOCK(current_play); return g_list_reverse(up_list); } @@ -135,7 +135,7 @@ uint32_t parent_id = 0; struct stat sb; - from_path = g_strdup_printf("%s/%s", tuple_get_string(from_tuple, "file-path"), tuple_get_string(from_tuple, "file-name")); + from_path = g_strdup_printf("%s/%s", tuple_get_string(from_tuple, FIELD_FILE_PATH, NULL), tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); gchar *tmp; tmp = g_strescape(from_path,NULL); filename=g_filename_from_uri(tmp,NULL,NULL); @@ -162,15 +162,15 @@ /* track metadata*/ tr = LIBMTP_new_track_t(); - tr->title =g_strdup((gchar*) tuple_get_string(from_tuple, "title")); - tr->artist =g_strdup((gchar*) tuple_get_string(from_tuple,"artist")); - tr->album = g_strdup((gchar*)tuple_get_string(from_tuple,"album")); + tr->title = g_strdup((gchar*) tuple_get_string(from_tuple, FIELD_TITLE, NULL)); + tr->artist = g_strdup((gchar*) tuple_get_string(from_tuple, FIELD_ARTIST, NULL)); + tr->album = g_strdup((gchar*)tuple_get_string(from_tuple, FIELD_ALBUM, NULL)); tr->filesize = filesize; - tr->filename = g_strdup(tuple_get_string(from_tuple, "file-name")); - tr->duration = (uint32_t)tuple_get_int(from_tuple, "length"); + tr->filename = g_strdup(tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); + tr->duration = (uint32_t)tuple_get_int(from_tuple, FIELD_LENGTH, NULL); tr->filetype = find_filetype (from_path); - tr->genre = g_strdup((gchar*)tuple_get_string(from_tuple, "genre")); - tr->date = g_strdup_printf("%d",tuple_get_int(from_tuple, "year")); + tr->genre = g_strdup((gchar*)tuple_get_string(from_tuple, FIELD_GENRE, NULL)); + tr->date = g_strdup_printf("%d",tuple_get_int(from_tuple, FIELD_YEAR, NULL)); g_free(filename); g_free(from_path); g_free(tmp); @@ -184,7 +184,7 @@ uint32_t parent_id = 0; LIBMTP_track_t *gentrack; gentrack = track_metadata(from_tuple); - from_path = g_strdup_printf("%s/%s", tuple_get_string(from_tuple, "file-path"), tuple_get_string(from_tuple, "file-name")); + from_path = g_strdup_printf("%s/%s", tuple_get_string(from_tuple, FIELD_FILE_PATH, NULL), tuple_get_string(from_tuple, FIELD_FILE_NAME, NULL)); if(gentrack == NULL) return 1; comp = g_strescape(from_path,NULL); g_free(from_path); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/musepack/libmpc.cxx --- a/src/musepack/libmpc.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/musepack/libmpc.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -15,8 +15,10 @@ NULL, //Filename char* filename (gchar *)"Musepack Audio Plugin", mpcOpenPlugin, //Open Plugin [CALLBACK] + NULL, //Cleanup [UNUSED] mpcAboutBox, //Show About box [CALLBACK] mpcConfigBox, //Show Configure box [CALLBACK] + FALSE, //Enabled/Disabled [BOOLEAN] mpcIsOurFile, //Check if it's our file [CALLBACK] NULL, //Scan the directory [UNUSED] mpcPlay, //Play [CALLBACK] @@ -27,7 +29,6 @@ mpcGetTime, //Get Time [CALLBACK] NULL, //Get Volume [UNUSED] NULL, //Set Volume [UNUSED] - NULL, //Close Plugin [UNUSED] NULL, //Obsolete [UNUSED] NULL, //Visual plugins add_vis_pcm(int time, AFormat fmt, int nch, int length, void *ptr) NULL, //Set Info Settings set_info(char *title, int length, int rate, int freq, int nch) @@ -145,7 +146,7 @@ char* titleText = g_strdup_printf(_("Musepack Decoder Plugin 1.2")); const char* contentText = _("Plugin code by\nBenoit Amiaux\nMartin Spuler\nKuniklo\n\nGet latest version at http://musepack.net\n"); const char* buttonText = _("Nevermind"); - aboutBox = xmms_show_message(titleText, contentText, buttonText, FALSE, NULL, NULL); + aboutBox = audacious_info_dialog(titleText, contentText, buttonText, FALSE, NULL, NULL); widgets.aboutBox = aboutBox; g_signal_connect(G_OBJECT(aboutBox), "destroy", G_CALLBACK(gtk_widget_destroyed), &widgets.aboutBox); } @@ -358,14 +359,14 @@ MpcInfo tags = getTags(p_Filename); - tuple_associate_string(tuple, "date", tags.date); - tuple_associate_string(tuple, "title", tags.title); - tuple_associate_string(tuple, "artist", tags.artist); - tuple_associate_string(tuple, "album", tags.album); - tuple_associate_int(tuple, "track-number", tags.track); - tuple_associate_int(tuple, "year", tags.year); - tuple_associate_string(tuple, "genre", tags.genre); - tuple_associate_string(tuple, "comment", tags.comment); + tuple_associate_string(tuple, FIELD_DATE, NULL, tags.date); + tuple_associate_string(tuple, FIELD_TITLE, NULL, tags.title); + tuple_associate_string(tuple, FIELD_ARTIST, NULL, tags.artist); + tuple_associate_string(tuple, FIELD_ALBUM, NULL, tags.album); + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, tags.track); + tuple_associate_int(tuple, FIELD_YEAR, NULL, tags.year); + tuple_associate_string(tuple, FIELD_GENRE, NULL, tags.genre); + tuple_associate_string(tuple, FIELD_COMMENT, NULL, tags.comment); freeTags(tags); @@ -374,14 +375,14 @@ mpc_reader_setup_file_vfs(&reader, input); mpc_streaminfo_read(&info, &reader.reader); - tuple_associate_int(tuple, "length", static_cast (1000 * mpc_streaminfo_get_length(&info))); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, static_cast (1000 * mpc_streaminfo_get_length(&info))); gchar *scratch = g_strdup_printf("Musepack v%d (encoder %s)", info.stream_version, info.encoder); - tuple_associate_string(tuple, "codec", scratch); + tuple_associate_string(tuple, FIELD_CODEC, NULL, scratch); g_free(scratch); scratch = g_strdup_printf("lossy (%s)", info.profile_name); - tuple_associate_string(tuple, "quality", scratch); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, scratch); g_free(scratch); vfs_fclose(input); @@ -864,7 +865,7 @@ else { lockRelease(); - xmms_usleep(10000); + g_usleep(10000); } } return endThread(filename, input, false); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/null/null.c --- a/src/null/null.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/null/null.c Thu Sep 13 12:10:39 2007 -0500 @@ -62,7 +62,7 @@ _(" by Christian Birchinger \n" "based on the XMMS plugin by Håvard Kvål "), NULL); - about = xmms_show_message(_("About Null Output"), + about = audacious_info_dialog(_("About Null Output"), about_text, _("Ok"), FALSE, NULL, NULL); @@ -149,22 +149,12 @@ static void null_write(void *ptr, int length) { -#if 0 - EffectPlugin *ep; -#endif if (timer && !started) { g_timer_start(timer); started = TRUE; } -#if 0 - if ((ep = get_current_effect_plugin()) != NULL && - effects_enabled() && ep->mod_samples) - ep->mod_samples(&ptr, length, input_format.format, - input_format.frequency, input_format.channels); -#endif - written += length; } @@ -240,25 +230,19 @@ OutputPlugin null_op = { - NULL, - NULL, - "Null Output Plugin", - null_init, - NULL, /* cleanup */ - null_about, - null_configure, - NULL, /* Get volume */ - NULL, /* Set volume */ - null_open, - null_write, - null_close, - null_flush, - null_pause, - null_buffer_free, - null_playing, - null_get_output_time, - null_get_written_time, - NULL /* tell */ + .description = "Null Output Plugin", + .init = null_init, + .about = null_about, + .configure = null_configure, + .open_audio = null_open, + .write_audio = null_write, + .close_audio = null_close, + .flush = null_flush, + .pause = null_pause, + .buffer_free = null_buffer_free, + .buffer_playing = null_playing, + .output_time = null_get_output_time, + .written_time = null_get_written_time, }; OutputPlugin *null_oplist[] = { &null_op, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/paranormal/plugin.c --- a/src/paranormal/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/paranormal/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -60,20 +60,15 @@ static VisPlugin pn_vp = { - NULL, - NULL, - "Paranormal Visualization Studio", - 2, - 2, - pn_xmms_init, - pn_xmms_cleanup, - pn_xmms_about, - pn_xmms_configure, - NULL, /* disable_plugin */ - NULL, /* pn_xmms_playback_start */ - NULL, /* pn_xmms_playback_stop */ - pn_xmms_render_pcm, - pn_xmms_render_freq + .description = "Paranormal Visualization Studio", + .num_pcm_chs_wanted = 2, + .num_freq_chs_wanted = 2, + .init = pn_xmms_init, + .cleanup = pn_xmms_cleanup, + .about = pn_xmms_about, + .configure = pn_xmms_configure, + .render_pcm = pn_xmms_render_pcm, + .render_freq = pn_xmms_render_freq }; VisPlugin *pn_vplist[] = { &pn_vp, NULL }; @@ -266,7 +261,7 @@ static void pn_xmms_about (void) { - xmms_show_message("About Paranormal Visualization Studio", + audacious_info_dialog("About Paranormal Visualization Studio", "Paranormal Visualization Studio " VERSION "\n\n\ Copyright (C) 2006, William Pitcock \n\ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/pls/pls.c --- a/src/pls/pls.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/pls/pls.c Thu Sep 13 12:10:39 2007 -0500 @@ -110,7 +110,7 @@ vfs_fprintf(file, "[playlist]\n"); vfs_fprintf(file, "NumberOfEntries=%d\n", playlist_get_length(playlist)); - PLAYLIST_LOCK(playlist->mutex); + PLAYLIST_LOCK(playlist); for (node = playlist->entries; node; node = g_list_next(node)) { PlaylistEntry *entry = PLAYLIST_ENTRY(node->data); @@ -127,7 +127,7 @@ g_free(fn); } - PLAYLIST_UNLOCK(playlist->mutex); + PLAYLIST_UNLOCK(playlist); vfs_fclose(file); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/projectm/main.c --- a/src/projectm/main.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/projectm/main.c Thu Sep 13 12:10:39 2007 -0500 @@ -73,20 +73,17 @@ // Callback functions VisPlugin projectM_vtable = { - NULL, // Handle, filled in by xmms - NULL, // Filename, filled in by xmms - "projectM v0.99", // description - 2, // # of PCM channels for render_pcm() - 0, // # of freq channels wanted for render_freq() - projectM_xmms_init, // Called when plugin is enabled - projectM_cleanup, // Called when plugin is disabled - projectM_about, // Show the about box - projectM_configure, // Show the configure box - NULL, // Called to disable plugin, filled in by xmms - projectM_playback_start, // Called when playback starts - projectM_playback_stop, // Called when playback stops - projectM_render_pcm, // Render the PCM data, must return quickly - projectM_render_freq // Render the freq data, must return quickly + .description = "projectM v0.99", // description + .num_pcm_chs_wanted = 2, // # of PCM channels for render_pcm() + .num_freq_chs_wanted = 0, // # of freq channels wanted for render_freq() + .init = projectM_xmms_init, // Called when plugin is enabled + .cleanup = projectM_cleanup, // Called when plugin is disabled + .about = projectM_about, // Show the about box + .configure = projectM_configure, // Show the configure box + .playback_start = projectM_playback_start, // Called when playback starts + .playback_stop = projectM_playback_stop, // Called when playback stops + .render_pcm = projectM_render_pcm, // Render the PCM data, must return quickly + .render_freq = projectM_render_freq // Render the freq data, must return quickly }; VisPlugin *projectM_vplist[] = { &projectM_vtable, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/pulse_audio/pulse_audio.c --- a/src/pulse_audio/pulse_audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/pulse_audio/pulse_audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -674,7 +674,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message( + dialog = audacious_info_dialog( _("About Audacious PulseAudio Output Plugin"), _("Audacious PulseAudio Output Plugin\n\n " "This program is free software; you can redistribute it and/or modify\n" @@ -704,27 +704,21 @@ } static OutputPlugin pulse_op = { - NULL, - NULL, - "PulseAudio Output Plugin", - NULL, - NULL, - pulse_about, - NULL, - pulse_get_volume, - pulse_set_volume, - pulse_open, - pulse_write, - pulse_close, - pulse_flush, - pulse_pause, - pulse_free, - pulse_playing, - pulse_get_output_time, - pulse_get_written_time, - NULL, + .description = "PulseAudio Output Plugin", + .about = pulse_about, + .get_volume = pulse_get_volume, + .set_volume = pulse_set_volume, + .open_audio = pulse_open, + .write_audio = pulse_write, + .close_audio = pulse_close, + .flush = pulse_flush, + .pause = pulse_pause, + .buffer_free = pulse_free, + .buffer_playing = pulse_playing, + .output_time = pulse_get_output_time, + .written_time = pulse_get_written_time, }; OutputPlugin *pulse_oplist[] = { &pulse_op, NULL }; -DECLARE_PLUGIN(pulse, NULL, NULL, NULL, pulse_oplist, NULL, NULL, NULL, NULL); +SIMPLE_OUTPUT_PLUGIN(pulser, pulse_oplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/rootvis/rootvis.c --- a/src/rootvis/rootvis.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/rootvis/rootvis.c Thu Sep 13 12:10:39 2007 -0500 @@ -23,28 +23,20 @@ // Callback functions VisPlugin rootvis_vtable = { - 0, // Handle, filled in by xmms - 0, // Filename, filled in by xmms - - "Root Spectrum Analyzer 0.0.8", // description - - 0, // # of PCM channels for render_pcm() - 2, // # of freq channels wanted for render_freq() - - rootvis_init, // Called when plugin is enabled - rootvis_cleanup, // Called when plugin is disabled - NULL,//rootvis_about, // Show the about box - rootvis_configure, // Show the configure box - NULL, // Called to disable plugin, filled in by xmms - rootvis_playback_start, // Called when playback starts - rootvis_playback_stop, // Called when playback stops - NULL, // Render the PCM data, must return quickly - rootvis_render_freq // Render the freq data, must return quickly + .description = "Root Spectrum Analyzer 0.0.8", + .num_pcm_chs_wanted = 0, + .num_freq_chs_wanted = 2, + .init = rootvis_init, + .cleanup = rootvis_cleanup, + .configure = rootvis_configure, + .playback_start = rootvis_playback_start, + .playback_stop = rootvis_playback_stop, + .render_freq = rootvis_render_freq }; VisPlugin *rootvis_vplist[] = { &rootvis_vtable, NULL }; -DECLARE_PLUGIN(rootvis, NULL, NULL, NULL, NULL, NULL, NULL, rootvis_vplist,NULL); +SIMPLE_VISUAL_PLUGIN(rootvis, rootvis_vplist); // X related struct rootvis_x { diff -r 5dfa4fc721b0 -r 1359a81e4674 src/rovascope/plugin.c --- a/src/rovascope/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/rovascope/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -60,20 +60,15 @@ static VisPlugin pn_vp = { - NULL, - NULL, - "Rovascope " VERSION, - 2, - 2, - pn_xmms_init, - pn_xmms_cleanup, - pn_xmms_about, - pn_xmms_configure, - NULL, /* disable_plugin */ - NULL, /* pn_xmms_playback_start */ - NULL, /* pn_xmms_playback_stop */ - pn_xmms_render_pcm, - pn_xmms_render_freq + .description = "Rovascope " VERSION, + .num_pcm_chs_wanted = 2, + .num_freq_chs_wanted = 2, + .init = pn_xmms_init, + .cleanup = pn_xmms_cleanup, + .about = pn_xmms_about, + .configure = pn_xmms_configure, + .render_pcm = pn_xmms_render_pcm, + .render_freq = pn_xmms_render_freq }; VisPlugin *rovascope_vplist[] = { &pn_vp, NULL }; @@ -267,7 +262,7 @@ static void pn_xmms_about (void) { - xmms_show_message("About Rovascope", + audacious_info_dialog("About Rovascope", "Rovascope " VERSION "\n\n\ Copyright (C) 2007, William Pitcock \n\ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/scrobbler/fmt.c --- a/src/scrobbler/fmt.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/scrobbler/fmt.c Thu Sep 13 12:10:39 2007 -0500 @@ -9,11 +9,17 @@ char *fmt_escape(const char *str) { + if (str == NULL) + return ""; + return curl_escape(str, 0); } char *fmt_unescape(char *str) { + if (str == NULL) + return ""; + return curl_unescape(str, 0); } @@ -23,7 +29,7 @@ static char buf[30]; tm = gmt ? gmtime(&t) : localtime(&t); - snprintf(buf, sizeof(buf), "%d-%.2d-%.2d %.2d:%.2d:%.2d", + g_snprintf(buf, sizeof(buf), "%d-%.2d-%.2d %.2d:%.2d:%.2d", tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, diff -r 5dfa4fc721b0 -r 1359a81e4674 src/scrobbler/gerpok.c --- a/src/scrobbler/gerpok.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/scrobbler/gerpok.c Thu Sep 13 12:10:39 2007 -0500 @@ -92,10 +92,10 @@ item = malloc(sizeof(item_t)); - item->artist = fmt_escape(tuple_get_string(tuple, "artist")); - item->title = fmt_escape(tuple_get_string(tuple, "title")); + item->artist = fmt_escape(tuple_get_string(tuple, FIELD_ARTIST, NULL)); + item->title = fmt_escape(tuple_get_string(tuple, FIELD_TITLE, NULL)); item->utctime = fmt_escape(fmt_timestr(time(NULL), 1)); - snprintf(item->len, sizeof(item->len), "%d", len); + g_snprintf(item->len, sizeof(item->len), "%d", len); #ifdef NOTYET if(tuple->mb == NULL) @@ -106,7 +106,7 @@ item->mb = fmt_escape((char*)tuple->mb); #endif - if((album = tuple_get_string(tuple, "album"))) + if((album = tuple_get_string(tuple, FIELD_ALBUM, NULL))) item->album = fmt_escape(""); else item->album = fmt_escape((char*) album); @@ -412,7 +412,7 @@ char buf[4096]; CURL *curl; - snprintf(buf, sizeof(buf), "%s/?hs=true&p=%s&c=%s&v=%s&u=%s", + g_snprintf(buf, sizeof(buf), "%s/?hs=true&p=%s&c=%s&v=%s&u=%s", SCROBBLER_HS_URL, SCROBBLER_VERSION, SCROBBLER_CLI_ID, SCROBBLER_IMPLEMENTATION, gerpok_sc_username); @@ -568,9 +568,9 @@ static gchar *gerpok_sc_itemtag(char c, int n, char *str) { - static char buf[SCROBBLER_SB_MAXLEN]; - snprintf(buf, SCROBBLER_SB_MAXLEN, "&%c[%d]=%s", c, n, str); - return buf; + static char buf[SCROBBLER_SB_MAXLEN]; + g_snprintf(buf, SCROBBLER_SB_MAXLEN, "&%c[%d]=%s", c, n, str); + return buf; } #define cfa(f, l, n, v) \ @@ -748,7 +748,7 @@ cachesize = written = 0; - snprintf(buf, sizeof(buf), "%s/gerpokqueue.txt", audacious_get_localdir()); + g_snprintf(buf, sizeof(buf), "%s/gerpokqueue.txt", audacious_get_localdir()); if (!(fd = fopen(buf, "r"))) return; @@ -832,7 +832,7 @@ return; } - snprintf(buf, sizeof(buf), "%s/gerpokqueue.txt", audacious_get_localdir()); + g_snprintf(buf, sizeof(buf), "%s/gerpokqueue.txt", audacious_get_localdir()); if (!(fd = fopen(buf, "w"))) { diff -r 5dfa4fc721b0 -r 1359a81e4674 src/scrobbler/gtkstuff.c --- a/src/scrobbler/gtkstuff.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/scrobbler/gtkstuff.c Thu Sep 13 12:10:39 2007 -0500 @@ -19,7 +19,7 @@ tmp = g_strdup_printf(_("Audacious AudioScrobbler Plugin\n\n" "Originally created by Audun Hove and Pipian \n")); - aboutbox = xmms_show_message(_("About Scrobbler Plugin"), + aboutbox = audacious_info_dialog(_("About Scrobbler Plugin"), tmp, _("Ok"), FALSE, NULL, NULL); @@ -38,7 +38,7 @@ "%s\n"), errortxt); - xmms_show_message(_("Scrobbler Error"), + audacious_info_dialog(_("Scrobbler Error"), tmp, _("OK"), FALSE, NULL, NULL); g_free(tmp); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/scrobbler/plugin.c --- a/src/scrobbler/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/scrobbler/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -56,13 +56,10 @@ static GeneralPlugin scrobbler_gp = { - NULL, - NULL, - "Scrobbler Plugin", - init, - about_show, - NULL, - cleanup + .description = "Scrobbler Plugin", + .init = init, + .about = about_show, + .cleanup = cleanup }; static gboolean ishttp(const char *a) @@ -243,16 +240,19 @@ if (tuple == NULL) continue; - if (ishttp(tuple_get_string(tuple, "file-name"))) + if (ishttp(tuple_get_string(tuple, FIELD_FILE_NAME, NULL))) continue; - if(tuple_get_string(tuple, "artist") != NULL && tuple_get_string(tuple, "title") != NULL) + if (tuple_get_string(tuple, FIELD_ARTIST, NULL) != NULL && + tuple_get_string(tuple, FIELD_TITLE, NULL) != NULL) { pdebug(fmt_vastr( "submitting artist: %s, title: %s", - tuple_get_string(tuple, "artist"), tuple_get_string(tuple, "title")), DEBUG); - sc_addentry(m_scrobbler, tuple, tuple_get_int(tuple, "length") / 1000); - gerpok_sc_addentry(m_scrobbler, tuple, tuple_get_int(tuple, "length") / 1000); + tuple_get_string(tuple, FIELD_ARTIST, NULL), + tuple_get_string(tuple, FIELD_TITLE, NULL)), DEBUG); + + sc_addentry(m_scrobbler, tuple, tuple_get_int(tuple, FIELD_LENGTH, NULL) / 1000); + gerpok_sc_addentry(m_scrobbler, tuple, tuple_get_int(tuple, FIELD_LENGTH, NULL) / 1000); } else pdebug("tuple does not contain an artist or a title, not submitting.", DEBUG); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/scrobbler/scrobbler.c --- a/src/scrobbler/scrobbler.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/scrobbler/scrobbler.c Thu Sep 13 12:10:39 2007 -0500 @@ -131,11 +131,12 @@ item = malloc(sizeof(item_t)); - item->artist = fmt_escape(tuple_get_string(tuple, "artist")); - item->title = fmt_escape(tuple_get_string(tuple, "title")); - snprintf(item->utctime, sizeof(item->utctime), "%ld", time(NULL)); - snprintf(item->len, sizeof(item->len), "%d", len); - snprintf(item->track, sizeof(item->track), "%d", tuple_get_int(tuple, "track-number")); + item->artist = fmt_escape(tuple_get_string(tuple, FIELD_ARTIST, NULL)); + item->title = fmt_escape(tuple_get_string(tuple, FIELD_TITLE, NULL)); + g_snprintf(item->utctime, sizeof(item->utctime), "%ld", time(NULL)); + g_snprintf(item->len, sizeof(item->len), "%d", len); + g_snprintf(item->track, sizeof(item->track), "%d", + tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); #ifdef NOTYET if(tuple->mb == NULL) @@ -146,7 +147,7 @@ item->mb = fmt_escape((char*)tuple->mb); #endif - if((album = tuple_get_string(tuple, "album"))) + if((album = tuple_get_string(tuple, FIELD_ALBUM, NULL)) != NULL) item->album = fmt_escape(""); else item->album = fmt_escape((char*) album); @@ -442,7 +443,7 @@ hexify(auth, strlen(auth)); auth_tmp = g_strdup(sc_response_hash); - snprintf(buf, sizeof(buf), "%s/?hs=true&p=%s&c=%s&v=%s&u=%s&t=%ld&a=%s", + g_snprintf(buf, sizeof(buf), "%s/?hs=true&p=%s&c=%s&v=%s&u=%s&t=%ld&a=%s", SCROBBLER_HS_URL, SCROBBLER_VERSION, SCROBBLER_CLI_ID, SCROBBLER_IMPLEMENTATION, sc_username, time(NULL), auth_tmp); @@ -600,9 +601,9 @@ static gchar *sc_itemtag(char c, int n, char *str) { - static char buf[SCROBBLER_SB_MAXLEN]; - snprintf(buf, SCROBBLER_SB_MAXLEN, "&%c[%d]=%s", c, n, str); - return buf; + static char buf[SCROBBLER_SB_MAXLEN]; + g_snprintf(buf, SCROBBLER_SB_MAXLEN, "&%c[%d]=%s", c, n, str); + return buf; } #define cfa(f, l, n, v) \ @@ -673,10 +674,11 @@ /*cfa(&post, &last, "debug", "failed");*/ entry = g_strdup_printf("s=%s&a=%s&t=%s&b=%s&l=%d&n=%d&m=", sc_session_id, - tuple_get_string(tuple, "artist"), - tuple_get_string(tuple, "title"), - tuple_get_string(tuple, "album") ? tuple_get_string(tuple, "album") : "", - tuple_get_int(tuple, "length") / 1000, tuple_get_int(tuple, "track-number")); + tuple_get_string(tuple, FIELD_ARTIST, NULL), + tuple_get_string(tuple, FIELD_TITLE, NULL), + tuple_get_string(tuple, FIELD_ALBUM, NULL) ? tuple_get_string(tuple, FIELD_ALBUM, NULL) : "", + tuple_get_int(tuple, FIELD_LENGTH, NULL) / 1000, + tuple_get_int(tuple, FIELD_TRACK_NUMBER, NULL)); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, (char *) entry); memset(sc_curl_errbuf, 0, sizeof(sc_curl_errbuf)); @@ -831,7 +833,7 @@ cachesize = written = 0; - snprintf(buf, sizeof(buf), "%s/scrobblerqueue.txt", audacious_get_localdir()); + g_snprintf(buf, sizeof(buf), "%s/scrobblerqueue.txt", audacious_get_localdir()); if (!(fd = fopen(buf, "r"))) return; @@ -883,9 +885,9 @@ { Tuple *tuple = tuple_new(); - tuple_associate_string(tuple, "artist", xmms_urldecode_plain(artist)); - tuple_associate_string(tuple, "title", xmms_urldecode_plain(title)); - tuple_associate_string(tuple, "album", xmms_urldecode_plain(album)); + tuple_associate_string(tuple, FIELD_ARTIST, NULL, xmms_urldecode_plain(artist)); + tuple_associate_string(tuple, FIELD_TITLE, NULL, xmms_urldecode_plain(title)); + tuple_associate_string(tuple, FIELD_ALBUM, NULL, xmms_urldecode_plain(album)); item = q_put(tuple, atoi(len)); @@ -926,7 +928,7 @@ return; } - snprintf(buf, sizeof(buf), "%s/scrobblerqueue.txt", audacious_get_localdir()); + g_snprintf(buf, sizeof(buf), "%s/scrobblerqueue.txt", audacious_get_localdir()); if (!(fd = fopen(buf, "w"))) { diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sexypsf/plugin.c --- a/src/sexypsf/plugin.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sexypsf/plugin.c Thu Sep 13 12:10:39 2007 -0500 @@ -123,7 +123,6 @@ playback->output->close_audio(); if (!(stop)) nextsong = TRUE; - g_thread_exit(NULL); return NULL; } @@ -227,18 +226,18 @@ if (tmp->length) { tuple = tuple_new_from_filename(fn); - tuple_associate_int(tuple, "length", tmp->length); - tuple_associate_string(tuple, "artist", tmp->artist); - tuple_associate_string(tuple, "album", tmp->game); - tuple_associate_string(tuple, "game", tmp->game); - tuple_associate_string(tuple, "title", tmp->title); - tuple_associate_string(tuple, "genre", tmp->genre); - tuple_associate_string(tuple, "copyright", tmp->copyright); - tuple_associate_string(tuple, "quality", "sequenced"); - tuple_associate_string(tuple, "codec", "PlayStation Audio"); - tuple_associate_string(tuple, "console", "PlayStation"); - tuple_associate_string(tuple, "dumper", tmp->psfby); - tuple_associate_string(tuple, "comment", tmp->comment); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, tmp->length); + tuple_associate_string(tuple, FIELD_ARTIST, NULL, tmp->artist); + tuple_associate_string(tuple, FIELD_ALBUM, NULL, tmp->game); + tuple_associate_string(tuple, -1, "game", tmp->game); + tuple_associate_string(tuple, FIELD_TITLE, NULL, tmp->title); + tuple_associate_string(tuple, FIELD_GENRE, NULL, tmp->genre); + tuple_associate_string(tuple, FIELD_COPYRIGHT, NULL, tmp->copyright); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "sequenced"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "PlayStation Audio"); + tuple_associate_string(tuple, -1, "console", "PlayStation"); + tuple_associate_string(tuple, -1, "dumper", tmp->psfby); + tuple_associate_string(tuple, FIELD_COMMENT, NULL, tmp->comment); sexypsf_freepsfinfo(tmp); } @@ -264,35 +263,16 @@ InputPlugin sexypsf_ip = { - NULL, - NULL, - "PSF Audio Plugin", - NULL, - NULL, - NULL, - NULL, - NULL, - sexypsf_xmms_play, - sexypsf_xmms_stop, - sexypsf_xmms_pause, - sexypsf_xmms_seek, - NULL, - sexypsf_xmms_gettime, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - sexypsf_xmms_getsonginfo, - NULL, - NULL, - get_tuple_psf, - NULL, - NULL, - is_our_fd, - sexypsf_fmts, + .description = "PSF Audio Plugin", + .play_file = sexypsf_xmms_play, + .stop = sexypsf_xmms_stop, + .pause = sexypsf_xmms_pause, + .seek = sexypsf_xmms_seek, + .get_time = sexypsf_xmms_gettime, + .get_song_info = sexypsf_xmms_getsonginfo, + .get_song_tuple = get_tuple_psf, + .is_our_file_from_vfs = is_our_fd, + .vfs_extensions = sexypsf_fmts, }; InputPlugin *sexypsf_iplist[] = { &sexypsf_ip, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/shnplug/gtk.c --- a/src/shnplug/gtk.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/shnplug/gtk.c Thu Sep 13 12:10:39 2007 -0500 @@ -82,7 +82,7 @@ return; } - about_box = xmms_show_message( + about_box = audacious_info_dialog( (gchar *) "About " PACKAGE, (gchar *) PACKAGE " version " VERSION "\n" "Copyright (C) 2000-2007 Jason Jordan \n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/shnplug/shn.c --- a/src/shnplug/shn.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/shnplug/shn.c Thu Sep 13 12:10:39 2007 -0500 @@ -796,7 +796,7 @@ this_shn->wave_header.channels, bytes_to_write, this_shn->vars.buffer); while(shn_ip.output->buffer_free() < bytes_to_write && playback->playing && this_shn->vars.seek_to == -1) - xmms_usleep(10000); + g_usleep(10000); if(playback->playing && this_shn->vars.seek_to == -1) { if (shn_cfg.swap_bytes) @@ -1187,7 +1187,7 @@ goto restart; } else - xmms_usleep(10000); + g_usleep(10000); } goto cleanup; @@ -1227,7 +1227,7 @@ write_and_wait(this_shn,this_shn->vars.bytes_in_buf); shn_ip.output->buffer_free(); shn_ip.output->buffer_free(); - xmms_usleep(10000); + g_usleep(10000); finish: @@ -1328,7 +1328,7 @@ shnfile->vars.seek_to = time; while (shnfile->vars.seek_to != -1) - xmms_usleep(10000); + g_usleep(10000); } static void shn_get_file_info(char *filename, char **title, int *length) diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/Makefile --- a/src/sid/Makefile Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/Makefile Thu Sep 13 12:10:39 2007 -0500 @@ -35,6 +35,7 @@ xs_sidplay1.cc \ xs_sidplay2.cc \ xs_curve.c \ + xs_slsup.c \ xmms-sid.c OBJECTS1 = ${SOURCES:.c=.o} diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xmms-sid.c --- a/src/sid/xmms-sid.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xmms-sid.c Thu Sep 13 12:10:39 2007 -0500 @@ -28,7 +28,6 @@ #include #include -#include #include "xs_config.h" #include "xs_length.h" @@ -38,6 +37,9 @@ #include "xs_interface.h" #include "xs_glade.h" #include "xs_player.h" +#include "xs_slsup.h" +#include "audacious/playlist.h" + /* * Include player engines @@ -86,20 +88,7 @@ XS_MUTEX(xs_status); static XS_THREAD_T xs_decode_thread; -static GtkWidget *xs_subctrl = NULL; -static GtkObject *xs_subctrl_adj = NULL; -XS_MUTEX(xs_subctrl); - -void xs_subctrl_close(void); -void xs_subctrl_update(void); - -static t_xs_sldb *xs_sldb_db = NULL; -XS_MUTEX(xs_sldb_db); - -gint xs_songlen_init(void); -void xs_songlen_close(void); -t_xs_sldb_node *xs_songlen_get(const gchar *); - +void xs_get_song_tuple_info(Tuple *pResult, t_xs_tuneinfo *pInfo, gint subTune); /* * Error messages @@ -107,7 +96,7 @@ void xs_error(const char *fmt, ...) { va_list ap; - fprintf(stderr, "XMMS-SID: "); + fprintf(stderr, "AUD-SID: "); va_start(ap, fmt); vfprintf(stderr, fmt, ap); va_end(ap); @@ -135,6 +124,8 @@ gint iPlayer; gboolean isInitialized; + XSDEBUG("xs_reinit() thread = %p\n", g_thread_self()); + /* Stop playing, if we are */ XS_MUTEX_LOCK(xs_status); if (xs_status.isPlaying) { @@ -230,7 +221,6 @@ XSDEBUG("xs_init()\n"); /* Initialize and get configuration */ - xs_memset(&xs_cfg, 0, sizeof(xs_cfg)); xs_init_configuration(); xs_read_configuration(); @@ -268,271 +258,294 @@ */ gint xs_is_our_file(gchar *pcFilename) { + gint result = 0; t_xs_file *f; assert(xs_status.sidPlayer); /* Check the filename */ if (pcFilename == NULL) - return FALSE; + return 0; if ((f = xs_fopen(pcFilename, "rb")) != NULL) { if (xs_status.sidPlayer->plrProbe(f)) - return TRUE; + result = 1; xs_fclose(f); } - return FALSE; + return result; +} + +static gchar * xs_has_tracknumber(gchar *pcFilename) +{ + gchar *tmpSep = xs_strrchr(pcFilename, '?'); + if (tmpSep && g_ascii_isdigit(*(tmpSep + 1))) + return tmpSep; + else + return NULL; +} + +gboolean xs_get_trackinfo(const gchar *pcFilename, gchar **pcResult, gint *pTrack) +{ + gchar *tmpSep; + + *pcResult = g_strdup(pcFilename); + tmpSep = xs_has_tracknumber(*pcResult); + + if (tmpSep) { + *tmpSep = '\0'; + *pTrack = atoi(tmpSep + 1); + return TRUE; + } else { + *pTrack = -1; + return FALSE; + } } gint xs_is_our_file_vfs(gchar *pcFilename, t_xs_file *f) { + gint tmpResult = 0, tmpDummy = 0; assert(xs_status.sidPlayer); /* Check the filename */ if (pcFilename == NULL) - return FALSE; - - return xs_status.sidPlayer->plrProbe(f); -} - + return 0; -static gboolean xs_schedule_subctrl_update(gpointer unused) -{ - (void) unused; - gboolean isPlaying; +#ifdef LULZ + /* FIXME! ATTENTION! Subtune addition is now temporarily disabled + * again, due to following reason: the way it currently is "supposed" + * to be done is horribly broken and causes an "infinite recursive + * addition loop" in some cases. - ccr + */ + if (xs_has_tracknumber(pcFilename) != NULL) + return 1; +#endif - XS_MUTEX_LOCK(xs_status); - isPlaying = xs_status.isPlaying; - XS_MUTEX_UNLOCK(xs_status); + if (xs_status.sidPlayer->plrProbe(f)) { +#ifdef LULZ + t_xs_tuneinfo *pInfo; + + pInfo = xs_status.sidPlayer->plrGetSIDInfo(pcFilename); + + if (pInfo->nsubTunes > 1) { + gint i; + for (i = 1; i <= pInfo->nsubTunes; i++) { + gchar *tmpStr = g_strdup_printf("%s?%d", pcFilename, i); + gboolean doAdd = FALSE; + + if (xs_cfg.subAutoMinOnly) { + if (i == pInfo->startTune || + pInfo->subTunes[i - 1].tuneLength >= xs_cfg.subAutoMinTime) + doAdd = TRUE; + } else + doAdd = TRUE; + + if (doAdd) + playlist_add_url(playlist_get_active(), tmpStr); - if (isPlaying) - xs_subctrl_update(); + g_free(tmpStr); + } - return FALSE; + tmpResult = -1; + } else + tmpResult = 1; + + xs_tuneinfo_free(pInfo); +#else + tmpResult = 1; +#endif + } + + return tmpResult; } /* - * Main playing thread loop + * Start playing the given file */ -void *xs_playthread(void *argPointer) +void xs_play_file(InputPlayback *pb) { - InputPlayback *pb = argPointer; - t_xs_status myStatus; - t_xs_tuneinfo *myTune; - gboolean audioOpen = FALSE, doPlay = FALSE, isFound = FALSE; - gint audioGot, songLength, i; - gchar *audioBuffer = NULL, *oversampleBuffer = NULL; - Tuple *tmpTitle; + t_xs_tuneinfo *tmpTune; + gboolean audioOpen = FALSE; + gint audioGot, tmpLength, i, subTune; + gchar *tmpFilename, *audioBuffer = NULL, *oversampleBuffer = NULL, *tmpTitle; + Tuple *tmpTuple; + + assert(pb); + assert(xs_status.sidPlayer); + + XSDEBUG("play '%s'\n", pb->filename); + + XS_MUTEX_LOCK(xs_status); + + /* Get tune information */ + xs_get_trackinfo(pb->filename, &tmpFilename, &subTune); + if ((xs_status.tuneInfo = xs_status.sidPlayer->plrGetSIDInfo(tmpFilename)) == NULL) { + XS_MUTEX_UNLOCK(xs_status); + g_free(tmpFilename); + return; + } - (void) argPointer; + /* Initialize the tune */ + if (!xs_status.sidPlayer->plrLoadSID(&xs_status, tmpFilename)) { + XS_MUTEX_UNLOCK(xs_status); + g_free(tmpFilename); + xs_tuneinfo_free(xs_status.tuneInfo); + xs_status.tuneInfo = NULL; + return; + } + + g_free(tmpFilename); + tmpFilename = NULL; + + XSDEBUG("load ok\n"); - /* Initialize */ - XSDEBUG("entering player thread\n"); - XS_MUTEX_LOCK(xs_status); - memcpy(&myStatus, &xs_status, sizeof(t_xs_status)); - myTune = xs_status.tuneInfo; - for (i = 0; i <= myTune->nsubTunes; i++) - myTune->subTunes[i].tunePlayed = FALSE; - XS_MUTEX_UNLOCK(xs_status); + /* Set general status information */ + xs_status.isPlaying = TRUE; + xs_status.isError = FALSE; + tmpTune = xs_status.tuneInfo; + + if (subTune < 1 || subTune > xs_status.tuneInfo->nsubTunes) + xs_status.currSong = xs_status.tuneInfo->startTune; + else + xs_status.currSong = subTune; + + XSDEBUG("subtune #%i selected (#%d wanted), initializing...\n", xs_status.currSong, subTune); + + + /* We are ready */ + xs_decode_thread = g_thread_self(); + XSDEBUG("playing thread = %p\n", xs_decode_thread); + pb->set_pb_ready(pb); + /* Allocate audio buffer */ audioBuffer = (gchar *) g_malloc(XS_AUDIOBUF_SIZE); if (audioBuffer == NULL) { xs_error(_("Couldn't allocate memory for audio data buffer!\n")); + XS_MUTEX_UNLOCK(xs_status); goto xs_err_exit; } - - if (myStatus.oversampleEnable) { - oversampleBuffer = (gchar *) g_malloc(XS_AUDIOBUF_SIZE * myStatus.oversampleFactor); + + if (xs_status.oversampleEnable) { + oversampleBuffer = (gchar *) g_malloc(XS_AUDIOBUF_SIZE * xs_status.oversampleFactor); if (oversampleBuffer == NULL) { xs_error(_("Couldn't allocate memory for audio oversampling buffer!\n")); + XS_MUTEX_UNLOCK(xs_status); goto xs_err_exit; } } - /* - * Main player loop: while not stopped, loop here - play subtunes - */ - audioOpen = FALSE; - doPlay = TRUE; - while (xs_status.isPlaying && doPlay) { - /* Automatic sub-tune change logic */ - XS_MUTEX_LOCK(xs_cfg); - XS_MUTEX_LOCK(xs_status); - myStatus.isPlaying = TRUE; + + /* Check minimum playtime */ + tmpLength = tmpTune->subTunes[xs_status.currSong - 1].tuneLength; + if (xs_cfg.playMinTimeEnable && (tmpLength >= 0)) { + if (tmpLength < xs_cfg.playMinTime) + tmpLength = xs_cfg.playMinTime; + } + + /* Initialize song */ + if (!xs_status.sidPlayer->plrInitSong(&xs_status)) { + xs_error(_("Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n"), + tmpTune->sidFilename, xs_status.currSong); + XS_MUTEX_UNLOCK(xs_status); + goto xs_err_exit; + } - if (xs_status.currSong < 1 || myStatus.currSong < 1) { - XS_MUTEX_UNLOCK(xs_status); - XS_MUTEX_UNLOCK(xs_cfg); - goto xs_err_exit; - } + /* Open the audio output */ + XSDEBUG("open audio output (%d, %d, %d)\n", + xs_status.audioFormat, xs_status.audioFrequency, xs_status.audioChannels); - if (xs_cfg.subAutoEnable && (myStatus.currSong == xs_status.currSong)) { - /* Check if currently selected sub-tune has been played already */ - if (myTune->subTunes[myStatus.currSong-1].tunePlayed) { - /* Find a tune that has not been played */ - XSDEBUG("tune #%i already played, finding next match ...\n", myStatus.currSong); - isFound = FALSE; - i = 0; - while (!isFound && (++i <= myTune->nsubTunes)) { - if (xs_cfg.subAutoMinOnly) { - /* A tune with minimum length must be found */ - if (!myTune->subTunes[i-1].tunePlayed && - myTune->subTunes[i-1].tuneLength >= xs_cfg.subAutoMinTime) - isFound = TRUE; - } else { - /* Any unplayed tune is okay */ - if (!myTune->subTunes[i-1].tunePlayed) - isFound = TRUE; - } - } + if (!pb->output->open_audio(xs_status.audioFormat, xs_status.audioFrequency, xs_status.audioChannels)) { + xs_error(_("Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n"), + xs_status.audioFormat, + xs_status.audioFrequency, + xs_status.audioChannels); + + xs_status.isError = TRUE; + XS_MUTEX_UNLOCK(xs_status); + goto xs_err_exit; + } + + audioOpen = TRUE; + + /* Set song information for current subtune */ + XSDEBUG("foobar #1\n"); + xs_status.sidPlayer->plrUpdateSIDInfo(&xs_status); + XS_MUTEX_UNLOCK(xs_status); + tmpTuple = tuple_new_from_filename(tmpTune->sidFilename); + xs_get_song_tuple_info(tmpTuple, tmpTune, xs_status.currSong); - if (isFound) { - /* Set the new sub-tune */ - XSDEBUG("found #%i\n", i); - xs_status.currSong = i; - } else - /* This is the end */ - doPlay = FALSE; + tmpTitle = tuple_formatter_process_string(tmpTuple, + xs_cfg.titleOverride ? xs_cfg.titleFormat : get_gentitle_format()); + + XSDEBUG("foobar #4\n"); + XS_MUTEX_LOCK(xs_status); + xs_plugin_ip.set_info( + tmpTitle, + (tmpLength > 0) ? (tmpLength * 1000) : 0, + -1, + xs_status.audioFrequency, + xs_status.audioChannels); + + g_free(tmpTitle); + + XS_MUTEX_UNLOCK(xs_status); + XSDEBUG("playing\n"); + while (xs_status.isPlaying) { + /* Render audio data */ + XS_MUTEX_LOCK(xs_status); + if (xs_status.oversampleEnable) { + /* Perform oversampled rendering */ + audioGot = xs_status.sidPlayer->plrFillBuffer( + &xs_status, + oversampleBuffer, + (XS_AUDIOBUF_SIZE * xs_status.oversampleFactor)); + + audioGot /= xs_status.oversampleFactor; + /* Execute rate-conversion with filtering */ + if (xs_filter_rateconv(audioBuffer, oversampleBuffer, + xs_status.audioFormat, xs_status.oversampleFactor, audioGot) < 0) { + xs_error(_("Oversampling rate-conversion pass failed.\n")); + xs_status.isError = TRUE; XS_MUTEX_UNLOCK(xs_status); - XS_MUTEX_UNLOCK(xs_cfg); - continue; /* This is ugly, but ... */ + goto xs_err_exit; + } + } else { + audioGot = xs_status.sidPlayer->plrFillBuffer( + &xs_status, audioBuffer, XS_AUDIOBUF_SIZE); + } + + /* I <3 visualice/haujobb */ + produce_audio(pb->output->written_time(), + xs_status.audioFormat, xs_status.audioChannels, + audioGot, audioBuffer, NULL); + + XS_MUTEX_UNLOCK(xs_status); + + /* Wait a little */ + while (xs_status.isPlaying && (pb->output->buffer_free() < audioGot)) + g_usleep(500); + + /* Check if we have played enough */ + XS_MUTEX_LOCK(xs_status); + if (xs_cfg.playMaxTimeEnable) { + if (xs_cfg.playMaxTimeUnknown) { + if ((tmpLength < 0) && + (pb->output->output_time() >= (xs_cfg.playMaxTime * 1000))) + xs_status.isPlaying = FALSE; + } else { + if (pb->output->output_time() >= (xs_cfg.playMaxTime * 1000)) + xs_status.isPlaying = FALSE; } } - /* Tell that we are initializing, update sub-tune controls */ - myStatus.currSong = xs_status.currSong; - myTune->subTunes[myStatus.currSong-1].tunePlayed = TRUE; - XS_MUTEX_UNLOCK(xs_status); - XS_MUTEX_UNLOCK(xs_cfg); - - XSDEBUG("subtune #%i selected, initializing...\n", myStatus.currSong); - - g_idle_add_full( G_PRIORITY_HIGH_IDLE , xs_schedule_subctrl_update , NULL , NULL ); - - /* Check minimum playtime */ - songLength = myTune->subTunes[myStatus.currSong-1].tuneLength; - if (xs_cfg.playMinTimeEnable && (songLength >= 0)) { - if (songLength < xs_cfg.playMinTime) - songLength = xs_cfg.playMinTime; - } - - /* Initialize song */ - if (!myStatus.sidPlayer->plrInitSong(&myStatus)) { - xs_error(_("Couldn't initialize SID-tune '%s' (sub-tune #%i)!\n"), - myTune->sidFilename, myStatus.currSong); - goto xs_err_exit; - } - - /* Open the audio output */ - XSDEBUG("open audio output (%d, %d, %d)\n", - myStatus.audioFormat, myStatus.audioFrequency, myStatus.audioChannels); - - if (!pb->output-> - open_audio(myStatus.audioFormat, myStatus.audioFrequency, myStatus.audioChannels)) { - xs_error(_("Couldn't open XMMS audio output (fmt=%x, freq=%i, nchan=%i)!\n"), - myStatus.audioFormat, - myStatus.audioFrequency, - myStatus.audioChannels); - - XS_MUTEX_LOCK(xs_status); - xs_status.isError = TRUE; - XS_MUTEX_UNLOCK(xs_status); - goto xs_err_exit; + if (tmpLength >= 0) { + if (pb->output->output_time() >= (tmpLength * 1000)) + xs_status.isPlaying = FALSE; } - - audioOpen = TRUE; - - /* Set song information for current subtune */ - XSDEBUG("set tune info\n"); - myStatus.sidPlayer->plrUpdateSIDInfo(&myStatus); -/* - tmpTitle = xs_make_titlestring(myTune, myStatus.currSong); - - xs_plugin_ip.set_info( - tmpTitle, - (songLength > 0) ? (songLength * 1000) : 0, - -1, - myStatus.audioFrequency, - myStatus.audioChannels); - - g_free(tmpTitle); -*/ - XSDEBUG("playing\n"); - - /* - * Play the subtune - */ - while (xs_status.isPlaying && myStatus.isPlaying && (xs_status.currSong == myStatus.currSong)) { - /* Render audio data */ - if (myStatus.oversampleEnable) { - /* Perform oversampled rendering */ - audioGot = myStatus.sidPlayer->plrFillBuffer( - &myStatus, - oversampleBuffer, - (XS_AUDIOBUF_SIZE * myStatus.oversampleFactor)); - - audioGot /= myStatus.oversampleFactor; - - /* Execute rate-conversion with filtering */ - if (xs_filter_rateconv(audioBuffer, oversampleBuffer, - myStatus.audioFormat, myStatus.oversampleFactor, audioGot) < 0) { - xs_error(_("Oversampling rate-conversion pass failed.\n")); - XS_MUTEX_LOCK(xs_status); - xs_status.isError = TRUE; - XS_MUTEX_UNLOCK(xs_status); - goto xs_err_exit; - } - } else { - audioGot = myStatus.sidPlayer->plrFillBuffer( - &myStatus, audioBuffer, XS_AUDIOBUF_SIZE); - } - - /* I <3 visualice/haujobb */ - produce_audio(pb->output->written_time(), - myStatus.audioFormat, myStatus.audioChannels, - audioGot, audioBuffer, NULL); - - /* Wait a little */ - while (xs_status.isPlaying && - (xs_status.currSong == myStatus.currSong) && - (pb->output->buffer_free() < audioGot)) - xmms_usleep(500); - - /* Check if we have played enough */ - if (xs_cfg.playMaxTimeEnable) { - if (xs_cfg.playMaxTimeUnknown) { - if ((songLength < 0) && - (pb->output->output_time() >= (xs_cfg.playMaxTime * 1000))) - myStatus.isPlaying = FALSE; - } else { - if (pb->output->output_time() >= (xs_cfg.playMaxTime * 1000)) - myStatus.isPlaying = FALSE; - } - } - - if (songLength >= 0) { - if (pb->output->output_time() >= (songLength * 1000)) - myStatus.isPlaying = FALSE; - } - } - - XSDEBUG("subtune ended/stopped\n"); - - /* Close audio output plugin */ - if (audioOpen) { - XSDEBUG("close audio #1\n"); - pb->output->close_audio(); - audioOpen = FALSE; - XSDEBUG("closed\n"); - } - - /* Now determine if we continue by selecting other subtune or something */ - if (!myStatus.isPlaying && !xs_cfg.subAutoEnable) - doPlay = FALSE; + XS_MUTEX_UNLOCK(xs_status); } xs_err_exit: @@ -563,46 +576,6 @@ /* - * Start playing the given file - * Here we load the tune and initialize the playing thread. - * Usually you would also initialize the output-plugin, but - * this is XMMS-SID and we do it on the player thread instead. - */ -void xs_play_file(InputPlayback *pb) -{ - assert(pb); - assert(xs_status.sidPlayer); - - XSDEBUG("play '%s'\n", pb->filename); - - /* Get tune information */ - if ((xs_status.tuneInfo = xs_status.sidPlayer->plrGetSIDInfo(pb->filename)) == NULL) - return; - - /* Initialize the tune */ - if (!xs_status.sidPlayer->plrLoadSID(&xs_status, pb->filename)) { - xs_tuneinfo_free(xs_status.tuneInfo); - xs_status.tuneInfo = NULL; - return; - } - - XSDEBUG("load ok\n"); - - /* Set general status information */ - xs_status.isPlaying = TRUE; - xs_status.isError = FALSE; - xs_status.currSong = xs_status.tuneInfo->startTune; - - /* Start the playing thread! */ - xs_decode_thread = g_thread_self(); - pb->set_pb_ready(pb); - xs_playthread(pb); - - XSDEBUG("playback is done\n"); -} - - -/* * Stop playing * Here we set the playing status to stop and wait for playing * thread to shut down. In any "correctly" done plugin, this is @@ -618,9 +591,6 @@ XSDEBUG("stop requested\n"); - /* Close the sub-tune control window, if any */ - xs_subctrl_close(); - /* Lock xs_status and stop playing thread */ XS_MUTEX_LOCK(xs_status); if (xs_status.isPlaying) { @@ -634,11 +604,6 @@ XSDEBUG("done, updating status\n"); - /* Status is now stopped, update the sub-tune - * controller in fileinfo window (if open) - */ - xs_fileinfo_update(); - /* Free tune information */ XS_MUTEX_LOCK(xs_status); xs_status.sidPlayer->plrDeleteSID(&xs_status); @@ -654,233 +619,15 @@ */ void xs_pause(InputPlayback *pb, short pauseState) { - xs_subctrl_close(); - xs_fileinfo_update(); pb->output->pause(pauseState); } /* - * Pop-up subtune selector - */ -void xs_subctrl_setsong(void) -{ - gint n; - - XS_MUTEX_LOCK(xs_status); - XS_MUTEX_LOCK(xs_subctrl); - - if (xs_status.tuneInfo && xs_status.isPlaying) { - n = (gint) GTK_ADJUSTMENT(xs_subctrl_adj)->value; - if ((n >= 1) && (n <= xs_status.tuneInfo->nsubTunes)) - xs_status.currSong = n; - } - - XS_MUTEX_UNLOCK(xs_subctrl); - XS_MUTEX_UNLOCK(xs_status); -} - - -void xs_subctrl_prevsong(void) -{ - XS_MUTEX_LOCK(xs_status); - - if (xs_status.tuneInfo && xs_status.isPlaying) { - if (xs_status.currSong > 1) - xs_status.currSong--; - } - - XS_MUTEX_UNLOCK(xs_status); - - xs_subctrl_update(); -} - - -void xs_subctrl_nextsong(void) -{ - XS_MUTEX_LOCK(xs_status); - - if (xs_status.tuneInfo && xs_status.isPlaying) { - if (xs_status.currSong < xs_status.tuneInfo->nsubTunes) - xs_status.currSong++; - } - - XS_MUTEX_UNLOCK(xs_status); - - xs_subctrl_update(); -} - - -void xs_subctrl_update(void) -{ - GtkAdjustment *tmpAdj; - - XS_MUTEX_LOCK(xs_status); - XS_MUTEX_LOCK(xs_subctrl); - - /* Check if control window exists, we are currently playing and have a tune */ - if (xs_subctrl) { - if (xs_status.tuneInfo && xs_status.isPlaying) { - tmpAdj = GTK_ADJUSTMENT(xs_subctrl_adj); - - tmpAdj->value = xs_status.currSong; - tmpAdj->lower = 1; - tmpAdj->upper = xs_status.tuneInfo->nsubTunes; - XS_MUTEX_UNLOCK(xs_status); - XS_MUTEX_UNLOCK(xs_subctrl); - gtk_adjustment_value_changed(tmpAdj); - } else { - XS_MUTEX_UNLOCK(xs_status); - XS_MUTEX_UNLOCK(xs_subctrl); - xs_subctrl_close(); - } - } else { - XS_MUTEX_UNLOCK(xs_subctrl); - XS_MUTEX_UNLOCK(xs_status); - } - - xs_fileinfo_update(); -} - - -void xs_subctrl_close(void) -{ - XS_MUTEX_LOCK(xs_subctrl); - - if (xs_subctrl) { - gtk_widget_destroy(xs_subctrl); - xs_subctrl = NULL; - } - - XS_MUTEX_UNLOCK(xs_subctrl); -} - - -gboolean xs_subctrl_keypress(GtkWidget * win, GdkEventKey * ev) -{ - (void) win; - - if (ev->keyval == GDK_Escape) - xs_subctrl_close(); - - return FALSE; -} - - -void xs_subctrl_open(void) -{ - GtkWidget *frame25, *hbox15, *subctrl_prev, *subctrl_current, *subctrl_next; - - XS_MUTEX_LOCK(xs_subctrl); - if (!xs_status.tuneInfo || !xs_status.isPlaying || - xs_subctrl || (xs_status.tuneInfo->nsubTunes <= 1)) { - XS_MUTEX_UNLOCK(xs_subctrl); - return; - } - - /* Create the pop-up window */ - xs_subctrl = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_type_hint(GTK_WINDOW(xs_subctrl), GDK_WINDOW_TYPE_HINT_DIALOG); - gtk_widget_set_name(xs_subctrl, "xs_subctrl"); - g_object_set_data(G_OBJECT(xs_subctrl), "xs_subctrl", xs_subctrl); - - gtk_window_set_title(GTK_WINDOW(xs_subctrl), _("Subtune Control")); - gtk_window_set_position(GTK_WINDOW(xs_subctrl), GTK_WIN_POS_MOUSE); - gtk_container_set_border_width(GTK_CONTAINER(xs_subctrl), 0); - gtk_window_set_policy(GTK_WINDOW(xs_subctrl), FALSE, FALSE, FALSE); - - g_signal_connect(G_OBJECT(xs_subctrl), "destroy", G_CALLBACK(gtk_widget_destroyed), &xs_subctrl); - - g_signal_connect(G_OBJECT(xs_subctrl), "focus_out_event", G_CALLBACK(xs_subctrl_close), NULL); - - gtk_widget_realize(xs_subctrl); - gdk_window_set_decorations(xs_subctrl->window, (GdkWMDecoration) 0); - - - /* Create the control widgets */ - frame25 = gtk_frame_new(NULL); - gtk_container_add(GTK_CONTAINER(xs_subctrl), frame25); - gtk_container_set_border_width(GTK_CONTAINER(frame25), 2); - gtk_frame_set_shadow_type(GTK_FRAME(frame25), GTK_SHADOW_OUT); - - hbox15 = gtk_hbox_new(FALSE, 4); - gtk_container_add(GTK_CONTAINER(frame25), hbox15); - - subctrl_prev = gtk_button_new_with_label(" < "); - gtk_widget_set_name(subctrl_prev, "subctrl_prev"); - gtk_box_pack_start(GTK_BOX(hbox15), subctrl_prev, FALSE, FALSE, 0); - - xs_subctrl_adj = gtk_adjustment_new(xs_status.currSong, 1, xs_status.tuneInfo->nsubTunes, 1, 1, 0); - g_signal_connect(G_OBJECT(xs_subctrl_adj), "value_changed", G_CALLBACK(xs_subctrl_setsong), NULL); - - subctrl_current = gtk_hscale_new(GTK_ADJUSTMENT(xs_subctrl_adj)); - gtk_widget_set_size_request(subctrl_current, 80, -1); - gtk_widget_set_name(subctrl_current, "subctrl_current"); - gtk_box_pack_start(GTK_BOX(hbox15), subctrl_current, FALSE, TRUE, 0); - gtk_scale_set_digits(GTK_SCALE(subctrl_current), 0); - gtk_range_set_update_policy(GTK_RANGE(subctrl_current), GTK_UPDATE_DELAYED); - gtk_widget_grab_focus(subctrl_current); - - subctrl_next = gtk_button_new_with_label(" > "); - gtk_widget_set_name(subctrl_next, "subctrl_next"); - gtk_box_pack_start(GTK_BOX(hbox15), subctrl_next, FALSE, FALSE, 0); - - g_signal_connect(G_OBJECT(subctrl_prev), "clicked", G_CALLBACK(xs_subctrl_prevsong), NULL); - - g_signal_connect(G_OBJECT(subctrl_next), "clicked", G_CALLBACK(xs_subctrl_nextsong), NULL); - - g_signal_connect(G_OBJECT(xs_subctrl), "key_press_event", G_CALLBACK(xs_subctrl_keypress), NULL); - - gtk_widget_show_all(xs_subctrl); - - XS_MUTEX_UNLOCK(xs_subctrl); -} - - -/* - * Set the time-seek position - * The playing thread will do the "seeking", which means sub-tune - * changing in XMMS-SID's case. iTime argument is time in seconds, - * in contrast to milliseconds used in other occasions. - * - * This function is called whenever position slider is clicked or - * other method of seeking is used (keyboard, etc.) + * A stub seek function (Audacious will crash if seek is NULL) */ void xs_seek(InputPlayback *pb, gint iTime) { - /* Check status */ - XS_MUTEX_LOCK(xs_status); - if (!xs_status.tuneInfo || !xs_status.isPlaying) { - XS_MUTEX_UNLOCK(xs_status); - return; - } - - /* Act according to settings */ - switch (xs_cfg.subsongControl) { - case XS_SSC_SEEK: - if (iTime < xs_status.lastTime) { - if (xs_status.currSong > 1) - xs_status.currSong--; - } else if (iTime > xs_status.lastTime) { - if (xs_status.currSong < xs_status.tuneInfo->nsubTunes) - xs_status.currSong++; - } - break; - - case XS_SSC_POPUP: - xs_subctrl_open(); - break; - - /* If we have song-position patch, check settings */ -#ifdef HAVE_SONG_POSITION - case XS_SSC_PATCH: - if ((iTime > 0) && (iTime <= xs_status.tuneInfo->nsubTunes)) - xs_status.currSong = iTime; - break; -#endif - } - - XS_MUTEX_UNLOCK(xs_status); } @@ -912,19 +659,6 @@ return -1; } - /* Let's see what we do */ - switch (xs_cfg.subsongControl) { - case XS_SSC_SEEK: - xs_status.lastTime = (pb->output->output_time() / 1000); - break; - -#ifdef HAVE_SONG_POSITION - case XS_SSC_PATCH: - set_song_position(xs_status.currSong, 1, xs_status.tuneInfo->nsubTunes); - break; -#endif - } - XS_MUTEX_UNLOCK(xs_status); /* Return output time reported by audio output plugin */ @@ -932,68 +666,19 @@ } -#ifndef AUDACIOUS_PLUGIN -/* Return song information: called by XMMS when initially loading the playlist. - * Subsequent changes to information are made by the player thread, - * which uses xs_plugin_ip.set_info(); +/* Return song information Tuple */ -void xs_get_song_info(gchar * songFilename, gchar ** songTitle, gint * songLength) +void xs_get_song_tuple_info(Tuple *pResult, t_xs_tuneinfo *pInfo, gint subTune) { - t_xs_tuneinfo *pInfo; - - XS_MUTEX_LOCK(xs_status); - - /* Get tune information from emulation engine */ - pInfo = xs_status.sidPlayer->plrGetSIDInfo(songFilename); - if (!pInfo) { - XS_MUTEX_UNLOCK(xs_status); - return; - } - - /* Get sub-tune information, if available */ - if ((pInfo->startTune > 0) && (pInfo->startTune <= pInfo->nsubTunes)) { - gint tmpInt; - - (*songTitle) = xs_make_titlestring(pInfo, pInfo->startTune); - - tmpInt = pInfo->subTunes[pInfo->startTune-1].tuneLength; - if (tmpInt < 0) - (*songLength) = -1; - else - (*songLength) = (tmpInt * 1000); - } + gchar *tmpStr, tmpStr2[64]; - /* Free tune information */ - xs_tuneinfo_free(pInfo); - XS_MUTEX_UNLOCK(xs_status); -} - -#else - -Tuple * xs_get_song_tuple(gchar *songFilename) -{ - t_xs_tuneinfo *pInfo; - Tuple *pResult; - gchar *tmpStr; - - XS_MUTEX_LOCK(xs_status); + tuple_associate_string(pResult, FIELD_TITLE, NULL, pInfo->sidName); + tuple_associate_string(pResult, FIELD_ARTIST, NULL, pInfo->sidComposer); + tuple_associate_string(pResult, FIELD_GENRE, NULL, "SID-tune"); + tuple_associate_string(pResult, FIELD_COPYRIGHT, NULL, pInfo->sidCopyright); - pResult = tuple_new_from_filename(songFilename); - - /* Get tune information from emulation engine */ - pInfo = xs_status.sidPlayer->plrGetSIDInfo(songFilename); - if (!pInfo) { - XS_MUTEX_UNLOCK(xs_status); - return pResult; - } - - tuple_associate_string(pResult, "title", pInfo->sidName); - tuple_associate_string(pResult, "artist", pInfo->sidComposer); - tuple_associate_int(pResult, "track-number", pInfo->startTune); - tuple_associate_string(pResult, "genre", "SID-tune"); - tuple_associate_string(pResult, "copyright", pInfo->sidCopyright); - tuple_associate_string(pResult, "format", pInfo->sidFormat); - tuple_associate_int(pResult, "subtunes", pInfo->nsubTunes); + tuple_associate_int(pResult, -1, "subtunes", pInfo->nsubTunes); + tuple_associate_string(pResult, -1, "sid-format", pInfo->sidFormat); switch (pInfo->sidModel) { case XS_SIDMODEL_6581: tmpStr = "6581"; break; @@ -1001,181 +686,70 @@ case XS_SIDMODEL_ANY: tmpStr = "ANY"; break; default: tmpStr = "?"; break; } - tuple_associate_string(pResult, "sid-model", tmpStr); - + tuple_associate_string(pResult, -1, "sid-model", tmpStr); + /* Get sub-tune information, if available */ - if ((pInfo->startTune > 0) && (pInfo->startTune <= pInfo->nsubTunes)) { - gint tmpInt = pInfo->subTunes[pInfo->startTune-1].tuneLength; - tuple_associate_int(pResult, "length", (tmpInt < 0) ? -1 : tmpInt * 1000); + if (subTune < 0 || pInfo->startTune > pInfo->nsubTunes) + subTune = pInfo->startTune; + + if ((subTune > 0) && (subTune <= pInfo->nsubTunes)) { + gint tmpInt = pInfo->subTunes[subTune - 1].tuneLength; + tuple_associate_int(pResult, FIELD_LENGTH, NULL, (tmpInt < 0) ? -1 : tmpInt * 1000); - } + tmpInt = pInfo->subTunes[subTune - 1].tuneSpeed; + if (tmpInt > 0) { + switch (tmpInt) { + case XS_CLOCK_PAL: tmpStr = "PAL"; break; + case XS_CLOCK_NTSC: tmpStr = "NTSC"; break; + case XS_CLOCK_ANY: tmpStr = "ANY"; break; + case XS_CLOCK_VBI: tmpStr = "VBI"; break; + case XS_CLOCK_CIA: tmpStr = "CIA"; break; + default: + g_snprintf(tmpStr2, sizeof(tmpStr2), "%dHz", tmpInt); + tmpStr = tmpStr2; + break; + } + } else + tmpStr = "?"; - /* Free tune information */ - xs_tuneinfo_free(pInfo); - XS_MUTEX_UNLOCK(xs_status); - return pResult; -} -#endif - + tuple_associate_string(pResult, -1, "sid-speed", tmpStr); + } else + subTune = 1; -/* Allocate a new tune information structure - */ -t_xs_tuneinfo *xs_tuneinfo_new(const gchar * pcFilename, - gint nsubTunes, gint startTune, const gchar * sidName, - const gchar * sidComposer, const gchar * sidCopyright, - gint loadAddr, gint initAddr, gint playAddr, - gint dataFileLen, const gchar *sidFormat, gint sidModel) + tuple_associate_int(pResult, -1, "subtune", subTune); + tuple_associate_int(pResult, FIELD_TRACK_NUMBER, NULL, subTune); + + if (xs_cfg.titleOverride) + tuple_associate_string(pResult, FIELD_FORMATTER, NULL, xs_cfg.titleFormat); +} + +Tuple * xs_get_song_tuple(gchar *songFilename) { - t_xs_tuneinfo *pResult; - t_xs_sldb_node *tmpLength; - gint i; - - /* Allocate structure */ - pResult = (t_xs_tuneinfo *) g_malloc0(sizeof(t_xs_tuneinfo)); - if (!pResult) { - xs_error(_("Could not allocate memory for t_xs_tuneinfo ('%s')\n"), - pcFilename); - return NULL; - } + Tuple *tmpResult; + gchar *tmpFilename; + t_xs_tuneinfo *tmpInfo; + gint subTune; - pResult->sidFilename = g_filename_to_utf8(pcFilename, -1, NULL, NULL, NULL); - if (!pResult->sidFilename) { - xs_error(_("Could not allocate sidFilename ('%s')\n"), - pcFilename); - g_free(pResult); - return NULL; - } + /* Get information from URL */ + xs_get_trackinfo(songFilename, &tmpFilename, &subTune); - /* Allocate space for subtune information */ - pResult->subTunes = g_malloc0(sizeof(t_xs_subtuneinfo) * (nsubTunes + 1)); - if (!pResult->subTunes) { - xs_error(_("Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"), - pcFilename, nsubTunes); - - g_free(pResult->sidFilename); - g_free(pResult); + tmpResult = tuple_new_from_filename(tmpFilename); + if (!tmpResult) { + g_free(tmpFilename); return NULL; } - /* The following allocations don't matter if they fail */ - pResult->sidName = XS_CS_SID(sidName); - pResult->sidComposer = XS_CS_SID(sidComposer); - pResult->sidCopyright = XS_CS_SID(sidCopyright); - - pResult->nsubTunes = nsubTunes; - pResult->startTune = startTune; - - pResult->loadAddr = loadAddr; - pResult->initAddr = initAddr; - pResult->playAddr = playAddr; - pResult->dataFileLen = dataFileLen; - pResult->sidFormat = XS_CS_SID(sidFormat); - - pResult->sidModel = sidModel; - - /* Get length information (NOTE: Do not free this!) */ - tmpLength = xs_songlen_get(pcFilename); - - /* Fill in sub-tune information */ - for (i = 0; i < pResult->nsubTunes; i++) { - if (tmpLength && (i < tmpLength->nLengths)) - pResult->subTunes[i].tuneLength = tmpLength->sLengths[i]; - else - pResult->subTunes[i].tuneLength = -1; - - pResult->subTunes[i].tuneSpeed = -1; - } - - return pResult; -} - - -/* Free given tune information structure - */ -void xs_tuneinfo_free(t_xs_tuneinfo * pTune) -{ - if (!pTune) return; - - g_free(pTune->subTunes); - g_free(pTune->sidFilename); - g_free(pTune->sidName); - g_free(pTune->sidComposer); - g_free(pTune->sidCopyright); - g_free(pTune->sidFormat); - g_free(pTune); -} - - -/* Song length database handling glue - */ -gint xs_songlen_init(void) -{ - XS_MUTEX_LOCK(xs_cfg); - - if (!xs_cfg.songlenDBPath) { - XS_MUTEX_UNLOCK(xs_cfg); - return -1; - } + /* Get tune information from emulation engine */ + XS_MUTEX_LOCK(xs_status); + tmpInfo = xs_status.sidPlayer->plrGetSIDInfo(tmpFilename); + XS_MUTEX_UNLOCK(xs_status); + g_free(tmpFilename); - XS_MUTEX_LOCK(xs_sldb_db); - - /* Check if already initialized */ - if (xs_sldb_db) - xs_sldb_free(xs_sldb_db); - - /* Allocate database */ - xs_sldb_db = (t_xs_sldb *) g_malloc0(sizeof(t_xs_sldb)); - if (!xs_sldb_db) { - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_sldb_db); - return -2; - } - - /* Read the database */ - if (xs_sldb_read(xs_sldb_db, xs_cfg.songlenDBPath) != 0) { - xs_sldb_free(xs_sldb_db); - xs_sldb_db = NULL; - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_sldb_db); - return -3; - } + if (!tmpInfo) + return tmpResult; + + xs_get_song_tuple_info(tmpResult, tmpInfo, subTune); + xs_tuneinfo_free(tmpInfo); - /* Create index */ - if (xs_sldb_index(xs_sldb_db) != 0) { - xs_sldb_free(xs_sldb_db); - xs_sldb_db = NULL; - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_sldb_db); - return -4; - } - - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_sldb_db); - return 0; + return tmpResult; } - - -void xs_songlen_close(void) -{ - XS_MUTEX_LOCK(xs_sldb_db); - xs_sldb_free(xs_sldb_db); - xs_sldb_db = NULL; - XS_MUTEX_UNLOCK(xs_sldb_db); -} - - -t_xs_sldb_node *xs_songlen_get(const gchar * pcFilename) -{ - t_xs_sldb_node *pResult; - - XS_MUTEX_LOCK(xs_sldb_db); - - if (xs_cfg.songlenDBEnable && xs_sldb_db) - pResult = xs_sldb_get(xs_sldb_db, pcFilename); - else - pResult = NULL; - - XS_MUTEX_UNLOCK(xs_sldb_db); - - return pResult; -} diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xmms-sid.glade --- a/src/sid/xmms-sid.glade Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xmms-sid.glade Thu Sep 13 12:10:39 2007 -0500 @@ -5,7 +5,7 @@ True - Audacious-SID Configuration + Audacious-SID configuration GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False @@ -18,6 +18,7 @@ GDK_GRAVITY_NORTH_WEST True False + @@ -280,7 +281,7 @@ 0 True - * + False @@ -297,188 +298,6 @@ True - 8000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 11025 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 22050 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 44100 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 48000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 64000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 96000 - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True False False @@ -997,7 +816,7 @@ 0 - True + False True @@ -1794,7 +1613,7 @@ 2 True False - True + False False True False @@ -1808,126 +1627,22 @@ 0 True - * + False - + True GTK_SELECTION_BROWSE - - True - - - - True - 6581 (reSID) - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - + True - - True - 8580 (reSID) - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 6581R1 (alankila) - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - - True - 6581R4 (alankila) - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - - - - - - True - - - + True False @@ -1962,17 +1677,38 @@ 2 True 2 - 2 + 3 True 4 4 + + True + True + True + Export + True + GTK_RELIEF_NORMAL + True + + + + 2 + 3 + 1 + 2 + fill + + + + + True True True - Load + Use True GTK_RELIEF_NORMAL True @@ -2021,8 +1757,8 @@ - 0 - 1 + 1 + 2 1 2 fill @@ -2031,21 +1767,21 @@ - + True True True - Export + Delete True GTK_RELIEF_NORMAL True - + - 1 - 2 - 1 - 2 + 2 + 3 + 0 + 1 fill @@ -2527,7 +2263,7 @@ False False True - + 0 @@ -2577,7 +2313,7 @@ 0 True - * + False @@ -2596,7 +2332,7 @@ True GTK_RELIEF_NORMAL True - + 0 @@ -2674,12 +2410,331 @@ - + + 4 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 2 + + + + True + By enabling this option you can specify a custom Tuplez formatting string for SID-files. The SID-plugin specific Tuplez tags are described shortly below. + True + Override generic Tuplez format string + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + True + False + 0 + + + + True + Tuplez format string for SID-files + True + True + True + 0 + + True + + False + + + 0 + False + False + + + + + + True + Descriptions of <i>SID-specific</i> Tuplez fields go here. <b>:D</b> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 8 + 8 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + True + + + + + 0 + True + True + + + + + + + + True + Song title format: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + False + True + + + + + + True + Title + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + True False 0 + + 4 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + 2 + True + False + 2 + + + + True + If enabled, sub-tunes of each file will be added to playlist. If disabled, only the default sub-tune will be added. + True + Add sub-tunes to playlist + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + True + Only add sub-tunes that have a duration of at least specified time. + True + Only tunes with specified minimum duration + True + GTK_RELIEF_NORMAL + True + False + False + True + + + + 0 + False + False + + + + + + True + False + 2 + + + + True + Playtime: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 15 1 32767 1 60 60 + + + 0 + False + True + + + + + + True + seconds + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 0 + True + True + + + + + + + + True + Sub-tune handling: + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + False + True + + + + 4 True @@ -2768,7 +2823,7 @@ 0 True - * + False @@ -2874,7 +2929,7 @@ 0 True - * + False @@ -2955,581 +3010,7 @@ 0 False - True - - - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 2 - True - False - 0 - - - - True - XMMS v1.2.5 and later support generic titlestring formatting (see XMMS preferences). This option can be enabled to override those generic titles with Audacious-SID specific ones. Formatting mnemonics are explained briefly below. - True - Override generic XMMS titles - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - 0 - False - False - - - - - - True - False - 2 - - - - True - True - True - True - 0 - - True - * - False - - - 2 - False - False - - - - - - True - True - 0 - - - - True - %% - '%' character -%p - Performer/composer -%t - Song name (title) -%c - Copyright -%s - File type -%m - SID model - False - False - GTK_JUSTIFY_LEFT - False - False - 0.0399999991059 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - %C - Speed/clock (PAL/NTSC) -%n - Subtune -%N - Number of subtunes -%f - Filename -%F - File path -%e - File extension - False - False - GTK_JUSTIFY_LEFT - False - False - 0.0399999991059 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 2 - False - False - - - - - 0 - True - True - - - - - - - - True - Song name/title format: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - False - True - - - - - False - True - - - - - - True - Title - False - False - GTK_JUSTIFY_CENTER - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - tab - - - - - - True - False - 0 - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 2 - True - False - 2 - - - - True - No sub-tune control. - True - Disabled - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - True - Seeking backwards/forwards selects previous/next sub-tune, similar to selector used in XMMS-SidPlay. - True - Seek back/forward changes sub-tune - True - GTK_RELIEF_NORMAL - True - False - False - True - cfg_subctrl_none - - - 0 - False - False - - - - - - True - By pressing the seekbar a sub-tune control window pops up, in style of UADE (Unix Amiga Delitracker Emulator) - True - Pop-up via seekbar (UADE-style) - True - GTK_RELIEF_NORMAL - True - False - False - True - cfg_subctrl_none - - - 0 - False - False - - - - - - True - Seekbar works as a sub-tune selector (Best option if you have patched your XMMS with the song-position patch.) - True - Song-position patch - True - GTK_RELIEF_NORMAL - True - False - False - True - cfg_subctrl_none - - - 0 - False - False - - - - - - - - True - Sub-tune control: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - False - True - - - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 2 - True - False - 2 - - - - True - True - Go through all sub-tunes in file - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - 0 - False - False - - - - - - True - True - Only tunes with specified minimum length - True - GTK_RELIEF_NORMAL - True - False - False - True - - - - 0 - False - False - - - - - - True - False - 2 - - - - True - Playtime: - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - - True - True - 1 - 0 - False - GTK_UPDATE_ALWAYS - False - False - 15 1 32767 1 60 60 - - - 0 - False - True - - - - - - True - seconds - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - 0 - False - False - - - - - 0 - True - True - - - - - - - - True - Automatic sub-tune changes: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - False - True - - - - - - 4 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 2 - True - False - 0 - - - - True - Determine if file is a SID-tune by checking the file contents. If NOT selected, filetype is determined by checking filename extension (.sid, .dat, ...) - True - Detect file by contents (slower) - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 0 - False - False - - - - - - - - True - Miscellaneous options: - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - PANGO_ELLIPSIZE_NONE - -1 - False - 0 - - - label_item - - - - - 0 - False - True + False @@ -3574,7 +3055,7 @@ 4 True GTK_BUTTONBOX_END - 15 + 8 @@ -3616,12 +3097,12 @@ + 400 True Audacious-SID Fileinfo GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False - 400 True False True @@ -3640,98 +3121,6 @@ 0 - - 2 - True - 0.5 - 0.5 - 0.10000000149 - 1 - 0 - 0 - 0 - 0 - - - - 2 - True - 0 - 0.5 - GTK_SHADOW_ETCHED_IN - - - - 4 - True - False - 0 - - - - True - True - < - True - GTK_RELIEF_NORMAL - True - - - - 0 - False - False - - - - - - 80 - True - True - True - GTK_POS_TOP - 0 - GTK_UPDATE_CONTINUOUS - False - 0 0 0 0 0 0 - - - 0 - True - True - - - - - - True - True - > - True - GTK_RELIEF_NORMAL - True - - - - 0 - False - False - - - - - - - - - 0 - False - False - - - - 4 True @@ -3870,7 +3259,7 @@ 0 True - * + False @@ -3891,7 +3280,7 @@ 0 True - * + False @@ -3912,7 +3301,7 @@ 0 True - * + False @@ -3933,7 +3322,7 @@ 0 True - * + False @@ -3996,26 +3385,18 @@ 2 True True - 0 + -1 - + True - - - - True - - True - - 0 - True - True + False + False @@ -4066,7 +3447,7 @@ 0 True - * + False @@ -4115,7 +3496,7 @@ 0 True - * + False @@ -4164,7 +3545,7 @@ 0 True - * + False @@ -4253,7 +3634,7 @@ - 6 + 4 True True True @@ -4275,7 +3656,7 @@ - + 10 True Select HVSC song length database @@ -4292,6 +3673,7 @@ True False True + @@ -4300,7 +3682,7 @@ True GTK_RELIEF_NORMAL True - + @@ -4311,15 +3693,15 @@ True GTK_RELIEF_NORMAL True - + - + 10 True - Select STIL-database + Select STIL-database GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE True @@ -4333,6 +3715,7 @@ True False True + @@ -4341,7 +3724,7 @@ True GTK_RELIEF_NORMAL True - + @@ -4352,12 +3735,12 @@ True GTK_RELIEF_NORMAL True - + - + 10 True Select HVSC location prefix @@ -4374,6 +3757,7 @@ True False True + @@ -4382,7 +3766,7 @@ True GTK_RELIEF_NORMAL True - + @@ -4393,7 +3777,205 @@ True GTK_RELIEF_NORMAL True - + + + + + + + 10 + True + Select SIDPlay2 filters file for importing + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + True + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + + True + True + True + GTK_RELIEF_NORMAL + True + + + + + + + True + True + True + GTK_RELIEF_NORMAL + True + + + + + + + 10 + True + Select SIDPlay2 filters file for exporting + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + True + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + + True + True + True + GTK_RELIEF_NORMAL + True + + + + + + + True + True + True + GTK_RELIEF_NORMAL + True + + + + + + + True + Confirm selected action + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + False + True + + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + GTK_BUTTONBOX_END + 8 + + + + True + True + True + Yes + True + GTK_RELIEF_NORMAL + True + + + + + + True + True + True + No + True + GTK_RELIEF_NORMAL + True + + + + + + + 0 + False + True + GTK_PACK_END + + + + + + 6 + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + + + + + True + Confirm selected action + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xmms-sid.gladep --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sid/xmms-sid.gladep Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,20 @@ + + + + + audacious-sid + audacious-sid + . + . + FALSE + TRUE + FALSE + FALSE + FALSE + xs_interface.c + xs_interface.h + xs_genui.c + xs_genui.h + xs_glade.c + xs_glade.h + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xmms-sid.h --- a/src/sid/xmms-sid.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xmms-sid.h Thu Sep 13 12:10:39 2007 -0500 @@ -63,8 +63,8 @@ /* Configuration section identifier */ -#define XS_PACKAGE_STRING "Audacious-SID v0.8.0beta18" -#define XS_CONFIG_IDENT "sid" /* Configuration file identifier */ +#define XS_PACKAGE_STRING "Audacious-SID" +#define XS_CONFIG_IDENT "sid" /* Default audio rendering frequency in Hz */ @@ -106,15 +106,27 @@ #define XS_THREAD_EXIT(M) g_thread_exit(M) #define XS_THREAD_JOIN(M) g_thread_join(M) #define XS_MPP(M) M ## _mutex -#define XS_MUTEX(M) GStaticMutex XS_MPP(M) = G_STATIC_MUTEX_INIT +#define XS_MUTEX(M) GStaticMutex XS_MPP(M) = G_STATIC_MUTEX_INIT #define XS_MUTEX_H(M) extern GStaticMutex XS_MPP(M) -#define XS_MUTEX_LOCK(M) g_static_mutex_lock(&XS_MPP(M)) -#define XS_MUTEX_UNLOCK(M) g_static_mutex_unlock(&XS_MPP(M)) +#ifdef XS_MUTEX_DEBUG +# define XS_MUTEX_LOCK(M) { \ + gboolean tmpRes; \ + XSDEBUG("XS_MUTEX_TRYLOCK(" #M ")\n"); \ + tmpRes = g_static_mutex_trylock(&XS_MPP(M)); \ + XSDEBUG("[" #M "] = %s\n", tmpRes ? "TRUE" : "FALSE"); \ + } +# define XS_MUTEX_UNLOCK(M) { XSDEBUG("XS_MUTEX_UNLOCK(" #M ")\n"); g_static_mutex_unlock(&XS_MPP(M)); } +#else +# define XS_MUTEX_LOCK(M) g_static_mutex_lock(&XS_MPP(M)) +# define XS_MUTEX_UNLOCK(M) g_static_mutex_unlock(&XS_MPP(M)) +#endif /* Character set conversion helper macros */ -#define XS_CS_SID(M) g_convert(M, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL) -#define XS_CS_STIL(M) g_convert(M, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL) +#define XS_CS_FILENAME(M) g_filename_to_utf8(M, -1, NULL, NULL, NULL) +#define XS_CS_SID(M) g_convert(M, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL) +#define XS_CS_STIL(M) g_convert(M, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL) +#define XS_CS_FREE(M) g_free(M) /* Shorthands for linked lists */ @@ -168,15 +180,8 @@ Tuple * xs_get_song_tuple(gchar *); void xs_about(void); - -t_xs_tuneinfo *xs_tuneinfo_new(const gchar * pcFilename, - gint nsubTunes, gint startTune, const gchar * sidName, - const gchar * sidComposer, const gchar * sidCopyright, - gint loadAddr, gint initAddr, gint playAddr, - gint dataFileLen, const gchar *sidFormat, gint sidModel); -void xs_tuneinfo_free(t_xs_tuneinfo *); - void xs_error(const char *, ...); +gboolean xs_get_trackinfo(const gchar *, gchar **, gint *); /* Debugging @@ -191,6 +196,29 @@ # endif #endif + +/* And even some Gtk+ macro crap here, yay. + */ +#define XS_DEF_WINDOW_DELETE(ME, MV) \ +gboolean xs_ ## ME ## _delete(GtkWidget *w, GdkEvent *e, gpointer d) { \ + (void) w; (void) e; (void) d; \ + if (xs_ ## MV ) { \ + gtk_widget_destroy(xs_ ## MV ); \ + xs_ ## MV = NULL; \ + } \ + return FALSE; \ +} + +#define XS_DEF_WINDOW_CLOSE(ME, MV) \ +void xs_ ## ME (GtkButton *b, gpointer d) { \ + (void) b; (void) d; \ + gtk_widget_destroy(xs_ ## MV ); \ + xs_ ## MV = NULL; \ +} + +#define XS_SIGNAL_CONNECT(SOBJ, SNAME, SFUNC, SDATA) \ + g_signal_connect(G_OBJECT(SOBJ), SNAME, G_CALLBACK(SFUNC), SDATA) + #ifdef __cplusplus } #endif diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_about.c --- a/src/sid/xs_about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_about.c Thu Sep 13 12:10:39 2007 -0500 @@ -51,12 +51,8 @@ #endif -gint xs_about_ok(void) -{ - gtk_widget_destroy(xs_aboutwin); - xs_aboutwin = NULL; - return 0; -} +XS_DEF_WINDOW_CLOSE(about_ok, aboutwin) +XS_DEF_WINDOW_DELETE(about, aboutwin) /* @@ -72,6 +68,7 @@ GtkWidget *about_text; GtkWidget *alignment6; GtkWidget *about_close; + gchar tmpStr[64]; /* Check if there already is an open about window */ if (xs_aboutwin != NULL) { @@ -84,8 +81,11 @@ gtk_window_set_type_hint(GTK_WINDOW(xs_aboutwin), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_widget_set_name(xs_aboutwin, "xs_aboutwin"); gtk_object_set_data(GTK_OBJECT(xs_aboutwin), "xs_aboutwin", xs_aboutwin); - gtk_window_set_title(GTK_WINDOW(xs_aboutwin), "About " XS_PACKAGE_STRING); - gtk_window_set_default_size(GTK_WINDOW(xs_aboutwin), 300, -1); + g_snprintf(tmpStr, sizeof(tmpStr), _("About %s"), XS_PACKAGE_STRING); + gtk_window_set_title(GTK_WINDOW(xs_aboutwin), tmpStr); + gtk_window_set_default_size(GTK_WINDOW(xs_aboutwin), 350, -1); + + XS_SIGNAL_CONNECT(xs_aboutwin, "delete_event", xs_about_delete, NULL); about_vbox1 = gtk_vbox_new(FALSE, 0); gtk_widget_set_name(about_vbox1, "about_vbox1"); @@ -153,6 +153,11 @@ gtk_text_buffer_set_text( GTK_TEXT_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(about_text))), "\n" + "This release of XMMS-SID is dedicated to\n" + " Richard Joseph\n" + " - Now gone, but forever in our hearts -\n" + "\n" + "\n" "(C) Copyright 1999-2007\n" "\tTecnic Software productions (TNSP)\n" "\n" @@ -201,7 +206,7 @@ gtk_box_pack_start(GTK_BOX(about_vbox1), alignment6, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(alignment6), 8); - about_close = gtk_button_new_with_label("Close"); + about_close = gtk_button_new_with_label(_("Close")); gtk_widget_set_name(about_close, "about_close"); gtk_widget_ref(about_close); gtk_object_set_data_full(GTK_OBJECT(xs_aboutwin), "about_close", about_close, @@ -210,8 +215,7 @@ gtk_container_add(GTK_CONTAINER(alignment6), about_close); GTK_WIDGET_SET_FLAGS(about_close, GTK_CAN_DEFAULT); - gtk_signal_connect(GTK_OBJECT(about_close), "clicked", - GTK_SIGNAL_FUNC(xs_about_ok), NULL); + XS_SIGNAL_CONNECT(about_close, "clicked", xs_about_ok, NULL); gtk_widget_show(xs_aboutwin); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_config.c --- a/src/sid/xs_config.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_config.c Thu Sep 13 12:10:39 2007 -0500 @@ -54,6 +54,7 @@ #define XS_CFG_GET_BOOL xmms_cfg_read_boolean #endif #include +#include #include "xs_glade.h" #include "xs_interface.h" #include "xs_support.h" @@ -65,10 +66,21 @@ static GtkWidget *xs_configwin = NULL, *xs_sldb_fileselector = NULL, *xs_stil_fileselector = NULL, - *xs_hvsc_pathselector = NULL; + *xs_hvsc_selector = NULL, + *xs_filt_importselector = NULL, + *xs_filt_exportselector = NULL; #define LUW(x) lookup_widget(xs_configwin, x) +/* Samplerates + */ +static const gchar *xs_samplerates_table[] = { + "8000", "11025", "22050", + "44100", "48000", "64000", + "96000" +}; + +static const gint xs_nsamplerates_table = (sizeof(xs_samplerates_table) / sizeof(xs_samplerates_table[0])); /* * Configuration specific stuff @@ -76,7 +88,7 @@ XS_MUTEX(xs_cfg); struct t_xs_cfg xs_cfg; -t_xs_cfg_item xs_cfgtable[] = { +static t_xs_cfg_item xs_cfgtable[] = { { CTYPE_INT, &xs_cfg.audioBitsPerSample, "audioBitsPerSample" }, { CTYPE_INT, &xs_cfg.audioChannels, "audioChannels" }, { CTYPE_INT, &xs_cfg.audioFrequency, "audioFrequency" }, @@ -95,6 +107,7 @@ { CTYPE_INT, &xs_cfg.sid2Builder, "sid2Builder" }, { CTYPE_INT, &xs_cfg.sid2OptLevel, "sid2OptLevel" }, +{ CTYPE_INT, &xs_cfg.sid2NFilterPresets, "sid2NFilterPresets" }, { CTYPE_BOOL, &xs_cfg.oversampleEnable, "oversampleEnable" }, { CTYPE_INT, &xs_cfg.oversampleFactor, "oversampleFactor" }, @@ -111,8 +124,10 @@ { CTYPE_STR, &xs_cfg.stilDBPath, "stilDBPath" }, { CTYPE_STR, &xs_cfg.hvscPath, "hvscPath" }, +#ifndef AUDACIOUS_PLUGIN { CTYPE_INT, &xs_cfg.subsongControl, "subsongControl" }, { CTYPE_BOOL, &xs_cfg.detectMagic, "detectMagic" }, +#endif { CTYPE_BOOL, &xs_cfg.titleOverride, "titleOverride" }, { CTYPE_STR, &xs_cfg.titleFormat, "titleFormat" }, @@ -125,7 +140,7 @@ static const gint xs_cfgtable_max = (sizeof(xs_cfgtable) / sizeof(t_xs_cfg_item)); -t_xs_wid_item xs_widtable[] = { +static t_xs_wid_item xs_widtable[] = { { WTYPE_BGROUP, CTYPE_INT, "cfg_res_16bit", &xs_cfg.audioBitsPerSample, XS_RES_16BIT }, { WTYPE_BGROUP, CTYPE_INT, "cfg_res_8bit", &xs_cfg.audioBitsPerSample, XS_RES_8BIT }, { WTYPE_BGROUP, CTYPE_INT, "cfg_chn_mono", &xs_cfg.audioChannels, XS_CHN_MONO }, @@ -169,12 +184,14 @@ { WTYPE_TEXT, CTYPE_STR, "cfg_stil_dbpath", &xs_cfg.stilDBPath, 0 }, { WTYPE_TEXT, CTYPE_STR, "cfg_hvsc_path", &xs_cfg.hvscPath, 0 }, +#ifndef AUDACIOUS_PLUGIN { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_none", &xs_cfg.subsongControl, XS_SSC_NONE }, { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_seek", &xs_cfg.subsongControl, XS_SSC_SEEK }, { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_popup", &xs_cfg.subsongControl, XS_SSC_POPUP }, { WTYPE_BGROUP, CTYPE_INT, "cfg_subctrl_patch", &xs_cfg.subsongControl, XS_SSC_PATCH }, { WTYPE_BUTTON, CTYPE_BOOL, "cfg_detectmagic", &xs_cfg.detectMagic, 0 }, +#endif { WTYPE_BUTTON, CTYPE_BOOL, "cfg_ftitle_override", &xs_cfg.titleOverride, 0 }, { WTYPE_TEXT, CTYPE_STR, "cfg_ftitle_format", &xs_cfg.titleFormat, 0 }, @@ -195,6 +212,8 @@ XSDEBUG("initializing configuration ...\n"); XS_MUTEX_LOCK(xs_cfg); + xs_memset(&xs_cfg, 0, sizeof(xs_cfg)); + /* Initialize values with sensible defaults */ xs_cfg.audioBitsPerSample = XS_RES_16BIT; xs_cfg.audioChannels = XS_CHN_MONO; @@ -203,6 +222,7 @@ xs_cfg.mos8580 = FALSE; xs_cfg.forceModel = FALSE; + /* Filter values */ xs_cfg.emulateFilters = TRUE; xs_cfg.sid1FilterFs = XS_SIDPLAY1_FS; xs_cfg.sid1FilterFm = XS_SIDPLAY1_FM; @@ -224,6 +244,8 @@ xs_cfg.forceSpeed = FALSE; xs_cfg.sid2OptLevel = 0; + xs_cfg.sid2NFilterPresets = 0; + #ifdef HAVE_RESID_BUILDER xs_cfg.sid2Builder = XS_BLD_RESID; #else @@ -253,21 +275,22 @@ xs_pstrcpy(&xs_cfg.stilDBPath, "~/C64Music/DOCUMENTS/STIL.txt"); xs_pstrcpy(&xs_cfg.hvscPath, "~/C64Music"); -#ifdef HAVE_SONG_POSITION +#if defined(HAVE_SONG_POSITION) && !defined(AUDACIOUS_PLUGIN) xs_cfg.subsongControl = XS_SSC_PATCH; #else xs_cfg.subsongControl = XS_SSC_POPUP; #endif - xs_cfg.detectMagic = FALSE; -#if defined(HAVE_XMMSEXTRA) || defined(AUDACIOUS_PLUGIN) - xs_cfg.titleOverride = FALSE; -#else +#ifndef HAVE_XMMSEXTRA xs_cfg.titleOverride = TRUE; #endif - xs_pstrcpy(&xs_cfg.titleFormat, "%p - %t (%c) [%n/%N][%m/%C]"); +#ifdef AUDACIOUS_PLUGIN + xs_pstrcpy(&xs_cfg.titleFormat, "${artist} - ${title} (${copyright}) <${subtune}/${subtunes}> [${sid-model}/${sid-speed}]"); +#else + xs_pstrcpy(&xs_cfg.titleFormat, "%p - %t (%c) <%n/%N> [%m/%C]"); +#endif xs_cfg.subAutoEnable = FALSE; xs_cfg.subAutoMinOnly = TRUE; @@ -292,8 +315,6 @@ g_snprintf(tmpKey, sizeof(tmpKey), "filter%dNPoints", nFilter); if (!XS_CFG_GET_INT(cfg, XS_CONFIG_IDENT, tmpKey, &(pResult->npoints))) return FALSE; - if (pResult->npoints > XS_SIDPLAY2_NFPOINTS) - return FALSE; g_snprintf(tmpKey, sizeof(tmpKey), "filter%dName", nFilter); if (!XS_CFG_GET_STRING(cfg, XS_CONFIG_IDENT, tmpKey, &tmpStr)) @@ -310,9 +331,10 @@ return FALSE; for (i = 0, j = 0; i < pResult->npoints; i++, j += XS_FITEM) { - sscanf(&tmpStr[j], "%4x%4x", + if (sscanf(&tmpStr[j], "%4x%4x", &(pResult->points[i].x), - &(pResult->points[i].y)); + &(pResult->points[i].y)) != 2) + return FALSE; } return TRUE; @@ -370,34 +392,113 @@ /* Filter exporting and importing. These functions export/import * filter settings to/from SIDPlay2 INI-type files. */ -static gboolean xs_filters_import(gchar *pcFilename, t_xs_sid2_filter **pFilters, gint *nFilters) +static gboolean xs_fgetitem(gchar *inLine, size_t *linePos, gchar sep, gchar *tmpStr, size_t tmpMax) +{ + size_t i; + for (i = 0; i < tmpMax && inLine[*linePos] && + !isspace(inLine[*linePos]) && + inLine[*linePos] != sep; i++, (*linePos)++) + tmpStr[i] = inLine[*linePos]; + tmpStr[i] = 0; + xs_findnext(inLine, linePos); + return (inLine[*linePos] == sep); +} + +static gboolean xs_filters_import(const gchar *pcFilename, t_xs_sid2_filter **pFilters, gint *nFilters) { FILE *inFile; - t_xs_sid2_filter *f; + gchar inLine[XS_BUF_SIZE], tmpStr[XS_BUF_SIZE]; + gchar *sectName = NULL; + gboolean sectBegin; + size_t lineNum, i; + t_xs_sid2_filter *tmpFilter; + +fprintf(stderr, "xs_filters_import(%s)\n", pcFilename); + + if ((inFile = fopen(pcFilename, "ra")) == NULL) + return FALSE; + +fprintf(stderr, "importing...\n"); - if ((inFile = fopen(pcFilename, "rb")) == NULL) - return FALSE; - - + sectBegin = FALSE; + lineNum = 0; + while (fgets(inLine, XS_BUF_SIZE, inFile) != NULL) { + size_t linePos = 0; + lineNum++; + + xs_findnext(inLine, &linePos); + if (isalpha(inLine[linePos]) && sectBegin) { + /* A new key/value pair */ + if (!xs_fgetitem(inLine, &linePos, '=', tmpStr, XS_BUF_SIZE)) { + fprintf(stderr, "invalid line: %s [expect =']'", inLine); + } else { + linePos++; + xs_findnext(inLine, &linePos); + if (!strncmp(tmpStr, "points", 6)) { + fprintf(stderr, "points=%s\n", &inLine[linePos]); + } else if (!strncmp(tmpStr, "point", 5)) { + } else if (!strncmp(tmpStr, "type", 4)) { + } else { + fprintf(stderr, "warning: ukn def: %s @ %s\n", + tmpStr, sectName); + } + } + } else if (inLine[linePos] == '[') { + /* Check for existing section */ + if (sectBegin) { + /* Submit definition */ + fprintf(stderr, "filter ends: %s\n", sectName); + if ((tmpFilter = g_malloc0(sizeof(t_xs_sid2_filter))) == NULL) { + fprintf(stderr, "could not allocate ..\n"); + } else { + + } + g_free(sectName); + } + + /* New filter(?) section starts */ + linePos++; + for (i = 0; i < XS_BUF_SIZE && inLine[linePos] && inLine[linePos] != ']'; i++, linePos++) + tmpStr[i] = inLine[linePos]; + tmpStr[i] = 0; + + if (inLine[linePos] != ']') { + fprintf(stderr, "invalid! expected ']': %s\n", inLine); + } else { + sectName = strdup(tmpStr); + fprintf(stderr, "filter: %s\n", sectName); + sectBegin = TRUE; + } + } else if ((inLine[linePos] != ';') && (inLine[linePos] != 0)) { + /* Syntax error */ + fprintf(stderr, "syntax error: %s\n", inLine); + } + } fclose(inFile); - return FALSE; + return TRUE; } -static gboolean xs_filters_export(gchar *pcFilename, t_xs_sid2_filter *pFilters, gint nFilters) +static gboolean xs_filters_export(const gchar *pcFilename, t_xs_sid2_filter **pFilters, gint nFilters) { FILE *outFile; - t_xs_sid2_filter *f = pFilters; + t_xs_sid2_filter *f; gint n; /* Open/create the file */ - if ((outFile = fopen(pcFilename, "wb")) == NULL) + if ((outFile = fopen(pcFilename, "wa")) == NULL) return FALSE; + /* Header */ + fprintf(outFile, + "; SIDPlay2 compatible filter definition file\n" + "; Exported by " PACKAGE_STRING "\n\n"); + /* Write each filter spec in "INI"-style format */ for (n = 0; n < nFilters; n++) { gint i; + f = pFilters[n]; fprintf(outFile, "[%s]\n" @@ -473,6 +574,20 @@ } } + /* Filters and presets are a special case */ + xs_filter_load_into(cfg, 0, &xs_cfg.sid2Filter); + + if (xs_cfg.sid2NFilterPresets > 0) { + xs_cfg.sid2FilterPresets = g_malloc0(xs_cfg.sid2NFilterPresets * sizeof(t_xs_sid2_filter *)); + if (!xs_cfg.sid2FilterPresets) { + xs_error(_("Allocation of sid2FilterPresets structure failed!\n")); + } else { + for (i = 0; i < xs_cfg.sid2NFilterPresets; i++) { + xs_cfg.sid2FilterPresets[i] = xs_filter_load(cfg, i); + } + } + } + XS_CONFIG_FREE(cfg); XS_MUTEX_UNLOCK(xs_cfg); @@ -495,6 +610,7 @@ #ifndef AUDACIOUS_PLUGIN if (!cfg) cfg = xmms_cfg_new(); + if (!cfg) return -1; #endif /* Write the new settings to XMMS configuration file */ @@ -526,6 +642,7 @@ } } + XS_CONFIG_WRITE(cfg); XS_CONFIG_FREE(cfg); @@ -537,11 +654,7 @@ /* Configuration panel was canceled */ -void xs_cfg_cancel(void) -{ - gtk_widget_destroy(xs_configwin); - xs_configwin = NULL; -} +XS_DEF_WINDOW_CLOSE(cfg_cancel, configwin) /* Configuration was accepted, save the settings @@ -619,6 +732,13 @@ break; } } + + /* Get filter settings */ + /* + if (!xs_curve_get_points(XS_CURVE(LUW("")), &xs_cfg.sid2Filter.points, &xs_cfg.sid2Filter.npoints)) { + xs_error(_("Warning: Could not get filter curve widget points!\n")); + } + */ /* Release lock */ XS_MUTEX_UNLOCK(xs_cfg); @@ -635,22 +755,9 @@ } -/* Reset filter settings to defaults - */ -void xs_cfg_sp1_filter_reset(GtkButton * button, gpointer user_data) -{ - (void) button; - (void) user_data; - - gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fs"))), XS_SIDPLAY1_FS); - gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_fm"))), XS_SIDPLAY1_FM); - gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_emu_filt_ft"))), XS_SIDPLAY1_FT); -} - - /* HVSC songlength-database file selector response-functions */ -void xs_cfg_sld_dbbrowse(GtkButton * button, gpointer user_data) +void xs_cfg_sldb_browse(GtkButton * button, gpointer user_data) { (void) button; (void) user_data; @@ -660,7 +767,7 @@ return; } - xs_sldb_fileselector = create_xs_sldbfileselector(); + xs_sldb_fileselector = create_xs_sldb_fs(); XS_MUTEX_LOCK(xs_cfg); gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_sldb_fileselector), xs_cfg.songlenDBPath); XS_MUTEX_UNLOCK(xs_cfg); @@ -668,8 +775,11 @@ } -void xs_cfg_sldb_fs_ok(void) +void xs_sldb_fs_ok(GtkButton *button, gpointer user_data) { + (void) button; + (void) user_data; + /* Selection was accepted! */ gtk_entry_set_text(GTK_ENTRY(LUW("cfg_sld_dbpath")), gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_sldb_fileselector))); @@ -679,13 +789,8 @@ xs_sldb_fileselector = NULL; } - -void xs_cfg_sldb_fs_cancel(void) -{ - /* Close file selector window */ - gtk_widget_destroy(xs_sldb_fileselector); - xs_sldb_fileselector = NULL; -} +XS_DEF_WINDOW_CLOSE(sldb_fs_cancel, sldb_fileselector) +XS_DEF_WINDOW_DELETE(sldb_fs, sldb_fileselector) /* STIL-database file selector response-functions @@ -700,7 +805,7 @@ return; } - xs_stil_fileselector = create_xs_stilfileselector(); + xs_stil_fileselector = create_xs_stil_fs(); XS_MUTEX_LOCK(xs_cfg); gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_stil_fileselector), xs_cfg.stilDBPath); XS_MUTEX_UNLOCK(xs_cfg); @@ -708,11 +813,14 @@ } -void xs_cfg_stil_fs_ok(void) +void xs_stil_fs_ok(GtkButton *button, gpointer user_data) { + (void) button; + (void) user_data; + /* Selection was accepted! */ gtk_entry_set_text(GTK_ENTRY(LUW("cfg_stil_dbpath")), - gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_stil_fileselector))); + gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_stil_fileselector))); /* Close file selector window */ gtk_widget_destroy(xs_stil_fileselector); @@ -720,12 +828,8 @@ } -void xs_cfg_stil_fs_cancel(void) -{ - /* Close file selector window */ - gtk_widget_destroy(xs_stil_fileselector); - xs_stil_fileselector = NULL; -} +XS_DEF_WINDOW_CLOSE(stil_fs_cancel, stil_fileselector) +XS_DEF_WINDOW_DELETE(stil_fs, stil_fileselector) /* HVSC location selector response-functions @@ -735,39 +839,237 @@ (void) button; (void) user_data; - if (xs_hvsc_pathselector != NULL) { - gdk_window_raise(xs_hvsc_pathselector->window); + if (xs_hvsc_selector != NULL) { + gdk_window_raise(xs_hvsc_selector->window); return; } - xs_hvsc_pathselector = create_xs_hvscpathselector(); + xs_hvsc_selector = create_xs_hvsc_fs(); XS_MUTEX_LOCK(xs_cfg); - gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_hvsc_pathselector), xs_cfg.hvscPath); + gtk_file_selection_set_filename(GTK_FILE_SELECTION(xs_hvsc_selector), xs_cfg.hvscPath); XS_MUTEX_UNLOCK(xs_cfg); - gtk_widget_show(xs_hvsc_pathselector); + gtk_widget_show(xs_hvsc_selector); +} + + +void xs_hvsc_fs_ok(GtkButton *button, gpointer user_data) +{ + (void) button; + (void) user_data; + + /* Selection was accepted! */ + gtk_entry_set_text(GTK_ENTRY(LUW("cfg_hvsc_path")), + gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_hvsc_selector))); + + /* Close file selector window */ + gtk_widget_destroy(xs_hvsc_selector); + xs_hvsc_selector = NULL; +} + + +XS_DEF_WINDOW_CLOSE(hvsc_fs_cancel, hvsc_selector) +XS_DEF_WINDOW_DELETE(hvsc_fs, hvsc_selector) + + +/* Filter handling + */ +void xs_cfg_sp1_filter_reset(GtkButton * button, gpointer user_data) +{ + (void) button; + (void) user_data; + + gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fs"))), XS_SIDPLAY1_FS); + gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_fm"))), XS_SIDPLAY1_FM); + gtk_adjustment_set_value(gtk_range_get_adjustment(GTK_RANGE(LUW("cfg_sp1_filter_ft"))), XS_SIDPLAY1_FT); +} + + +void xs_cfg_sp2_filter_update(XSCurve *curve, t_xs_sid2_filter *f) +{ + assert(curve); + assert(f); + + xs_curve_reset(curve); + xs_curve_set_range(curve, 0,0, XS_SIDPLAY2_NFPOINTS, XS_SIDPLAY2_FMAX); + if (!xs_curve_set_points(curve, f->points, f->npoints)) { + // FIXME + xs_error(_("Warning: Could not set filter curve widget points!\n")); + } +} + + +void xs_cfg_sp2_presets_update(void) +{ + GList *tmpList = NULL; + gint i; + + for (i = 0; i < xs_cfg.sid2NFilterPresets; i++) { + tmpList = g_list_append(tmpList, + (gpointer) xs_cfg.sid2FilterPresets[i]->name); + } + + gtk_combo_set_popdown_strings(GTK_COMBO(LUW("cfg_sp2_filter_combo")), tmpList); + g_list_free(tmpList); +} + + +void xs_cfg_sp2_filter_load(GtkButton *button, gpointer user_data) +{ + const gchar *tmpStr; + gint i, j; + + (void) button; + (void) user_data; + + XS_MUTEX_LOCK(xs_cfg); + + tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW("cfg_sp2_filter_combo_entry"))); + for (i = 0, j = -1; i < xs_cfg.sid2NFilterPresets; i++) { + if (!strcmp(tmpStr, xs_cfg.sid2FilterPresets[i]->name)) { + j = i; + break; + } + } + + if (j != -1) { + fprintf(stderr, "Updating from '%s'\n", tmpStr); + xs_cfg_sp2_filter_update( + XS_CURVE(LUW("cfg_sp2_filter_curve")), + xs_cfg.sid2FilterPresets[i]); + } else { + /* error/warning: no such filter preset */ + fprintf(stderr, "No such filter preset '%s'!\n", tmpStr); + } + + XS_MUTEX_UNLOCK(xs_cfg); } -void xs_cfg_hvsc_fs_ok(void) +void xs_cfg_sp2_filter_save(GtkButton *button, gpointer user_data) { - /* Selection was accepted! */ - gtk_entry_set_text(GTK_ENTRY(LUW("cfg_hvsc_path")), - gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_hvsc_pathselector))); + /* + 1) check if textentry matches any current filter name + yes) ask if saving over ok? + no) ... + + 2) save current filter to the name + */ + const gchar *tmpStr; + gint i, j; + + (void) button; + (void) user_data; + + XS_MUTEX_LOCK(xs_cfg); + + tmpStr = gtk_entry_get_text(GTK_ENTRY(LUW("cfg_sp2_filter_combo_entry"))); + for (i = 0, j = -1; i < xs_cfg.sid2NFilterPresets; i++) { + if (!strcmp(tmpStr, xs_cfg.sid2FilterPresets[i]->name)) { + j = i; + break; + } + } + + if (j != -1) { + fprintf(stderr, "Found, confirm overwrite?\n"); + } + + fprintf(stderr, "saving!\n"); + + xs_cfg_sp2_presets_update(); + + XS_MUTEX_UNLOCK(xs_cfg); +} - /* Close file selector window */ - gtk_widget_destroy(xs_hvsc_pathselector); - xs_hvsc_pathselector = NULL; + +void xs_cfg_sp2_filter_delete(GtkButton *button, gpointer user_data) +{ + (void) button; + (void) user_data; + /* + 1) confirm + 2) delete + */ } -void xs_cfg_hvsc_fs_cancel(void) +void xs_cfg_sp2_filter_import(GtkButton *button, gpointer user_data) { + (void) button; + (void) user_data; + + if (xs_filt_importselector != NULL) { + gdk_window_raise(xs_filt_importselector->window); + return; + } + + xs_filt_importselector = create_xs_filter_import_fs(); + gtk_widget_show(xs_filt_importselector); +} + + +void xs_filter_import_fs_ok(GtkButton *button, gpointer user_data) +{ + const gchar *tmpStr; + (void) button; + (void) user_data; + + XS_MUTEX_LOCK(xs_cfg); + + /* Selection was accepted! */ + tmpStr = gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_filt_importselector)); + xs_filters_import(tmpStr, xs_cfg.sid2FilterPresets, &xs_cfg.sid2NFilterPresets); + xs_cfg_sp2_presets_update(); + /* Close file selector window */ - gtk_widget_destroy(xs_hvsc_pathselector); - xs_hvsc_pathselector = NULL; + gtk_widget_destroy(xs_filt_importselector); + xs_filt_importselector = NULL; + XS_MUTEX_UNLOCK(xs_cfg); +} + + +XS_DEF_WINDOW_CLOSE(filter_import_fs_cancel, filt_importselector) +XS_DEF_WINDOW_DELETE(filter_import_fs, filt_importselector) + + +void xs_cfg_sp2_filter_export(GtkButton *button, gpointer user_data) +{ + (void) button; + (void) user_data; + + if (xs_filt_exportselector != NULL) { + gdk_window_raise(xs_filt_exportselector->window); + return; + } + + xs_filt_exportselector = create_xs_filter_export_fs(); + gtk_widget_show(xs_filt_exportselector); } +void xs_filter_export_fs_ok(GtkButton *button, gpointer user_data) +{ + const gchar *tmpStr; + (void) button; + (void) user_data; + + XS_MUTEX_LOCK(xs_cfg); + + /* Selection was accepted! */ + tmpStr = gtk_file_selection_get_filename(GTK_FILE_SELECTION(xs_filt_exportselector)); + xs_filters_export(tmpStr, xs_cfg.sid2FilterPresets, xs_cfg.sid2NFilterPresets); + + /* Close file selector window */ + gtk_widget_destroy(xs_filt_exportselector); + xs_filt_exportselector = NULL; + XS_MUTEX_UNLOCK(xs_cfg); +} + + +XS_DEF_WINDOW_CLOSE(filter_export_fs_cancel, filt_exportselector) +XS_DEF_WINDOW_DELETE(filter_export_fs, filt_exportselector) + + /* Selection toggle handlers */ void xs_cfg_emu_filters_toggled(GtkToggleButton * togglebutton, gpointer user_data) @@ -856,7 +1158,7 @@ } -void xs_cfg_sld_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data) +void xs_cfg_sldb_enable_toggled(GtkToggleButton * togglebutton, gpointer user_data) { gboolean isActive = GTK_TOGGLE_BUTTON(togglebutton)->active; @@ -931,81 +1233,84 @@ } +XS_DEF_WINDOW_DELETE(configwin, configwin) + + /* Execute the configuration panel */ void xs_configure(void) { gint i; gfloat tmpValue; - gchar tmpStr[32]; - GtkWidget *c; + gchar tmpStr[64]; + GList *tmpList = NULL; + GtkWidget *tmpCurve; /* Check if the window already exists */ - if (xs_configwin != NULL) { + if (xs_configwin) { gdk_window_raise(xs_configwin->window); return; } /* Create the window */ xs_configwin = create_xs_configwin(); - + /* Get lock on configuration */ XS_MUTEX_LOCK(xs_cfg); + /* Add samplerates */ + for (i = 0; i < xs_nsamplerates_table; i++) { + tmpList = g_list_append (tmpList, + (gpointer) xs_samplerates_table[i]); + } + gtk_combo_set_popdown_strings(GTK_COMBO(LUW("cfg_samplerate_combo")), tmpList); + g_list_free(tmpList); + /* Create the custom filter curve widget for libSIDPlay2 */ - c = xs_curve_new(); - xs_curve_reset(XS_CURVE(c)); - xs_curve_set_range(XS_CURVE(c), - 0,0, XS_SIDPLAY2_NFPOINTS, XS_SIDPLAY2_FMAX); - xs_curve_set_points(XS_CURVE(c), - xs_cfg.sid2Filter.points, xs_cfg.sid2Filter.npoints); - - gtk_widget_set_name(c, "cfg_sp2_filter_curve"); - gtk_widget_ref(c); + xs_cfg_sp2_presets_update(); + tmpCurve = xs_curve_new(); + xs_cfg_sp2_filter_update(XS_CURVE(tmpCurve), &xs_cfg.sid2Filter); + gtk_widget_set_name(tmpCurve, "cfg_sp2_filter_curve"); + gtk_widget_ref(tmpCurve); gtk_object_set_data_full(GTK_OBJECT(xs_configwin), - "cfg_sp2_filter_curve", c, (GtkDestroyNotify) gtk_widget_unref); - gtk_widget_show(c); - gtk_container_add(GTK_CONTAINER(LUW("cfg_sp2_filter_frame")), c); + "cfg_sp2_filter_curve", tmpCurve, (GtkDestroyNotify) gtk_widget_unref); + gtk_widget_show(tmpCurve); + gtk_container_add(GTK_CONTAINER(LUW("cfg_sp2_filter_frame")), tmpCurve); /* Based on available optional parts, gray out options */ #ifndef HAVE_SIDPLAY1 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay1"), FALSE); - gtk_widget_set_sensitive(LUW("cfg_box_sidplay1"), FALSE); + gtk_widget_set_sensitive(LUW("cfg_box_filter_sidplay1"), FALSE); #endif #ifndef HAVE_SIDPLAY2 gtk_widget_set_sensitive(LUW("cfg_emu_sidplay2"), FALSE); - gtk_widget_set_sensitive(LUW("cfg_box_sidplay2"), FALSE); + gtk_widget_set_sensitive(LUW("cfg_box_filter_sidplay2"), FALSE); #endif + gtk_widget_set_sensitive(LUW("cfg_resid_frame"), FALSE); + #if !defined(HAVE_XMMSEXTRA) && !defined(AUDACIOUS_PLUGIN) gtk_widget_set_sensitive(LUW("cfg_ftitle_override"), FALSE); xs_cfg.titleOverride = TRUE; #endif -#ifndef HAVE_SONG_POSITION +#if !defined(HAVE_SONG_POSITION) && !defined(AUDACIOUS_PLUGIN) gtk_widget_set_sensitive(LUW("cfg_subctrl_patch"), FALSE); #endif -#ifdef AUDACIOUS_PLUGIN - gtk_widget_set_sensitive(LUW("cfg_detectmagic"), FALSE); -#endif - - /* Update the widget sensitivities */ - gtk_widget_set_sensitive(LUW("cfg_resid_frame"), FALSE); - - xs_cfg_emu_filters_toggled((GtkToggleButton *) LUW("cfg_emu_filters"), NULL); - xs_cfg_ftitle_override_toggled((GtkToggleButton *) LUW("cfg_ftitle_override"), NULL); - xs_cfg_emu_sidplay1_toggled((GtkToggleButton *) LUW("cfg_emu_sidplay1"), NULL); - xs_cfg_emu_sidplay2_toggled((GtkToggleButton *) LUW("cfg_emu_sidplay2"), NULL); - xs_cfg_oversample_toggled((GtkToggleButton *) LUW("cfg_oversample"), NULL); - xs_cfg_mintime_enable_toggled((GtkToggleButton *) LUW("cfg_mintime_enable"), NULL); - xs_cfg_maxtime_enable_toggled((GtkToggleButton *) LUW("cfg_maxtime_enable"), NULL); - xs_cfg_sld_enable_toggled((GtkToggleButton *) LUW("cfg_sld_enable"), NULL); - xs_cfg_stil_enable_toggled((GtkToggleButton *) LUW("cfg_stil_enable"), NULL); - xs_cfg_subauto_enable_toggled((GtkToggleButton *) LUW("cfg_subauto_enable"), NULL); - xs_cfg_subauto_min_only_toggled((GtkToggleButton *) LUW("cfg_subauto_min_only"), NULL); + xs_cfg_ftitle_override_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_ftitle_override")), NULL); + xs_cfg_emu_filters_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_filters")), NULL); + xs_cfg_emu_sidplay1_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay1")), NULL); + xs_cfg_emu_sidplay2_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_emu_sidplay2")), NULL); + xs_cfg_oversample_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_oversample")), NULL); + xs_cfg_mintime_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_mintime_enable")), NULL); + xs_cfg_maxtime_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_maxtime_enable")), NULL); + xs_cfg_sldb_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_sld_enable")), NULL); + xs_cfg_stil_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_stil_enable")), NULL); + xs_cfg_subauto_enable_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_subauto_enable")), NULL); + xs_cfg_subauto_min_only_toggled(GTK_TOGGLE_BUTTON(LUW("cfg_subauto_min_only")), NULL); /* Set current data to widgets */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_curve.c --- a/src/sid/xs_curve.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_curve.c Thu Sep 13 12:10:39 2007 -0500 @@ -145,18 +145,16 @@ { gint old_mask; - curve->cursor_type = GDK_TOP_LEFT_ARROW; curve->pixmap = NULL; - curve->height = 0; curve->grab_point = -1; curve->nctlpoints = 0; curve->ctlpoints = NULL; curve->min_x = 0.0; - curve->max_x = 1.0; + curve->max_x = 2047.0; curve->min_y = 0.0; - curve->max_y = 1.0; + curve->max_y = 24000.0; old_mask = gtk_widget_get_events(GTK_WIDGET(curve)); gtk_widget_set_events(GTK_WIDGET(curve), old_mask | GRAPH_MASK); @@ -250,10 +248,10 @@ static void xs_curve_draw(XSCurve *curve, gint width, gint height) { - gfloat res = 10.0f; + gfloat res = 5.0f; GtkStateType state; GtkStyle *style; - gint i; + gint i, ox = -1, oy = -1; t_xs_point *p0, *p1, *p2, *p3; if (!curve->pixmap) @@ -285,8 +283,6 @@ i * (width / 4.0) + RADIUS, height + RADIUS); } -#define Qprintf(x,y,...) - #if 1 /* Draw the spline/curve itself */ p0 = curve->ctlpoints; @@ -295,65 +291,49 @@ p3 = p2; p3++; /* Draw each curve segment */ - Qprintf(stderr, "-- npoints = %d\n", curve->nctlpoints); if (curve->nctlpoints > 5) for (i = 0; i < curve->nctlpoints; i++, ++p0, ++p1, ++p2, ++p3) { + gint n; gfloat k1, k2, a, b, c, d, x; - Qprintf(stderr, "#%d: ", i); if (p1->x == p2->x) continue; -#define PPASK(q, p) Qprintf(stderr, q "=[%1.3f, %1.3f] ", p->x, p->y) - PPASK("p0", p1); - PPASK("p1", p1); - PPASK("p2", p2); - PPASK("p3", p3); - - Qprintf(stderr, "\ncase #"); if (p0->x == p1->x && p2->x == p3->x) { - Qprintf(stderr, "1"); k1 = k2 = (p2->y - p1->y) / (p2->x - p1->x); } else if (p0->x == p1->x) { - Qprintf(stderr, "2"); k2 = (p3->y - p1->y) / (p3->x - p1->x); k1 = (3 * (p2->y - p1->y) / (p2->x - p1->x) - k2) / 2; } else if (p2->x == p3->x) { - Qprintf(stderr, "3"); k1 = (p2->y - p0->y) / (p2->x - p0->x); k2 = (3 * (p2->y - p1->y) / (p2->x - p1->x) - k1) / 2; } else { - Qprintf(stderr, "4"); k1 = (p2->y - p0->y) / (p2->x - p0->x); k2 = (p3->y - p1->y) / (p3->x - p1->x); } xs_cubic_coeff(p1->x, p1->y, p2->x, p2->y, k1, k2, &a, &b, &c, &d); - Qprintf(stderr, " seg[%1.3f, %1.3f] => [%1.3f, %1.3f] k1=%1.3f, k2=%1.3f\n\n", - p1->x, p1->y, - p2->x, p2->y, - k1, k2); - - for (x = p1->x; x <= p2->x; x += res) { + for (x = p1->x; x <= p2->x; x += res, n++) { gfloat y = ((a * x + b) * x + c) * x + d; gint qx, qy; qx = RADIUS + xs_project(x, curve->min_x, curve->max_x, width); qy = RADIUS + xs_project(y, curve->min_y, curve->max_y, height); - - gdk_draw_point(curve->pixmap, style->fg_gc[state], - RADIUS + xs_project(x, curve->min_x, curve->max_x, width), - RADIUS + xs_project(y, curve->min_y, curve->max_y, height)); - + + if (ox != -1) { + gdk_draw_line(curve->pixmap, style->fg_gc[state], + ox, oy, qx, qy); + } + ox = qx; oy = qy; } } - Qprintf(stderr, "-------\n"); #endif /* Draw control points */ for (i = 0; i < curve->nctlpoints; ++i) { gint x, y; + GtkStateType cstate; if (GET_X(i) < curve->min_x || GET_Y(i) < curve->min_y || GET_X(i) >= curve->max_x || GET_Y(i) >= curve->max_y) @@ -361,8 +341,17 @@ x = xs_project(GET_X(i), curve->min_x, curve->max_x, width); y = xs_project(GET_Y(i), curve->min_y, curve->max_y, height); - - gdk_draw_arc(curve->pixmap, style->fg_gc[state], TRUE, + + if (i == curve->grab_point) { + cstate = GTK_STATE_SELECTED; + gdk_draw_line(curve->pixmap, style->fg_gc[cstate], + x + RADIUS, RADIUS, x + RADIUS, height + RADIUS); + gdk_draw_line(curve->pixmap, style->fg_gc[cstate], + RADIUS, y + RADIUS, width + RADIUS, y + RADIUS); + } else + cstate = state; + + gdk_draw_arc(curve->pixmap, style->fg_gc[cstate], TRUE, x, y, RADIUS2, RADIUS2, 0, 360 * 64); } @@ -485,6 +474,7 @@ new_type = GDK_FLEUR; curve->grab_point = -1; } + xs_curve_draw(curve, width, height); break; case GDK_MOTION_NOTIFY: @@ -709,6 +699,7 @@ { XSCurve *curve; + g_return_if_fail(object != NULL); g_return_if_fail(XS_IS_CURVE(object)); curve = XS_CURVE(object); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_curve.h --- a/src/sid/xs_curve.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_curve.h Thu Sep 13 12:10:39 2007 -0500 @@ -38,9 +38,7 @@ gfloat min_y; gfloat max_y; GdkPixmap *pixmap; - gint height; /* (cached) graph height in pixels */ gint grab_point; /* point currently grabbed */ - gint last; /* control points */ gint nctlpoints; /* number of control points */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_fileinfo.c --- a/src/sid/xs_fileinfo.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_fileinfo.c Thu Sep 13 12:10:39 2007 -0500 @@ -26,14 +26,11 @@ #include "xs_fileinfo.h" #include "xs_player.h" #include "xs_support.h" -#include "xs_stil.h" #include "xs_config.h" #include "xs_interface.h" #include "xs_glade.h" - +#include "xs_slsup.h" -static t_xs_stildb *xs_stildb_db = NULL; -XS_MUTEX(xs_stildb_db); static GtkWidget *xs_fileinfowin = NULL; static t_xs_stil_node *xs_fileinfostil = NULL; @@ -42,101 +39,7 @@ #define LUW(x) lookup_widget(xs_fileinfowin, x) -/* STIL-database handling - */ -gint xs_stil_init(void) -{ - XS_MUTEX_LOCK(xs_cfg); - - if (!xs_cfg.stilDBPath) { - XS_MUTEX_UNLOCK(xs_cfg); - return -1; - } - - XS_MUTEX_LOCK(xs_stildb_db); - - /* Check if already initialized */ - if (xs_stildb_db) - xs_stildb_free(xs_stildb_db); - - /* Allocate database */ - xs_stildb_db = (t_xs_stildb *) g_malloc0(sizeof(t_xs_stildb)); - if (!xs_stildb_db) { - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_stildb_db); - return -2; - } - - /* Read the database */ - if (xs_stildb_read(xs_stildb_db, xs_cfg.stilDBPath) != 0) { - xs_stildb_free(xs_stildb_db); - xs_stildb_db = NULL; - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_stildb_db); - return -3; - } - - /* Create index */ - if (xs_stildb_index(xs_stildb_db) != 0) { - xs_stildb_free(xs_stildb_db); - xs_stildb_db = NULL; - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_stildb_db); - return -4; - } - - XS_MUTEX_UNLOCK(xs_cfg); - XS_MUTEX_UNLOCK(xs_stildb_db); - return 0; -} - - -void xs_stil_close(void) -{ - XS_MUTEX_LOCK(xs_stildb_db); - xs_stildb_free(xs_stildb_db); - xs_stildb_db = NULL; - XS_MUTEX_UNLOCK(xs_stildb_db); -} - - -t_xs_stil_node *xs_stil_get(gchar *pcFilename) -{ - t_xs_stil_node *pResult; - gchar *tmpFilename; - - XS_MUTEX_LOCK(xs_stildb_db); - XS_MUTEX_LOCK(xs_cfg); - - if (xs_cfg.stilDBEnable && xs_stildb_db) { - if (xs_cfg.hvscPath) { - /* Remove postfixed directory separator from HVSC-path */ - tmpFilename = xs_strrchr(xs_cfg.hvscPath, '/'); - if (tmpFilename && (tmpFilename[1] == 0)) - tmpFilename[0] = 0; - - /* Remove HVSC location-prefix from filename */ - tmpFilename = strstr(pcFilename, xs_cfg.hvscPath); - if (tmpFilename) - tmpFilename += strlen(xs_cfg.hvscPath); - else - tmpFilename = pcFilename; - } else - tmpFilename = pcFilename; - -XSDEBUG("xs_stil_get('%s') = '%s'\n", pcFilename, tmpFilename); - - pResult = xs_stildb_get_node(xs_stildb_db, tmpFilename); - } else - pResult = NULL; - - XS_MUTEX_UNLOCK(xs_stildb_db); - XS_MUTEX_UNLOCK(xs_cfg); - - return pResult; -} - - +#ifndef AUDACIOUS_PLUGIN void xs_fileinfo_update(void) { XS_MUTEX_LOCK(xs_status); @@ -189,6 +92,7 @@ XS_MUTEX_UNLOCK(xs_fileinfowin); XS_MUTEX_UNLOCK(xs_status); } +#endif /* AUDACIOUS_PLUGIN */ void xs_fileinfo_ok(void) @@ -218,7 +122,6 @@ { t_xs_stil_subnode *tmpNode; GtkWidget *tmpText; - gint tmpIndex; gchar *subName, *subAuthor, *subInfo; (void) widget; @@ -226,17 +129,22 @@ /* Freeze text-widget and delete the old text */ tmpText = LUW("fileinfo_sub_info"); +#ifndef AUDACIOUS_PLUGIN + gtk_text_freeze(GTK_TEXT(tmpText)); + gtk_text_set_point(GTK_TEXT(tmpText), 0); + gtk_text_forward_delete(GTK_TEXT(tmpText), gtk_text_get_length(GTK_TEXT(tmpText))); +#endif /* Get subtune information */ - tmpIndex = g_list_index(GTK_MENU_SHELL(data)->children, gtk_menu_get_active(GTK_MENU(data))); - - if (xs_fileinfostil && tmpIndex <= xs_fileinfostil->nsubTunes) - tmpNode = xs_fileinfostil->subTunes[tmpIndex]; - else - tmpNode = NULL; + tmpNode = (t_xs_stil_subnode *) data; + if (!tmpNode && xs_fileinfostil) + tmpNode = xs_fileinfostil->subTunes[0]; if (tmpNode) { - subName = tmpNode->pName; + if (tmpNode->pName) + subName = tmpNode->pName; + else + subName = tmpNode->pTitle; subAuthor = tmpNode->pAuthor; subInfo = tmpNode->pInfo; } else { @@ -248,8 +156,17 @@ /* Get and set subtune information */ gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_name")), subName ? subName : ""); gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_sub_author")), subAuthor ? subAuthor : ""); + +#ifdef AUDACIOUS_PLUGIN gtk_text_buffer_set_text(GTK_TEXT_BUFFER(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tmpText))), subInfo ? subInfo : "", -1); +#else + gtk_text_insert(GTK_TEXT(tmpText), NULL, NULL, NULL, + subInfo ? subInfo : "", -1); + + /* Un-freeze the widget */ + gtk_text_thaw(GTK_TEXT(tmpText)); +#endif } @@ -257,33 +174,44 @@ { GtkWidget *tmpMenuItem, *tmpMenu, *tmpOptionMenu; t_xs_tuneinfo *tmpInfo; - gchar tmpStr[256], *tmpStr2; + t_xs_stil_subnode *tmpNode; + gchar tmpStr[256], *tmpFilename; gint n; /* Current implementation leaves old fileinfo window untouched if * no information can be found for the new file. Hmm... */ +#ifdef AUDACIOUS_PLUGIN + xs_get_trackinfo(pcFilename, &tmpFilename, &n); +#else + tmpFilename = pcFilename; +#endif /* Get new tune information */ XS_MUTEX_LOCK(xs_fileinfowin); XS_MUTEX_LOCK(xs_status); - if ((tmpInfo = xs_status.sidPlayer->plrGetSIDInfo(pcFilename)) == NULL) { + if ((tmpInfo = xs_status.sidPlayer->plrGetSIDInfo(tmpFilename)) == NULL) { XS_MUTEX_UNLOCK(xs_fileinfowin); XS_MUTEX_UNLOCK(xs_status); return; } XS_MUTEX_UNLOCK(xs_status); - xs_fileinfostil = xs_stil_get(pcFilename); + xs_fileinfostil = xs_stil_get(tmpFilename); + +#ifdef AUDACIOUS_PLUGIN + g_free(tmpFilename); +#endif /* Check if there already is an open fileinfo window */ if (xs_fileinfowin) gdk_window_raise(xs_fileinfowin->window); else { xs_fileinfowin = create_xs_fileinfowin(); - g_signal_connect(G_OBJECT( - gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj")))), "value_changed", - G_CALLBACK(xs_fileinfo_setsong), NULL); +#ifndef AUDACIOUS_PLUGIN + XS_SIGNAL_CONNECT(gtk_range_get_adjustment(GTK_RANGE(LUW("fileinfo_subctrl_adj"))), + "value_changed", xs_fileinfo_setsong, NULL); +#endif } /* Delete current items */ @@ -295,10 +223,9 @@ /* Set the generic song information */ - tmpStr2 = g_filename_to_utf8(pcFilename, -1, NULL, NULL, NULL); - gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), tmpStr2); - g_free(tmpStr2); - + tmpFilename = XS_CS_FILENAME(pcFilename); + gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_filename")), tmpFilename); + g_free(tmpFilename); gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_songname")), tmpInfo->sidName); gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_composer")), tmpInfo->sidComposer); gtk_entry_set_text(GTK_ENTRY(LUW("fileinfo_copyright")), tmpInfo->sidCopyright); @@ -308,40 +235,52 @@ tmpMenuItem = gtk_menu_item_new_with_label(_("General info")); gtk_widget_show(tmpMenuItem); gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem); - g_signal_connect(G_OBJECT(tmpMenuItem), "activate", - G_CALLBACK(xs_fileinfo_subtune), tmpMenu); + if (xs_fileinfostil) + tmpNode = xs_fileinfostil->subTunes[0]; + else + tmpNode = NULL; + XS_SIGNAL_CONNECT(tmpMenuItem, "activate", xs_fileinfo_subtune, tmpNode); /* Other menu items */ for (n = 1; n <= tmpInfo->nsubTunes; n++) { if (xs_fileinfostil && n <= xs_fileinfostil->nsubTunes && xs_fileinfostil->subTunes[n]) { - t_xs_stil_subnode *tmpNode = xs_fileinfostil->subTunes[n]; + gboolean isSet = FALSE; + tmpNode = xs_fileinfostil->subTunes[n]; g_snprintf(tmpStr, sizeof(tmpStr), _("Tune #%i: "), n); - if (tmpNode->pName) + if (tmpNode->pName) { xs_pnstrcat(tmpStr, sizeof(tmpStr), tmpNode->pName); - else if (tmpNode->pTitle) - xs_pnstrcat(tmpStr, sizeof(tmpStr), tmpNode->pTitle); - else if (tmpNode->pInfo) - xs_pnstrcat(tmpStr, sizeof(tmpStr), tmpNode->pInfo); - else + isSet = TRUE; + } + + if (tmpNode->pTitle) { + xs_pnstrcat(tmpStr, sizeof(tmpStr), + isSet ? " [*]" : tmpNode->pTitle); + isSet = TRUE; + } + + if (tmpNode->pInfo) { + xs_pnstrcat(tmpStr, sizeof(tmpStr), " [!]"); + isSet = TRUE; + } + + if (!isSet) xs_pnstrcat(tmpStr, sizeof(tmpStr), "---"); - } else { - g_snprintf(tmpStr, sizeof(tmpStr), _("Tune #%i"), n); + + tmpMenuItem = gtk_menu_item_new_with_label(tmpStr); + gtk_widget_show(tmpMenuItem); + gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem); + XS_SIGNAL_CONNECT(tmpMenuItem, "activate", xs_fileinfo_subtune, tmpNode); } - tmpMenuItem = gtk_menu_item_new_with_label(tmpStr); - gtk_widget_show(tmpMenuItem); - gtk_menu_append(GTK_MENU(tmpMenu), tmpMenuItem); - g_signal_connect(G_OBJECT(tmpMenuItem), "activate", - G_CALLBACK(xs_fileinfo_subtune), tmpMenu); } gtk_option_menu_set_menu(GTK_OPTION_MENU(tmpOptionMenu), tmpMenu); gtk_widget_show(tmpOptionMenu); /* Set the subtune information */ - xs_fileinfo_subtune(NULL, tmpMenu); + xs_fileinfo_subtune(tmpOptionMenu, NULL); /* Free temporary tuneinfo */ xs_tuneinfo_free(tmpInfo); @@ -351,5 +290,7 @@ XS_MUTEX_UNLOCK(xs_fileinfowin); +#ifndef AUDACIOUS_PLUGIN xs_fileinfo_update(); +#endif } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_fileinfo.h --- a/src/sid/xs_fileinfo.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_fileinfo.h Thu Sep 13 12:10:39 2007 -0500 @@ -7,9 +7,9 @@ extern "C" { #endif -gint xs_stil_init(void); -void xs_stil_close(void); +#ifndef AUDACIOUS_PLUGIN void xs_fileinfo_update(void); +#endif void xs_fileinfo(gchar *); #ifdef __cplusplus diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_genui.c --- a/src/sid/xs_genui.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_genui.c Thu Sep 13 12:10:39 2007 -0500 @@ -9,33 +9,13 @@ #include "xs_glade.h" -void -xs_cfg_sp2_filter_load (GtkButton *button, - gpointer user_data) -{ -} - - -void -xs_cfg_sp2_filter_save (GtkButton *button, +gboolean +xs_confirmwin_delete (GtkWidget *widget, + GdkEvent *event, gpointer user_data) { + return FALSE; } - -void -xs_cfg_sp2_filter_import (GtkButton *button, - gpointer user_data) -{ - -} - - -void -xs_cfg_sp2_filter_export (GtkButton *button, - gpointer user_data) -{ - -} diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_genui.h --- a/src/sid/xs_genui.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_genui.h Thu Sep 13 12:10:39 2007 -0500 @@ -1,6 +1,11 @@ #include +gboolean +xs_configwin_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + void xs_cfg_oversample_toggled (GtkToggleButton *togglebutton, gpointer user_data); @@ -22,6 +27,10 @@ gpointer user_data); void +xs_cfg_sp2_filter_export (GtkButton *button, + gpointer user_data); + +void xs_cfg_sp2_filter_load (GtkButton *button, gpointer user_data); @@ -34,7 +43,7 @@ gpointer user_data); void -xs_cfg_sp2_filter_export (GtkButton *button, +xs_cfg_sp2_filter_delete (GtkButton *button, gpointer user_data); void @@ -54,11 +63,11 @@ gpointer user_data); void -xs_cfg_sld_enable_toggled (GtkToggleButton *togglebutton, +xs_cfg_sldb_enable_toggled (GtkToggleButton *togglebutton, gpointer user_data); void -xs_cfg_sld_dbbrowse (GtkButton *button, +xs_cfg_sldb_browse (GtkButton *button, gpointer user_data); void @@ -110,26 +119,76 @@ xs_fileinfo_ok (GtkButton *button, gpointer user_data); +gboolean +xs_sldb_fs_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + void -xs_cfg_sldb_fs_ok (GtkButton *button, +xs_sldb_fs_ok (GtkButton *button, gpointer user_data); void -xs_cfg_sldb_fs_cancel (GtkButton *button, +xs_sldb_fs_cancel (GtkButton *button, + gpointer user_data); + +gboolean +xs_stil_fs_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + +void +xs_stil_fs_ok (GtkButton *button, + gpointer user_data); + +void +xs_stil_fs_cancel (GtkButton *button, + gpointer user_data); + +gboolean +xs_hvsc_fs_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + +void +xs_hvsc_fs_ok (GtkButton *button, gpointer user_data); void -xs_cfg_stil_fs_ok (GtkButton *button, +xs_hvsc_fs_cancel (GtkButton *button, + gpointer user_data); + +gboolean +xs_filter_import_fs_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + +void +xs_filter_import_fs_ok (GtkButton *button, gpointer user_data); void -xs_cfg_stil_fs_cancel (GtkButton *button, +xs_filter_import_fs_cancel (GtkButton *button, + gpointer user_data); + +gboolean +xs_filter_export_fs_delete (GtkWidget *widget, + GdkEvent *event, gpointer user_data); void -xs_cfg_hvsc_fs_ok (GtkButton *button, +xs_filter_export_fs_ok (GtkButton *button, gpointer user_data); void -xs_cfg_hvsc_fs_cancel (GtkButton *button, +xs_filter_export_fs_cancel (GtkButton *button, gpointer user_data); + +gboolean +xs_confirmwin_delete (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + +void +xs_cfg_ftitle_override_toggled (GtkToggleButton *togglebutton, + gpointer user_data); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_init.c --- a/src/sid/xs_init.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_init.c Thu Sep 13 12:10:39 2007 -0500 @@ -28,38 +28,26 @@ InputPlugin xs_plugin_ip = { - NULL, /* FILLED BY XMMS */ - NULL, /* FILLED BY XMMS */ - XS_PACKAGE_STRING, /* Plugin description */ - xs_init, /* Initialization */ - xs_about, /* Show aboutbox */ - xs_configure, /* Show/edit configuration */ - xs_is_our_file, /* Check file */ - NULL, /* Scan directory */ - xs_play_file, /* Play given file */ - xs_stop, /* Stop playing */ - xs_pause, /* Pause playing */ - xs_seek, /* Seek time */ - NULL, /* Set equalizer */ - xs_get_time, /* Get playing time */ - NULL, /* Get volume */ - NULL, /* Set volume */ - xs_close, /* Cleanup */ - NULL, /* OBSOLETE! */ - NULL, /* Send data to Visualization plugin */ - NULL, NULL, /* FILLED BY XMMS */ - NULL, /* Get song title and length */ - xs_fileinfo, /* Show file-information dialog */ - NULL, /* FILLED BY XMMS */ - xs_get_song_tuple, /* Get Tuple */ - NULL, /* Set Tuple */ - NULL, /* Buffering status */ - xs_is_our_file_vfs, /* VFS */ - xs_sid_fmts, /* File ext assist */ - NULL, /* ms accurate seek, mseek() */ - NULL /* Probe for tuple */ + .description = XS_PACKAGE_STRING, /* Plugin description */ + .init = xs_init, /* Initialization */ + .cleanup = xs_close, /* Cleanup */ + .about = xs_about, /* Show aboutbox */ + .configure = xs_configure, /* Show/edit configuration */ + + .play_file = xs_play_file, /* Play given file */ + .stop = xs_stop, /* Stop playing */ + .pause = xs_pause, /* Pause playing */ + .seek = xs_seek, /* Seek time */ + .get_time = xs_get_time, /* Get playing time */ + + .file_info_box = xs_fileinfo, /* Show file-information dialog */ + + .get_song_tuple = xs_get_song_tuple, /* Get Tuple */ + .is_our_file = xs_is_our_file, /* Check file */ + .is_our_file_from_vfs = xs_is_our_file_vfs, /* VFS */ + .vfs_extensions = xs_sid_fmts, /* File ext assist */ }; -InputPlugin *sid_iplist[] = { &xs_plugin_ip, NULL }; +static InputPlugin *sid_iplist[] = { &xs_plugin_ip, NULL }; DECLARE_PLUGIN(sid, NULL, NULL, sid_iplist, NULL, NULL, NULL, NULL, NULL); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_interface.c --- a/src/sid/xs_interface.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_interface.c Thu Sep 13 12:10:39 2007 -0500 @@ -135,10 +135,11 @@ GList *cfg_sp2_filter_combo_items = NULL; GtkWidget *cfg_sp2_filter_combo_entry; GtkWidget *table3; + GtkWidget *cfg_sp2_filter_export; GtkWidget *cfg_sp2_filter_load; GtkWidget *cfg_sp2_filter_save; GtkWidget *cfg_sp2_filter_import; - GtkWidget *cfg_sp2_filter_export; + GtkWidget *cfg_sp2_filter_delete; GtkWidget *cfg_sp2_filter_frame; GtkWidget *label14; GtkWidget *w_label56; @@ -172,7 +173,25 @@ GtkWidget *cfg_sld_dbbrowse; GtkWidget *label17; GtkWidget *w_label26; - GtkWidget *w_vbox33; + GtkWidget *frame1; + GtkWidget *vbox1; + GtkWidget *cfg_ftitle_override; + GtkWidget *cfg_ftitle_box; + GtkWidget *cfg_ftitle_format; + GtkWidget *cfg_ftitle_descs; + GtkWidget *label29; + GtkWidget *w_label27; + GtkWidget *w_vbox19; + GtkWidget *w_frame31; + GtkWidget *w_vbox35; + GtkWidget *cfg_subauto_enable; + GtkWidget *cfg_subauto_min_only; + GtkWidget *cfg_subauto_box; + GtkWidget *w_label52; + GtkObject *cfg_subauto_mintime_adj; + GtkWidget *cfg_subauto_mintime; + GtkWidget *w_label53; + GtkWidget *label21; GtkWidget *w_frame7; GtkWidget *w_vbox8; GtkWidget *cfg_stil_enable; @@ -189,39 +208,6 @@ GtkWidget *w_alignment7; GtkWidget *cfg_hvsc_browse; GtkWidget *label18; - GtkWidget *w_frame16; - GtkWidget *vbox1; - GtkWidget *cfg_ftitle_override; - GtkWidget *cfg_ftitle_box; - GtkWidget *cfg_ftitle_format; - GtkWidget *w_hbox9; - GtkWidget *cfg_ftitle_desc1; - GtkWidget *cfg_ftitle_desc2; - GtkWidget *label19; - GtkWidget *w_label23; - GtkWidget *w_vbox19; - GtkWidget *w_frame28; - GtkWidget *w_vbox31; - GtkWidget *cfg_subctrl_none; - GSList *cfg_subctrl_none_group = NULL; - GtkWidget *cfg_subctrl_seek; - GtkWidget *cfg_subctrl_popup; - GtkWidget *cfg_subctrl_patch; - GtkWidget *label20; - GtkWidget *w_frame31; - GtkWidget *w_vbox35; - GtkWidget *cfg_subauto_enable; - GtkWidget *cfg_subauto_min_only; - GtkWidget *cfg_subauto_box; - GtkWidget *w_label52; - GtkObject *cfg_subauto_mintime_adj; - GtkWidget *cfg_subauto_mintime; - GtkWidget *w_label53; - GtkWidget *label21; - GtkWidget *w_frame22; - GtkWidget *w_vbox22; - GtkWidget *cfg_detectmagic; - GtkWidget *label22; GtkWidget *w_label3; GtkWidget *hbuttonbox1; GtkWidget *cfg_ok; @@ -232,7 +218,7 @@ xs_configwin = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (xs_configwin, "xs_configwin"); - gtk_window_set_title (GTK_WINDOW (xs_configwin), _("Audacious-SID Configuration")); + gtk_window_set_title (GTK_WINDOW (xs_configwin), _("Audacious-SID configuration")); w_vbox1 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (w_vbox1, "w_vbox1"); @@ -343,13 +329,6 @@ gtk_widget_set_name (cfg_samplerate_combo, "cfg_samplerate_combo"); gtk_widget_show (cfg_samplerate_combo); gtk_box_pack_start (GTK_BOX (w_hbox4), cfg_samplerate_combo, FALSE, FALSE, 0); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "8000"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "11025"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "22050"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "44100"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "48000"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "64000"); - cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) "96000"); cfg_samplerate_combo_items = g_list_append (cfg_samplerate_combo_items, (gpointer) ""); gtk_combo_set_popdown_strings (GTK_COMBO (cfg_samplerate_combo), cfg_samplerate_combo_items); g_list_free (cfg_samplerate_combo_items); @@ -357,6 +336,7 @@ cfg_samplerate = GTK_COMBO (cfg_samplerate_combo)->entry; gtk_widget_set_name (cfg_samplerate, "cfg_samplerate"); gtk_widget_show (cfg_samplerate); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_samplerate), 9679); w_label8 = gtk_label_new (_("Hz")); gtk_widget_set_name (w_label8, "w_label8"); @@ -435,7 +415,7 @@ w_hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_set_name (w_hbox1, "w_hbox1"); gtk_widget_show (w_hbox1); - gtk_box_pack_start (GTK_BOX (w_vbox2), w_hbox1, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (w_vbox2), w_hbox1, FALSE, TRUE, 0); cfg_clock_frame = gtk_frame_new (NULL); gtk_widget_set_name (cfg_clock_frame, "cfg_clock_frame"); @@ -804,10 +784,6 @@ gtk_widget_show (cfg_sp2_filter_combo); gtk_box_pack_start (GTK_BOX (cfg_sp_filter_controlbox), cfg_sp2_filter_combo, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (cfg_sp2_filter_combo), 2); - cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581 (reSID)")); - cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("8580 (reSID)")); - cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581R1 (alankila)")); - cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) _("6581R4 (alankila)")); cfg_sp2_filter_combo_items = g_list_append (cfg_sp2_filter_combo_items, (gpointer) ""); gtk_combo_set_popdown_strings (GTK_COMBO (cfg_sp2_filter_combo), cfg_sp2_filter_combo_items); g_list_free (cfg_sp2_filter_combo_items); @@ -815,8 +791,9 @@ cfg_sp2_filter_combo_entry = GTK_COMBO (cfg_sp2_filter_combo)->entry; gtk_widget_set_name (cfg_sp2_filter_combo_entry, "cfg_sp2_filter_combo_entry"); gtk_widget_show (cfg_sp2_filter_combo_entry); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_sp2_filter_combo_entry), 9679); - table3 = gtk_table_new (2, 2, TRUE); + table3 = gtk_table_new (2, 3, TRUE); gtk_widget_set_name (table3, "table3"); gtk_widget_show (table3); gtk_box_pack_start (GTK_BOX (cfg_sp_filter_controlbox), table3, FALSE, TRUE, 0); @@ -824,7 +801,15 @@ gtk_table_set_row_spacings (GTK_TABLE (table3), 4); gtk_table_set_col_spacings (GTK_TABLE (table3), 4); - cfg_sp2_filter_load = gtk_button_new_with_mnemonic (_("Load")); + cfg_sp2_filter_export = gtk_button_new_with_mnemonic (_("Export")); + gtk_widget_set_name (cfg_sp2_filter_export, "cfg_sp2_filter_export"); + gtk_widget_show (cfg_sp2_filter_export); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_export, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_export, GTK_CAN_DEFAULT); + + cfg_sp2_filter_load = gtk_button_new_with_mnemonic (_("Use")); gtk_widget_set_name (cfg_sp2_filter_load, "cfg_sp2_filter_load"); gtk_widget_show (cfg_sp2_filter_load); gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_load, 0, 1, 0, 1, @@ -843,18 +828,18 @@ cfg_sp2_filter_import = gtk_button_new_with_mnemonic (_("Import")); gtk_widget_set_name (cfg_sp2_filter_import, "cfg_sp2_filter_import"); gtk_widget_show (cfg_sp2_filter_import); - gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_import, 0, 1, 1, 2, + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_import, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_import, GTK_CAN_DEFAULT); - cfg_sp2_filter_export = gtk_button_new_with_mnemonic (_("Export")); - gtk_widget_set_name (cfg_sp2_filter_export, "cfg_sp2_filter_export"); - gtk_widget_show (cfg_sp2_filter_export); - gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_export, 1, 2, 1, 2, + cfg_sp2_filter_delete = gtk_button_new_with_mnemonic (_("Delete")); + gtk_widget_set_name (cfg_sp2_filter_delete, "cfg_sp2_filter_delete"); + gtk_widget_show (cfg_sp2_filter_delete); + gtk_table_attach (GTK_TABLE (table3), cfg_sp2_filter_delete, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_export, GTK_CAN_DEFAULT); + GTK_WIDGET_SET_FLAGS (cfg_sp2_filter_delete, GTK_CAN_DEFAULT); cfg_sp2_filter_frame = gtk_frame_new (NULL); gtk_widget_set_name (cfg_sp2_filter_frame, "cfg_sp2_filter_frame"); @@ -1020,6 +1005,7 @@ gtk_widget_show (cfg_sld_dbpath); gtk_box_pack_start (GTK_BOX (cfg_sld_box), cfg_sld_dbpath, TRUE, TRUE, 0); gtk_tooltips_set_tip (tooltips, cfg_sld_dbpath, _("Database path and filename"), NULL); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_sld_dbpath), 9679); cfg_sld_dbbrowse = gtk_button_new_with_mnemonic (_("Browse")); gtk_widget_set_name (cfg_sld_dbbrowse, "cfg_sld_dbbrowse"); @@ -1038,15 +1024,117 @@ gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 4), w_label26); gtk_label_set_justify (GTK_LABEL (w_label26), GTK_JUSTIFY_CENTER); - w_vbox33 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (w_vbox33, "w_vbox33"); - gtk_widget_show (w_vbox33); - gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox33); + frame1 = gtk_frame_new (NULL); + gtk_widget_set_name (frame1, "frame1"); + gtk_widget_show (frame1); + gtk_container_add (GTK_CONTAINER (cfg_notebook), frame1); + gtk_container_set_border_width (GTK_CONTAINER (frame1), 4); + + vbox1 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (vbox1, "vbox1"); + gtk_widget_show (vbox1); + gtk_container_add (GTK_CONTAINER (frame1), vbox1); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 2); + + cfg_ftitle_override = gtk_check_button_new_with_mnemonic (_("Override generic Tuplez format string")); + gtk_widget_set_name (cfg_ftitle_override, "cfg_ftitle_override"); + gtk_widget_show (cfg_ftitle_override); + gtk_box_pack_start (GTK_BOX (vbox1), cfg_ftitle_override, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_ftitle_override, _("By enabling this option you can specify a custom Tuplez formatting string for SID-files. The SID-plugin specific Tuplez tags are described shortly below."), NULL); + + cfg_ftitle_box = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (cfg_ftitle_box, "cfg_ftitle_box"); + gtk_widget_show (cfg_ftitle_box); + gtk_box_pack_start (GTK_BOX (vbox1), cfg_ftitle_box, TRUE, TRUE, 0); + + cfg_ftitle_format = gtk_entry_new (); + gtk_widget_set_name (cfg_ftitle_format, "cfg_ftitle_format"); + gtk_widget_show (cfg_ftitle_format); + gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), cfg_ftitle_format, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_ftitle_format, _("Tuplez format string for SID-files"), NULL); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_ftitle_format), 9679); + + cfg_ftitle_descs = gtk_label_new (_("Descriptions of SID-specific Tuplez fields go here. :D")); + gtk_widget_set_name (cfg_ftitle_descs, "cfg_ftitle_descs"); + gtk_widget_show (cfg_ftitle_descs); + gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), cfg_ftitle_descs, TRUE, TRUE, 0); + gtk_label_set_use_markup (GTK_LABEL (cfg_ftitle_descs), TRUE); + gtk_label_set_line_wrap (GTK_LABEL (cfg_ftitle_descs), TRUE); + gtk_misc_set_padding (GTK_MISC (cfg_ftitle_descs), 8, 8); + + label29 = gtk_label_new (_("Song title format:")); + gtk_widget_set_name (label29, "label29"); + gtk_widget_show (label29); + gtk_frame_set_label_widget (GTK_FRAME (frame1), label29); + + w_label27 = gtk_label_new (_("Title")); + gtk_widget_set_name (w_label27, "w_label27"); + gtk_widget_show (w_label27); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 5), w_label27); + + w_vbox19 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (w_vbox19, "w_vbox19"); + gtk_widget_show (w_vbox19); + gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox19); + + w_frame31 = gtk_frame_new (NULL); + gtk_widget_set_name (w_frame31, "w_frame31"); + gtk_widget_show (w_frame31); + gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame31, FALSE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (w_frame31), 4); + + w_vbox35 = gtk_vbox_new (FALSE, 2); + gtk_widget_set_name (w_vbox35, "w_vbox35"); + gtk_widget_show (w_vbox35); + gtk_container_add (GTK_CONTAINER (w_frame31), w_vbox35); + gtk_container_set_border_width (GTK_CONTAINER (w_vbox35), 2); + + cfg_subauto_enable = gtk_check_button_new_with_mnemonic (_("Add sub-tunes to playlist")); + gtk_widget_set_name (cfg_subauto_enable, "cfg_subauto_enable"); + gtk_widget_show (cfg_subauto_enable); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_enable, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subauto_enable, _("If enabled, sub-tunes of each file will be added to playlist. If disabled, only the default sub-tune will be added."), NULL); + + cfg_subauto_min_only = gtk_check_button_new_with_mnemonic (_("Only tunes with specified minimum duration")); + gtk_widget_set_name (cfg_subauto_min_only, "cfg_subauto_min_only"); + gtk_widget_show (cfg_subauto_min_only); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_min_only, FALSE, FALSE, 0); + gtk_tooltips_set_tip (tooltips, cfg_subauto_min_only, _("Only add sub-tunes that have a duration of at least specified time."), NULL); + + cfg_subauto_box = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (cfg_subauto_box, "cfg_subauto_box"); + gtk_widget_show (cfg_subauto_box); + gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_box, TRUE, TRUE, 0); + + w_label52 = gtk_label_new (_("Playtime:")); + gtk_widget_set_name (w_label52, "w_label52"); + gtk_widget_show (w_label52); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label52, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (w_label52), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (w_label52), 0, 0.5); + + cfg_subauto_mintime_adj = gtk_adjustment_new (15, 1, 32767, 1, 60, 60); + cfg_subauto_mintime = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_subauto_mintime_adj), 1, 0); + gtk_widget_set_name (cfg_subauto_mintime, "cfg_subauto_mintime"); + gtk_widget_show (cfg_subauto_mintime); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), cfg_subauto_mintime, FALSE, TRUE, 0); + + w_label53 = gtk_label_new (_("seconds")); + gtk_widget_set_name (w_label53, "w_label53"); + gtk_widget_show (w_label53); + gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label53, FALSE, FALSE, 0); + gtk_label_set_justify (GTK_LABEL (w_label53), GTK_JUSTIFY_CENTER); + gtk_misc_set_alignment (GTK_MISC (w_label53), 0, 0.5); + + label21 = gtk_label_new (_("Sub-tune handling:")); + gtk_widget_set_name (label21, "label21"); + gtk_widget_show (label21); + gtk_frame_set_label_widget (GTK_FRAME (w_frame31), label21); w_frame7 = gtk_frame_new (NULL); gtk_widget_set_name (w_frame7, "w_frame7"); gtk_widget_show (w_frame7); - gtk_box_pack_start (GTK_BOX (w_vbox33), w_frame7, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame7, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (w_frame7), 4); w_vbox8 = gtk_vbox_new (FALSE, 2); @@ -1083,6 +1171,7 @@ gtk_widget_show (cfg_stil_dbpath); gtk_container_add (GTK_CONTAINER (w_alignment2), cfg_stil_dbpath); gtk_tooltips_set_tip (tooltips, cfg_stil_dbpath, _("Path and filename of STIL database file (STIL.txt), usually found from HVSC's DOCUMENTS-subdirectory."), NULL); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_stil_dbpath), 9679); w_alignment1 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); gtk_widget_set_name (w_alignment1, "w_alignment1"); @@ -1118,6 +1207,7 @@ gtk_widget_show (cfg_hvsc_path); gtk_container_add (GTK_CONTAINER (w_alignment6), cfg_hvsc_path); gtk_tooltips_set_tip (tooltips, cfg_hvsc_path, _("Path to base-directory of your High Voltage SID Collection (HVSC), for example /media/C64Music/"), NULL); + gtk_entry_set_invisible_char (GTK_ENTRY (cfg_hvsc_path), 9679); w_alignment7 = gtk_alignment_new (0.5, 0.5, 1, 0.300001); gtk_widget_set_name (w_alignment7, "w_alignment7"); @@ -1136,191 +1226,6 @@ gtk_widget_show (label18); gtk_frame_set_label_widget (GTK_FRAME (w_frame7), label18); - w_frame16 = gtk_frame_new (NULL); - gtk_widget_set_name (w_frame16, "w_frame16"); - gtk_widget_show (w_frame16); - gtk_box_pack_start (GTK_BOX (w_vbox33), w_frame16, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (w_frame16), 4); - - vbox1 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (vbox1, "vbox1"); - gtk_widget_show (vbox1); - gtk_container_add (GTK_CONTAINER (w_frame16), vbox1); - gtk_container_set_border_width (GTK_CONTAINER (vbox1), 2); - - cfg_ftitle_override = gtk_check_button_new_with_mnemonic (_("Override generic XMMS titles")); - gtk_widget_set_name (cfg_ftitle_override, "cfg_ftitle_override"); - gtk_widget_show (cfg_ftitle_override); - gtk_box_pack_start (GTK_BOX (vbox1), cfg_ftitle_override, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_ftitle_override, _("XMMS v1.2.5 and later support generic titlestring formatting (see XMMS preferences). This option can be enabled to override those generic titles with Audacious-SID specific ones. Formatting mnemonics are explained briefly below."), NULL); - - cfg_ftitle_box = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (cfg_ftitle_box, "cfg_ftitle_box"); - gtk_widget_show (cfg_ftitle_box); - gtk_box_pack_start (GTK_BOX (vbox1), cfg_ftitle_box, TRUE, TRUE, 0); - - cfg_ftitle_format = gtk_entry_new (); - gtk_widget_set_name (cfg_ftitle_format, "cfg_ftitle_format"); - gtk_widget_show (cfg_ftitle_format); - gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), cfg_ftitle_format, FALSE, FALSE, 2); - - w_hbox9 = gtk_hbox_new (TRUE, 0); - gtk_widget_set_name (w_hbox9, "w_hbox9"); - gtk_widget_show (w_hbox9); - gtk_box_pack_start (GTK_BOX (cfg_ftitle_box), w_hbox9, FALSE, FALSE, 2); - - cfg_ftitle_desc1 = gtk_label_new (_("%% - '%' character\n%p - Performer/composer\n%t - Song name (title)\n%c - Copyright\n%s - File type\n%m - SID model")); - gtk_widget_set_name (cfg_ftitle_desc1, "cfg_ftitle_desc1"); - gtk_widget_show (cfg_ftitle_desc1); - gtk_box_pack_start (GTK_BOX (w_hbox9), cfg_ftitle_desc1, FALSE, FALSE, 0); - gtk_misc_set_alignment (GTK_MISC (cfg_ftitle_desc1), 0.04, 0.5); - - cfg_ftitle_desc2 = gtk_label_new (_("%C - Speed/clock (PAL/NTSC)\n%n - Subtune\n%N - Number of subtunes\n%f - Filename\n%F - File path\n%e - File extension")); - gtk_widget_set_name (cfg_ftitle_desc2, "cfg_ftitle_desc2"); - gtk_widget_show (cfg_ftitle_desc2); - gtk_box_pack_start (GTK_BOX (w_hbox9), cfg_ftitle_desc2, FALSE, FALSE, 0); - gtk_misc_set_alignment (GTK_MISC (cfg_ftitle_desc2), 0.04, 0.5); - - label19 = gtk_label_new (_("Song name/title format:")); - gtk_widget_set_name (label19, "label19"); - gtk_widget_show (label19); - gtk_frame_set_label_widget (GTK_FRAME (w_frame16), label19); - - w_label23 = gtk_label_new (_("Title")); - gtk_widget_set_name (w_label23, "w_label23"); - gtk_widget_show (w_label23); - gtk_notebook_set_tab_label (GTK_NOTEBOOK (cfg_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (cfg_notebook), 5), w_label23); - gtk_label_set_justify (GTK_LABEL (w_label23), GTK_JUSTIFY_CENTER); - - w_vbox19 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (w_vbox19, "w_vbox19"); - gtk_widget_show (w_vbox19); - gtk_container_add (GTK_CONTAINER (cfg_notebook), w_vbox19); - - w_frame28 = gtk_frame_new (NULL); - gtk_widget_set_name (w_frame28, "w_frame28"); - gtk_widget_show (w_frame28); - gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame28, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (w_frame28), 4); - - w_vbox31 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (w_vbox31, "w_vbox31"); - gtk_widget_show (w_vbox31); - gtk_container_add (GTK_CONTAINER (w_frame28), w_vbox31); - gtk_container_set_border_width (GTK_CONTAINER (w_vbox31), 2); - - cfg_subctrl_none = gtk_radio_button_new_with_mnemonic (NULL, _("Disabled")); - gtk_widget_set_name (cfg_subctrl_none, "cfg_subctrl_none"); - gtk_widget_show (cfg_subctrl_none); - gtk_box_pack_start (GTK_BOX (w_vbox31), cfg_subctrl_none, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_subctrl_none, _("No sub-tune control."), NULL); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_none), cfg_subctrl_none_group); - cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_none)); - - cfg_subctrl_seek = gtk_radio_button_new_with_mnemonic (NULL, _("Seek back/forward changes sub-tune")); - gtk_widget_set_name (cfg_subctrl_seek, "cfg_subctrl_seek"); - gtk_widget_show (cfg_subctrl_seek); - gtk_box_pack_start (GTK_BOX (w_vbox31), cfg_subctrl_seek, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_subctrl_seek, _("Seeking backwards/forwards selects previous/next sub-tune, similar to selector used in XMMS-SidPlay."), NULL); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_seek), cfg_subctrl_none_group); - cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_seek)); - - cfg_subctrl_popup = gtk_radio_button_new_with_mnemonic (NULL, _("Pop-up via seekbar (UADE-style)")); - gtk_widget_set_name (cfg_subctrl_popup, "cfg_subctrl_popup"); - gtk_widget_show (cfg_subctrl_popup); - gtk_box_pack_start (GTK_BOX (w_vbox31), cfg_subctrl_popup, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_subctrl_popup, _("By pressing the seekbar a sub-tune control window pops up, in style of UADE (Unix Amiga Delitracker Emulator)"), NULL); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_popup), cfg_subctrl_none_group); - cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_popup)); - - cfg_subctrl_patch = gtk_radio_button_new_with_mnemonic (NULL, _("Song-position patch")); - gtk_widget_set_name (cfg_subctrl_patch, "cfg_subctrl_patch"); - gtk_widget_show (cfg_subctrl_patch); - gtk_box_pack_start (GTK_BOX (w_vbox31), cfg_subctrl_patch, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_subctrl_patch, _("Seekbar works as a sub-tune selector (Best option if you have patched your XMMS with the song-position patch.)"), NULL); - gtk_radio_button_set_group (GTK_RADIO_BUTTON (cfg_subctrl_patch), cfg_subctrl_none_group); - cfg_subctrl_none_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (cfg_subctrl_patch)); - - label20 = gtk_label_new (_("Sub-tune control:")); - gtk_widget_set_name (label20, "label20"); - gtk_widget_show (label20); - gtk_frame_set_label_widget (GTK_FRAME (w_frame28), label20); - - w_frame31 = gtk_frame_new (NULL); - gtk_widget_set_name (w_frame31, "w_frame31"); - gtk_widget_show (w_frame31); - gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame31, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (w_frame31), 4); - - w_vbox35 = gtk_vbox_new (FALSE, 2); - gtk_widget_set_name (w_vbox35, "w_vbox35"); - gtk_widget_show (w_vbox35); - gtk_container_add (GTK_CONTAINER (w_frame31), w_vbox35); - gtk_container_set_border_width (GTK_CONTAINER (w_vbox35), 2); - - cfg_subauto_enable = gtk_check_button_new_with_mnemonic (_("Go through all sub-tunes in file")); - gtk_widget_set_name (cfg_subauto_enable, "cfg_subauto_enable"); - gtk_widget_show (cfg_subauto_enable); - gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_enable, FALSE, FALSE, 0); - - cfg_subauto_min_only = gtk_check_button_new_with_mnemonic (_("Only tunes with specified minimum length ")); - gtk_widget_set_name (cfg_subauto_min_only, "cfg_subauto_min_only"); - gtk_widget_show (cfg_subauto_min_only); - gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_min_only, FALSE, FALSE, 0); - - cfg_subauto_box = gtk_hbox_new (FALSE, 2); - gtk_widget_set_name (cfg_subauto_box, "cfg_subauto_box"); - gtk_widget_show (cfg_subauto_box); - gtk_box_pack_start (GTK_BOX (w_vbox35), cfg_subauto_box, TRUE, TRUE, 0); - - w_label52 = gtk_label_new (_("Playtime:")); - gtk_widget_set_name (w_label52, "w_label52"); - gtk_widget_show (w_label52); - gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label52, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (w_label52), GTK_JUSTIFY_CENTER); - gtk_misc_set_alignment (GTK_MISC (w_label52), 0, 0.5); - - cfg_subauto_mintime_adj = gtk_adjustment_new (15, 1, 32767, 1, 60, 60); - cfg_subauto_mintime = gtk_spin_button_new (GTK_ADJUSTMENT (cfg_subauto_mintime_adj), 1, 0); - gtk_widget_set_name (cfg_subauto_mintime, "cfg_subauto_mintime"); - gtk_widget_show (cfg_subauto_mintime); - gtk_box_pack_start (GTK_BOX (cfg_subauto_box), cfg_subauto_mintime, FALSE, TRUE, 0); - - w_label53 = gtk_label_new (_("seconds")); - gtk_widget_set_name (w_label53, "w_label53"); - gtk_widget_show (w_label53); - gtk_box_pack_start (GTK_BOX (cfg_subauto_box), w_label53, FALSE, FALSE, 0); - gtk_label_set_justify (GTK_LABEL (w_label53), GTK_JUSTIFY_CENTER); - gtk_misc_set_alignment (GTK_MISC (w_label53), 0, 0.5); - - label21 = gtk_label_new (_("Automatic sub-tune changes:")); - gtk_widget_set_name (label21, "label21"); - gtk_widget_show (label21); - gtk_frame_set_label_widget (GTK_FRAME (w_frame31), label21); - - w_frame22 = gtk_frame_new (NULL); - gtk_widget_set_name (w_frame22, "w_frame22"); - gtk_widget_show (w_frame22); - gtk_box_pack_start (GTK_BOX (w_vbox19), w_frame22, FALSE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER (w_frame22), 4); - - w_vbox22 = gtk_vbox_new (FALSE, 0); - gtk_widget_set_name (w_vbox22, "w_vbox22"); - gtk_widget_show (w_vbox22); - gtk_container_add (GTK_CONTAINER (w_frame22), w_vbox22); - gtk_container_set_border_width (GTK_CONTAINER (w_vbox22), 2); - - cfg_detectmagic = gtk_check_button_new_with_mnemonic (_("Detect file by contents (slower)")); - gtk_widget_set_name (cfg_detectmagic, "cfg_detectmagic"); - gtk_widget_show (cfg_detectmagic); - gtk_box_pack_start (GTK_BOX (w_vbox22), cfg_detectmagic, FALSE, FALSE, 0); - gtk_tooltips_set_tip (tooltips, cfg_detectmagic, _("Determine if file is a SID-tune by checking the file contents. If NOT selected, filetype is determined by checking filename extension (.sid, .dat, ...)"), NULL); - - label22 = gtk_label_new (_("Miscellaneous options:")); - gtk_widget_set_name (label22, "label22"); - gtk_widget_show (label22); - gtk_frame_set_label_widget (GTK_FRAME (w_frame22), label22); - w_label3 = gtk_label_new (_("Misc")); gtk_widget_set_name (w_label3, "w_label3"); gtk_widget_show (w_label3); @@ -1333,7 +1238,7 @@ gtk_box_pack_end (GTK_BOX (w_vbox1), hbuttonbox1, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 4); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END); - gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 15); + gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 8); cfg_ok = gtk_button_new_with_mnemonic (_("OK")); gtk_widget_set_name (cfg_ok, "cfg_ok"); @@ -1349,6 +1254,9 @@ GTK_WIDGET_SET_FLAGS (cfg_cancel, GTK_CAN_DEFAULT); gtk_tooltips_set_tip (tooltips, cfg_cancel, _("Cancel any changes"), NULL); + g_signal_connect ((gpointer) xs_configwin, "delete_event", + G_CALLBACK (xs_configwin_delete), + NULL); g_signal_connect ((gpointer) cfg_oversample, "toggled", G_CALLBACK (xs_cfg_oversample_toggled), NULL); @@ -1364,6 +1272,9 @@ g_signal_connect ((gpointer) cfg_sp1_filter_reset, "clicked", G_CALLBACK (xs_cfg_sp1_filter_reset), NULL); + g_signal_connect ((gpointer) cfg_sp2_filter_export, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_export), + NULL); g_signal_connect ((gpointer) cfg_sp2_filter_load, "clicked", G_CALLBACK (xs_cfg_sp2_filter_load), NULL); @@ -1373,8 +1284,8 @@ g_signal_connect ((gpointer) cfg_sp2_filter_import, "clicked", G_CALLBACK (xs_cfg_sp2_filter_import), NULL); - g_signal_connect ((gpointer) cfg_sp2_filter_export, "clicked", - G_CALLBACK (xs_cfg_sp2_filter_export), + g_signal_connect ((gpointer) cfg_sp2_filter_delete, "clicked", + G_CALLBACK (xs_cfg_sp2_filter_delete), NULL); g_signal_connect ((gpointer) cfg_mintime_enable, "toggled", G_CALLBACK (xs_cfg_mintime_enable_toggled), @@ -1389,10 +1300,19 @@ G_CALLBACK (xs_cfg_maxtime_changed), NULL); g_signal_connect ((gpointer) cfg_sld_enable, "toggled", - G_CALLBACK (xs_cfg_sld_enable_toggled), + G_CALLBACK (xs_cfg_sldb_enable_toggled), NULL); g_signal_connect ((gpointer) cfg_sld_dbbrowse, "clicked", - G_CALLBACK (xs_cfg_sld_dbbrowse), + G_CALLBACK (xs_cfg_sldb_browse), + NULL); + g_signal_connect ((gpointer) cfg_ftitle_override, "toggled", + G_CALLBACK (xs_cfg_ftitle_override_toggled), + NULL); + g_signal_connect ((gpointer) cfg_subauto_enable, "toggled", + G_CALLBACK (xs_cfg_subauto_enable_toggled), + NULL); + g_signal_connect ((gpointer) cfg_subauto_min_only, "toggled", + G_CALLBACK (xs_cfg_subauto_min_only_toggled), NULL); g_signal_connect ((gpointer) cfg_stil_enable, "toggled", G_CALLBACK (xs_cfg_stil_enable_toggled), @@ -1403,15 +1323,6 @@ g_signal_connect ((gpointer) cfg_hvsc_browse, "clicked", G_CALLBACK (xs_cfg_hvsc_browse), NULL); - g_signal_connect ((gpointer) cfg_ftitle_override, "toggled", - G_CALLBACK (xs_cfg_ftitle_override_toggled), - NULL); - g_signal_connect ((gpointer) cfg_subauto_enable, "toggled", - G_CALLBACK (xs_cfg_subauto_enable_toggled), - NULL); - g_signal_connect ((gpointer) cfg_subauto_min_only, "toggled", - G_CALLBACK (xs_cfg_subauto_min_only_toggled), - NULL); g_signal_connect ((gpointer) cfg_ok, "clicked", G_CALLBACK (xs_cfg_ok), NULL); @@ -1515,10 +1426,11 @@ GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_combo, "cfg_sp2_filter_combo"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_combo_entry, "cfg_sp2_filter_combo_entry"); GLADE_HOOKUP_OBJECT (xs_configwin, table3, "table3"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_export, "cfg_sp2_filter_export"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_load, "cfg_sp2_filter_load"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_save, "cfg_sp2_filter_save"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_import, "cfg_sp2_filter_import"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_export, "cfg_sp2_filter_export"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_delete, "cfg_sp2_filter_delete"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sp2_filter_frame, "cfg_sp2_filter_frame"); GLADE_HOOKUP_OBJECT (xs_configwin, label14, "label14"); GLADE_HOOKUP_OBJECT (xs_configwin, w_label56, "w_label56"); @@ -1550,7 +1462,24 @@ GLADE_HOOKUP_OBJECT (xs_configwin, cfg_sld_dbbrowse, "cfg_sld_dbbrowse"); GLADE_HOOKUP_OBJECT (xs_configwin, label17, "label17"); GLADE_HOOKUP_OBJECT (xs_configwin, w_label26, "w_label26"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox33, "w_vbox33"); + GLADE_HOOKUP_OBJECT (xs_configwin, frame1, "frame1"); + GLADE_HOOKUP_OBJECT (xs_configwin, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_override, "cfg_ftitle_override"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_box, "cfg_ftitle_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_format, "cfg_ftitle_format"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_descs, "cfg_ftitle_descs"); + GLADE_HOOKUP_OBJECT (xs_configwin, label29, "label29"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label27, "w_label27"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox19, "w_vbox19"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_frame31, "w_frame31"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox35, "w_vbox35"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_enable, "cfg_subauto_enable"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_min_only, "cfg_subauto_min_only"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_box, "cfg_subauto_box"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label52, "w_label52"); + GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_mintime, "cfg_subauto_mintime"); + GLADE_HOOKUP_OBJECT (xs_configwin, w_label53, "w_label53"); + GLADE_HOOKUP_OBJECT (xs_configwin, label21, "label21"); GLADE_HOOKUP_OBJECT (xs_configwin, w_frame7, "w_frame7"); GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox8, "w_vbox8"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_stil_enable, "cfg_stil_enable"); @@ -1567,37 +1496,6 @@ GLADE_HOOKUP_OBJECT (xs_configwin, w_alignment7, "w_alignment7"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_hvsc_browse, "cfg_hvsc_browse"); GLADE_HOOKUP_OBJECT (xs_configwin, label18, "label18"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_frame16, "w_frame16"); - GLADE_HOOKUP_OBJECT (xs_configwin, vbox1, "vbox1"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_override, "cfg_ftitle_override"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_box, "cfg_ftitle_box"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_format, "cfg_ftitle_format"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_hbox9, "w_hbox9"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_desc1, "cfg_ftitle_desc1"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ftitle_desc2, "cfg_ftitle_desc2"); - GLADE_HOOKUP_OBJECT (xs_configwin, label19, "label19"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_label23, "w_label23"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox19, "w_vbox19"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_frame28, "w_frame28"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox31, "w_vbox31"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_none, "cfg_subctrl_none"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_seek, "cfg_subctrl_seek"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_popup, "cfg_subctrl_popup"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subctrl_patch, "cfg_subctrl_patch"); - GLADE_HOOKUP_OBJECT (xs_configwin, label20, "label20"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_frame31, "w_frame31"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox35, "w_vbox35"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_enable, "cfg_subauto_enable"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_min_only, "cfg_subauto_min_only"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_box, "cfg_subauto_box"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_label52, "w_label52"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_subauto_mintime, "cfg_subauto_mintime"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_label53, "w_label53"); - GLADE_HOOKUP_OBJECT (xs_configwin, label21, "label21"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_frame22, "w_frame22"); - GLADE_HOOKUP_OBJECT (xs_configwin, w_vbox22, "w_vbox22"); - GLADE_HOOKUP_OBJECT (xs_configwin, cfg_detectmagic, "cfg_detectmagic"); - GLADE_HOOKUP_OBJECT (xs_configwin, label22, "label22"); GLADE_HOOKUP_OBJECT (xs_configwin, w_label3, "w_label3"); GLADE_HOOKUP_OBJECT (xs_configwin, hbuttonbox1, "hbuttonbox1"); GLADE_HOOKUP_OBJECT (xs_configwin, cfg_ok, "cfg_ok"); @@ -1612,12 +1510,6 @@ { GtkWidget *xs_fileinfowin; GtkWidget *w_vbox14; - GtkWidget *w_alignment8; - GtkWidget *w_frame30; - GtkWidget *w_hbox19; - GtkWidget *fileinfo_subctrl_prev; - GtkWidget *fileinfo_subctrl_adj; - GtkWidget *fileinfo_subctrl_next; GtkWidget *w_frame14; GtkWidget *table1; GtkWidget *w_label16; @@ -1632,8 +1524,7 @@ GtkWidget *w_frame15; GtkWidget *w_vbox15; GtkWidget *fileinfo_sub_tune; - GtkWidget *convertwidget29; - GtkWidget *convertwidget30; + GtkWidget *convertwidget7; GtkWidget *table2; GtkWidget *w_label41; GtkWidget *fileinfo_sub_author; @@ -1648,49 +1539,14 @@ xs_fileinfowin = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (xs_fileinfowin, "xs_fileinfowin"); + gtk_widget_set_size_request (xs_fileinfowin, 400, -1); gtk_window_set_title (GTK_WINDOW (xs_fileinfowin), _("Audacious-SID Fileinfo")); - gtk_window_set_default_size (GTK_WINDOW (xs_fileinfowin), 400, -1); w_vbox14 = gtk_vbox_new (FALSE, 0); gtk_widget_set_name (w_vbox14, "w_vbox14"); gtk_widget_show (w_vbox14); gtk_container_add (GTK_CONTAINER (xs_fileinfowin), w_vbox14); - w_alignment8 = gtk_alignment_new (0.5, 0.5, 0.1, 1); - gtk_widget_set_name (w_alignment8, "w_alignment8"); - gtk_widget_show (w_alignment8); - gtk_box_pack_start (GTK_BOX (w_vbox14), w_alignment8, FALSE, FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (w_alignment8), 2); - - w_frame30 = gtk_frame_new (NULL); - gtk_widget_set_name (w_frame30, "w_frame30"); - gtk_widget_show (w_frame30); - gtk_container_add (GTK_CONTAINER (w_alignment8), w_frame30); - gtk_container_set_border_width (GTK_CONTAINER (w_frame30), 2); - - w_hbox19 = gtk_hbox_new (FALSE, 0); - gtk_widget_set_name (w_hbox19, "w_hbox19"); - gtk_widget_show (w_hbox19); - gtk_container_add (GTK_CONTAINER (w_frame30), w_hbox19); - gtk_container_set_border_width (GTK_CONTAINER (w_hbox19), 4); - - fileinfo_subctrl_prev = gtk_button_new_with_mnemonic (_(" < ")); - gtk_widget_set_name (fileinfo_subctrl_prev, "fileinfo_subctrl_prev"); - gtk_widget_show (fileinfo_subctrl_prev); - gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_prev, FALSE, FALSE, 0); - - fileinfo_subctrl_adj = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 0, 0, 0, 0))); - gtk_widget_set_name (fileinfo_subctrl_adj, "fileinfo_subctrl_adj"); - gtk_widget_show (fileinfo_subctrl_adj); - gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_adj, TRUE, TRUE, 0); - gtk_widget_set_size_request (fileinfo_subctrl_adj, 80, -1); - gtk_scale_set_digits (GTK_SCALE (fileinfo_subctrl_adj), 0); - - fileinfo_subctrl_next = gtk_button_new_with_mnemonic (_(" > ")); - gtk_widget_set_name (fileinfo_subctrl_next, "fileinfo_subctrl_next"); - gtk_widget_show (fileinfo_subctrl_next); - gtk_box_pack_start (GTK_BOX (w_hbox19), fileinfo_subctrl_next, FALSE, FALSE, 0); - w_frame14 = gtk_frame_new (NULL); gtk_widget_set_name (w_frame14, "w_frame14"); gtk_widget_show (w_frame14); @@ -1744,6 +1600,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_filename), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_filename), 9679); fileinfo_songname = gtk_entry_new (); gtk_widget_set_name (fileinfo_songname, "fileinfo_songname"); @@ -1752,6 +1609,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_songname), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_songname), 9679); fileinfo_composer = gtk_entry_new (); gtk_widget_set_name (fileinfo_composer, "fileinfo_composer"); @@ -1760,6 +1618,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_composer), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_composer), 9679); fileinfo_copyright = gtk_entry_new (); gtk_widget_set_name (fileinfo_copyright, "fileinfo_copyright"); @@ -1768,6 +1627,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_copyright), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_copyright), 9679); label23 = gtk_label_new (_("Song Information:")); gtk_widget_set_name (label23, "label23"); @@ -1788,18 +1648,13 @@ fileinfo_sub_tune = gtk_option_menu_new (); gtk_widget_set_name (fileinfo_sub_tune, "fileinfo_sub_tune"); gtk_widget_show (fileinfo_sub_tune); - gtk_box_pack_start (GTK_BOX (w_vbox15), fileinfo_sub_tune, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (w_vbox15), fileinfo_sub_tune, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (fileinfo_sub_tune), 2); - convertwidget29 = gtk_menu_new (); - gtk_widget_set_name (convertwidget29, "convertwidget29"); + convertwidget7 = gtk_menu_new (); + gtk_widget_set_name (convertwidget7, "convertwidget7"); - convertwidget30 = gtk_menu_item_new_with_mnemonic (_(" ")); - gtk_widget_set_name (convertwidget30, "convertwidget30"); - gtk_widget_show (convertwidget30); - gtk_container_add (GTK_CONTAINER (convertwidget29), convertwidget30); - - gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), convertwidget29); + gtk_option_menu_set_menu (GTK_OPTION_MENU (fileinfo_sub_tune), convertwidget7); table2 = gtk_table_new (3, 2, FALSE); gtk_widget_set_name (table2, "table2"); @@ -1824,6 +1679,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_sub_author), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_sub_author), 9679); w_label50 = gtk_label_new (_("Name:")); gtk_widget_set_name (w_label50, "w_label50"); @@ -1840,6 +1696,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (fileinfo_sub_name), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (fileinfo_sub_name), 9679); w_label51 = gtk_label_new (_("Duration:")); gtk_widget_set_name (w_label51, "w_label51"); @@ -1857,6 +1714,7 @@ (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_editable_set_editable (GTK_EDITABLE (entry1), FALSE); + gtk_entry_set_invisible_char (GTK_ENTRY (entry1), 9679); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); @@ -1883,18 +1741,12 @@ gtk_widget_set_name (button2, "button2"); gtk_widget_show (button2); gtk_box_pack_start (GTK_BOX (w_vbox14), button2, FALSE, FALSE, 0); - gtk_container_set_border_width (GTK_CONTAINER (button2), 6); + gtk_container_set_border_width (GTK_CONTAINER (button2), 4); GTK_WIDGET_SET_FLAGS (button2, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) xs_fileinfowin, "delete_event", G_CALLBACK (xs_fileinfo_delete), NULL); - g_signal_connect ((gpointer) fileinfo_subctrl_prev, "clicked", - G_CALLBACK (xs_subctrl_prevsong), - NULL); - g_signal_connect ((gpointer) fileinfo_subctrl_next, "clicked", - G_CALLBACK (xs_subctrl_nextsong), - NULL); g_signal_connect ((gpointer) button2, "clicked", G_CALLBACK (xs_fileinfo_ok), NULL); @@ -1902,12 +1754,6 @@ /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (xs_fileinfowin, xs_fileinfowin, "xs_fileinfowin"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_vbox14, "w_vbox14"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_alignment8, "w_alignment8"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame30, "w_frame30"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_hbox19, "w_hbox19"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_prev, "fileinfo_subctrl_prev"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_adj, "fileinfo_subctrl_adj"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_subctrl_next, "fileinfo_subctrl_next"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame14, "w_frame14"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, table1, "table1"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label16, "w_label16"); @@ -1922,8 +1768,7 @@ GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_frame15, "w_frame15"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_vbox15, "w_vbox15"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_tune, "fileinfo_sub_tune"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget29, "convertwidget29"); - GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget30, "convertwidget30"); + GLADE_HOOKUP_OBJECT (xs_fileinfowin, convertwidget7, "convertwidget7"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, table2, "table2"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, w_label41, "w_label41"); GLADE_HOOKUP_OBJECT (xs_fileinfowin, fileinfo_sub_author, "fileinfo_sub_author"); @@ -1942,116 +1787,280 @@ } GtkWidget* -create_xs_sldbfileselector (void) +create_xs_sldb_fs (void) { - GtkWidget *xs_sldbfileselector; + GtkWidget *xs_sldb_fs; GtkWidget *ok_button2; GtkWidget *cancel_button2; - xs_sldbfileselector = gtk_file_selection_new (_("Select HVSC song length database")); - gtk_widget_set_name (xs_sldbfileselector, "xs_sldbfileselector"); - gtk_container_set_border_width (GTK_CONTAINER (xs_sldbfileselector), 10); - gtk_window_set_modal (GTK_WINDOW (xs_sldbfileselector), TRUE); - gtk_window_set_type_hint (GTK_WINDOW (xs_sldbfileselector), GDK_WINDOW_TYPE_HINT_DIALOG); + xs_sldb_fs = gtk_file_selection_new (_("Select HVSC song length database")); + gtk_widget_set_name (xs_sldb_fs, "xs_sldb_fs"); + gtk_container_set_border_width (GTK_CONTAINER (xs_sldb_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_sldb_fs), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (xs_sldb_fs), GDK_WINDOW_TYPE_HINT_DIALOG); - ok_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->ok_button; + ok_button2 = GTK_FILE_SELECTION (xs_sldb_fs)->ok_button; gtk_widget_set_name (ok_button2, "ok_button2"); gtk_widget_show (ok_button2); GTK_WIDGET_SET_FLAGS (ok_button2, GTK_CAN_DEFAULT); - cancel_button2 = GTK_FILE_SELECTION (xs_sldbfileselector)->cancel_button; + cancel_button2 = GTK_FILE_SELECTION (xs_sldb_fs)->cancel_button; gtk_widget_set_name (cancel_button2, "cancel_button2"); gtk_widget_show (cancel_button2); GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT); + g_signal_connect ((gpointer) xs_sldb_fs, "delete_event", + G_CALLBACK (xs_sldb_fs_delete), + NULL); g_signal_connect ((gpointer) ok_button2, "clicked", - G_CALLBACK (xs_cfg_sldb_fs_ok), + G_CALLBACK (xs_sldb_fs_ok), NULL); g_signal_connect ((gpointer) cancel_button2, "clicked", - G_CALLBACK (xs_cfg_sldb_fs_cancel), + G_CALLBACK (xs_sldb_fs_cancel), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, xs_sldbfileselector, "xs_sldbfileselector"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, ok_button2, "ok_button2"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_sldbfileselector, cancel_button2, "cancel_button2"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, xs_sldb_fs, "xs_sldb_fs"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, ok_button2, "ok_button2"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_sldb_fs, cancel_button2, "cancel_button2"); - return xs_sldbfileselector; + return xs_sldb_fs; } GtkWidget* -create_xs_stilfileselector (void) +create_xs_stil_fs (void) { - GtkWidget *xs_stilfileselector; + GtkWidget *xs_stil_fs; GtkWidget *ok_button3; GtkWidget *cancel_button3; - xs_stilfileselector = gtk_file_selection_new (_("Select STIL-database ")); - gtk_widget_set_name (xs_stilfileselector, "xs_stilfileselector"); - gtk_container_set_border_width (GTK_CONTAINER (xs_stilfileselector), 10); - gtk_window_set_modal (GTK_WINDOW (xs_stilfileselector), TRUE); - gtk_window_set_type_hint (GTK_WINDOW (xs_stilfileselector), GDK_WINDOW_TYPE_HINT_DIALOG); + xs_stil_fs = gtk_file_selection_new (_("Select STIL-database")); + gtk_widget_set_name (xs_stil_fs, "xs_stil_fs"); + gtk_container_set_border_width (GTK_CONTAINER (xs_stil_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_stil_fs), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (xs_stil_fs), GDK_WINDOW_TYPE_HINT_DIALOG); - ok_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->ok_button; + ok_button3 = GTK_FILE_SELECTION (xs_stil_fs)->ok_button; gtk_widget_set_name (ok_button3, "ok_button3"); gtk_widget_show (ok_button3); GTK_WIDGET_SET_FLAGS (ok_button3, GTK_CAN_DEFAULT); - cancel_button3 = GTK_FILE_SELECTION (xs_stilfileselector)->cancel_button; + cancel_button3 = GTK_FILE_SELECTION (xs_stil_fs)->cancel_button; gtk_widget_set_name (cancel_button3, "cancel_button3"); gtk_widget_show (cancel_button3); GTK_WIDGET_SET_FLAGS (cancel_button3, GTK_CAN_DEFAULT); + g_signal_connect ((gpointer) xs_stil_fs, "delete_event", + G_CALLBACK (xs_stil_fs_delete), + NULL); g_signal_connect ((gpointer) ok_button3, "clicked", - G_CALLBACK (xs_cfg_stil_fs_ok), + G_CALLBACK (xs_stil_fs_ok), NULL); g_signal_connect ((gpointer) cancel_button3, "clicked", - G_CALLBACK (xs_cfg_stil_fs_cancel), + G_CALLBACK (xs_stil_fs_cancel), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, xs_stilfileselector, "xs_stilfileselector"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, ok_button3, "ok_button3"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_stilfileselector, cancel_button3, "cancel_button3"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, xs_stil_fs, "xs_stil_fs"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, ok_button3, "ok_button3"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_stil_fs, cancel_button3, "cancel_button3"); - return xs_stilfileselector; + return xs_stil_fs; } GtkWidget* -create_xs_hvscpathselector (void) +create_xs_hvsc_fs (void) { - GtkWidget *xs_hvscpathselector; + GtkWidget *xs_hvsc_fs; GtkWidget *ok_button4; GtkWidget *cancel_button4; - xs_hvscpathselector = gtk_file_selection_new (_("Select HVSC location prefix")); - gtk_widget_set_name (xs_hvscpathselector, "xs_hvscpathselector"); - gtk_container_set_border_width (GTK_CONTAINER (xs_hvscpathselector), 10); - gtk_window_set_modal (GTK_WINDOW (xs_hvscpathselector), TRUE); - gtk_window_set_type_hint (GTK_WINDOW (xs_hvscpathselector), GDK_WINDOW_TYPE_HINT_DIALOG); + xs_hvsc_fs = gtk_file_selection_new (_("Select HVSC location prefix")); + gtk_widget_set_name (xs_hvsc_fs, "xs_hvsc_fs"); + gtk_container_set_border_width (GTK_CONTAINER (xs_hvsc_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_hvsc_fs), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (xs_hvsc_fs), GDK_WINDOW_TYPE_HINT_DIALOG); - ok_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->ok_button; + ok_button4 = GTK_FILE_SELECTION (xs_hvsc_fs)->ok_button; gtk_widget_set_name (ok_button4, "ok_button4"); gtk_widget_show (ok_button4); GTK_WIDGET_SET_FLAGS (ok_button4, GTK_CAN_DEFAULT); - cancel_button4 = GTK_FILE_SELECTION (xs_hvscpathselector)->cancel_button; + cancel_button4 = GTK_FILE_SELECTION (xs_hvsc_fs)->cancel_button; gtk_widget_set_name (cancel_button4, "cancel_button4"); gtk_widget_show (cancel_button4); GTK_WIDGET_SET_FLAGS (cancel_button4, GTK_CAN_DEFAULT); + g_signal_connect ((gpointer) xs_hvsc_fs, "delete_event", + G_CALLBACK (xs_hvsc_fs_delete), + NULL); g_signal_connect ((gpointer) ok_button4, "clicked", - G_CALLBACK (xs_cfg_hvsc_fs_ok), + G_CALLBACK (xs_hvsc_fs_ok), NULL); g_signal_connect ((gpointer) cancel_button4, "clicked", - G_CALLBACK (xs_cfg_hvsc_fs_cancel), + G_CALLBACK (xs_hvsc_fs_cancel), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, xs_hvsc_fs, "xs_hvsc_fs"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, ok_button4, "ok_button4"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_hvsc_fs, cancel_button4, "cancel_button4"); + + return xs_hvsc_fs; +} + +GtkWidget* +create_xs_filter_import_fs (void) +{ + GtkWidget *xs_filter_import_fs; + GtkWidget *ok_button64; + GtkWidget *cancel_button64; + + xs_filter_import_fs = gtk_file_selection_new (_("Select SIDPlay2 filters file for importing")); + gtk_widget_set_name (xs_filter_import_fs, "xs_filter_import_fs"); + gtk_container_set_border_width (GTK_CONTAINER (xs_filter_import_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_filter_import_fs), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (xs_filter_import_fs), GDK_WINDOW_TYPE_HINT_DIALOG); + + ok_button64 = GTK_FILE_SELECTION (xs_filter_import_fs)->ok_button; + gtk_widget_set_name (ok_button64, "ok_button64"); + gtk_widget_show (ok_button64); + GTK_WIDGET_SET_FLAGS (ok_button64, GTK_CAN_DEFAULT); + + cancel_button64 = GTK_FILE_SELECTION (xs_filter_import_fs)->cancel_button; + gtk_widget_set_name (cancel_button64, "cancel_button64"); + gtk_widget_show (cancel_button64); + GTK_WIDGET_SET_FLAGS (cancel_button64, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) xs_filter_import_fs, "delete_event", + G_CALLBACK (xs_filter_import_fs_delete), + NULL); + g_signal_connect ((gpointer) ok_button64, "clicked", + G_CALLBACK (xs_filter_import_fs_ok), + NULL); + g_signal_connect ((gpointer) cancel_button64, "clicked", + G_CALLBACK (xs_filter_import_fs_cancel), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ - GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, xs_hvscpathselector, "xs_hvscpathselector"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, ok_button4, "ok_button4"); - GLADE_HOOKUP_OBJECT_NO_REF (xs_hvscpathselector, cancel_button4, "cancel_button4"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, xs_filter_import_fs, "xs_filter_import_fs"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, ok_button64, "ok_button64"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_import_fs, cancel_button64, "cancel_button64"); + + return xs_filter_import_fs; +} + +GtkWidget* +create_xs_filter_export_fs (void) +{ + GtkWidget *xs_filter_export_fs; + GtkWidget *ok_button64; + GtkWidget *cancel_button64; + + xs_filter_export_fs = gtk_file_selection_new (_("Select SIDPlay2 filters file for exporting")); + gtk_widget_set_name (xs_filter_export_fs, "xs_filter_export_fs"); + gtk_container_set_border_width (GTK_CONTAINER (xs_filter_export_fs), 10); + gtk_window_set_modal (GTK_WINDOW (xs_filter_export_fs), TRUE); + gtk_window_set_type_hint (GTK_WINDOW (xs_filter_export_fs), GDK_WINDOW_TYPE_HINT_DIALOG); - return xs_hvscpathselector; + ok_button64 = GTK_FILE_SELECTION (xs_filter_export_fs)->ok_button; + gtk_widget_set_name (ok_button64, "ok_button64"); + gtk_widget_show (ok_button64); + GTK_WIDGET_SET_FLAGS (ok_button64, GTK_CAN_DEFAULT); + + cancel_button64 = GTK_FILE_SELECTION (xs_filter_export_fs)->cancel_button; + gtk_widget_set_name (cancel_button64, "cancel_button64"); + gtk_widget_show (cancel_button64); + GTK_WIDGET_SET_FLAGS (cancel_button64, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) xs_filter_export_fs, "delete_event", + G_CALLBACK (xs_filter_export_fs_delete), + NULL); + g_signal_connect ((gpointer) ok_button64, "clicked", + G_CALLBACK (xs_filter_export_fs_ok), + NULL); + g_signal_connect ((gpointer) cancel_button64, "clicked", + G_CALLBACK (xs_filter_export_fs_cancel), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, xs_filter_export_fs, "xs_filter_export_fs"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, ok_button64, "ok_button64"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_filter_export_fs, cancel_button64, "cancel_button64"); + + return xs_filter_export_fs; } +GtkWidget* +create_xs_confirmwin (void) +{ + GtkWidget *xs_confirmwin; + GtkWidget *dialog_vbox1; + GtkWidget *xs_confirm_frame; + GtkWidget *label25; + GtkWidget *dialog_action_area1; + GtkWidget *hbuttonbox2; + GtkWidget *xs_confirm_yes; + GtkWidget *xs_confirm_no; + + xs_confirmwin = gtk_dialog_new (); + gtk_widget_set_name (xs_confirmwin, "xs_confirmwin"); + gtk_window_set_title (GTK_WINDOW (xs_confirmwin), _("Confirm selected action")); + gtk_window_set_type_hint (GTK_WINDOW (xs_confirmwin), GDK_WINDOW_TYPE_HINT_DIALOG); + + dialog_vbox1 = GTK_DIALOG (xs_confirmwin)->vbox; + gtk_widget_set_name (dialog_vbox1, "dialog_vbox1"); + gtk_widget_show (dialog_vbox1); + + xs_confirm_frame = gtk_frame_new (NULL); + gtk_widget_set_name (xs_confirm_frame, "xs_confirm_frame"); + gtk_widget_show (xs_confirm_frame); + gtk_box_pack_start (GTK_BOX (dialog_vbox1), xs_confirm_frame, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (xs_confirm_frame), 6); + + label25 = gtk_label_new (_("Confirm selected action")); + gtk_widget_set_name (label25, "label25"); + gtk_widget_show (label25); + gtk_frame_set_label_widget (GTK_FRAME (xs_confirm_frame), label25); + + dialog_action_area1 = GTK_DIALOG (xs_confirmwin)->action_area; + gtk_widget_set_name (dialog_action_area1, "dialog_action_area1"); + gtk_widget_show (dialog_action_area1); + gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); + + hbuttonbox2 = gtk_hbutton_box_new (); + gtk_widget_set_name (hbuttonbox2, "hbuttonbox2"); + gtk_widget_show (hbuttonbox2); + gtk_container_add (GTK_CONTAINER (dialog_action_area1), hbuttonbox2); + gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END); + gtk_box_set_spacing (GTK_BOX (hbuttonbox2), 8); + + xs_confirm_yes = gtk_button_new_with_mnemonic (_("Yes")); + gtk_widget_set_name (xs_confirm_yes, "xs_confirm_yes"); + gtk_widget_show (xs_confirm_yes); + gtk_container_add (GTK_CONTAINER (hbuttonbox2), xs_confirm_yes); + GTK_WIDGET_SET_FLAGS (xs_confirm_yes, GTK_CAN_DEFAULT); + + xs_confirm_no = gtk_button_new_with_mnemonic (_("No")); + gtk_widget_set_name (xs_confirm_no, "xs_confirm_no"); + gtk_widget_show (xs_confirm_no); + gtk_container_add (GTK_CONTAINER (hbuttonbox2), xs_confirm_no); + GTK_WIDGET_SET_FLAGS (xs_confirm_no, GTK_CAN_DEFAULT); + + g_signal_connect ((gpointer) xs_confirmwin, "delete_event", + G_CALLBACK (xs_confirmwin_delete), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, xs_confirmwin, "xs_confirmwin"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, dialog_vbox1, "dialog_vbox1"); + GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_frame, "xs_confirm_frame"); + GLADE_HOOKUP_OBJECT (xs_confirmwin, label25, "label25"); + GLADE_HOOKUP_OBJECT_NO_REF (xs_confirmwin, dialog_action_area1, "dialog_action_area1"); + GLADE_HOOKUP_OBJECT (xs_confirmwin, hbuttonbox2, "hbuttonbox2"); + GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_yes, "xs_confirm_yes"); + GLADE_HOOKUP_OBJECT (xs_confirmwin, xs_confirm_no, "xs_confirm_no"); + + return xs_confirmwin; +} + diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_interface.h --- a/src/sid/xs_interface.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_interface.h Thu Sep 13 12:10:39 2007 -0500 @@ -4,6 +4,9 @@ GtkWidget* create_xs_configwin (void); GtkWidget* create_xs_fileinfowin (void); -GtkWidget* create_xs_sldbfileselector (void); -GtkWidget* create_xs_stilfileselector (void); -GtkWidget* create_xs_hvscpathselector (void); +GtkWidget* create_xs_sldb_fs (void); +GtkWidget* create_xs_stil_fs (void); +GtkWidget* create_xs_hvsc_fs (void); +GtkWidget* create_xs_filter_import_fs (void); +GtkWidget* create_xs_filter_export_fs (void); +GtkWidget* create_xs_confirmwin (void); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_player.h --- a/src/sid/xs_player.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_player.h Thu Sep 13 12:10:39 2007 -0500 @@ -19,7 +19,7 @@ guint (*plrFillBuffer)(struct t_xs_status *, gchar *, guint); gboolean (*plrLoadSID)(struct t_xs_status *, gchar *); void (*plrDeleteSID)(struct t_xs_status *); - t_xs_tuneinfo* (*plrGetSIDInfo)(gchar *); + t_xs_tuneinfo* (*plrGetSIDInfo)(const gchar *); gboolean (*plrUpdateSIDInfo)(struct t_xs_status *); void (*plrFlush)(struct t_xs_status *); } t_xs_player; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_sidplay.h --- a/src/sid/xs_sidplay.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_sidplay.h Thu Sep 13 12:10:39 2007 -0500 @@ -26,7 +26,7 @@ * (those variables that are only set by libSIDPlay when tune is initialized). * Rest of the information is acquired in TFUNCTION2() */ -t_xs_tuneinfo *TFUNCTION(gchar *sidFilename) +t_xs_tuneinfo *TFUNCTION(const gchar *sidFilename) { t_xs_tuneinfo *pResult; TTUNEINFO myInfo; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_sidplay1.h --- a/src/sid/xs_sidplay1.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_sidplay1.h Thu Sep 13 12:10:39 2007 -0500 @@ -3,6 +3,7 @@ #include "xs_player.h" #include "xs_support.h" +#include "xs_slsup.h" #ifdef __cplusplus extern "C" { @@ -15,7 +16,7 @@ guint xs_sidplay1_fillbuffer(t_xs_status *, gchar *, guint); gboolean xs_sidplay1_load(t_xs_status *, gchar *); void xs_sidplay1_delete(t_xs_status *); -t_xs_tuneinfo* xs_sidplay1_getinfo(gchar *); +t_xs_tuneinfo* xs_sidplay1_getinfo(const gchar *); gboolean xs_sidplay1_updateinfo(t_xs_status *); #ifdef __cplusplus diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_sidplay2.h --- a/src/sid/xs_sidplay2.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_sidplay2.h Thu Sep 13 12:10:39 2007 -0500 @@ -3,6 +3,7 @@ #include "xs_player.h" #include "xs_support.h" +#include "xs_slsup.h" #ifdef __cplusplus extern "C" { @@ -15,7 +16,7 @@ guint xs_sidplay2_fillbuffer(t_xs_status *, gchar *, guint); gboolean xs_sidplay2_load(t_xs_status *, gchar *); void xs_sidplay2_delete(t_xs_status *); -t_xs_tuneinfo* xs_sidplay2_getinfo(gchar *); +t_xs_tuneinfo* xs_sidplay2_getinfo(const gchar *); gboolean xs_sidplay2_updateinfo(t_xs_status *); void xs_sidplay2_flush(t_xs_status *); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_slsup.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sid/xs_slsup.c Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,287 @@ +/* + XMMS-SID - SIDPlay input plugin for X MultiMedia System (XMMS) + + File information window + + Programmed and designed by Matti 'ccr' Hamalainen + (C) Copyright 1999-2007 Tecnic Software productions (TNSP) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ +#include "xs_slsup.h" +#include "xs_config.h" + + +static t_xs_sldb *xs_sldb_db = NULL; +XS_MUTEX(xs_sldb_db); + +static t_xs_stildb *xs_stildb_db = NULL; +XS_MUTEX(xs_stildb_db); + + +/* STIL-database handling + */ +gint xs_stil_init(void) +{ + XS_MUTEX_LOCK(xs_cfg); + + if (!xs_cfg.stilDBPath) { + XS_MUTEX_UNLOCK(xs_cfg); + return -1; + } + + XS_MUTEX_LOCK(xs_stildb_db); + + /* Check if already initialized */ + if (xs_stildb_db) + xs_stildb_free(xs_stildb_db); + + /* Allocate database */ + xs_stildb_db = (t_xs_stildb *) g_malloc0(sizeof(t_xs_stildb)); + if (!xs_stildb_db) { + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_stildb_db); + return -2; + } + + /* Read the database */ + if (xs_stildb_read(xs_stildb_db, xs_cfg.stilDBPath) != 0) { + xs_stildb_free(xs_stildb_db); + xs_stildb_db = NULL; + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_stildb_db); + return -3; + } + + /* Create index */ + if (xs_stildb_index(xs_stildb_db) != 0) { + xs_stildb_free(xs_stildb_db); + xs_stildb_db = NULL; + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_stildb_db); + return -4; + } + + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_stildb_db); + return 0; +} + + +void xs_stil_close(void) +{ + XS_MUTEX_LOCK(xs_stildb_db); + xs_stildb_free(xs_stildb_db); + xs_stildb_db = NULL; + XS_MUTEX_UNLOCK(xs_stildb_db); +} + + +t_xs_stil_node *xs_stil_get(gchar *pcFilename) +{ + t_xs_stil_node *pResult; + gchar *tmpFilename; + + XS_MUTEX_LOCK(xs_stildb_db); + XS_MUTEX_LOCK(xs_cfg); + + if (xs_cfg.stilDBEnable && xs_stildb_db) { + if (xs_cfg.hvscPath) { + /* Remove postfixed directory separator from HVSC-path */ + tmpFilename = xs_strrchr(xs_cfg.hvscPath, '/'); + if (tmpFilename && (tmpFilename[1] == 0)) + tmpFilename[0] = 0; + + /* Remove HVSC location-prefix from filename */ + tmpFilename = strstr(pcFilename, xs_cfg.hvscPath); + if (tmpFilename) + tmpFilename += strlen(xs_cfg.hvscPath); + else + tmpFilename = pcFilename; + } else + tmpFilename = pcFilename; + + pResult = xs_stildb_get_node(xs_stildb_db, tmpFilename); + } else + pResult = NULL; + + XS_MUTEX_UNLOCK(xs_stildb_db); + XS_MUTEX_UNLOCK(xs_cfg); + + return pResult; +} + + +/* Song length database handling glue + */ +gint xs_songlen_init(void) +{ + XS_MUTEX_LOCK(xs_cfg); + + if (!xs_cfg.songlenDBPath) { + XS_MUTEX_UNLOCK(xs_cfg); + return -1; + } + + XS_MUTEX_LOCK(xs_sldb_db); + + /* Check if already initialized */ + if (xs_sldb_db) + xs_sldb_free(xs_sldb_db); + + /* Allocate database */ + xs_sldb_db = (t_xs_sldb *) g_malloc0(sizeof(t_xs_sldb)); + if (!xs_sldb_db) { + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_sldb_db); + return -2; + } + + /* Read the database */ + if (xs_sldb_read(xs_sldb_db, xs_cfg.songlenDBPath) != 0) { + xs_sldb_free(xs_sldb_db); + xs_sldb_db = NULL; + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_sldb_db); + return -3; + } + + /* Create index */ + if (xs_sldb_index(xs_sldb_db) != 0) { + xs_sldb_free(xs_sldb_db); + xs_sldb_db = NULL; + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_sldb_db); + return -4; + } + + XS_MUTEX_UNLOCK(xs_cfg); + XS_MUTEX_UNLOCK(xs_sldb_db); + return 0; +} + + +void xs_songlen_close(void) +{ + XS_MUTEX_LOCK(xs_sldb_db); + xs_sldb_free(xs_sldb_db); + xs_sldb_db = NULL; + XS_MUTEX_UNLOCK(xs_sldb_db); +} + + +t_xs_sldb_node *xs_songlen_get(const gchar * pcFilename) +{ + t_xs_sldb_node *pResult; + + XS_MUTEX_LOCK(xs_sldb_db); + + if (xs_cfg.songlenDBEnable && xs_sldb_db) + pResult = xs_sldb_get(xs_sldb_db, pcFilename); + else + pResult = NULL; + + XS_MUTEX_UNLOCK(xs_sldb_db); + + return pResult; +} + + +/* Allocate a new tune information structure + */ +t_xs_tuneinfo *xs_tuneinfo_new(const gchar * pcFilename, + gint nsubTunes, gint startTune, const gchar * sidName, + const gchar * sidComposer, const gchar * sidCopyright, + gint loadAddr, gint initAddr, gint playAddr, + gint dataFileLen, const gchar *sidFormat, gint sidModel) +{ + t_xs_tuneinfo *pResult; + t_xs_sldb_node *tmpLength; + gint i; + + /* Allocate structure */ + pResult = (t_xs_tuneinfo *) g_malloc0(sizeof(t_xs_tuneinfo)); + if (!pResult) { + xs_error(_("Could not allocate memory for t_xs_tuneinfo ('%s')\n"), + pcFilename); + return NULL; + } + + pResult->sidFilename = XS_CS_FILENAME(pcFilename); + if (!pResult->sidFilename) { + xs_error(_("Could not allocate sidFilename ('%s')\n"), + pcFilename); + g_free(pResult); + return NULL; + } + + /* Allocate space for subtune information */ + pResult->subTunes = g_malloc0(sizeof(t_xs_subtuneinfo) * (nsubTunes + 1)); + if (!pResult->subTunes) { + xs_error(_("Could not allocate memory for t_xs_subtuneinfo ('%s', %i)\n"), + pcFilename, nsubTunes); + + g_free(pResult->sidFilename); + g_free(pResult); + return NULL; + } + + /* The following allocations don't matter if they fail */ + pResult->sidName = XS_CS_SID(sidName); + pResult->sidComposer = XS_CS_SID(sidComposer); + pResult->sidCopyright = XS_CS_SID(sidCopyright); + + pResult->nsubTunes = nsubTunes; + pResult->startTune = startTune; + + pResult->loadAddr = loadAddr; + pResult->initAddr = initAddr; + pResult->playAddr = playAddr; + pResult->dataFileLen = dataFileLen; + pResult->sidFormat = XS_CS_SID(sidFormat); + + pResult->sidModel = sidModel; + + /* Get length information (NOTE: Do not free this!) */ + tmpLength = xs_songlen_get(pcFilename); + + /* Fill in sub-tune information */ + for (i = 0; i < pResult->nsubTunes; i++) { + if (tmpLength && (i < tmpLength->nLengths)) + pResult->subTunes[i].tuneLength = tmpLength->sLengths[i]; + else + pResult->subTunes[i].tuneLength = -1; + + pResult->subTunes[i].tuneSpeed = -1; + } + + return pResult; +} + + +/* Free given tune information structure + */ +void xs_tuneinfo_free(t_xs_tuneinfo * pTune) +{ + if (!pTune) return; + + g_free(pTune->subTunes); + g_free(pTune->sidFilename); + g_free(pTune->sidName); + g_free(pTune->sidComposer); + g_free(pTune->sidCopyright); + g_free(pTune->sidFormat); + g_free(pTune); +} diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_slsup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/sid/xs_slsup.h Thu Sep 13 12:10:39 2007 -0500 @@ -0,0 +1,31 @@ +#ifndef XS_SLSUP_H +#define XS_SLSUP_H + +#include "xmms-sid.h" +#include "xs_stil.h" +#include "xs_length.h" + +#ifdef __cplusplus +extern "C" { +#endif + +gint xs_stil_init(void); +void xs_stil_close(void); +t_xs_stil_node *xs_stil_get(gchar *pcFilename); + +gint xs_songlen_init(void); +void xs_songlen_close(void); +t_xs_sldb_node *xs_songlen_get(const gchar *); + +t_xs_tuneinfo *xs_tuneinfo_new(const gchar * pcFilename, + gint nsubTunes, gint startTune, const gchar * sidName, + const gchar * sidComposer, const gchar * sidCopyright, + gint loadAddr, gint initAddr, gint playAddr, + gint dataFileLen, const gchar *sidFormat, gint sidModel); +void xs_tuneinfo_free(t_xs_tuneinfo *); + + +#ifdef __cplusplus +} +#endif +#endif /* XS_SLSUP_H */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_stil.c --- a/src/sid/xs_stil.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_stil.c Thu Sep 13 12:10:39 2007 -0500 @@ -36,6 +36,8 @@ /* Re-allocate subTune structure if needed */ if (nsubTunes > pNode->nsubTunes) { + gint clearIndex, clearLength; + pNode->subTunes = (t_xs_stil_subnode **) g_realloc(pNode->subTunes, (nsubTunes + 1) * sizeof(t_xs_stil_subnode **)); @@ -46,8 +48,14 @@ } /* Clear the newly allocated memory */ - xs_memset(&(pNode->subTunes[pNode->nsubTunes]), 0, - (nsubTunes - pNode->nsubTunes + 1) * sizeof(t_xs_stil_subnode **)); + if (pNode->nsubTunes == 0) { + clearIndex = 0; + clearLength = nsubTunes + 1; + } else { + clearIndex = pNode->nsubTunes + 1; + clearLength = (nsubTunes - clearIndex + 1); + } + xs_memset(&(pNode->subTunes[clearIndex]), 0, clearLength * sizeof(t_xs_stil_subnode **)); pNode->nsubTunes = nsubTunes; } @@ -268,7 +276,7 @@ } /* Some other type */ - if (strncmp(tmpLine, " NAME:", 8) == 0) { + if (strncmp(tmpLine, " NAME:", 8) == 0) { XS_STILDB_MULTI; g_free(tmpNode->subTunes[subEntry]->pName); tmpNode->subTunes[subEntry]->pName = g_strdup(&tmpLine[9]); @@ -299,7 +307,7 @@ break; } - g_free(tmpLine); + XS_CS_FREE(tmpLine); } /* while */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_support.c --- a/src/sid/xs_support.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_support.c Thu Sep 13 12:10:39 2007 -0500 @@ -93,7 +93,7 @@ /* Load a file to a buffer, return 0 on success, negative value on error */ -gint xs_fload_buffer(gchar *pcFilename, guint8 **buf, size_t *bufSize) +gint xs_fload_buffer(const gchar *pcFilename, guint8 **buf, size_t *bufSize) { t_xs_file *f; glong seekPos; @@ -144,9 +144,10 @@ /* Copy a string */ -gchar *xs_strncpy(gchar *pDest, gchar *pSource, size_t n) +gchar *xs_strncpy(gchar *pDest, const gchar *pSource, size_t n) { - gchar *s, *d; + const gchar *s; + gchar *d; size_t i; /* Check the string pointers */ @@ -224,10 +225,11 @@ /* Concatenate a given string up to given dest size or \n. * If size max is reached, change the end to "..." */ -void xs_pnstrcat(gchar *pDest, size_t iSize, gchar *pStr) +void xs_pnstrcat(gchar *pDest, size_t iSize, const gchar *pStr) { size_t i, n; - gchar *s, *d; + const gchar *s; + gchar *d; d = pDest; i = 0; @@ -262,7 +264,7 @@ /* Locate character in string */ -gchar *xs_strrchr(gchar *pcStr, gchar ch) +gchar *xs_strrchr(gchar *pcStr, const gchar ch) { gchar *lastPos = NULL; @@ -276,21 +278,21 @@ } -void xs_findnext(gchar *pcStr, size_t *piPos) +void xs_findnext(const gchar *pcStr, size_t *piPos) { while (pcStr[*piPos] && isspace(pcStr[*piPos])) (*piPos)++; } -void xs_findeol(gchar *pcStr, size_t *piPos) +void xs_findeol(const gchar *pcStr, size_t *piPos) { while (pcStr[*piPos] && (pcStr[*piPos] != '\n') && (pcStr[*piPos] != '\r')) (*piPos)++; } -void xs_findnum(gchar *pcStr, size_t *piPos) +void xs_findnum(const gchar *pcStr, size_t *piPos) { while (pcStr[*piPos] && isdigit(pcStr[*piPos])) (*piPos)++; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sid/xs_support.h --- a/src/sid/xs_support.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sid/xs_support.h Thu Sep 13 12:10:39 2007 -0500 @@ -92,19 +92,19 @@ #endif guint16 xs_fread_be16(t_xs_file *); guint32 xs_fread_be32(t_xs_file *); -gint xs_fload_buffer(gchar *, guint8 **, size_t *); +gint xs_fload_buffer(const gchar *, guint8 **, size_t *); /* Misc functions */ -gchar *xs_strncpy(gchar *, gchar *, size_t); +gchar *xs_strncpy(gchar *, const gchar *, size_t); gint xs_pstrcpy(gchar **, const gchar *); gint xs_pstrcat(gchar **, const gchar *); -void xs_pnstrcat(gchar *, size_t, gchar *); -gchar *xs_strrchr(gchar *, gchar); -void xs_findnext(gchar *, size_t *); -void xs_findeol(gchar *, size_t *); -void xs_findnum(gchar *, size_t *); +void xs_pnstrcat(gchar *, size_t, const gchar *); +gchar *xs_strrchr(gchar *, const gchar); +void xs_findnext(const gchar *, size_t *); +void xs_findeol(const gchar *, size_t *); +void xs_findnum(const gchar *, size_t *); #ifdef HAVE_MEMSET #define xs_memset memset diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sndstretch/sndstretch_xmms.c --- a/src/sndstretch/sndstretch_xmms.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sndstretch/sndstretch_xmms.c Thu Sep 13 12:10:39 2007 -0500 @@ -44,15 +44,11 @@ int sndstretch_mod_samples (gpointer *ptr, gint length, AFormat fmt, gint srate, gint nch); EffectPlugin sndstretch_ep = { - NULL, - NULL, - "SndStretch", - sndstretch_init, - NULL, - sndstretch_about, - sndstretch_config, - sndstretch_mod_samples, - NULL + .description = "SndStretch", + .init = sndstretch_init, + .about = sndstretch_about, + .configure = sndstretch_config, + .mod_samples = sndstretch_mod_samples, }; EffectPlugin *sndstretch_eplist[] = { &sndstretch_ep, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/spectrum/spectrum.c --- a/src/spectrum/spectrum.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/spectrum/spectrum.c Thu Sep 13 12:10:39 2007 -0500 @@ -61,20 +61,14 @@ static void fsanalyzer_render_freq(gint16 data[2][256]); VisPlugin fsanalyzer_vp = { - NULL, - NULL, - "Spectrum Analyzer", - 0, - 1, - fsanalyzer_init, /* init */ - fsanalyzer_cleanup, /* cleanup */ - NULL, /* about */ - NULL, /* configure */ - NULL, /* disable_plugin */ - fsanalyzer_playback_start, /* playback_start */ - fsanalyzer_playback_stop, /* playback_stop */ - NULL, /* render_pcm */ - fsanalyzer_render_freq /* render_freq */ + .description = "Spectrum Analyzer", + .num_pcm_chs_wanted = 0, + .num_freq_chs_wanted = 1, + .init = fsanalyzer_init, /* init */ + .cleanup = fsanalyzer_cleanup, /* cleanup */ + .playback_start = fsanalyzer_playback_start, /* playback_start */ + .playback_stop = fsanalyzer_playback_stop, /* playback_stop */ + .render_freq = fsanalyzer_render_freq /* render_freq */ }; VisPlugin *spectrum_vplist[] = { &fsanalyzer_vp, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/statusicon/si.c --- a/src/statusicon/si.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/statusicon/si.c Thu Sep 13 12:10:39 2007 -0500 @@ -28,7 +28,7 @@ GeneralPlugin *statusicon_gplist[] = { &si_gp, NULL }; -DECLARE_PLUGIN(statusicon, NULL, NULL, NULL, NULL, NULL, statusicon_gplist, NULL, NULL); +SIMPLE_GENERAL_PLUGIN(statusicon, statusicon_gplist); static gboolean plugin_active = FALSE; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/statusicon/si.h --- a/src/statusicon/si.h Thu Sep 13 12:09:38 2007 -0500 +++ b/src/statusicon/si.h Thu Sep 13 12:10:39 2007 -0500 @@ -32,13 +32,11 @@ GeneralPlugin si_gp = { - NULL, /* handle */ - NULL, /* filename */ - "Status Icon " SI_VERSION_PLUGIN, /* description */ - si_init, /* init */ - si_about, /* about */ - si_prefs, /* configure */ - si_cleanup /* cleanup */ + .description = "Status Icon " SI_VERSION_PLUGIN, + .init = si_init, + .about = si_about, + .configure = si_prefs, + .cleanup = si_cleanup }; #endif /* !_I_SI_H */ diff -r 5dfa4fc721b0 -r 1359a81e4674 src/statusicon/si_ui.c --- a/src/statusicon/si_ui.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/statusicon/si_ui.c Thu Sep 13 12:10:39 2007 -0500 @@ -150,7 +150,7 @@ GtkWidget *popup = g_object_get_data( G_OBJECT(evbox) , "popup" ); tuple = playlist_get_tuple( pl_active , pos ); - if ( ( tuple == NULL ) || ( tuple_get_int(tuple, "length") < 1 ) ) + if ( ( tuple == NULL ) || ( tuple_get_int(tuple, FIELD_LENGTH, NULL) < 1 ) ) { gchar *title = playlist_get_songtitle( pl_active , pos ); audacious_fileinfopopup_show_from_title( popup , title ); @@ -574,7 +574,7 @@ "This plugin provides a status icon, placed in\n" "the system tray area of the window manager.\n") , NULL ); - about_dlg = xmms_show_message( about_title , about_text , _("Ok") , FALSE , NULL , NULL ); + about_dlg = audacious_info_dialog( about_title , about_text , _("Ok") , FALSE , NULL , NULL ); g_signal_connect( G_OBJECT(about_dlg) , "destroy" , G_CALLBACK(gtk_widget_destroyed), &about_dlg ); g_free( about_text ); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/stereo_plugin/stereo.c --- a/src/stereo_plugin/stereo.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/stereo_plugin/stereo.c Thu Sep 13 12:10:39 2007 -0500 @@ -16,14 +16,11 @@ EffectPlugin stereo_ep = { - NULL, - NULL, - "Extra Stereo Plugin", /* Description */ - init, - NULL, - about, - configure, - mod_samples + .description = "Extra Stereo Plugin", /* Description */ + .init = init, + .about = about, + .configure = configure, + .mod_samples = mod_samples }; static const char *about_text = N_("Extra Stereo Plugin\n\n" @@ -52,7 +49,7 @@ if (about_dialog != NULL) return; - about_dialog = xmms_show_message(_("About Extra Stereo Plugin"), + about_dialog = audacious_info_dialog(_("About Extra Stereo Plugin"), _(about_text), _("Ok"), FALSE, NULL, NULL); gtk_signal_connect(GTK_OBJECT(about_dialog), "destroy", diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sun/about.c --- a/src/sun/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sun/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -30,7 +30,7 @@ if (dialog != NULL) return; - dialog = xmms_show_message( + dialog = audacious_info_dialog( _("About the Sun Driver"), _("XMMS BSD Sun Driver\n\n" "Copyright (c) 2001 CubeSoft Communications, Inc.\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sun/audio.c --- a/src/sun/audio.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sun/audio.c Thu Sep 13 12:10:39 2007 -0500 @@ -35,7 +35,6 @@ static gboolean prebuffer, remove_prebuffer; static pthread_t buffer_thread; static int (*sun_convert)(void **, int); -static int realtime; static int rd_index, wr_index; static int buffer_size; static int prebuffer_size; @@ -233,9 +232,6 @@ if (!audio.fd || !audio.going) return 0; - if (realtime) - sun_bufused(); - bytes = output_bytes < device_buffer_used ? 0 : output_bytes - device_buffer_used; return (output_time_offset + ((bytes * 1000) / output.bps)); @@ -243,9 +239,6 @@ static inline int sun_used(void) { - if (realtime) - return 0; - if (wr_index >= rd_index) return (wr_index - rd_index); @@ -257,9 +250,6 @@ if (!audio.going) return 0; - if (realtime) - sun_bufused(); - if (!sun_used() && (device_buffer_used - (3 * blocksize)) <= 0) return (FALSE); @@ -268,9 +258,6 @@ int sun_free(void) { - if (realtime) - return (audio.paused ? 0 : 1000000); - if (remove_prebuffer && prebuffer) { prebuffer = FALSE; @@ -309,36 +296,6 @@ static inline void sun_write_audio(gpointer data, int length) { -#if 0 - AFormat new_format; - EffectPlugin *ep; - int new_frequency, new_channels; - - new_format = input.format.xmms; - new_frequency = input.frequency; - new_channels = input.channels; - - ep = get_current_effect_plugin(); - if (effects_enabled() && ep && ep->query_format) - ep->query_format(&new_format, &new_frequency, &new_channels); - - if (new_format != effect.format.xmms || - new_frequency != effect.frequency || - new_channels != effect.channels) - { - output_time_offset += (output_bytes * 1000) / output.bps; - output_bytes = 0; - close(audio.fd); - audio.fd = open(audio.devaudio, O_RDWR); - sun_setformat(new_format, new_frequency, new_channels); - } - if (effects_enabled() && ep && ep->mod_samples) - { - length = ep->mod_samples(&data, length, input.format.xmms, - input.frequency, input.channels); - } -#endif - if (sun_convert != NULL) length = sun_convert(&data, length); @@ -402,15 +359,6 @@ { int cnt, off = 0; - if (realtime) - { - if (audio.paused) - return; - sun_write_audio(ptr, length); - written += length; - return; - } - remove_prebuffer = FALSE; written += length; while (length > 0) @@ -430,15 +378,7 @@ audio.going = 0; - if (realtime) - { - ioctl(audio.fd, AUDIO_FLUSH, NULL); - close(audio.fd); - } - else - { - pthread_join(buffer_thread, NULL); - } + pthread_join(buffer_thread, NULL); sun_get_convert_buffer(0); wr_index = 0; @@ -456,15 +396,10 @@ void sun_pause(short p) { - if (!realtime) - { - if (p == TRUE) - audio.do_pause = TRUE; - else - audio.unpause = TRUE; - } + if (p == TRUE) + audio.do_pause = TRUE; else - audio.paused = p; + audio.unpause = TRUE; } static void* sun_loop(void *arg) @@ -501,7 +436,7 @@ } } else - xmms_usleep(10000); + g_usleep(10000); sun_bufused(); @@ -549,25 +484,21 @@ input.bps = sun_bps(sun_format(fmt), rate, nch); sun_setformat(fmt, rate, nch); - realtime = xmms_check_realtime_priority(); - if (ioctl(audio.fd, AUDIO_GETINFO, &info) != 0) blocksize = SUN_DEFAULT_BLOCKSIZE; else blocksize = info.blocksize; - if (!realtime) - { - buffer_size = audio.req_buffer_size; + buffer_size = audio.req_buffer_size; + + if (buffer_size < SUN_MIN_BUFFER_SIZE) + buffer_size = SUN_MIN_BUFFER_SIZE; - if (buffer_size < SUN_MIN_BUFFER_SIZE) - buffer_size = SUN_MIN_BUFFER_SIZE; + prebuffer_size = (buffer_size * audio.req_prebuffer_size) / 100; - prebuffer_size = (buffer_size * audio.req_prebuffer_size) / 100; + buffer_size += blocksize; + buffer = g_malloc0(buffer_size); - buffer_size += blocksize; - buffer = g_malloc0(buffer_size); - } prebuffer = TRUE; wr_index = 0; rd_index = 0; @@ -581,8 +512,8 @@ remove_prebuffer = FALSE; audio.going++; - if (!realtime) - pthread_create(&buffer_thread, NULL, sun_loop, NULL); + + pthread_create(&buffer_thread, NULL, sun_loop, NULL); return 1; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/sun/configure.c --- a/src/sun/configure.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/sun/configure.c Thu Sep 13 12:10:39 2007 -0500 @@ -443,7 +443,7 @@ gtk_label_set_text(GTK_LABEL(stats_frame.ooffs_label), sl); pthread_mutex_unlock(&stats_frame.audioctl_mutex); - xmms_usleep(400000); + g_usleep(400000); } pthread_mutex_unlock(&stats_frame.active_mutex); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/timidity/src/xmms-timidity.c --- a/src/timidity/src/xmms-timidity.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/timidity/src/xmms-timidity.c Thu Sep 13 12:10:39 2007 -0500 @@ -37,34 +37,18 @@ #include "interface.h" InputPlugin xmmstimid_ip = { - NULL, - NULL, - "TiMidity Audio Plugin", - xmmstimid_init, - xmmstimid_about, - xmmstimid_configure, - NULL, - NULL, - xmmstimid_play_file, - xmmstimid_stop, - xmmstimid_pause, - xmmstimid_seek, - NULL, - xmmstimid_get_time, - NULL, - NULL, - xmmstimid_cleanup, - NULL, - NULL, - NULL, - NULL, - xmmstimid_get_song_info, - NULL, - NULL, - NULL, - NULL, - NULL, - xmmstimid_is_our_fd, + .description = "TiMidity Audio Plugin", + .init = xmmstimid_init, + .about = xmmstimid_about, + .configure = xmmstimid_configure, + .play_file = xmmstimid_play_file, + .stop = xmmstimid_stop, + .pause = xmmstimid_pause, + .seek = xmmstimid_seek, + .get_time = xmmstimid_get_time, + .cleanup = xmmstimid_cleanup, + .get_song_info = xmmstimid_get_song_info, + .is_our_file_from_vfs = xmmstimid_is_our_fd, }; InputPlugin *timidity_iplist[] = { &xmmstimid_ip, NULL }; @@ -133,7 +117,7 @@ about_text = g_strjoin( "" , _("TiMidity Plugin\nhttp://libtimidity.sourceforge.net\nby Konstantin Korikov") , NULL ); about_title = g_strdup_printf( _("TiMidity Plugin %s") , PACKAGE_VERSION ); - xmmstimid_about_wnd = xmms_show_message( about_title , about_text , _("Ok") , FALSE , NULL , NULL ); + xmmstimid_about_wnd = audacious_info_dialog( about_title , about_text , _("Ok") , FALSE , NULL , NULL ); g_signal_connect(G_OBJECT(xmmstimid_about_wnd), "destroy", (GCallback)gtk_widget_destroyed, &xmmstimid_about_wnd); g_free(about_title); @@ -312,7 +296,7 @@ title = tuple_formatter_make_title_string(input, get_gentitle_format()); if (title == NULL || *title == '\0') - title = g_strdup(tuple_get_string(input, "file-name")); + title = g_strdup(tuple_get_string(input, FIELD_FILE_NAME, NULL)); tuple_free(input); @@ -398,7 +382,7 @@ playback->eof = FALSE; while (xmmstimid_seek_to != -1) - xmms_usleep(10000); + g_usleep(10000); } int xmmstimid_get_time(InputPlayback * playback) { diff -r 5dfa4fc721b0 -r 1359a81e4674 src/tonegen/tonegen.c --- a/src/tonegen/tonegen.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/tonegen/tonegen.c Thu Sep 13 12:10:39 2007 -0500 @@ -52,7 +52,7 @@ static GtkWidget *box; if (!box) { - box = xmms_show_message( + box = audacious_info_dialog( _("About Tone Generator"), /* I18N: UTF-8 Translation: "Haavard Kvaalen" -> "H\303\245vard Kv\303\245len" */ _("Sinus tone generator by Haavard Kvaalen \n" @@ -115,7 +115,7 @@ (sum_sines / frequencies->len)); } while (playback->output->buffer_free() < BUF_BYTES && going) - xmms_usleep(30000); + g_usleep(30000); produce_audio(playback->output->written_time(), FMT_S16_NE, 1, BUF_BYTES, data, &going); } @@ -243,30 +243,15 @@ static InputPlugin tone_ip = { - NULL, - NULL, - "Tone Generator", /* Description */ - tone_init, - tone_about, - NULL, - tone_is_our_file, - NULL, - tone_play, - tone_stop, - tone_pause, - NULL, - NULL, - tone_get_time, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - tone_song_info, - NULL, - NULL + .description = "Tone Generator", + .init = tone_init, + .about = tone_about, + .is_our_file = tone_is_our_file, + .play_file = tone_play, + .stop = tone_stop, + .pause = tone_pause, + .get_time = tone_get_time, + .get_song_info = tone_song_info, }; InputPlugin *tonegen_iplist[] = { &tone_ip, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/tta/libtta.c --- a/src/tta/libtta.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/tta/libtta.c Thu Sep 13 12:10:39 2007 -0500 @@ -84,36 +84,20 @@ InputPlugin tta_ip = { - NULL, - NULL, - "True Audio Plugin", - init, - about, - NULL, - is_our_file, - NULL, - play_file, - stop, - tta_pause, - seek, - NULL, - NULL, - NULL, - NULL, - cleanup, - NULL, - NULL, - NULL, - NULL, - get_song_info, - file_info, - NULL, - get_song_tuple, // get_song_tuple - NULL, // set_song_tuple - NULL, // buffer - NULL, // vfs - tta_fmts, - mseek, + .description = "True Audio Plugin", + .init = init, + .about = about, + .is_our_file = is_our_file, + .play_file = play_file, + .stop = stop, + .pause = tta_pause, + .seek = seek, + .cleanup = cleanup, + .get_song_info = get_song_info, + .file_info_box = file_info, + .get_song_tuple = get_song_tuple, + .vfs_extensions = tta_fmts, + .mseek = mseek, }; InputPlugin *tta_iplist[] = { &tta_ip, NULL }; @@ -167,7 +151,7 @@ break; } - xmms_show_message (_("TTA Decoder Error"), message, + audacious_info_dialog (_("TTA Decoder Error"), message, _("Ok"), FALSE, NULL, NULL); gtk_signal_connect(GTK_OBJECT(errorbox), "destroy", @@ -189,7 +173,7 @@ *title = NULL; if ((tuple = get_song_tuple(filename)) != NULL) { - *length = tuple_get_int(tuple, "length"); + *length = tuple_get_int(tuple, FIELD_LENGTH, NULL); *title = get_song_title(tuple); } @@ -215,7 +199,7 @@ { if (!playback->playing) goto DONE; - xmms_usleep (10000); + g_usleep (10000); } if (seek_position == -1) { @@ -239,7 +223,7 @@ playback->output->buffer_free (); playback->output->buffer_free (); while (playback->output->buffer_playing()) { - xmms_usleep(10000); + g_usleep(10000); if(!playback->playing) goto DONE; } @@ -280,7 +264,7 @@ _(" for BMP\n" "Copyright (c) 2004 True Audio Software\n"), PROJECT_URL, NULL); - aboutbox = xmms_show_message(_("About True Audio Plugin"), + aboutbox = audacious_info_dialog(_("About True Audio Plugin"), about_text, _("Ok"), FALSE, NULL, NULL); @@ -553,7 +537,7 @@ seek_position = (int)(millisec / SEEK_STEP); while (seek_position != -1) - xmms_usleep (10000); + g_usleep (10000); } } @@ -577,30 +561,30 @@ if(open_tta_file(filename, ttainfo, 0) >= 0) { tuple = tuple_new_from_filename(filename); - tuple_associate_string(tuple, "codec", "True Audio (TTA)"); - tuple_associate_string(tuple, "quality", "lossless"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "True Audio (TTA)"); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "lossless"); if (ttainfo->ID3.id3has) { if (ttainfo->ID3.artist) - tuple_associate_string(tuple, "artist", (gchar *) ttainfo->ID3.artist); + tuple_associate_string(tuple, FIELD_ARTIST, NULL, (gchar *) ttainfo->ID3.artist); if (ttainfo->ID3.album) - tuple_associate_string(tuple, "album", (gchar *) ttainfo->ID3.album); + tuple_associate_string(tuple, FIELD_ALBUM, NULL, (gchar *) ttainfo->ID3.album); if (ttainfo->ID3.title) - tuple_associate_string(tuple, "title", (gchar *) ttainfo->ID3.title); + tuple_associate_string(tuple, FIELD_TITLE, NULL, (gchar *) ttainfo->ID3.title); if (ttainfo->ID3.year) - tuple_associate_int(tuple, "year", atoi((char *)ttainfo->ID3.year)); + tuple_associate_int(tuple, FIELD_YEAR, NULL, atoi((char *)ttainfo->ID3.year)); if(ttainfo->ID3.track) - tuple_associate_int(tuple, "track-number", atoi((char *)ttainfo->ID3.track)); + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, atoi((char *)ttainfo->ID3.track)); if(ttainfo->ID3.genre) - tuple_associate_string(tuple, "genre", (gchar *) ttainfo->ID3.genre); + tuple_associate_string(tuple, FIELD_GENRE, NULL, (gchar *) ttainfo->ID3.genre); if(ttainfo->ID3.comment) - tuple_associate_string(tuple, "comment", (gchar *) ttainfo->ID3.comment); + tuple_associate_string(tuple, FIELD_COMMENT, NULL, (gchar *) ttainfo->ID3.comment); } close_tta_file (ttainfo); } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/voice_removal/voice_removal.c --- a/src/voice_removal/voice_removal.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/voice_removal/voice_removal.c Thu Sep 13 12:10:39 2007 -0500 @@ -32,15 +32,8 @@ gint srate, gint nch); static EffectPlugin xmms_plugin = { - NULL, - NULL, - PLUGIN_NAME, - NULL, - NULL, - NULL, - NULL, - apply_effect, - NULL + .description = PLUGIN_NAME, + .mod_samples = apply_effect, }; EffectPlugin *voice_eplist[] = { &xmms_plugin, NULL }; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/vorbis/fileinfo.c --- a/src/vorbis/fileinfo.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/vorbis/fileinfo.c Thu Sep 13 12:10:39 2007 -0500 @@ -209,7 +209,7 @@ gchar *errorstring; errorstring = g_strdup_printf(_("An error occured:\n%s"), error); - xmms_show_message(_("Error!"), errorstring, _("Ok"), FALSE, NULL, NULL); + audacious_info_dialog(_("Error!"), errorstring, _("Ok"), FALSE, NULL, NULL); g_free(errorstring); return; diff -r 5dfa4fc721b0 -r 1359a81e4674 src/vorbis/vorbis.c --- a/src/vorbis/vorbis.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/vorbis/vorbis.c Thu Sep 13 12:10:39 2007 -0500 @@ -96,35 +96,21 @@ gchar *vorbis_fmts[] = { "ogg", "ogm", NULL }; InputPlugin vorbis_ip = { - NULL, - NULL, - "Ogg Vorbis Audio Plugin", /* description */ - vorbis_init, /* init */ - vorbis_aboutbox, /* aboutbox */ - vorbis_configure, /* configure */ - vorbis_check_file, /* is_our_file */ - NULL, - vorbis_play, - vorbis_stop, - vorbis_pause, - vorbis_seek, - NULL, /* set eq */ - NULL, - NULL, - NULL, - vorbis_cleanup, - NULL, - NULL, - NULL, - NULL, - vorbis_get_song_info, - vorbis_file_info_box, /* file info box, tag editing */ - NULL, - get_song_tuple, - NULL, - NULL, - vorbis_check_fd, - vorbis_fmts, + .description = "Ogg Vorbis Audio Plugin", /* description */ + .init = vorbis_init, /* init */ + .about = vorbis_aboutbox, /* aboutbox */ + .configure = vorbis_configure, /* configure */ + .is_our_file = vorbis_check_file, /* is_our_file */ + .play_file = vorbis_play, + .stop = vorbis_stop, + .pause = vorbis_pause, + .seek = vorbis_seek, + .cleanup = vorbis_cleanup, + .get_song_info = vorbis_get_song_info, + .file_info_box = vorbis_file_info_box, /* file info box, tag editing */ + .get_song_tuple = get_song_tuple, + .is_our_file_from_vfs = vorbis_check_fd, + .vfs_extensions = vorbis_fmts, }; InputPlugin *vorbis_iplist[] = { &vorbis_ip, NULL }; @@ -511,7 +497,7 @@ do_seek(playback); if (playback->eof) { - xmms_usleep(20000); + g_usleep(20000); continue; } @@ -599,7 +585,7 @@ seekneeded = time; while (seekneeded != -1) - xmms_usleep(20000); + g_usleep(20000); } static void @@ -607,7 +593,7 @@ { Tuple *tuple = get_song_tuple(filename); - *length = tuple_get_int(tuple, "length"); + *length = tuple_get_int(tuple, FIELD_LENGTH, NULL); *title = tuple_formatter_make_title_string(tuple, vorbis_cfg.tag_override ? vorbis_cfg.tag_format : get_gentitle_format()); @@ -730,13 +716,13 @@ return 2 * ch * samples; } -static void _tuple_associate_string(Tuple *tuple, const gchar *field, const gchar *string) +static void _tuple_associate_string(Tuple *tuple, const gint nfield, const gchar *field, const gchar *string) { - gchar *str = str_to_utf8(string); - - tuple_associate_string(tuple, field, str); - - g_free(str); + if (string) { + gchar *str = str_to_utf8(string); + tuple_associate_string(tuple, nfield, field, str); + g_free(str); + } } /* @@ -747,36 +733,34 @@ { Tuple *tuple = NULL; vorbis_comment *comment; - gchar *realfn = NULL; tuple = tuple_new_from_filename(filename); /* Retrieve the length */ - if (is_stream == FALSE) - tuple_associate_int(tuple, "length", ov_time_total(vorbisfile, -1) * 1000); - else - tuple_associate_int(tuple, "length", -1); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, + is_stream ? -1 : (ov_time_total(vorbisfile, -1) * 1000)); if ((comment = ov_comment(vorbisfile, -1))) { - _tuple_associate_string(tuple, "title", vorbis_comment_query(comment, "title", 0)); - _tuple_associate_string(tuple, "artist", vorbis_comment_query(comment, "artist", 0)); - _tuple_associate_string(tuple, "album", vorbis_comment_query(comment, "album", 0)); - _tuple_associate_string(tuple, "date", vorbis_comment_query(comment, "date", 0)); - _tuple_associate_string(tuple, "genre", vorbis_comment_query(comment, "genre", 0)); - _tuple_associate_string(tuple, "comment", vorbis_comment_query(comment, "comment", 0)); + gchar *tmps; + _tuple_associate_string(tuple, FIELD_TITLE, NULL, vorbis_comment_query(comment, "title", 0)); + _tuple_associate_string(tuple, FIELD_ARTIST, NULL, vorbis_comment_query(comment, "artist", 0)); + _tuple_associate_string(tuple, FIELD_ALBUM, NULL, vorbis_comment_query(comment, "album", 0)); + _tuple_associate_string(tuple, -1, "date", vorbis_comment_query(comment, "date", 0)); + _tuple_associate_string(tuple, FIELD_GENRE, NULL, vorbis_comment_query(comment, "genre", 0)); + _tuple_associate_string(tuple, FIELD_COMMENT, NULL, vorbis_comment_query(comment, "comment", 0)); - if (vorbis_comment_query(comment, "tracknumber", 0) != NULL) - tuple_associate_int(tuple, "track-number", - atoi(vorbis_comment_query(comment, "tracknumber", 0))); + if ((tmps = vorbis_comment_query(comment, "tracknumber", 0)) != NULL) + tuple_associate_int(tuple, FIELD_TRACK_NUMBER, NULL, atoi(tmps)); - tuple_associate_string(tuple, "quality", "lossy"); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "lossy"); + if (comment && comment->vendor) { gchar *codec = g_strdup_printf("Ogg Vorbis [%s]", comment->vendor); - tuple_associate_string(tuple, "codec", codec); + tuple_associate_string(tuple, FIELD_CODEC, NULL, codec); g_free(codec); } else - tuple_associate_string(tuple, "codec", "Ogg Vorbis"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "Ogg Vorbis"); } return tuple; @@ -836,8 +820,8 @@ { gchar *old = displaytitle; - tuple_associate_string(input, "stream", tmp); - tuple_associate_string(input, "title", old); + tuple_associate_string(input, -1, "stream", tmp); + tuple_associate_string(input, FIELD_TITLE, NULL, old); displaytitle = tuple_formatter_process_string(input, "${?title:${title}}${?stream: (${stream})}"); @@ -859,7 +843,7 @@ gdk_window_raise(about_window->window); else { - about_window = xmms_show_message(_("About Ogg Vorbis Audio Plugin"), + about_window = audacious_info_dialog(_("About Ogg Vorbis Audio Plugin"), /* * I18N: UTF-8 Translation: "Haavard Kvaalen" -> * "H\303\245vard Kv\303\245len" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/vtx/about.c --- a/src/vtx/about.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/vtx/about.c Thu Sep 13 12:10:39 2007 -0500 @@ -19,7 +19,7 @@ static GtkWidget *box; if (box) gdk_window_raise(box->window); else { - box = xmms_show_message (_("About Vortex Player"), + box = audacious_info_dialog (_("About Vortex Player"), _ ("Vortex file format player by Sashnov Alexander \n" "Founded on original source in_vtx.dll by Roman Sherbakov \n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/vtx/info.c --- a/src/vtx/info.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/vtx/info.c Thu Sep 13 12:10:39 2007 -0500 @@ -38,7 +38,7 @@ "Player Freq:%P\n" "Year: %y"); - box = xmms_show_message (head, + box = audacious_info_dialog (head, body, _("Ok"), FALSE, NULL, NULL); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/vtx/vtx.c --- a/src/vtx/vtx.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/vtx/vtx.c Thu Sep 13 12:10:39 2007 -0500 @@ -98,20 +98,20 @@ Tuple *out = tuple_new_from_filename(filename); gchar *string; - tuple_associate_string(out, "artist", in->hdr.author); - tuple_associate_string(out, "title", in->hdr.title); + tuple_associate_string(out, FIELD_ARTIST, NULL, in->hdr.author); + tuple_associate_string(out, FIELD_TITLE, NULL, in->hdr.title); - tuple_associate_int(out, "length", in->hdr.regdata_size / 14 * 1000 / 50); + tuple_associate_int(out, FIELD_LENGTH, NULL, in->hdr.regdata_size / 14 * 1000 / 50); - tuple_associate_string(out, "genre", (in->hdr.chiptype == AYEMU_AY)? "AY chiptunes" : "YM chiptunes"); - tuple_associate_string(out, "album", in->hdr.from); - tuple_associate_string(out, "game", in->hdr.from); + tuple_associate_string(out, FIELD_GENRE, NULL, (in->hdr.chiptype == AYEMU_AY)? "AY chiptunes" : "YM chiptunes"); + tuple_associate_string(out, FIELD_ALBUM, NULL, in->hdr.from); + tuple_associate_string(out, -1, "game", in->hdr.from); - tuple_associate_string(out, "quality", "sequenced"); - tuple_associate_string(out, "codec", in->hdr.tracker); - tuple_associate_string(out, "tracker", in->hdr.tracker); + tuple_associate_string(out, FIELD_QUALITY, NULL, "sequenced"); + tuple_associate_string(out, FIELD_CODEC, NULL, in->hdr.tracker); + tuple_associate_string(out, -1, "tracker", in->hdr.tracker); - tuple_associate_int(out, "year", in->hdr.year); + tuple_associate_int(out, FIELD_YEAR, NULL, in->hdr.year); return out; } @@ -299,7 +299,7 @@ Tuple *ti = vtx_get_song_tuple_from_vtx(filename, &tmp); *title = tuple_formatter_process_string(ti, get_gentitle_format()); - *length = tuple_get_int(ti, "length"); + *length = tuple_get_int(ti, FIELD_LENGTH, NULL); ayemu_vtx_free (&tmp); tuple_free(ti); @@ -307,36 +307,22 @@ } InputPlugin vtx_ip = { - NULL, /* FILLED BY XMMS */ - NULL, /* FILLED BY XMMS */ - "VTX Audio Plugin", /* Plugin description */ - vtx_init, /* Initialization */ - vtx_about, /* Show aboutbox */ - vtx_config, /* Show/edit configuration */ - vtx_is_our_file, /* Check file, return 1 if the plugin can handle this file */ - NULL, /* Scan directory */ - vtx_play_file, /* Play given file */ - vtx_stop, /* Stop playing */ - vtx_pause, /* Pause playing */ - vtx_seek, /* Seek time */ - NULL, /* Set equalizer */ - NULL, /* Get playing time (obsoleted by InputPlayback API) */ - NULL, /* Get volume */ - NULL, /* Set volume */ - NULL, /* Cleanup */ - NULL, /* OBSOLETE! */ - NULL, /* Send data to Visualization plugin */ - NULL, NULL, /* FILLED BY XMMS */ - vtx_get_song_info, /* Get song title and length */ - vtx_file_info, /* Show file-information dialog */ - NULL, /* FILLED BY XMMS */ - vtx_get_song_tuple, /* Tuple */ - NULL, /* Tuple */ - NULL, /* Buffer */ - vtx_is_our_fd, /* VFS */ - vtx_fmts /* ext assist */ + .description = "VTX Audio Plugin", /* Plugin description */ + .init = vtx_init, /* Initialization */ + .about = vtx_about, /* Show aboutbox */ + .configure = vtx_config, /* Show/edit configuration */ + .is_our_file = vtx_is_our_file, /* Check file, return 1 if the plugin can handle this file */ + .play_file = vtx_play_file, /* Play given file */ + .stop = vtx_stop, /* Stop playing */ + .pause = vtx_pause, /* Pause playing */ + .seek = vtx_seek, /* Seek time */ + .get_song_info = vtx_get_song_info, /* Get song title and length */ + .file_info_box = vtx_file_info, /* Show file-information dialog */ + .get_song_tuple = vtx_get_song_tuple, /* Tuple */ + .is_our_file_from_vfs = vtx_is_our_fd, /* VFS */ + .vfs_extensions = vtx_fmts /* ext assist */ }; InputPlugin *vtx_iplist[] = { &vtx_ip, NULL }; -DECLARE_PLUGIN(vtx, NULL, NULL, vtx_iplist, NULL, NULL, NULL, NULL, NULL); +SIMPLE_INPUT_PLUGIN(vtx, vtx_iplist); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wav/wav-sndfile.c --- a/src/wav/wav-sndfile.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wav/wav-sndfile.c Thu Sep 13 12:10:39 2007 -0500 @@ -59,36 +59,17 @@ static GCond *decode_cond; InputPlugin wav_ip = { - NULL, - NULL, - NULL, - plugin_init, - wav_about, - NULL, - is_our_file, - NULL, - play_start, - play_stop, - play_pause, - file_seek, - NULL, - NULL, - NULL, - NULL, - plugin_cleanup, - NULL, - NULL, - NULL, - NULL, - get_song_info, - NULL, - NULL, - get_song_tuple, - NULL, - NULL, - NULL, - NULL, - file_mseek, + .init = plugin_init, + .about = wav_about, + .is_our_file = is_our_file, + .play_file = play_start, + .stop = play_stop, + .pause = play_pause, + .seek = file_seek, + .cleanup = plugin_cleanup, + .get_song_info = get_song_info, + .get_song_tuple = get_song_tuple, + .mseek = file_mseek, }; static int @@ -127,14 +108,14 @@ realfn = g_filename_from_uri(filename, NULL, NULL); tmp_sndfile = sf_open (realfn ? realfn : filename, SFM_READ, &tmp_sfinfo); if ( sf_get_string(tmp_sndfile, SF_STR_TITLE) == NULL) - tuple_associate_string(ti, "title", g_path_get_basename(realfn ? realfn : filename)); + tuple_associate_string(ti, FIELD_TITLE, NULL, g_path_get_basename(realfn ? realfn : filename)); else - tuple_associate_string(ti, "title", sf_get_string(tmp_sndfile, SF_STR_TITLE)); + tuple_associate_string(ti, FIELD_TITLE, NULL, sf_get_string(tmp_sndfile, SF_STR_TITLE)); - tuple_associate_string(ti, "artist", sf_get_string(tmp_sndfile, SF_STR_ARTIST)); - tuple_associate_string(ti, "comment", sf_get_string(tmp_sndfile, SF_STR_COMMENT)); - tuple_associate_string(ti, "date", sf_get_string(tmp_sndfile, SF_STR_DATE)); - tuple_associate_string(ti, "software", sf_get_string(tmp_sndfile, SF_STR_SOFTWARE)); + tuple_associate_string(ti, FIELD_ARTIST, NULL, sf_get_string(tmp_sndfile, SF_STR_ARTIST)); + tuple_associate_string(ti, FIELD_COMMENT, NULL, sf_get_string(tmp_sndfile, SF_STR_COMMENT)); + tuple_associate_string(ti, -1, "date", sf_get_string(tmp_sndfile, SF_STR_DATE)); + tuple_associate_string(ti, -1, "software", sf_get_string(tmp_sndfile, SF_STR_SOFTWARE)); g_free(realfn); realfn = NULL; @@ -145,7 +126,7 @@ tmp_sndfile = NULL; if (tmp_sfinfo.samplerate > 0) - tuple_associate_int(ti, "length", (int) ceil (1000.0 * tmp_sfinfo.frames / tmp_sfinfo.samplerate)); + tuple_associate_int(ti, FIELD_LENGTH, NULL, (int) ceil (1000.0 * tmp_sfinfo.frames / tmp_sfinfo.samplerate)); switch (tmp_sfinfo.format & SF_FORMAT_TYPEMASK) { @@ -302,12 +283,12 @@ g_string_append_printf(codec_gs, "%s", format); codec = g_strdup(codec_gs->str); g_string_free(codec_gs, TRUE); - tuple_associate_string(ti, "codec", codec); + tuple_associate_string(ti, FIELD_CODEC, NULL, codec); if (lossy != 0) - tuple_associate_string(ti, "quality", "lossy"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossy"); else - tuple_associate_string(ti, "quality", "lossless"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossless"); } static gchar *get_title(char *filename) @@ -321,7 +302,7 @@ if (*title == '\0') { g_free(title); - title = g_strdup(tuple_get_string(tuple, "file-name")); + title = g_strdup(tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); } tuple_free(tuple); @@ -515,7 +496,7 @@ seek_time = (glong)millisecond; while (seek_time != -1) - xmms_usleep (80000); + g_usleep (80000); } static void @@ -545,7 +526,7 @@ static GtkWidget *box; if (!box) { - box = xmms_show_message( + box = audacious_info_dialog( _("About sndfile WAV support"), _("Adapted for Audacious usage by Tony Vroon \n" "from the xmms_sndfile plugin which is:\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wav/wav.c --- a/src/wav/wav.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wav/wav.c Thu Sep 13 12:10:39 2007 -0500 @@ -38,36 +38,17 @@ gchar *wav_fmts[] = { "wav", "raw", "pcm", NULL }; InputPlugin wav_ip = { - NULL, - NULL, - "WAV Audio Plugin", /* Description */ - wav_init, - NULL, - NULL, - is_our_file, - NULL, - play_file, - stop, - wav_pause, - seek, - NULL, - get_time, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - get_song_info, - NULL, /* file_info_box */ - NULL, - NULL, - NULL, - NULL, - NULL, - wav_fmts, - mseek, + .description = "WAV Audio Plugin", /* Description */ + .init = wav_init, + .is_our_file = is_our_file, + .play_file = play_file, + .stop = stop, + .pause = wav_pause, + .seek = seek, + .get_time = get_time, + .get_song_info = get_song_info, + .vfs_extensions = wav_fmts, + .mseek = mseek, }; WaveFile *wav_file = NULL; @@ -212,14 +193,14 @@ tuple = tuple_new_from_filename(filename); - tuple_associate_string(tuple, "codec", "RIFF/WAV Audio (ADPCM)"); - tuple_associate_string(tuple, "quality", "lossless"); + tuple_associate_string(tuple, FIELD_CODEC, NULL, "RIFF/WAV Audio (ADPCM)"); + tuple_associate_string(tuple, FIELD_QUALITY, NULL, "lossless"); title = tuple_formatter_make_title_string(tuple, get_gentitle_format()); if (*title == '\0') { g_free(title); - title = g_strdup(tuple_get_string(tuple, "file-name")); + title = g_strdup(tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); } tuple_free(tuple); @@ -455,7 +436,7 @@ playback->eof = FALSE; while (wav_file->seek_to != -1) - xmms_usleep(10000); + g_usleep(10000); } static void diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wavpack/libwavpack.cxx --- a/src/wavpack/libwavpack.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wavpack/libwavpack.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -66,8 +66,10 @@ NULL, //filename (gchar *)"WavPack Audio Plugin", wv_load_config, + NULL, wv_about_box, wv_configure, + FALSE, NULL, NULL, //no use wv_play, @@ -82,7 +84,6 @@ NULL, //obsolete NULL, //add_vis NULL, - NULL, wv_get_song_info, wv_file_info_box, //info box NULL, //output @@ -357,7 +358,7 @@ } } else { - xmms_usleep(10000); + g_usleep(10000); } } return end_thread(); @@ -401,18 +402,18 @@ load_tag(&tag, ctx); - tuple_associate_string(ti, "title", tag.title); - tuple_associate_string(ti, "artist", tag.artist); - tuple_associate_string(ti, "album", tag.album); - tuple_associate_string(ti, "genre", tag.genre); - tuple_associate_string(ti, "comment", tag.comment); - tuple_associate_string(ti, "date", tag.year); - tuple_associate_string(ti, "quality", WavpackPluginGetQualityString(ctx).c_str()); - tuple_associate_string(ti, "codec", "WavPack"); + tuple_associate_string(ti, FIELD_TITLE, NULL, tag.title); + tuple_associate_string(ti, FIELD_ARTIST, NULL, tag.artist); + tuple_associate_string(ti, FIELD_ALBUM, NULL, tag.album); + tuple_associate_string(ti, FIELD_GENRE, NULL, tag.genre); + tuple_associate_string(ti, FIELD_COMMENT, NULL, tag.comment); + tuple_associate_string(ti, FIELD_DATE, NULL, tag.year); + tuple_associate_string(ti, FIELD_QUALITY, NULL, WavpackPluginGetQualityString(ctx).c_str()); + tuple_associate_string(ti, FIELD_CODEC, NULL, "WavPack"); - tuple_associate_int(ti, "track-number", atoi(tag.track)); - tuple_associate_int(ti, "year", atoi(tag.year)); - tuple_associate_int(ti, "length", (int)(WavpackGetNumSamples(ctx) / sample_rate) * 1000); + tuple_associate_int(ti, FIELD_TRACK_NUMBER, NULL, atoi(tag.track)); + tuple_associate_int(ti, FIELD_YEAR, NULL, atoi(tag.year)); + tuple_associate_int(ti, FIELD_LENGTH, NULL, (int)(WavpackGetNumSamples(ctx) / sample_rate) * 1000); return ti; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wavpack/tags.cxx --- a/src/wavpack/tags.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wavpack/tags.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -310,7 +310,7 @@ sprintf(text, "File \"%s\" not found or is read protected!\n", filename); - xmms_show_message("File-Error", (gchar *) text, "Ok", FALSE, NULL, + audacious_info_dialog("File-Error", (gchar *) text, "Ok", FALSE, NULL, NULL); return -1; } @@ -385,7 +385,7 @@ snprintf(text, 256, "File \"%s\" not found or is read protected!\n", filename); - xmms_show_message("File-Error", (gchar *) text, "Ok", FALSE, NULL, + audacious_info_dialog("File-Error", (gchar *) text, "Ok", FALSE, NULL, NULL); return -1; } diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wavpack/ui.cxx --- a/src/wavpack/ui.cxx Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wavpack/ui.cxx Thu Sep 13 12:10:39 2007 -0500 @@ -48,7 +48,7 @@ gdk_window_raise(about_window->window); about_window = - xmms_show_message(g_strdup_printf + audacious_info_dialog(g_strdup_printf (_("Wavpack Decoder Plugin %s"), VERSION), (_("Copyright (c) 2006 William Pitcock \n\n" "Some of the plugin code was by Miles Egan\n" diff -r 5dfa4fc721b0 -r 1359a81e4674 src/wma/wma.c --- a/src/wma/wma.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/wma/wma.c Thu Sep 13 12:10:39 2007 -0500 @@ -232,7 +232,7 @@ { wma_seekpos = time; if(wma_pause) playback->output->pause(0); - while(wma_decode && wma_seekpos!=-1) xmms_usleep(10000); + while(wma_decode && wma_seekpos!=-1) g_usleep(10000); if(wma_pause) playback->output->pause(1); } @@ -243,6 +243,18 @@ return ext; } +static void _assoc_string(Tuple *tuple, const gint nfield, const gchar *str) +{ + if (strlen(str) > 0) + tuple_associate_string(tuple, nfield, NULL, str); +} + +static void _assoc_int(Tuple *tuple, const gint nfield, const gint val) +{ + if (val > 0) + tuple_associate_int(tuple, nfield, NULL, val); +} + static Tuple *wma_get_song_tuple(gchar * filename) { Tuple *ti = tuple_new_from_filename(filename); @@ -251,27 +263,19 @@ if (av_open_input_file(&in, str_twenty_to_space(filename), NULL, 0, NULL) < 0) return NULL; - tuple_associate_string(ti, "codec", "Windows Media Audio (WMA)"); - tuple_associate_string(ti, "quality", "lossy"); + tuple_associate_string(ti, FIELD_CODEC, NULL, "Windows Media Audio (WMA)"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossy"); av_find_stream_info(in); - if(strlen(in->title)) - tuple_associate_string(ti, "title", in->title); - if(strlen(in->author)) - tuple_associate_string(ti, "artist", in->author); - if(strlen(in->album)) - tuple_associate_string(ti, "album", in->album); - if(strlen(in->comment)) - tuple_associate_string(ti, "comment", in->comment); - if(strlen(in->genre)) - tuple_associate_string(ti, "genre", in->genre); - if(in->year > 0) - tuple_associate_int(ti, "year", in->year); - if(in->track > 0) - tuple_associate_int(ti, "track", in->track); - if (in->duration) - tuple_associate_int(ti, "length", in->duration / 1000); + _assoc_string(ti, FIELD_TITLE, in->title); + _assoc_string(ti, FIELD_ARTIST, in->author); + _assoc_string(ti, FIELD_ALBUM, in->album); + _assoc_string(ti, FIELD_COMMENT, in->comment); + _assoc_string(ti, FIELD_GENRE, in->genre); + _assoc_int(ti, FIELD_YEAR, in->year); + _assoc_int(ti, FIELD_TRACK_NUMBER, in->track); + _assoc_int(ti, FIELD_LENGTH, in->duration / 1000); av_close_input_file(in); @@ -283,25 +287,17 @@ gchar *ret = NULL; Tuple *ti = tuple_new_from_filename(filename); - tuple_associate_string(ti, "codec", "Windows Media Audio (WMA)"); - tuple_associate_string(ti, "quality", "lossy"); + tuple_associate_string(ti, FIELD_CODEC, NULL, "Windows Media Audio (WMA)"); + tuple_associate_string(ti, FIELD_QUALITY, NULL, "lossy"); - if(strlen(in->title)) - tuple_associate_string(ti, "title", in->title); - if(strlen(in->author)) - tuple_associate_string(ti, "artist", in->author); - if(strlen(in->album)) - tuple_associate_string(ti, "album", in->album); - if(strlen(in->comment)) - tuple_associate_string(ti, "comment", in->comment); - if(strlen(in->genre)) - tuple_associate_string(ti, "genre", in->genre); - if(in->year > 0) - tuple_associate_int(ti, "year", in->year); - if(in->track > 0) - tuple_associate_int(ti, "track", in->track); - if (in->duration) - tuple_associate_int(ti, "length", in->duration / 1000); + _assoc_string(ti, FIELD_TITLE, in->title); + _assoc_string(ti, FIELD_ARTIST, in->author); + _assoc_string(ti, FIELD_ALBUM, in->album); + _assoc_string(ti, FIELD_COMMENT, in->comment); + _assoc_string(ti, FIELD_GENRE, in->genre); + _assoc_int(ti, FIELD_YEAR, in->year); + _assoc_int(ti, FIELD_TRACK_NUMBER, in->track); + _assoc_int(ti, FIELD_LENGTH, in->duration / 1000); ret = tuple_formatter_make_title_string(ti, get_gentitle_format()); @@ -323,7 +319,7 @@ if (tuple == NULL) return; - (*len_real) = tuple_get_int(tuple, "length"); + (*len_real) = tuple_get_int(tuple, FIELD_LENGTH, NULL); (*title_real) = tuple_formatter_make_title_string(tuple, get_gentitle_format()); } @@ -338,7 +334,7 @@ { sst_buff = wma_st_buff; if(wma_pause) memset(wma_s_outbuf, 0, sst_buff); - while(playback->output->buffer_free() < wma_st_buff) xmms_usleep(20000); + while(playback->output->buffer_free() < wma_st_buff) g_usleep(20000); produce_audio(playback->output->written_time(), FMT_S16_NE, c->channels, sst_buff, (short *)wma_s_outbuf, NULL); memset(wma_s_outbuf, 0, sst_buff); @@ -385,7 +381,7 @@ if(pkt.data) av_free_packet(&pkt); } } - while(playback->playing && playback->output->buffer_playing()) xmms_usleep(30000); + while(playback->playing && playback->output->buffer_playing()) g_usleep(30000); playback->playing = 0; if(wma_s_outbuf) g_free(wma_s_outbuf); if(wma_outbuf) g_free(wma_outbuf); diff -r 5dfa4fc721b0 -r 1359a81e4674 src/xspf/xspf.c --- a/src/xspf/xspf.c Thu Sep 13 12:09:38 2007 -0500 +++ b/src/xspf/xspf.c Thu Sep 13 12:10:39 2007 -0500 @@ -1,7 +1,8 @@ /* * Audacious: A cross-platform multimedia player * Copyright (c) 2006 William Pitcock, Tony Vroon, George Averill, - * Giacomo Lozito, Derek Pomery and Yoshiki Yazawa. + * Giacomo Lozito, Derek Pomery, Yoshiki Yazawa + * and Matti Hmlinen. * * 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 @@ -17,7 +18,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - #include #include @@ -46,9 +46,37 @@ #define XSPF_ROOT_NODE_NAME "playlist" #define XSPF_XMLNS "http://xspf.org/ns/0/" -#define TMP_BUF_LEN 128 +enum { + CMP_DEF = 0, + CMP_GT, + CMP_NULL +} xspf_compare; + +typedef struct { + gint tupleField; + gchar *xspfName; + TupleValueType type; + gboolean isMeta; + gint compare; +} xspf_entry_t; + -gchar *base = NULL; +static const xspf_entry_t xspf_entries[] = { + { FIELD_TITLE, "title", TUPLE_STRING, FALSE, CMP_DEF }, + { FIELD_ARTIST, "creator", TUPLE_STRING, FALSE, CMP_DEF }, + { FIELD_COMMENT, "annotation", TUPLE_STRING, FALSE, CMP_DEF }, + { FIELD_ALBUM, "album", TUPLE_STRING, FALSE, CMP_DEF }, + { FIELD_TRACK_NUMBER, "trackNum", TUPLE_INT, FALSE, CMP_DEF }, + { FIELD_LENGTH, "duration", TUPLE_INT, FALSE, CMP_GT }, + + { FIELD_YEAR, "year", TUPLE_INT, TRUE, CMP_DEF }, + { FIELD_DATE, "date", TUPLE_STRING, TRUE, CMP_DEF }, + { FIELD_GENRE, "genre", TUPLE_STRING, TRUE, CMP_DEF }, + { FIELD_FORMATTER, "formatter", TUPLE_STRING, TRUE, CMP_DEF }, +}; + +static const gint xspf_nentries = (sizeof(xspf_entries) / sizeof(xspf_entry_t)); + static gboolean is_uri(gchar *uri) { @@ -58,239 +86,188 @@ return FALSE; } -#if 0 -static gboolean is_remote(gchar *uri) -{ - if(strstr(uri, "file://")) - return FALSE; - - if(strstr(uri, "://")) - return TRUE; - else - return FALSE; -} -#endif - -// this function is taken from libxml2-2.6.27. -static xmlChar *audPathToURI(const xmlChar *path) +/* This function is taken from libxml2-2.6.27. + */ +static xmlChar *xspf_path_to_uri(const xmlChar *path) { xmlURIPtr uri; xmlURI temp; xmlChar *ret, *cal; - if(path == NULL) + if (path == NULL) return NULL; - if((uri = xmlParseURI((const char *)path)) != NULL) { + if ((uri = xmlParseURI((const char *)path)) != NULL) { xmlFreeURI(uri); return xmlStrdup(path); } + cal = xmlCanonicPath(path); - if(cal == NULL) + if (cal == NULL) return NULL; + memset(&temp, 0, sizeof(temp)); temp.path = (char *)cal; ret = xmlSaveUri(&temp); xmlFree(cal); + return ret; } -static void add_file(xmlNode *track, const gchar *filename, gint pos) + +static void xspf_add_file(xmlNode *track, const gchar *filename, gint pos, const gchar *base) { xmlNode *nptr; Tuple *tuple; gchar *location = NULL; Playlist *playlist = playlist_get_active(); + tuple = tuple_new(); + tuple_associate_int(tuple, FIELD_LENGTH, NULL, -1); + tuple_associate_int(tuple, FIELD_MTIME, NULL, -1); + - tuple_associate_int(tuple, "length", -1); - tuple_associate_int(tuple, "mtime", -1); // mark as uninitialized. + for (nptr = track->children; nptr != NULL; nptr = nptr->next) { + if (nptr->type == XML_ELEMENT_NODE) { + if (!xmlStrcmp(nptr->name, (xmlChar *)"location")) { + /* Location is a special case */ + gchar *str = (gchar *)xmlNodeGetContent(nptr); - // creator, album, title, duration, trackNum, annotation, image, - for(nptr = track->children; nptr != NULL; nptr = nptr->next) { - if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"location")) { - gchar *str = (gchar *)xmlNodeGetContent(nptr); - gchar *tmp = NULL; - - // tmp is escaped uri or a part of escaped uri. - tmp = g_strdup_printf("%s%s", base ? base : "", str); - location = g_filename_from_uri(tmp, NULL, NULL); - if(!location) // http:// or something. - location = g_strdup(tmp); + location = g_strdup_printf("%s%s", base ? base : "", str); + xmlFree(str); + str = g_filename_from_uri(location, NULL, NULL); + if (str) { + g_free(location); + location = g_strdup_printf("file://%s", str); + } + + g_free(str); + } else { + /* Rest of the nodes are handled here */ + gint i; + gboolean isMeta; + xmlChar *findName; - xmlFree(str); str = NULL; - g_free(tmp); tmp = NULL; - } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"title")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "title", (gchar *) str); - xmlFree(str); - } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"creator")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "artist", (gchar *) str); - xmlFree(str); - } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"annotation")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "comment", (gchar *) str); - xmlFree(str); - } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"album")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "album", (gchar *) str); - xmlFree(str); - } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"trackNum")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_int(tuple, "track-number", atol((char *)str)); - xmlFree(str); + if (!xmlStrcmp(nptr->name, (xmlChar *)"meta")) { + isMeta = TRUE; + findName = xmlGetProp(nptr, (xmlChar *)"rel"); + } else { + isMeta = FALSE; + findName = xmlStrdup(nptr->name); + } + + for (i = 0; i < xspf_nentries; i++) + if ((xspf_entries[i].isMeta == isMeta) && + !xmlStrcmp(findName, (xmlChar *)xspf_entries[i].xspfName)) { + xmlChar *str = xmlNodeGetContent(nptr); + switch (xspf_entries[i].type) { + case TUPLE_STRING: + tuple_associate_string(tuple, xspf_entries[i].tupleField, NULL, (gchar *)str); + break; + + case TUPLE_INT: + tuple_associate_int(tuple, xspf_entries[i].tupleField, NULL, atol((char *)str)); + break; + + default: + break; + } + xmlFree(str); + break; + } + + xmlFree(findName); + } } - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"duration")) { - xmlChar *str = xmlNodeGetContent(nptr); - tuple_associate_int(tuple, "length", atol((char *)str)); - xmlFree(str); - } - - // - // additional metadata - // - // year, date, genre, formatter, mtime - // - else if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"meta")) { - xmlChar *rel = NULL; - - rel = xmlGetProp(nptr, (xmlChar *)"rel"); - - if(!xmlStrcmp(rel, (xmlChar *)"year")) { - xmlChar *cont = xmlNodeGetContent(nptr); - tuple_associate_int(tuple, "year", atol((char *)cont)); - xmlFree(cont); - continue; - } - else if(!xmlStrcmp(rel, (xmlChar *)"date")) { - xmlChar *cont = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "date", (gchar *) cont); - xmlFree(cont); - continue; - } - else if(!xmlStrcmp(rel, (xmlChar *)"genre")) { - xmlChar *cont = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "genre", (gchar *) cont); - xmlFree(cont); - continue; - } - else if(!xmlStrcmp(rel, (xmlChar *)"formatter")) { - xmlChar *cont = xmlNodeGetContent(nptr); - tuple_associate_string(tuple, "formatter", (gchar *) cont); - xmlFree(cont); - continue; - } - else if(!xmlStrcmp(rel, (xmlChar *)"mtime")) { - xmlChar *str = NULL; - str = xmlNodeGetContent(nptr); - tuple_associate_int(tuple, "mtime", atoll((char *)str)); - xmlFree(str); - continue; - } - xmlFree(rel); - rel = NULL; - } - } - if(location) { + if (location) { gchar *uri = NULL; gchar *scratch; scratch = g_path_get_basename(location); - tuple_associate_string(tuple, "file-name", scratch); + tuple_associate_string(tuple, FIELD_FILE_NAME, NULL, scratch); g_free(scratch); scratch = g_path_get_dirname(location); - tuple_associate_string(tuple, "file-path", scratch); + tuple_associate_string(tuple, FIELD_FILE_PATH, NULL, scratch); g_free(scratch); + tuple_associate_string(tuple, FIELD_FILE_EXT, NULL, strrchr(location, '.')); + #ifdef DEBUG - printf("xspf: tuple->file_name = %s\n", tuple_get_string(tuple, "file-name")); - printf("xspf: tuple->file_path = %s\n", tuple_get_string(tuple, "file-path")); + printf("xspf: tuple->file_name = %s\n", tuple_get_string(tuple, FIELD_FILE_NAME, NULL)); + printf("xspf: tuple->file_path = %s\n", tuple_get_string(tuple, FIELD_FILE_PATH, NULL)); #endif - tuple_associate_string(tuple, "file-ext", strrchr(location, '.')); // add file to playlist uri = g_filename_to_uri(location, NULL, NULL); // uri would be NULL if location is already uri. --yaz playlist_load_ins_file_tuple(playlist, uri ? uri: location, filename, pos, tuple); - g_free(uri); uri = NULL; + g_free(uri); pos++; } g_free(location); - location = NULL; } -static void find_track(xmlNode *tracklist, const gchar *filename, gint pos) + +static void xspf_find_track(xmlNode *tracklist, const gchar *filename, gint pos, const gchar *base) { xmlNode *nptr; - for(nptr = tracklist->children; nptr != NULL; nptr = nptr->next) { - if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"track")) { - add_file(nptr, filename, pos); + + for (nptr = tracklist->children; nptr != NULL; nptr = nptr->next) { + if (nptr->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr->name, (xmlChar *)"track")) { + xspf_add_file(nptr, filename, pos, base); } } } -static void find_audoptions(xmlNode *tracklist, const gchar *filename, gint pos) + +static void xspf_find_audoptions(xmlNode *tracklist, const gchar *filename, gint pos) { xmlNode *nptr; Playlist *playlist = playlist_get_active(); - for(nptr = tracklist->children; nptr != NULL; nptr = nptr->next) { - if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"options")) { + for (nptr = tracklist->children; nptr != NULL; nptr = nptr->next) { + if (nptr->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr->name, (xmlChar *)"options")) { xmlChar *opt = NULL; opt = xmlGetProp(nptr, (xmlChar *)"staticlist"); - if(!strcasecmp((char *)opt, "true")) { + if (!g_strcasecmp((char *)opt, "true")) playlist->attribute |= PLAYLIST_STATIC; - } else playlist->attribute ^= PLAYLIST_STATIC; + xmlFree(opt); opt = NULL; } } } -static void playlist_load_xspf(const gchar *filename, gint pos) + +static void xspf_playlist_load(const gchar *filename, gint pos) { xmlDocPtr doc; xmlNode *nptr, *nptr2; - gchar *tmp = NULL; + gchar *tmp = NULL, *base = NULL; g_return_if_fail(filename != NULL); + #ifdef DEBUG printf("playlist_load_xspf: filename = %s\n", filename); #endif + doc = xmlRecoverFile(filename); if(doc == NULL) return; - xmlFree(base); - base = NULL; - // find trackList - for(nptr = doc->children; nptr != NULL; nptr = nptr->next) { - if(nptr->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr->name, (xmlChar *)"playlist")) { + for (nptr = doc->children; nptr != NULL; nptr = nptr->next) { + if (nptr->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr->name, (xmlChar *)"playlist")) { base = (gchar *)xmlNodeGetBase(doc, nptr); #ifdef DEBUG printf("playlist_load_xspf: base @1 = %s\n", base); @@ -308,34 +285,30 @@ #ifdef DEBUG printf("playlist_load_xspf: base @2 = %s\n", base); #endif - for(nptr2 = nptr->children; nptr2 != NULL; nptr2 = nptr2->next) { + for (nptr2 = nptr->children; nptr2 != NULL; nptr2 = nptr2->next) { - if(nptr2->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr2->name, (xmlChar *)"extension")) { + if (nptr2->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr2->name, (xmlChar *)"extension")) { //check if application is audacious xmlChar *app = NULL; app = xmlGetProp(nptr2, (xmlChar *)"application"); - if(!xmlStrcmp(app, (xmlChar *)"audacious")) { - find_audoptions(nptr2, filename, pos); - } + if (!xmlStrcmp(app, (xmlChar *)"audacious")) + xspf_find_audoptions(nptr2, filename, pos); xmlFree(app); - } - - if(nptr2->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr2->name, (xmlChar *)"title")) { + } else + if (nptr2->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr2->name, (xmlChar *)"title")) { Playlist *plist = playlist_get_active(); xmlChar *title = xmlNodeGetContent(nptr2); + if (title && *title) { - gchar *old = plist->title; - plist->title = g_strdup((gchar*)title); - g_free(old); + playlist_set_current_name(plist, (gchar*)title); } xmlFree(title); - } - - if(nptr2->type == XML_ELEMENT_NODE - && !xmlStrcmp(nptr2->name, (xmlChar *)"trackList")) { - find_track(nptr2, filename, pos); + } else + if(nptr2->type == XML_ELEMENT_NODE && + !xmlStrcmp(nptr2->name, (xmlChar *)"trackList")) { + xspf_find_track(nptr2, filename, pos, base); } } } @@ -343,22 +316,52 @@ xmlFreeDoc(doc); } -static void playlist_save_xspf(const gchar *filename, gint pos) + +static void xspf_add_node( + xmlNodePtr node, TupleValueType type, gboolean isMeta, + const gchar *xspfName, const gchar *strVal, const gint intVal) +{ + gchar tmps[64]; + xmlNodePtr tmp; + + if (isMeta) { + tmp = xmlNewNode(NULL, (xmlChar *) "meta"); + xmlSetProp(tmp, (xmlChar *) "rel", (xmlChar *) xspfName); + } else + tmp = xmlNewNode(NULL, (xmlChar *) xspfName); + + switch (type) { + case TUPLE_STRING: + xmlAddChild(tmp, xmlNewText((xmlChar *) strVal)); + break; + + case TUPLE_INT: + g_snprintf(tmps, sizeof(tmps), "%d", intVal); + xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); + break; + + default: + break; + } + + xmlAddChild(node, tmp); +} + + +static void xspf_playlist_save(const gchar *filename, gint pos) { xmlDocPtr doc; - xmlNodePtr rootnode, tmp, tracklist; + xmlNodePtr rootnode, tracklist; GList *node; gint baselen = 0; + gchar *base = NULL; Playlist *playlist = playlist_get_active(); #ifdef DEBUG printf("playlist_save_xspf: filename = %s\n", filename); #endif - xmlFree(base); - base = NULL; doc = xmlNewDoc((xmlChar *)"1.0"); - doc->charset = XML_CHAR_ENCODING_UTF8; doc->encoding = xmlStrdup((xmlChar *)"UTF-8"); @@ -366,24 +369,23 @@ xmlSetProp(rootnode, (xmlChar *)"version", (xmlChar *)"1"); xmlSetProp(rootnode, (xmlChar *)"xmlns", (xmlChar *)XSPF_XMLNS); - PLAYLIST_LOCK(playlist->mutex); + PLAYLIST_LOCK(playlist); /* relative */ - if(playlist->attribute & PLAYLIST_USE_RELATIVE) { + if (playlist->attribute & PLAYLIST_USE_RELATIVE) { /* prescan to determine base uri */ - for(node = playlist->entries; node != NULL; node = g_list_next(node)) { + for (node = playlist->entries; node != NULL; node = g_list_next(node)) { gchar *ptr1, *ptr2; PlaylistEntry *entry = PLAYLIST_ENTRY(node->data); gchar *tmp; gint tmplen = 0; - if(!is_uri(entry->filename)) { //obsolete + if (!is_uri(entry->filename)) { //obsolete gchar *tmp2; tmp2 = g_path_get_dirname(entry->filename); tmp = g_strdup_printf("%s/", tmp2); - g_free(tmp2); tmp2 = NULL; - } - else { //uri + g_free(tmp2); + } else { tmp = g_strdup(entry->filename); } @@ -391,6 +393,7 @@ base = strdup(tmp); baselen = strlen(base); } + ptr1 = base; ptr2 = tmp; @@ -398,10 +401,11 @@ ptr1++; ptr2++; } + *ptr2 = '\0'; //terminate tmplen = ptr2 - tmp; - if(tmplen <= baselen) { + if (tmplen <= baselen) { g_free(base); base = tmp; baselen = tmplen; @@ -414,11 +418,12 @@ tmp = NULL; } } + /* set base URI */ - if(base) { + if (base) { gchar *tmp; if(!is_uri(base)) { - tmp = (gchar *)audPathToURI((xmlChar *)base); + tmp = (gchar *) xspf_path_to_uri((xmlChar *)base); if(tmp) { g_free(base); base = tmp; @@ -432,7 +437,6 @@ tmp = g_strdup_printf("file://%s", base); xmlSetProp(rootnode, (xmlChar *)"xml:base", (xmlChar *)tmp); g_free(tmp); - tmp = NULL; } else xmlSetProp(rootnode, (xmlChar *)"xml:base", (xmlChar *)base); @@ -442,12 +446,10 @@ /* common */ xmlDocSetRootElement(doc, rootnode); - tmp = xmlNewNode(NULL, (xmlChar *)"creator"); - xmlAddChild(tmp, xmlNewText((xmlChar *)PACKAGE "-" VERSION)); - xmlAddChild(rootnode, tmp); + xspf_add_node(rootnode, TUPLE_STRING, FALSE, "creator", PACKAGE "-" VERSION, 0); - // add staticlist marker - if(playlist->attribute & PLAYLIST_STATIC) { + /* add staticlist marker */ + if (playlist->attribute & PLAYLIST_STATIC) { xmlNodePtr extension, options; extension = xmlNewNode(NULL, (xmlChar *)"extension"); @@ -461,13 +463,10 @@ } /* save playlist title */ - if(playlist->title && playlist->title[0] - && g_utf8_validate(playlist->title, -1, NULL)) { - xmlNodePtr title; - title = xmlNewNode(NULL, (xmlChar *)"title"); - xmlAddChild(title, xmlNewText((xmlChar *)playlist->title)); - xmlAddChild(rootnode, title); - } + if (playlist->title && playlist->title[0] && + g_utf8_validate(playlist->title, -1, NULL)) + xspf_add_node(rootnode, TUPLE_STRING, FALSE, "title", playlist->title, 0); + tracklist = xmlNewNode(NULL, (xmlChar *)"trackList"); xmlAddChild(rootnode, tracklist); @@ -476,9 +475,8 @@ PlaylistEntry *entry = PLAYLIST_ENTRY(node->data); xmlNodePtr track, location; gchar *filename = NULL; - const gchar *scratch; - gchar tmps[64]; - gint tmpi; + const gchar *scratch = NULL; + gint scratchi = 0; track = xmlNewNode(NULL, (xmlChar *)"track"); location = xmlNewNode(NULL, (xmlChar *)"location"); @@ -490,7 +488,7 @@ filename = g_strdup(entry->filename + baselen); // entry->filename is always uri now. } else { /* local file (obsolete) */ - gchar *tmp = (gchar *)audPathToURI((const xmlChar *)entry->filename + baselen); + gchar *tmp = (gchar *) xspf_path_to_uri((const xmlChar *)entry->filename + baselen); if(base) { /* relative */ filename = g_strdup_printf("%s", tmp); } else { @@ -509,124 +507,60 @@ xmlAddChild(track, location); xmlAddChild(tracklist, track); - /* do we have a tuple? */ - if(entry->tuple != NULL) { - - if((scratch = tuple_get_string(entry->tuple, "title")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"title"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - if((scratch = tuple_get_string(entry->tuple, "artist")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"creator"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - if((scratch = tuple_get_string(entry->tuple, "comment")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"annotation"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - if((scratch = tuple_get_string(entry->tuple, "album")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"album"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - if((tmpi = tuple_get_int(entry->tuple, "track-number")) != 0) { - tmp = xmlNewNode(NULL, (xmlChar *)"trackNum"); - g_snprintf(tmps, sizeof(tmps), "%d", tmpi); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); - } - - if((tmpi = tuple_get_int(entry->tuple, "length")) > 0) { - tmp = xmlNewNode(NULL, (xmlChar *)"duration"); - g_snprintf(tmps, sizeof(tmps), "%d", tmpi); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); + /* Do we have a tuple? */ + if (entry->tuple != NULL) { + gint i; + for (i = 0; i < xspf_nentries; i++) { + const xspf_entry_t *xs = &xspf_entries[i]; + gboolean isOK = FALSE; + + switch (xs->type) { + case TUPLE_STRING: + scratch = tuple_get_string(entry->tuple, xs->tupleField, NULL); + switch (xs->compare) { + case CMP_DEF: isOK = (scratch != NULL); break; + case CMP_NULL: isOK = (scratch == NULL); break; + } + if (scratch != NULL && !g_utf8_validate(scratch, -1, NULL)) + isOK = FALSE; + break; + + case TUPLE_INT: + scratchi = tuple_get_int(entry->tuple, xs->tupleField, NULL); + switch (xs->compare) { + case CMP_DEF: isOK = (scratchi != 0); break; + case CMP_GT: isOK = (scratchi > 0); break; + } + break; + + default: + break; + } + + if (isOK) + xspf_add_node(track, xs->type, xs->isMeta, xs->xspfName, scratch, scratchi); } - // - // additional metadata - // - // year, date, genre, formatter, mtime - // - - if((tmpi = tuple_get_int(entry->tuple, "year")) != 0) { - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"year"); - g_snprintf(tmps, sizeof(tmps), "%d", tmpi); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); - } - - if((scratch = tuple_get_string(entry->tuple, "date")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"date"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - if((scratch = tuple_get_string(entry->tuple, "genre")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"genre"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } + /* Write mtime unconditionally to support staticlist */ + xspf_add_node(track, TUPLE_INT, TRUE, "mtime", NULL, + tuple_get_int(entry->tuple, FIELD_MTIME, NULL)); + } else { - if((scratch = tuple_get_string(entry->tuple, "formatter")) != NULL && - g_utf8_validate(scratch, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"formatter"); - xmlAddChild(tmp, xmlNewText((xmlChar *) scratch)); - xmlAddChild(track, tmp); - } - - // mtime: write mtime unconditionally to support staticlist. - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"mtime"); - g_snprintf(tmps, sizeof(tmps), "%ld", (long) tuple_get_int(entry->tuple, "mtime")); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); - } /* tuple */ - else { + if (entry->title != NULL && g_utf8_validate(entry->title, -1, NULL)) + xspf_add_node(track, TUPLE_STRING, FALSE, "title", entry->title, 0); - if(entry->title != NULL && g_utf8_validate(entry->title, -1, NULL)) { - tmp = xmlNewNode(NULL, (xmlChar *)"title"); - xmlAddChild(tmp, xmlNewText((xmlChar *)entry->title)); - xmlAddChild(track, tmp); - } + if (entry->length > 0) + xspf_add_node(track, TUPLE_INT, FALSE, "duration", NULL, entry->length); - if(entry->length > 0) { - tmp = xmlNewNode(NULL, (xmlChar *)"duration"); - g_snprintf(tmps, sizeof(tmps), "%d", entry->length); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); - } - - /* add mtime of -1 */ - tmp = xmlNewNode(NULL, (xmlChar *)"meta"); - xmlSetProp(tmp, (xmlChar *)"rel", (xmlChar *)"mtime"); - g_snprintf(tmps, sizeof(tmps), "%ld", -1L); - xmlAddChild(tmp, xmlNewText((xmlChar *) tmps)); - xmlAddChild(track, tmp); - } /* no tuple */ + /* Add mtime of -1 */ + xspf_add_node(track, TUPLE_INT, TRUE, "mtime", NULL, -1); + } g_free(filename); filename = NULL; } - PLAYLIST_UNLOCK(playlist->mutex); + PLAYLIST_UNLOCK(playlist); xmlSaveFormatFile(filename, doc, 1); xmlFreeDoc(doc); @@ -636,21 +570,22 @@ base = NULL; } + PlaylistContainer plc_xspf = { .name = "XSPF Playlist Format", .ext = "xspf", - .plc_read = playlist_load_xspf, - .plc_write = playlist_save_xspf, + .plc_read = xspf_playlist_load, + .plc_write = xspf_playlist_save, }; -static void init(void) +static void xspf_init(void) { playlist_container_register(&plc_xspf); } -static void cleanup(void) +static void xspf_cleanup(void) { playlist_container_unregister(&plc_xspf); } -DECLARE_PLUGIN(xspf, init, cleanup, NULL, NULL, NULL, NULL, NULL, NULL); +DECLARE_PLUGIN(xspf, xspf_init, xspf_cleanup, NULL, NULL, NULL, NULL, NULL, NULL);